.rgv-container{padding:32px 20px 24px;text-align:center}.rgv-loading-icon{margin-bottom:16px}.rgv-loading-pulse{display:inline-block;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--accent);opacity:.18;animation:rgv-loading-pulse 1.6s ease-in-out infinite}@keyframes rgv-loading-pulse{0%,to{transform:scale(.85);opacity:.14}50%{transform:scale(1.08);opacity:.3}}.rgv-title{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:20px;letter-spacing:1px}.rgv-phase{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--text-secondary);margin-bottom:8px;font-family:var(--font-kai);letter-spacing:.5px}.rgv-phase-icon{font-size:15px}.rgv-phase-text{font-weight:500}.rgv-phase-dot{width:5px;height:5px;border-radius:var(--radius-sm);background:var(--accent);animation:rgv-dot-pulse 1.2s infinite}.rgv-phase-dot:nth-child(3){animation-delay:.2s}.rgv-phase-dot:nth-child(4){animation-delay:.4s}@keyframes rgv-dot-pulse{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.6);opacity:1}}.rgv-stats{display:flex;gap:8px;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);margin-bottom:20px;font-family:var(--font-mono)}.rgv-stat-item{font-variant-numeric:tabular-nums}.rgv-stat-sep{opacity:.4}.rgv-cancel{font-size:13px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);padding:7px 20px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-kai);letter-spacing:1px;transition:all .15s}.rgv-cancel:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-light)}.rgv-error-icon{font-size:36px;margin-bottom:12px}.rgv-error-title{font-family:var(--font-serif);font-size:15px;font-weight:700;color:var(--accent);margin-bottom:8px}.rgv-error-msg{font-size:13px;color:var(--text-secondary);line-height:1.7;margin-bottom:20px;padding:10px 16px;background:var(--accent-light);border:1px solid rgba(168,50,41,.15);border-radius:var(--radius-sm);word-break:break-word;text-align:left}.rgv-error-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}html{-webkit-tap-highlight-color:transparent}:root{--bg-page: #f2ead9;--bg-card: #fbf6eb;--bg-ai-msg: #f7efdc;--bg-code: #2b2520;--ink-code: #e8dcc8;--bg-hover: #ede3cd;--text-primary: #231c12;--text-secondary: #4a3d28;--text-muted: #857356;--accent: #a83229;--accent-light: rgba(168, 50, 41, .08);--accent-ink: #7a241c;--success: #566d4a;--success-light: rgba(86, 109, 74, .1);--warning: #9c6b2c;--warning-light: rgba(156, 107, 44, .1);--border: #d6c9ad;--border-light: #e5dac1;--border-ink: #b8a886;--font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "Songti SC", "Georgia", serif;--font-kai: "STKaiti", "KaiTi", "楷体", "Noto Serif SC", serif;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--font-mono: "SF Mono", "Cascadia Code", "JetBrains Mono", "Consolas", "Courier New", monospace;--radius-sm: 2px;--radius: 3px;--radius-lg: 4px;--content-width: 920px;--shadow-card: 0 1px 2px rgba(60, 40, 10, .05), 0 1px 0 rgba(60, 40, 10, .03);--shadow-card-hover: 0 3px 10px rgba(60, 40, 10, .08), 0 1px 2px rgba(60, 40, 10, .05);--shadow-raised: 0 8px 28px rgba(60, 40, 10, .14)}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--bg-page)}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--text-primary);min-height:100vh;line-height:1.75;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-overflow-scrolling:touch;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.42  0 0 0 0 0.22  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='320' height='320'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.45' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.55  0 0 0 0 0.42  0 0 0 0 0.22  0 0 0 0.035 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:180px 180px,320px 320px;background-attachment:fixed,fixed}::selection{background:#a832292e;color:var(--text-primary)}html.chat-active,html.chat-active body{position:fixed;overflow:hidden;width:100%;height:100%}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;background:#fbf6ebeb;backdrop-filter:saturate(140%) blur(6px);-webkit-backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid var(--border);padding:max(12px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left))}.header-inner{max-width:var(--content-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between}.header-logo{font-family:var(--font-kai);font-size:19px;font-weight:700;color:var(--text-primary);cursor:pointer;letter-spacing:4px;position:relative;padding:2px 2px 2px 6px}.header-logo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);opacity:.08;border-radius:2px;z-index:-1}.header-api-badge{font-size:11px;padding:3px 10px;border-radius:2px;background:transparent;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;font-weight:500;font-family:var(--font-mono);letter-spacing:.5px}.main-content{max-width:var(--content-width);margin:0 auto;padding:28px max(24px,env(safe-area-inset-right)) 64px max(24px,env(safe-area-inset-left));flex:1;width:100%}.btn{padding:8px 18px;border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:var(--font-sans);transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex;align-items:center;gap:6px;touch-action:manipulation;line-height:1.4}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#f8efe0;border-color:var(--accent-ink)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--accent-ink)}}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:transparent;color:var(--text-secondary);border-color:var(--border)}@media(hover:hover){.btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary);background:#00000005}}.btn-small{padding:4px 11px;font-size:12px}.btn-danger{background:var(--accent);color:#f8efe0;border-color:var(--accent-ink)}@media(hover:hover){.btn-danger:hover{background:var(--accent-ink)}}.btn-loading{pointer-events:none;opacity:.7}.btn-spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-spin .6s linear infinite;display:inline-block;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 26px;box-shadow:var(--shadow-card);position:relative;transition:box-shadow .2s,border-color .2s}@media(hover:hover){.card:hover{box-shadow:var(--shadow-card-hover)}}.card-title{font-family:var(--font-serif);font-size:19px;font-weight:700;margin-bottom:6px;letter-spacing:.5px;color:var(--text-primary)}.card-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:18px;line-height:1.6}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.5px}.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:9px 12px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.form-group textarea{min-height:80px;resize:vertical;line-height:1.75}.form-row{display:flex;gap:12px}.form-row>*{flex:1}.form-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.tag{display:inline-block;font-size:11px;padding:2px 9px;border-radius:2px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);margin-right:4px;margin-bottom:4px;font-weight:500;font-family:var(--font-kai);letter-spacing:.5px}.profile-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.profile-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;transition:border-color .2s,box-shadow .2s;cursor:default;position:relative}@media(hover:hover){.profile-card:hover{border-color:var(--border-ink);box-shadow:var(--shadow-card-hover)}}.profile-card-body{display:flex;align-items:flex-start;gap:14px;flex:1;min-width:200px}.profile-card-avatar{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--accent);color:#f8efe0;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:0;font-family:var(--font-kai);border:1px solid var(--accent-ink);box-shadow:inset 0 0 0 1px #ffffff14}.profile-card-info{display:flex;flex-direction:column;gap:4px;min-width:0}.profile-card-name{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3;font-family:var(--font-serif)}.profile-card-job{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.profile-card-job-icon{font-size:12px;flex-shrink:0}.profile-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.profile-card-tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:2px;background:transparent;color:var(--text-muted);font-weight:500;white-space:nowrap;border:1px solid var(--border-light)}.profile-card-tag-more{opacity:.6}.profile-card-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-family:var(--font-kai)}.profile-card-meta-item{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:3px}.profile-card-meta-date{opacity:.6;margin-left:auto;font-family:var(--font-sans)}.profile-card-actions{display:flex;gap:6px;flex-shrink:0}.status-badge{font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-kai);letter-spacing:.5px}.status-badge.ongoing{background:var(--warning-light);color:var(--warning)}.status-badge.completed{background:var(--success-light);color:var(--success)}.toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:999;display:flex;flex-direction:column;align-items:center;gap:8px}.toast-msg{padding:9px 20px;border-radius:var(--radius);font-size:13px;font-weight:600;animation:toastIn .3s ease;box-shadow:var(--shadow-raised);border:1px solid var(--border-ink);font-family:var(--font-kai);letter-spacing:.5px}.toast-msg.ok{background:var(--success);color:#f8efe0;border-color:#3e5034}.toast-msg.err{background:var(--accent);color:#f8efe0;border-color:var(--accent-ink)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-shell{position:fixed;top:0;bottom:0;left:max(0px,calc((100vw - var(--content-width)) / 2));width:var(--content-width);display:flex;flex-direction:column;overflow:hidden;z-index:1;background:var(--bg-page)}.chat-topbar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0;min-height:42px}.chat-topbar-title{flex:1;display:flex;align-items:center;min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fullscreen-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:16px;transition:background .15s,color .15s;flex-shrink:0;touch-action:manipulation}.fullscreen-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}:fullscreen .chat-topbar,:-webkit-full-screen .chat-topbar{padding-top:var(--fs-top, 0px)}@supports (padding-top: env(safe-area-inset-top)){:fullscreen .chat-topbar,:-webkit-full-screen .chat-topbar{padding-top:max(var(--fs-top, 0px),env(safe-area-inset-top))}}:fullscreen .chat-input-area,:-webkit-full-screen .chat-input-area{padding-bottom:max(8px,var(--fs-bottom, 0px))}@supports (padding-bottom: env(safe-area-inset-bottom)){:fullscreen .chat-input-area,:-webkit-full-screen .chat-input-area{padding-bottom:max(var(--fs-bottom, 0px),env(safe-area-inset-bottom))}}:fullscreen .chat-shell,:-webkit-full-screen .chat-shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}:fullscreen .branch-overlay,:fullscreen .dialog-overlay,:-webkit-full-screen .branch-overlay,:-webkit-full-screen .dialog-overlay{padding-top:max(24px,var(--fs-top, 0px));padding-bottom:max(24px,var(--fs-bottom, 0px))}@supports (padding-top: env(safe-area-inset-top)){:fullscreen .branch-overlay,:fullscreen .dialog-overlay,:-webkit-full-screen .branch-overlay,:-webkit-full-screen .dialog-overlay{padding-top:max(24px,var(--fs-top, 0px),env(safe-area-inset-top));padding-bottom:max(24px,var(--fs-bottom, 0px),env(safe-area-inset-bottom))}}:fullscreen .app-shell,:-webkit-full-screen .app-shell{padding-top:var(--fs-top, 0px);padding-bottom:var(--fs-bottom, 0px)}@supports (padding-top: env(safe-area-inset-top)){:fullscreen .app-shell,:-webkit-full-screen .app-shell{padding-top:max(var(--fs-top, 0px),env(safe-area-inset-top));padding-bottom:max(var(--fs-bottom, 0px),env(safe-area-inset-bottom))}}body:has(:fullscreen),body:has(:-webkit-full-screen){background:var(--bg-page)}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.chat-message{display:flex;align-items:flex-start;animation:msgIn .3s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-ai{justify-content:flex-start}.chat-user{justify-content:flex-end}.chat-bubble{max-width:85%;padding:13px 17px;border-radius:var(--radius-lg);font-size:15px;line-height:1.72;text-rendering:optimizeLegibility;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;position:relative}.has-actions .chat-bubble{max-width:80%}.chat-ai .chat-bubble{background:var(--bg-ai-msg);border:1px solid var(--border-light);border-left:2px solid var(--accent);font-family:var(--font-sans);font-weight:420;color:var(--text-primary)}.chat-user .chat-bubble{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-card)}.chat-role-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px;display:flex;align-items:center;gap:8px;font-family:var(--font-kai);letter-spacing:1px}.chat-time{font-weight:400;color:var(--text-muted)}.chat-content{word-break:break-word}.chat-typing{display:flex;align-items:center;gap:4px;padding:4px 0}.chat-scoring-indicator{display:flex;align-items:center;gap:6px;padding:6px 10px;margin-top:4px;background:var(--accent-light);border:1px solid rgba(168,50,41,.15);border-radius:var(--radius-sm);font-size:12px;color:var(--accent);font-weight:500;font-family:var(--font-kai);letter-spacing:.5px}.scoring-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:scorePulse 1.2s ease-in-out infinite}@keyframes scorePulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.typing-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);animation:typingBounce 1.2s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.3}30%{transform:translateY(-6px);opacity:1}}.chat-tool-executing{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:var(--radius-sm);background:var(--warning-light);border:1px solid rgba(156,107,44,.2);font-size:12px;color:var(--warning);font-family:var(--font-kai);letter-spacing:.5px}.tool-exec-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(156,107,44,.25);border-top-color:var(--warning);border-radius:50%;animation:toolSpin .7s linear infinite}@keyframes toolSpin{to{transform:rotate(360deg)}}.streaming-cursor{display:inline;color:var(--accent);font-weight:400;animation:cursorBlink .8s infinite;margin-left:1px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.chat-action-area{position:relative;display:flex;align-items:center}.chat-ai .chat-action-area{margin-left:6px}.chat-user .chat-action-area{margin-right:6px;order:-1}.chat-action-trigger{background:none;border:1px solid var(--border);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:1px;line-height:1;padding:0;opacity:0;transition:opacity .2s,border-color .2s}@media(hover:hover){.chat-message:hover .chat-action-trigger{opacity:1}.chat-action-trigger:hover{border-color:var(--accent);color:var(--accent)}}.chat-action-menu{position:absolute;top:0;z-index:50;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-raised);min-width:140px;padding:4px;animation:menuIn .12s ease}.menu-left{left:28px}.menu-right{right:28px}@keyframes menuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chat-action-item{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;cursor:pointer;font-family:var(--font-sans);font-size:12px;color:var(--text-secondary);border-radius:var(--radius-sm);transition:background .1s;touch-action:manipulation}@media(hover:hover){.chat-action-item:hover{background:var(--bg-hover);color:var(--text-primary)}}@media(max-width:400px){.menu-left{left:0}.menu-right{right:0}}.chat-separator{text-align:center;padding:12px 0;font-size:12px;color:var(--text-muted);font-family:var(--font-serif);position:relative}.chat-separator:before,.chat-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border)}.chat-separator:before{left:0}.chat-separator:after{right:0}.chat-input-area{padding:6px 8px;background:var(--bg-card);border-top:1px solid var(--border);flex-shrink:0}.chat-input-row{display:flex;gap:6px}.chat-input{flex:1;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:8px 12px;resize:none;line-height:1.4;transition:border-color .2s;min-height:54px}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input-actions{display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:6px}.chat-input-buttons-left{display:flex;align-items:center;gap:2px;flex-shrink:0}.chat-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:15px;transition:background .15s,color .15s;flex-shrink:0;touch-action:manipulation;position:relative}.chat-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-action-btn.active{color:var(--accent);background:var(--accent-light)}.chat-action-btn .badge-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.chat-more-menu-wrap{position:relative}.chat-more-menu{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-raised);min-width:150px;padding:4px;z-index:50;animation:menuUp .12s ease;max-height:40vh;overflow-y:auto}@keyframes menuUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-more-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 12px;border:none;background:none;cursor:pointer;font-family:var(--font-sans);font-size:13px;color:var(--text-secondary);border-radius:var(--radius-sm);transition:background .1s;touch-action:manipulation;white-space:nowrap}.chat-more-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-more-menu-item.danger{color:var(--accent)}.chat-more-menu-item.danger:hover{background:var(--accent-light)}.score-inline{margin-top:12px;padding:10px 12px;background:var(--accent-light);border-radius:var(--radius-sm);border:1px solid rgba(168,50,41,.12)}.score-tag{display:inline-block;font-family:var(--font-kai);font-size:11px;font-weight:600;padding:2px 9px;border-radius:var(--radius-sm);margin-right:6px;margin-bottom:4px;letter-spacing:.5px}.score-high{background:var(--success-light);color:var(--success);border:1px solid rgba(86,109,74,.15)}.score-mid{background:var(--warning-light);color:var(--warning);border:1px solid rgba(156,107,44,.18)}.score-low{background:#a832291a;color:var(--accent);border:1px solid rgba(168,50,41,.15)}.score-comment{font-size:12px;color:var(--text-secondary);margin-top:6px}.score-decision{font-size:12px;font-weight:600;margin-top:4px}.score-decision.pass{color:var(--success)}.score-decision.followup{color:var(--warning)}.progress-bubble{display:flex;flex-direction:column;gap:6px;background:var(--bg-ai-msg);border:1px solid var(--border-light);border-left:3px solid var(--warning)}.progress-scoring{border-left-color:var(--accent)}.progress-scoring .progress-label{color:var(--accent)}.progress-scoring-detail{background:var(--accent-light);border:1px solid rgba(168,50,41,.1)}.progress-scoring-detail .progress-detail-text{color:var(--accent);font-style:normal;font-weight:500}.progress-header{display:flex;align-items:center;gap:8px}.progress-label{font-size:13px;font-weight:600}.progress-timer{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);margin-left:auto}.progress-detail{font-size:11px;line-height:1.5;padding:4px 8px;background:var(--bg-hover);border-radius:var(--radius-sm)}.progress-detail-label{color:var(--text-muted)}.progress-detail-text{color:var(--text-secondary)}.progress-result .progress-detail-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text-muted);font-style:italic}.progress-dots{display:flex;align-items:center;gap:3px}.progress-dots .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:dotPulse 1.4s infinite ease-in-out both}.progress-dots .dot:nth-child(1){animation-delay:-.32s}.progress-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes dotPulse{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.branch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#281c0c52;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.branch-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-raised);animation:fadeIn .15s ease}.branch-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-shrink:0}.branch-scroll{overflow-y:auto;flex:1;padding:12px 16px}.branch-fork-group{margin-bottom:12px}.branch-fork-anchor{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;color:var(--text-secondary)}.branch-fork-role{font-size:11px}.branch-fork-text{color:var(--text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-fork-children{margin-left:8px}.branch-tree-connector{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-right:6px;white-space:pre}.branch-tree-row{display:flex;align-items:center;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid transparent;margin-bottom:2px;transition:background .15s}.branch-tree-row-current{border-color:var(--accent);background:var(--accent-light)}@media(hover:hover){.branch-tree-row:hover{background:var(--bg-hover)}}.branch-tree-cell{flex:1;min-width:0}.branch-list{overflow-y:auto;flex:1;padding:12px}.branch-item{padding:10px 12px;border-radius:var(--radius);cursor:pointer;margin-bottom:6px;transition:background .15s;border:1px solid transparent;touch-action:manipulation}@media(hover:hover){.branch-item:hover{background:var(--bg-hover)}}.branch-item-top{display:flex;justify-content:space-between;align-items:center}.branch-item-name{font-size:13px;font-weight:600}.branch-current-dot{color:var(--accent);margin-right:4px;font-size:8px}.branch-item-time{font-size:10px;color:var(--text-muted)}.branch-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px;display:flex;gap:8px;align-items:center}.branch-fork-tag{font-size:9px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent);font-family:var(--font-kai);letter-spacing:.5px}.branch-item-preview{font-size:11px;color:var(--text-secondary);margin-top:4px;padding:4px 6px;background:var(--bg-page);border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.branch-item-actions{display:flex;gap:4px;margin-top:6px;justify-content:flex-end}.branch-rename-input{width:100%;font-family:var(--font-sans);font-size:13px;padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);outline:none}.chat-content p{margin:0}.chat-content p+p{margin-top:.4em}.chat-content code{background:var(--accent-light);color:var(--accent-ink);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.88em;font-weight:450}.chat-content pre{background:var(--bg-code);color:var(--ink-code);border:1px solid #1a1612;border-radius:var(--radius);padding:14px 16px;overflow-x:auto;margin:10px 0;font-size:13px;line-height:1.6}.chat-content pre code{background:none;color:inherit;padding:0;font-size:.88em;line-height:1.55}.chat-content ul,.chat-content ol{padding:0 0 0 1.8em;margin:2px 0;white-space:normal}.chat-content li{margin:2px 0;line-height:1.6;white-space:normal}.chat-content li p{margin:0;display:inline}.chat-content p+ul,.chat-content p+ol{margin-top:1px}.chat-content ol{list-style-type:decimal}.chat-content ul{list-style-type:disc}.chat-content li::marker{color:var(--text-muted)}.chat-content blockquote{border-left:3px solid var(--accent);padding:2px 14px;margin:8px 0;color:var(--text-secondary);background:var(--accent-light);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-kai)}.chat-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.chat-content table{border-collapse:collapse;font-size:.88em;margin:8px 0;width:100%}.chat-content th,.chat-content td{border:1px solid var(--border);padding:7px 12px;text-align:left}.chat-content th{background:var(--bg-hover);font-weight:700;font-family:var(--font-serif)}.chat-content hr{border:none;border-top:1px dashed var(--border);margin:16px 0}.chat-bubble-editing{animation:editPulse 1s ease-in-out 3;border-color:var(--accent)!important}@keyframes editPulse{0%,to{box-shadow:0 0 #a8322933}50%{box-shadow:0 0 0 4px #a832291a}}.interview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}@media(min-width:769px)and (max-width:1100px){.interview-grid,.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.main-content{padding:20px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left))}}.chat-error{text-align:center;padding:8px 16px;font-size:12px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);border:1px solid rgba(168,50,41,.15)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#281c0c52;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.dialog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;max-width:420px;width:100%;box-shadow:var(--shadow-raised);animation:slideUp .2s ease}.dialog-title{font-family:var(--font-serif);font-size:16px;font-weight:700;margin-bottom:4px}.dialog-message{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.6}.dialog-input{width:100%;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;padding:10px 14px;transition:border-color .2s;margin-bottom:18px}.dialog-input:focus{outline:none;border-color:var(--accent)}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1200px){:root{--content-width: 1000px}}@media(max-width:768px){:root{--content-width: 100%}.app-header{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:8px}.header-logo{font-size:15px;letter-spacing:2px}.header-api-badge{display:none}.header-inner{gap:6px}.main-content{padding:16px max(12px,env(safe-area-inset-right)) 40px max(12px,env(safe-area-inset-left))}.card{padding:16px 14px}.card-title{font-size:17px}.form-row{flex-direction:column;gap:10px}.form-group input,.form-group textarea,.form-group select{font-size:16px!important;padding:10px 12px}body{font-size:16px}.btn{padding:9px 16px;font-size:14px;min-height:40px}.btn-small{padding:6px 12px;font-size:13px;min-height:34px}.dialog-overlay{padding:0;align-items:flex-end}.dialog-card{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 18px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.dialog-actions{gap:10px}.dialog-actions .btn{flex:1}.chat-bubble{max-width:92%;font-size:16px;padding:11px 14px}.chat-role-label{font-size:11px;margin-bottom:4px}.chat-messages{padding:12px 10px;gap:12px}.chat-content{font-size:16px;line-height:1.7}.chat-content pre{font-size:12.5px;padding:12px}.chat-input-area{padding:6px 8px;padding-bottom:max(6px,env(safe-area-inset-bottom))}.chat-input{font-size:16px!important;padding:9px 12px;min-height:54px}.chat-action-btn{width:40px;height:40px;font-size:18px}.branch-overlay{padding:0;align-items:flex-end}.branch-modal{max-width:100%;max-height:90vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom)}.chat-topbar{padding:6px 10px;font-size:13px;min-height:42px}.chat-end-card{padding:20px 16px;max-width:100%}input,textarea,select{font-size:16px!important}.chat-action-trigger{width:36px;height:36px;font-size:13px;opacity:.7}.chat-action-item{padding:12px 14px;font-size:14px;min-height:44px}.chat-action-menu{min-width:180px}.chat-more-menu-item{padding:12px 14px;font-size:14px;min-height:44px}.chat-more-menu{min-width:180px}.interview-grid,.template-grid{grid-template-columns:1fr;gap:10px}.interview-card-body{padding:14px}.drag-handle{width:32px;min-width:32px;opacity:.6}.sort-btn-up,.sort-btn-down{min-width:36px;min-height:36px}.template-card{padding:16px;gap:8px}.template-card-title{font-size:16px}.template-card-menu button{padding:12px 14px;font-size:14px;min-height:44px}.template-card-badge{position:static;align-self:flex-start;margin-bottom:-4px}.plan-adjust-row{flex-direction:column}.plan-adjust-row .btn{width:100%;justify-content:center}.profile-card{padding:14px 16px;flex-direction:column;align-items:stretch;gap:10px}.profile-card-actions{width:100%;justify-content:flex-end}.score-summary{flex-direction:column;gap:12px;padding:14px}.score-summary-main{width:100%}.gen-container{padding:14px}.gen-rounds-grid{grid-template-columns:1fr}.gen-steps-indicator{gap:6px;font-size:12px}.gen-steps-indicator .gen-step-arrow{display:none}.gen-steps-indicator>span{width:100%}.login-card{padding:28px 20px}.toast-container{bottom:max(16px,env(safe-area-inset-bottom))}.header-inner .fullscreen-toggle{width:38px;height:38px}}@media(max-width:480px){.header-logo{font-size:14px;letter-spacing:1px}.main-content h2{font-size:19px!important}}.score-panel-full{padding:0}.score-panel-full-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.score-panel-full-title{font-family:var(--font-serif);font-size:15px;font-weight:700}.score-panel-full-actions{padding:12px 16px;border-top:1px solid var(--border);display:flex;justify-content:center}.score-summary{display:flex;padding:16px;gap:16px;align-items:center}.score-summary-main{text-align:center;padding:12px 20px;border-radius:var(--radius-sm);min-width:120px;border:1px solid var(--border-light)}.score-summary-main.pass{background:var(--success-light);border-color:#566d4a33}.score-summary-main.pending{background:var(--warning-light);border-color:#9c6b2c40}.score-summary-main.fail{background:var(--accent-light);border-color:#a8322933}.score-summary-value{font-family:var(--font-mono);font-size:36px;font-weight:700;line-height:1}.score-summary-main.pass .score-summary-value{color:var(--success)}.score-summary-main.pending .score-summary-value{color:var(--warning)}.score-summary-main.fail .score-summary-value{color:var(--accent)}.score-summary-label{font-size:12px;color:var(--text-muted);margin-top:4px}.score-summary-notes{font-size:12px;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);line-height:1.5}.score-section{padding:0 16px 12px}.score-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.score-dim-bars{display:flex;flex-direction:column;gap:6px}.score-dim-bar-row{display:flex;align-items:center;gap:8px}.score-dim-bar-label{font-size:11px;color:var(--text-secondary);width:70px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-dim-bar-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.score-dim-bar-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease;min-width:0}.score-dim-bar-value{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-primary);width:18px;text-align:center}.score-latest-notes{font-size:12px;color:var(--text-secondary);margin-top:8px;padding:8px 10px;background:var(--bg-page);border-radius:var(--radius-sm);line-height:1.5}.score-chart-wrap{padding:0 4px}.score-chart{width:100%;height:auto;display:block}.score-chart-dims{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.score-chart-dim-tag{font-size:9px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-muted);font-family:var(--font-kai)}.score-history-list{display:flex;flex-direction:column;gap:6px}.score-history-item{padding:8px 10px;background:var(--bg-page);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.score-history-header{display:flex;align-items:center;gap:8px}.score-history-index{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.score-history-overall{font-family:var(--font-mono);font-size:14px;font-weight:700}.score-history-overall.pass{color:var(--success)}.score-history-overall.pending{color:var(--warning)}.score-history-overall.fail{color:var(--accent)}.score-history-time{font-size:10px;color:var(--text-muted);margin-left:auto}.score-history-dims{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.score-history-dim{font-size:10px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--accent-light);color:var(--accent);font-family:var(--font-kai);letter-spacing:.3px}.score-history-notes{font-size:11px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.score-final-verdict{font-size:13px;font-weight:600;text-align:center;padding:6px 0}.score-final-verdict.pass{color:var(--success)}.score-final-verdict.fail{color:var(--accent)}.reasoning-fold{margin-bottom:10px;border:1px solid rgba(156,107,44,.25);border-radius:var(--radius-sm);overflow:hidden}.reasoning-fold-toggle{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;font-size:11px;color:var(--warning);-webkit-user-select:none;user-select:none;transition:background .15s;font-family:var(--font-kai);letter-spacing:.3px}.reasoning-fold-toggle:hover{background:var(--warning-light)}.reasoning-fold-arrow{font-size:9px;width:12px;flex-shrink:0}.reasoning-fold-hint{margin-left:auto;font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.reasoning-fold-content{padding:8px 12px;font-size:11px;line-height:1.6;color:var(--text-muted);white-space:pre-wrap;border-top:1px solid rgba(156,107,44,.15);background:var(--warning-light);max-height:200px;overflow-y:auto}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light)}.settings-row:last-child{border-bottom:none}.settings-row-col{flex-direction:column;align-items:stretch}.settings-title-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);font-size:13px;outline:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.settings-title-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.settings-row-label{font-size:13px;font-weight:600;color:var(--text-primary)}.settings-row-desc{font-size:11px;color:var(--text-muted);margin-top:2px}.toggle-switch{position:relative;display:inline-block;width:42px;height:22px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;border-radius:var(--radius);background:var(--border);border:1px solid var(--border-ink);transition:background .25s}.toggle-slider:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-ink);transition:transform .25s}.toggle-switch input:checked+.toggle-slider{background:var(--accent);border-color:var(--accent-ink)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:#f8efe0;border-color:var(--accent-ink)}@media(max-width:768px){.toggle-switch{width:48px;height:28px}.toggle-slider:before{width:22px;height:22px}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}}.score-inline-card{margin:4px 0 8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:11px;max-width:70%}.score-inline-card.pass{background:var(--success-light);border:1px solid rgba(86,109,74,.18);border-left:3px solid var(--success)}.score-inline-card.pending{background:var(--warning-light);border:1px solid rgba(156,107,44,.2);border-left:3px solid var(--warning)}.score-inline-card.fail{background:var(--accent-light);border:1px solid rgba(168,50,41,.15);border-left:3px solid var(--accent)}.score-inline-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.score-inline-badge{font-size:10px;font-weight:600}.score-inline-card.pass .score-inline-badge{color:var(--success)}.score-inline-card.pending .score-inline-badge{color:var(--warning)}.score-inline-card.fail .score-inline-badge{color:var(--accent)}.score-inline-overall{font-family:var(--font-mono);font-size:14px;font-weight:700}.score-inline-card.pass .score-inline-overall{color:var(--success)}.score-inline-card.pending .score-inline-overall{color:var(--warning)}.score-inline-card.fail .score-inline-overall{color:var(--accent)}.score-regenerate-btn{margin-left:auto;background:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;padding:1px 5px;line-height:1;opacity:0;transition:opacity .15s,background .15s}.score-inline-card:hover .score-regenerate-btn{opacity:1;border-color:var(--border-light)}.score-regenerate-btn:hover:not(:disabled){background:var(--bg-hover)}.score-regenerate-btn:disabled{cursor:wait}.score-inline-dims{display:flex;gap:6px;flex-wrap:wrap}.score-inline-dim{font-size:10px;padding:1px 7px;border-radius:var(--radius-sm);font-family:var(--font-kai);letter-spacing:.3px}.score-inline-card.pass .score-inline-dim{background:#566d4a1f;color:var(--success)}.score-inline-card.pending .score-inline-dim{background:#9c6b2c1f;color:var(--warning)}.score-inline-card.fail .score-inline-dim{background:#a832291a;color:var(--accent)}.score-inline-notes{margin-top:4px;font-size:11px;color:var(--text-secondary);line-height:1.5}.gen-plan-section{margin-bottom:12px}.gen-plan-label{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.gen-plan-tags{display:flex;flex-wrap:wrap;gap:4px}.gen-plan-q{font-size:12px;color:var(--text-secondary);padding:4px 0;line-height:1.5}.gen-steps-indicator{display:flex;gap:12px;align-items:center;margin-bottom:24px;font-size:13px;color:var(--text-muted);flex-wrap:wrap}.gen-steps-indicator>span{display:flex;align-items:center;gap:5px;transition:color .3s}.gen-steps-indicator>span.active{color:var(--text-primary);font-weight:600}.gen-step-num{font-weight:700}.gen-step-arrow{color:var(--text-muted);font-weight:400}.gen-container{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--bg-page)}.gen-phase-steps{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.gen-phase-step{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.8;transition:color .4s,opacity .4s}.gen-phase-step.pending{color:var(--text-muted);opacity:.4}.gen-phase-step.done{color:var(--text-secondary)}.gen-phase-step.current{color:var(--accent);font-weight:600}.gen-phase-dot{font-size:9px;width:18px;text-align:center;flex-shrink:0}.gen-phase-step.done .gen-phase-dot{color:var(--success)}.gen-phase-step.current .gen-phase-dot{animation:phasePulse 1.2s ease-in-out infinite}.gen-phase-icon{font-size:13px;width:20px;text-align:center;flex-shrink:0}.gen-phase-label{flex:1}.gen-phase-pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:phasePulse 1.2s ease-in-out infinite}@keyframes phasePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.6)}}.gen-progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:14px}.gen-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .8s cubic-bezier(.4,0,.2,1)}.gen-thinking-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:14px;font-family:var(--font-serif)}.gen-thinking-icon{font-size:18px}.gen-thinking-char-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--accent);font-family:var(--font-mono)}.gen-output-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-top:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.gen-output-bar-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.gen-output-bar-count{font-size:11px;color:var(--accent);font-family:var(--font-mono)}.gen-thinking-preview{margin-top:8px}.gen-thinking-preview-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-light);-webkit-user-select:none;user-select:none;transition:background .15s}.gen-thinking-preview-label:hover{background:var(--bg-hover);color:var(--text-secondary)}.gen-output-counter{margin-left:auto;font-size:10px;font-weight:500;font-family:var(--font-mono)}.gen-thinking-preview-content{background:var(--bg-card);border:1px solid var(--border-light);border-top:none;border-radius:0 0 var(--radius) var(--radius);max-height:200px;overflow-y:auto;margin-top:-1px}.gen-thinking-preview-content pre{font-family:var(--font-sans);font-size:12px;line-height:1.8;color:var(--text-secondary);padding:12px 14px;margin:0;white-space:pre-wrap;word-break:break-word}.gen-stream-counter-waiting{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}.gen-error-state{text-align:center;padding:28px 20px}.gen-error-icon{font-size:32px;margin-bottom:10px}.gen-error-msg{font-size:13px;color:var(--accent);margin-bottom:8px;line-height:1.6;text-align:left}.gen-debug-section{margin-top:12px;text-align:left}.gen-debug-toggle{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted);cursor:pointer;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-light);-webkit-user-select:none;user-select:none}.gen-debug-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.gen-debug-char-count{font-family:var(--font-mono);font-size:10px}.gen-debug-content{font-family:var(--font-mono);font-size:10px;line-height:1.5;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 12px;margin:6px 0 0;max-height:260px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.gen-done-header{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--success);margin-bottom:16px;font-weight:500}.gen-done-header strong{color:var(--text-primary)}.gen-rounds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.gen-round-card{background:var(--bg-card);border:1px solid var(--border-light);border-left:3px solid var(--accent);border-radius:var(--radius);padding:12px 14px;transition:box-shadow .2s}.gen-round-card:hover{box-shadow:var(--shadow-card-hover)}.gen-round-header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.gen-round-badge{font-size:10px;font-weight:700;padding:1px 8px;border-radius:var(--radius-sm);letter-spacing:.5px;font-family:var(--font-kai)}.gen-round-index{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.gen-round-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:3px;font-family:var(--font-serif)}.gen-round-subtitle{font-size:11px;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.gen-round-questions{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border-light);padding-top:8px}.gen-question-item{font-size:11px;color:var(--text-secondary);display:flex;gap:4px;line-height:1.5}.gen-question-num{color:var(--text-muted);flex-shrink:0;font-family:var(--font-mono);font-size:10px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-page)}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 36px;width:100%;max-width:400px;box-shadow:var(--shadow-raised)}.login-card h1{font-family:var(--font-serif);font-size:24px;color:var(--text-primary);text-align:center;margin:0 0 8px;letter-spacing:2px}.login-subtitle{text-align:center;font-size:13px;color:var(--text-muted);margin:0 0 24px;font-family:var(--font-kai)}.login-error{background:var(--accent-light);color:var(--accent);font-size:13px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid rgba(168,50,41,.15);margin-bottom:16px}.login-reason{background:var(--warning-light);color:var(--warning);font-size:13px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid rgba(156,107,44,.2);margin-bottom:16px;text-align:center}.login-field{margin-bottom:16px}.login-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.login-field input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;background:var(--bg-page);color:var(--text-primary);outline:none;box-sizing:border-box}.login-field input:focus{border-color:var(--accent)}.login-btn{width:100%;padding:12px;background:var(--accent);color:#f8efe0;border:1px solid var(--accent-ink);border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s;font-family:var(--font-kai);letter-spacing:2px}.login-btn:hover:not(:disabled){background:var(--accent-ink)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-actions{display:flex;flex-direction:column;gap:8px}.login-btn-secondary{width:100%;padding:10px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;cursor:pointer}.login-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.app-loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:btn-spin .7s linear infinite}.app-loading-text{font-family:var(--font-serif);font-size:14px;color:var(--text-muted)}.skeleton-block{background:linear-gradient(90deg,var(--border-light) 25%,var(--bg-page) 50%,var(--border-light) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-topbar-skeleton{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:42px}.report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#281c0c52;z-index:250;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.report-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-raised);animation:slideUp .2s ease;overflow:hidden}.report-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.report-panel-title{font-family:var(--font-serif);font-size:16px;font-weight:700}.report-panel-header-actions{display:flex;gap:6px;flex-shrink:0}.report-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.report-tab{padding:10px 16px;border:none;background:none;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;flex-shrink:0}.report-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.report-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.report-panel-body{flex:1;overflow-y:auto;padding:20px}.report-section{line-height:1.7}.report-markdown{font-size:14px;color:var(--text-primary);line-height:1.8}.report-markdown h2{font-size:16px;margin:16px 0 8px}.report-markdown h3{font-size:14px;margin:12px 0 6px}.report-markdown h4{font-size:13px;margin:10px 0 4px}.report-markdown strong{font-weight:700}.report-markdown p{margin:6px 0}.report-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px}.report-empty-hint{font-size:12px;margin-top:8px;opacity:.7}.report-qa-list{display:flex;flex-direction:column;gap:16px}.report-qa-item{background:var(--bg-page);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden}.report-qa-question{padding:12px 14px;font-size:14px;font-weight:600;background:var(--accent-light);border-bottom:1px solid var(--border-light);display:flex;align-items:flex-start;gap:8px;font-family:var(--font-serif)}.report-qa-index{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-sm);background:var(--accent);color:#f8efe0;font-size:11px;font-weight:700;flex-shrink:0;font-family:var(--font-kai);border:1px solid var(--accent-ink)}.report-qa-answer,.report-qa-model,.report-qa-analysis{padding:10px 14px}.report-qa-answer+.report-qa-model,.report-qa-model+.report-qa-analysis{border-top:1px solid var(--border-light)}.report-qa-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.report-qa-content{font-size:13px;color:var(--text-primary);line-height:1.6}@media(max-width:768px){.report-overlay{padding:0;align-items:flex-end}.report-panel{max-width:100%;max-height:92vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom)}.report-panel-header{padding:12px 14px}.report-panel-body{padding:14px}.report-tab{padding:8px 12px;font-size:12px}}.chat-end-card{text-align:center;padding:24px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:360px;width:100%}.chat-end-icon{font-size:40px;margin-bottom:8px}.chat-end-title{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.chat-end-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:16px}.chat-end-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.chat-end-back{font-size:12px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px 8px;font-family:var(--font-sans);transition:color .15s}.chat-end-back:hover{color:var(--text-secondary)}.sort-mode-bar{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.interview-card{position:relative;display:flex;gap:0;padding:0!important}.interview-card-body{flex:1;padding:16px 18px;cursor:pointer}.drag-handle{display:flex;align-items:center;justify-content:center;width:28px;min-width:28px;background:var(--bg-hover);cursor:grab;font-size:18px;color:var(--text-muted);opacity:.4;transition:opacity .15s,background .15s;-webkit-user-select:none;user-select:none;touch-action:none;border-right:1px solid var(--border);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.interview-card:hover .drag-handle{opacity:1}.drag-handle:active{cursor:grabbing;background:var(--accent-light);color:var(--accent)}.interview-card.dragging{box-shadow:var(--shadow-raised);z-index:10}.interview-card-title{font-family:var(--font-serif);font-size:15px;font-weight:700;cursor:pointer;transition:color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-right:8px}.interview-card-title:hover{color:var(--accent)}.title-edit-input{flex:1;font-family:var(--font-serif);font-size:15px;font-weight:700;padding:2px 8px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-primary);outline:none;box-shadow:0 0 0 3px var(--accent-light)}.interview-card-time{font-size:11px;color:var(--text-muted);margin-bottom:8px;display:flex;flex-direction:column;gap:2px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.template-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 20px;transition:border-color .2s,box-shadow .2s}.template-card:hover{border-color:var(--border-ink);box-shadow:var(--shadow-card-hover)}.template-card-preset{border-left:3px solid var(--warning);background:linear-gradient(180deg,rgba(156,107,44,.06),transparent 50%),var(--bg-card)}.template-card-badge{position:absolute;top:12px;right:12px;font-size:10px;padding:2px 8px;border-radius:var(--radius-sm);background:var(--warning-light);color:var(--warning);font-weight:600;letter-spacing:.5px;border:1px solid rgba(156,107,44,.2);font-family:var(--font-kai)}.template-card-header{display:flex;align-items:baseline;gap:8px}.template-card-title{font-size:17px;font-weight:600;font-family:var(--font-serif);color:var(--text-primary)}.template-card-jd{font-size:13px;color:var(--text-muted);line-height:1.6}.template-card-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.template-card-tags-label{font-size:12px;color:var(--text-muted)}.template-card-meta{display:flex;gap:14px;font-size:12px;color:var(--text-muted);margin-top:auto;padding-top:4px}.template-card-actions{display:flex;gap:8px;align-items:center}.template-card-menu-wrap{position:relative}.template-card-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20}.template-card-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-raised);z-index:21;min-width:168px;padding:4px;display:flex;flex-direction:column}.template-card-menu button{background:none;border:none;text-align:left;padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);font-family:var(--font-sans);transition:background .12s}.template-card-menu button:hover{background:var(--bg-hover)}.template-card-menu-danger{color:var(--accent)!important}.plan-adjust{margin-top:16px;padding-top:14px;border-top:1px dashed var(--border)}.plan-adjust-label{font-size:13px;color:var(--text-muted);margin-bottom:8px}.plan-adjust-row{display:flex;gap:8px}.plan-adjust-row input{flex:1}.privacy-panel{position:fixed;z-index:10000;bottom:120px;right:20px}.privacy-toggle-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-card);cursor:grab;font-size:18px;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s;touch-action:none;user-select:none;-webkit-user-select:none}.privacy-toggle-btn:active{cursor:grabbing}.privacy-toggle-btn:hover{transform:scale(1.1);box-shadow:var(--shadow-card-hover)}.privacy-toggle-btn.study{opacity:.5;background:var(--accent-light)}.privacy-toggle-btn.dragging{transform:none;box-shadow:var(--shadow-raised)}.privacy-menu{position:absolute;bottom:48px;right:0;width:260px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);overflow:hidden;animation:privacyMenuIn .15s ease}@keyframes privacyMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.privacy-menu-header{padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-primary);background:var(--bg-hover);border-bottom:1px solid var(--border-light)}.privacy-menu-item{display:block;width:100%;padding:10px 14px;font-size:13px;color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.privacy-menu-item:hover{background:var(--bg-hover)}.privacy-menu-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:6px;cursor:pointer}.privacy-menu-toggle input{margin-left:auto;width:16px;height:16px;accent-color:var(--accent)}.privacy-menu-desc{width:100%;font-size:11px;color:var(--text-muted);padding-left:22px}.privacy-menu-divider{height:1px;background:var(--border-light);margin:4px 0}.privacy-menu-footer{padding:6px 14px 10px;border-top:1px solid var(--border-light)}.privacy-menu-hint{font-size:11px;color:var(--text-muted)}html[data-study-mode]{--bg-page: #f5f7fa;--bg-card: #ffffff;--bg-ai-msg: #ffffff;--bg-code: #1e293b;--ink-code: #e2e8f0;--bg-hover: #f1f5f9;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #2563eb;--accent-light: rgba(37, 99, 235, .08);--accent-ink: #1d4ed8;--success: #059669;--success-light: rgba(5, 150, 105, .08);--warning: #d97706;--warning-light: rgba(217, 119, 6, .1);--border: #e2e8f0;--border-light: #f1f5f9;--border-ink: #cbd5e1;--font-serif: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--font-kai: "PingFang SC", "Noto Sans SC", sans-serif;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .08);--shadow-raised: 0 8px 24px rgba(0, 0, 0, .1);background-color:var(--bg-page)}html[data-study-mode] .chat-message.study-qa-card{justify-content:flex-start;padding:0 0 6px}html[data-study-mode] .study-qa-card .chat-bubble{max-width:100%;width:100%;background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px 20px;color:var(--text-primary);font-family:var(--font-sans);font-weight:400}html[data-study-mode] .chat-ai.study-qa-card .chat-bubble{border-left-color:#2563eb;background:linear-gradient(135deg,#f8faff,#fff)}html[data-study-mode] .chat-user.study-qa-card .chat-bubble{border-left-color:#059669;background:linear-gradient(135deg,#f8fdf9,#fff)}html[data-study-mode] .study-qa-card .chat-role-label{font-size:12px;font-weight:700;letter-spacing:0;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-light);font-family:var(--font-sans)}html[data-study-mode] .chat-ai.study-qa-card .chat-role-label{color:#2563eb}html[data-study-mode] .chat-user.study-qa-card .chat-role-label{color:#059669}html[data-study-mode] .study-qa-card .chat-content{font-size:15px;line-height:1.8;color:var(--text-primary)}html[data-study-mode] .study-qa-card .chat-action-area{margin-left:auto;margin-right:0;order:1}html[data-study-mode] .app-header{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:none}html[data-study-mode] .header-inner{max-width:var(--content-width);margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:20px}html[data-study-mode] .header-logo{font-family:var(--font-sans);font-size:16px;font-weight:700;color:var(--accent);cursor:default;display:flex;align-items:center;gap:6px}html[data-study-mode] .header-logo:after{content:"";display:inline-block;width:80px;height:4px;background:var(--border-light);border-radius:2px;overflow:hidden;vertical-align:middle;margin-left:12px;background-image:linear-gradient(90deg,var(--accent) 45%,var(--border-light) 45%)}html[data-study-mode] .study-nav-tabs{display:flex;gap:4px;margin-left:24px}html[data-study-mode] .study-nav-tab{padding:6px 14px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:default;border-radius:var(--radius);transition:color .15s,background .15s;font-family:var(--font-sans);-webkit-user-select:none;user-select:none}html[data-study-mode] .study-nav-tab.active{color:var(--accent);background:var(--accent-light);font-weight:600}.study-decor-sidebar{display:none}html[data-study-mode] .study-decor-sidebar{display:flex;flex-direction:column;position:fixed;left:0;top:50px;bottom:0;width:200px;background:var(--bg-card);border-right:1px solid var(--border);padding:20px 16px;gap:4px;z-index:5;overflow-y:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.study-decor-sidebar-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-family:var(--font-sans)}.study-decor-chapter{padding:8px 10px;font-size:13px;color:var(--text-secondary);border-radius:var(--radius-sm);font-family:var(--font-sans);display:flex;align-items:center;gap:8px}.study-decor-chapter.current{background:var(--accent-light);color:var(--accent);font-weight:600}.study-decor-chapter.done{color:var(--success)}.study-decor-chapter .chapter-icon{font-size:14px;width:20px;text-align:center}.study-decor-stats{display:none}html[data-study-mode] .study-decor-stats{display:flex;flex-direction:column;position:fixed;right:16px;top:70px;width:180px;gap:10px;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none}.study-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-card)}.study-stat-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;font-family:var(--font-sans)}.study-stat-value{font-size:22px;font-weight:700;color:var(--accent);font-family:var(--font-sans)}.study-stat-sub{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:var(--font-sans)}.study-decor-breadcrumb{display:none}html[data-study-mode] .study-decor-breadcrumb{display:flex;align-items:center;gap:6px;padding:6px 20px;font-size:12px;color:var(--text-muted);font-family:var(--font-sans);-webkit-user-select:none;user-select:none;pointer-events:none}.study-decor-breadcrumb .bc-sep{color:var(--border-ink)}html[data-study-mode] .main-content{padding-left:216px;padding-right:16px}html[data-study-mode] .chat-shell{padding-left:200px}html[data-study-mode] .btn-primary{background:var(--accent);color:#fff;border-radius:var(--radius)}html[data-study-mode] .btn-secondary{border-radius:var(--radius)}html[data-study-mode] .card{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg)}html[data-study-mode] input,html[data-study-mode] textarea,html[data-study-mode] select{border-radius:var(--radius);border-color:var(--border)}html[data-study-mode] input:focus,html[data-study-mode] textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}html[data-study-mode] .chat-input-area{background:var(--bg-card);border-top:1px solid var(--border)}html[data-study-mode] .chat-topbar{background:var(--bg-card);border-bottom:1px solid var(--border)}html[data-study-mode] .score-inline-card{border-radius:var(--radius)}html[data-study-mode] .progress-bubble{background:var(--bg-card);border-left:3px solid var(--accent)}html[data-study-mode] .chat-end-card{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg)}html[data-study-mode] .branch-modal{background:var(--bg-card);box-shadow:var(--shadow-raised);border-radius:var(--radius-lg)}html[data-study-mode] .toast{border-radius:var(--radius);box-shadow:var(--shadow-raised)}html[data-study-mode] .app-loading-spinner{border-color:var(--border);border-top-color:var(--accent)}html[data-study-mode] .dialog-content{background:var(--bg-card);box-shadow:var(--shadow-raised);border-radius:var(--radius-lg)}html[data-study-mode] .profile-card{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:var(--radius-lg)}html[data-study-mode] .score-high{background:#dcfce7;color:#166534}html[data-study-mode] .score-mid{background:#fef9c3;color:#854d0e}html[data-study-mode] .score-low{background:#fee2e2;color:#991b1b}html[data-study-mode] .branch-overlay{background:#0000004d}html[data-study-mode] .chat-messages{background:var(--bg-page)}html[data-study-mode] .score-panel-full{background:var(--bg-card)}html[data-study-mode] .settings-row-label{color:var(--text-primary)}html[data-study-mode] .settings-row-desc{color:var(--text-muted)}@media(max-width:1024px){html[data-study-mode] .study-decor-sidebar,html[data-study-mode] .study-decor-stats{display:none}html[data-study-mode] .main-content{padding-left:16px;padding-right:16px}html[data-study-mode] .chat-shell{padding-left:0}}
