@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500&family=Inter:wght@400;500;600&display=swap");*{box-sizing:border-box}:root{--bg-deep:#07090f;--bg-surface:rgba(255,255,255,0.04);--bg-glass:rgba(20,26,38,0.55);--bg-glass-strong:rgba(15,20,30,0.75);--border-subtle:rgba(255,255,255,0.06);--border:rgba(120,180,255,0.12);--border-accent:rgba(96,200,255,0.35);--text:#e6ecf5;--text-dim:#8a97a8;--text-mute:#5a6678;--accent-cyan:#5dd6ff;--accent-violet:#a78bfa;--accent-glow:rgba(93,214,255,0.18);--user-grad:linear-gradient(135deg,rgba(93,214,255,0.18),rgba(167,139,250,0.22));--code-bg:rgba(10,14,22,0.65)}body,html{margin:0;padding:0;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Source Han Sans SC,Noto Sans SC,Segoe UI,sans-serif;font-size:15px;line-height:1.7;font-weight:400;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color:var(--text);background:var(--bg-deep)}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 60% 50% at 15% 20%,rgba(93,214,255,.1),transparent 60%),radial-gradient(ellipse 70% 60% at 85% 80%,rgba(167,139,250,.1),transparent 60%),radial-gradient(ellipse 40% 30% at 50% 50%,rgba(50,100,180,.06),transparent 70%),var(--bg-deep);z-index:-1}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);padding:28px;border:1px solid var(--border);border-radius:8px;background:rgba(10,14,22,.76);box-shadow:0 20px 80px rgba(0,0,0,.42)}.auth-kicker{color:var(--accent-cyan);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;letter-spacing:0;margin-bottom:8px}.auth-panel h1{margin:0 0 20px;font-size:24px;line-height:1.2}.auth-panel p{margin:0;color:var(--text-dim)}.auth-panel label{display:block;margin-bottom:14px}.auth-panel label span{display:block;margin-bottom:6px;color:var(--text-dim);font-size:12px}.auth-panel input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:6px;background:rgba(5,8,14,.72);color:var(--text);font:inherit;padding:10px 12px;outline:none}.auth-panel input:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-error{margin:4px 0 14px;color:#ff8f9a;font-size:13px}.auth-panel button{width:100%;min-height:44px;border:0;border-radius:6px;background:linear-gradient(135deg,rgba(93,214,255,.9),rgba(167,139,250,.9));color:#07101a;font:inherit;font-weight:700;cursor:pointer}.auth-panel button:disabled{opacity:.55;cursor:wait}.auth-panel .auth-switch{margin-top:12px;background:transparent;border:1px solid var(--border);color:var(--text-dim);font-weight:500}.account-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px}.account-backdrop{position:absolute;inset:0;border:0;background:rgba(2,6,12,.72);cursor:pointer}.account-panel{position:relative;width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:22px;border:1px solid var(--border);border-radius:8px;background:rgba(10,14,22,.95);box-shadow:0 24px 90px rgba(0,0,0,.55)}.account-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.account-panel-header h2,.account-section h3{margin:0}.account-panel-header h2{font-size:22px}.account-logout,.account-panel-header button,.account-section button{border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.04);color:var(--text);font:inherit;cursor:pointer}.account-panel-header button{width:34px;height:34px}.account-section{display:grid;grid-gap:10px;gap:10px;padding:14px 0;border-top:1px solid var(--border-subtle)}.account-section input{width:100%;min-height:38px;border:1px solid var(--border);border-radius:6px;background:rgba(5,8,14,.72);color:var(--text);font:inherit;padding:8px 10px;outline:none}.account-logout,.account-section button{min-height:38px;padding:7px 12px}.account-logout:disabled,.account-section button:disabled{opacity:.5;cursor:not-allowed}.account-message{margin-bottom:12px;color:var(--accent-cyan);font-size:13px}.account-create-row,.account-user-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-gap:8px;gap:8px}.account-user-list{display:grid;grid-gap:8px;gap:8px}.account-user-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);grid-gap:10px;gap:10px;align-items:center;padding:10px;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(255,255,255,.03)}.account-user-row[data-disabled=true]{opacity:.7}.account-user-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.account-user-main span,.account-user-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-user-main span{color:var(--text-dim);font-size:12px}.account-logout{width:100%;margin-top:6px}@media (max-width:720px){.account-create-row,.account-user-actions,.account-user-row{grid-template-columns:1fr}}.layout{display:flex;min-height:100vh}.sidebar{width:280px;flex-shrink:0;height:100vh;overflow-y:auto;padding:16px 12px;background:rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-right:1px solid var(--border-subtle);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}.sidebar-title{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-mute);padding:4px 8px;margin-bottom:2px}.sidebar-subject{font-size:14px;font-weight:600;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 8px 14px;border-bottom:1px solid var(--border-subtle);margin-bottom:10px}.sidebar-empty{padding:16px 8px;font-size:12px;color:var(--text-mute);font-style:italic}.theme-group{margin-bottom:6px}.theme-group summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;display:flex;align-items:baseline;gap:8px;padding:6px 8px;border-radius:6px;transition:background .12s;outline:none}.theme-group summary::-webkit-details-marker{display:none}.theme-group summary:hover{background:rgba(255,255,255,.03)}.theme-letter{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:600;color:var(--accent-cyan);width:14px}.theme-name{flex:1 1;font-size:12.5px;color:var(--text)}.theme-count{font-size:10px;color:var(--text-mute);font-family:ui-monospace,monospace}.theme-items{padding:2px 0 6px 14px}.subtopic{display:flex;align-items:center;gap:8px;width:100%;padding:5px 10px;border:0;border-radius:6px;background:transparent;cursor:pointer;font-size:12px;font-family:inherit;color:var(--text-dim);text-align:left;transition:all .12s}.subtopic:hover{background:rgba(93,214,255,.08);color:var(--text)}.sub-id{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--text-mute);flex-shrink:0;min-width:36px}.sub-name{flex:1 1}.sub-name,.sub-quality{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-quality{flex-shrink:0;max-width:72px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;color:var(--text-mute)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.s-pending .status-dot,.status-dot,.status-dot.s-pending{background:#5a6678}.s-phase1 .status-dot,.status-dot.s-phase1{background:#eab308;box-shadow:0 0 6px rgba(234,179,8,.45)}.s-phase2 .status-dot,.status-dot.s-phase2{background:#f97316;box-shadow:0 0 6px rgba(249,115,22,.45)}.s-done .status-dot,.status-dot.s-done{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.5)}.s-retest .status-dot,.status-dot.s-retest{background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.55)}.sidebar-legend{margin-top:18px;padding:10px 8px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-mute)}.sidebar-legend>div{display:flex;align-items:center;gap:8px}.app{flex:1 1;display:flex;flex-direction:column;height:100vh;max-width:920px;margin:0 auto;padding:16px 22px}.header{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 18px;margin-bottom:14px;background:var(--bg-glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 32px rgba(0,0,0,.35)}.header h1{margin:0;font-size:16px;font-weight:600;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-violet));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.5px}.header button,.header select{padding:6px 12px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.header button:hover,.header select:hover{background:rgba(93,214,255,.08);border-color:var(--border-accent)}.header button:disabled,.header select:disabled{opacity:.5;cursor:not-allowed}.header .stats{margin-left:auto;color:var(--text-dim);letter-spacing:.3px}.header .stats,.workflow-status{font-size:11px;font-family:ui-monospace,SF Mono,Menlo,monospace}.workflow-status{min-width:0;flex:1 1 180px;max-width:260px;display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(93,214,255,.2);border-radius:8px;background:rgba(93,214,255,.07);color:var(--text-soft)}.workflow-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--text-dim);box-shadow:0 0 8px rgba(156,163,175,.35)}.workflow-status.is-inserted .workflow-dot{background:#facc15;box-shadow:0 0 8px rgba(250,204,21,.45)}.workflow-status.is-resumed .workflow-dot,.workflow-status.is-sent .workflow-dot{background:var(--accent-cyan);box-shadow:0 0 8px rgba(93,214,255,.5)}.workflow-status.is-completed .workflow-dot{background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.45)}.workflow-status.is-failed .workflow-dot{background:#fb7185;box-shadow:0 0 8px rgba(251,113,133,.45)}.messages{flex:1 1;overflow-y:auto;padding:8px 4px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:4px}.messages::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.15)}.msg{padding:16px 20px;border-radius:14px;max-width:90%;line-height:1.78;font-size:15px;letter-spacing:.012em;word-wrap:break-word}.msg.user{align-self:flex-end;background:var(--user-grad);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-accent);color:var(--text);box-shadow:0 0 24px var(--accent-glow),0 4px 24px rgba(0,0,0,.4)}.msg.assistant{background:var(--bg-glass);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border:1px solid var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 24px rgba(0,0,0,.3)}.tool-box{align-self:flex-start;max-width:90%;background:rgba(10,14,22,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border-subtle);border-radius:999px;overflow:hidden;transition:border-radius .18s,border-color .18s,background .18s}.tool-box[open]{border-radius:10px;border-color:var(--border-accent);background:rgba(10,14,22,.6)}.tool-box.is-error{border-color:rgba(255,123,123,.35)}.tool-box summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;padding:5px 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;color:var(--accent-cyan);letter-spacing:.4px;outline:none;display:flex;align-items:center;gap:4px}.tool-box summary::-webkit-details-marker{display:none}.tool-box summary:hover{background:rgba(93,214,255,.06)}.tool-name{font-weight:500}.tool-pending{margin-left:4px;color:var(--text-mute);animation:claude-pulse 1.4s ease-in-out infinite}.tool-err{margin-left:6px;color:#ff7b7b;font-weight:600}.tool-content{padding:8px 12px 10px;border-top:1px solid var(--border-subtle);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px}.tool-section{margin-top:8px}.tool-section:first-child{margin-top:2px}.tool-label{color:var(--text-mute);font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.tool-content pre{margin:0;padding:8px 10px;background:rgba(0,0,0,.35);border:1px solid var(--border-subtle);border-radius:6px;white-space:pre-wrap;word-break:break-word;color:var(--text-dim);max-height:220px;overflow-y:auto;line-height:1.55}.tool-content pre::-webkit-scrollbar{width:6px}.tool-content pre::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px}.msg.meta{align-self:flex-start;padding:2px 10px;background:transparent;color:var(--text-mute);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;letter-spacing:.3px}.msg.meta:first-letter{color:var(--accent-cyan);font-weight:600;text-shadow:0 0 6px var(--accent-glow)}.msg h1,.msg h2,.msg h3{color:var(--text);margin:14px 0 8px;font-weight:600}.msg h1{font-size:18px}.msg h2{font-size:16px;color:var(--accent-cyan)}.msg h3{font-size:14.5px;color:var(--accent-violet)}.msg p{margin:6px 0}.msg ol,.msg ul{margin:6px 0;padding-left:24px}.msg li{margin:3px 0}.msg strong{color:var(--accent-cyan);font-weight:600}.msg em{color:var(--accent-violet);font-style:italic}.msg a{color:var(--accent-cyan);text-decoration:none;border-bottom:1px dashed var(--border-accent)}.msg a:hover{color:#8eddff;border-bottom-style:solid}.msg code{padding:1px 6px;border:1px solid var(--border-subtle);border-radius:4px;color:#ffd47e;font-size:88%;font-family:ui-monospace,SF Mono,Menlo,monospace}.msg code,.msg pre{background:var(--code-bg)}.msg pre{margin:10px 0;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:8px;overflow-x:auto;font-size:12.5px;line-height:1.55}.msg pre code{background:none;border:none;padding:0;color:var(--text)}.msg table{border-collapse:separate;border-spacing:0;margin:10px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:100%;font-size:13.5px}.msg th{background:rgba(93,214,255,.08);color:var(--accent-cyan);font-weight:600;text-align:left}.msg td,.msg th{padding:8px 12px}.msg td{border-top:1px solid var(--border-subtle)}.msg tr:hover td{background:rgba(255,255,255,.02)}.msg blockquote{margin:10px 0;padding:6px 14px;border-left:3px solid var(--accent-violet);background:rgba(167,139,250,.05);color:var(--text-dim);border-radius:0 6px 6px 0}.msg hr{border:none;border-top:1px solid var(--border);margin:14px 0}.thinking-box{margin:12px 0;background:rgba(10,14,22,.55);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(167,139,250,.2);border-radius:10px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.thinking-box:hover{border-color:rgba(167,139,250,.35);box-shadow:0 0 20px rgba(167,139,250,.08)}.thinking-box[open]{box-shadow:0 0 24px rgba(167,139,250,.12)}.thinking-box summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none;padding:8px 14px;font-size:12px;font-weight:500;color:var(--accent-violet);letter-spacing:.3px;outline:none;transition:background .15s}.thinking-box summary::-webkit-details-marker{display:none}.thinking-box summary:before{content:"▸";display:inline-block;margin-right:8px;transition:transform .18s;color:var(--accent-violet);opacity:.7}.thinking-box[open]>summary:before{transform:rotate(90deg)}.thinking-box summary:hover{background:rgba(167,139,250,.06);color:#c4afff}.thinking-content{padding:4px 16px 12px;border-top:1px solid rgba(167,139,250,.12);font-size:13px;color:var(--text-dim);line-height:1.65}.thinking-content>:first-child{margin-top:6px}.thinking-content>:last-child{margin-bottom:0}.thinking-content code{font-size:92%}.input-row{display:flex;gap:10px;margin-top:14px;padding:12px;background:var(--bg-glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 -8px 32px rgba(0,0,0,.2)}.input-row textarea{flex:1 1;padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text);font-size:14px;font-family:inherit;resize:none;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;min-height:44px;max-height:200px;line-height:1.5}.input-row textarea::placeholder{color:var(--text-mute)}.input-row textarea:focus{border-color:var(--border-accent);background:rgba(255,255,255,.05);box-shadow:0 0 0 3px rgba(93,214,255,.08)}.input-row textarea:disabled{opacity:.5;cursor:not-allowed}.upload-category{width:92px;flex-shrink:0;padding:0 9px;background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-dim);font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.upload-category:focus,.upload-category:hover:not(:disabled){background:rgba(93,214,255,.08);border-color:var(--border-accent);box-shadow:0 0 12px var(--accent-glow)}.upload-category:disabled{opacity:.4;cursor:not-allowed}.input-row button{padding:0 22px;background:linear-gradient(135deg,rgba(93,214,255,.85),rgba(167,139,250,.85));border:none;border-radius:10px;color:white;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 0 16px var(--accent-glow);letter-spacing:.5px}.input-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 24px rgba(93,214,255,.35)}.input-row button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.hint{font-size:12px;color:var(--text-mute);padding:16px 4px;line-height:1.6}.hint code{padding:1px 6px;background:var(--code-bg);border:1px solid var(--border-subtle);border-radius:4px;color:var(--accent-cyan);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:90%}.messages.drag-over{background:rgba(93,214,255,.04);outline:2px dashed var(--border-accent);outline-offset:-8px;border-radius:12px}.pending-uploads{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:10px 12px;background:var(--bg-glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-radius:14px 14px 0 0;border:1px solid var(--border);border-bottom:none}.pending-chip{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 6px;background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);border-radius:10px;max-width:240px;transition:all .15s}.pending-chip.is-uploading{opacity:.6}.pending-chip.is-error{border-color:rgba(255,123,123,.4)}.pending-chip.is-ready{border-color:var(--border-accent)}.pending-thumb{width:32px;height:32px;object-fit:cover;border-radius:6px;flex-shrink:0}.pending-icon{background:rgba(167,139,250,.1);border-radius:6px;color:var(--accent-violet);font-size:16px}.pending-icon,.pending-preview{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pending-preview{padding:0;background:rgba(93,214,255,.1);border:1px solid rgba(93,214,255,.22);border-radius:6px;color:var(--accent-cyan);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;font-weight:700;cursor:pointer;letter-spacing:.2px;transition:all .15s}.pending-preview:hover{background:rgba(93,214,255,.18);border-color:var(--border-accent);box-shadow:0 0 10px var(--accent-glow)}.pending-meta{min-width:0;flex:1 1}.pending-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.pending-status{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;color:var(--text-mute);margin-top:1px;letter-spacing:.3px}.pending-chip.is-error .pending-status{color:#ff7b7b}.pending-remove{width:22px;height:22px;flex-shrink:0;background:transparent;border:none;border-radius:50%;color:var(--text-mute);font-size:16px;line-height:1;cursor:pointer;transition:all .15s;padding:0}.pending-remove:hover{background:rgba(255,123,123,.15);color:#ff7b7b}.pending-uploads+.input-row{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.user-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.user-attach-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:rgba(0,0,0,.25);border:1px solid var(--border-subtle);border-radius:8px}.user-attach-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.user-attach-button:hover{background:rgba(0,0,0,.32);border-color:var(--border-accent);box-shadow:0 0 12px var(--accent-glow)}.user-attach-thumb{object-fit:cover}.user-attach-icon,.user-attach-thumb{width:28px;height:28px;border-radius:5px}.user-attach-icon{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:14px;color:var(--text-dim)}.pdf-icon{color:var(--accent-cyan);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:8.5px;font-weight:700;letter-spacing:.2px}.user-attach-name{font-size:11.5px;color:var(--text-dim);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-text{white-space:pre-wrap}.pdf-preview-shell{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:28px}.pdf-preview-backdrop{position:absolute;inset:0;padding:0;border:0;background:rgba(2,6,14,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:default}.pdf-preview-panel{position:relative;z-index:1;width:min(1120px,94vw);height:min(820px,88vh);display:flex;flex-direction:column;overflow:hidden;background:rgba(14,20,32,.92);border:1px solid var(--border-accent);border-radius:12px;box-shadow:0 22px 80px rgba(0,0,0,.62),0 0 34px rgba(93,214,255,.12)}.pdf-preview-header{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--border-subtle);background:rgba(0,0,0,.22)}.pdf-preview-title{min-width:0;flex:1 1;color:var(--text);font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-preview-close,.pdf-preview-open{width:30px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border-subtle);border-radius:7px;background:rgba(255,255,255,.04);color:var(--text-dim);font-size:15px;line-height:1;text-decoration:none;cursor:pointer;transition:all .15s}.pdf-preview-close:hover,.pdf-preview-open:hover{color:var(--accent-cyan);border-color:var(--border-accent);background:rgba(93,214,255,.1)}.pdf-preview-frame{flex:1 1;width:100%;min-height:0;border:0;background:#f8fafc}.btn-attach{width:44px;flex-shrink:0;background:rgba(255,255,255,.04);border:1px solid var(--border-subtle);border-radius:10px;color:var(--accent-cyan);font-size:18px;cursor:pointer;transition:all .15s}.btn-attach:hover:not(:disabled){background:rgba(93,214,255,.1);border-color:var(--border-accent);box-shadow:0 0 12px var(--accent-glow)}.btn-attach:disabled{opacity:.4;cursor:not-allowed}.permission-box{align-self:flex-start;max-width:90%;padding:12px 16px;background:rgba(255,196,0,.04);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid rgba(255,196,0,.3);border-radius:12px;box-shadow:0 0 24px rgba(255,196,0,.08),0 4px 18px rgba(0,0,0,.3);transition:all .2s}.permission-box.is-allow{border-color:rgba(93,214,255,.3);background:rgba(93,214,255,.03);box-shadow:none}.permission-box.is-deny{border-color:rgba(255,123,123,.25);background:rgba(255,123,123,.03);box-shadow:none;opacity:.7}.permission-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#ffd47e;margin-bottom:8px}.permission-mark{font-size:15px}.permission-box.is-allow .permission-header{color:var(--accent-cyan)}.permission-box.is-deny .permission-header{color:#ff7b7b}.permission-input{margin:0 0 10px;padding:8px 10px;background:rgba(0,0,0,.3);border:1px solid var(--border-subtle);border-radius:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto;line-height:1.5}.permission-actions{display:flex;gap:8px}.permission-actions button{padding:6px 16px;border:1px solid;border-radius:8px;font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;letter-spacing:.3px}.btn-allow{background:rgba(93,214,255,.12);border-color:var(--border-accent);color:var(--accent-cyan)}.btn-allow:hover{background:rgba(93,214,255,.22);box-shadow:0 0 12px var(--accent-glow)}.btn-deny{background:rgba(255,255,255,.03);border-color:var(--border-subtle);color:var(--text-dim)}.btn-deny:hover{background:rgba(255,123,123,.1);border-color:rgba(255,123,123,.35);color:#ff7b7b}.permission-status{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11.5px;color:var(--text-dim);letter-spacing:.3px}.working-indicator{display:inline-block;margin-left:10px;color:var(--accent-cyan);font-size:13px;vertical-align:-1px;text-shadow:0 0 8px var(--accent-glow);animation:claude-spin 2.4s linear infinite,claude-pulse 1.4s ease-in-out infinite}@keyframes claude-spin{to{transform:rotate(1turn)}}@keyframes claude-pulse{0%,to{opacity:.55;text-shadow:0 0 6px rgba(93,214,255,.35)}50%{opacity:1;text-shadow:0 0 14px rgba(93,214,255,.85)}}.dots{display:inline-flex;align-items:center;gap:4px;height:14px}.dots>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:white;opacity:.5;animation:dot-bounce 1.2s ease-in-out infinite}.dots>span:nth-child(2){animation-delay:.18s}.dots>span:nth-child(3){animation-delay:.36s}@keyframes dot-bounce{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-5px);opacity:1}}.signature{position:fixed;bottom:12px;right:18px;font-family:Caveat,cursive;font-size:16px;color:var(--text-mute);opacity:.45;letter-spacing:.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;z-index:10;text-shadow:0 0 12px rgba(93,214,255,.15)}