:root{--bg: #fbfbfa;--surface: #ffffff;--surface-2: #f4f4f2;--surface-3: #ececea;--bubble-fill: #eeeeF0;--selection-fill: #f0f1f2;--ink: #1f1e1c;--ink-2: #6f6a61;--ink-3: #9a958c;--line: #e7e5e0;--accent: #0052d9;--accent-ink: #ffffff;--ring: rgba(0, 82, 217, .35);--danger: #d54941;--danger-bg: #fdf0ef;--warn: #b25e00;--warn-bg: #fdf6ec;--ok: #2f7d32;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 15px;--fs-lg: 17px;--fs-xl: 20px;--fs-name: 26px;--rail-w: 280px;--side-w: 300px;--icon-w: 56px;--msg-w: 768px;--tabbar-h: 56px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur: .2s;--dur-slow: .3s}*{box-sizing:border-box}html,body{margin:0;padding:0}::selection{background:#0052d92e}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.rail-list::-webkit-scrollbar,.msg-scroll::-webkit-scrollbar,.side::-webkit-scrollbar,.page-main::-webkit-scrollbar,.files-main::-webkit-scrollbar,.model-pop::-webkit-scrollbar,.soul-box::-webkit-scrollbar,.approval-block::-webkit-scrollbar{width:8px;height:8px}.rail-list::-webkit-scrollbar-thumb,.msg-scroll::-webkit-scrollbar-thumb,.side::-webkit-scrollbar-thumb,.page-main::-webkit-scrollbar-thumb,.files-main::-webkit-scrollbar-thumb,.model-pop::-webkit-scrollbar-thumb,.soul-box::-webkit-scrollbar-thumb,.approval-block::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:4px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px) scale(.99)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-2px) scale(.98)}}@keyframes menu-in-up{0%{opacity:0;transform:translateY(2px) scale(.98)}}@keyframes expand-in{0%{opacity:0;transform:translateY(-4px)}}body{background:var(--bg);color:var(--ink);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}a{color:var(--accent);text-decoration:none}#root{min-height:100dvh}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-full);padding:7px 16px;font-size:var(--fs-sm);font-weight:500;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){opacity:.9}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){opacity:.9}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:5px 12px;font-size:var(--fs-xs)}.error-text{color:var(--danger);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-word}.muted{color:var(--ink-2);font-size:var(--fs-sm)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--accent);animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--bg)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:var(--sp-8) 28px 28px;text-align:center}.login-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:var(--sp-3)}.login-card .login-title{font-size:var(--fs-xl);font-weight:700;margin-bottom:var(--sp-2)}.login-card .login-sub{color:var(--ink-2);font-size:var(--fs-sm);margin-bottom:var(--sp-6);text-align:center}.field{margin-bottom:var(--sp-4);text-align:left}.field label{display:block;font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:var(--sp-2)}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-md);padding:11px 12px;background:var(--surface);color:var(--ink);transition:border-color var(--dur) ease,box-shadow var(--dur) ease}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0052d91a}.login-submit{width:100%;padding:12px;border-radius:var(--r-md);font-size:16px;margin-top:var(--sp-2);height:46px}.login-alt{margin-top:var(--sp-5);text-align:center}.login-alt button{background:none;border:none;color:var(--accent);font-size:var(--fs-sm);padding:0}.login-note{margin-top:var(--sp-4);background:var(--warn-bg);color:var(--warn);border-radius:var(--r-md);padding:10px 12px;font-size:var(--fs-sm);text-align:left}.shell{display:grid;grid-template-columns:var(--icon-w) var(--rail-w) 1fr var(--side-w);grid-template-rows:1fr;height:100dvh;background:var(--bg)}.tabbar{display:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:99;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur) ease,visibility 0s linear var(--dur)}.scrim.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur) ease}.shell.no-side{grid-template-columns:var(--icon-w) 1fr}.shell.no-side .page-main,.shell.no-side .files-main{grid-column:2}.shell.bare{grid-template-columns:1fr}.shell.bare .limit-wrap{grid-column:1}:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.leftcol{grid-column:2;grid-row:1;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);overflow:hidden}.brand-row{display:flex;align-items:center;gap:var(--sp-2);padding:14px var(--sp-4) var(--sp-1);font-size:var(--fs-md);font-weight:700}.brand-row img{width:28px;height:28px;border-radius:50%;object-fit:cover}.nav-list{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);flex:none}.nav-item{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 var(--sp-3);border:none;background:none;border-radius:var(--r-md);color:var(--ink-2);font-size:var(--fs-md);text-align:left;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.active{background:var(--surface-2);color:var(--ink);font-weight:600}.session-zone{flex:1;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--line);margin-top:var(--sp-1);padding-top:var(--sp-2)}.leftcol-foot{flex:none;border-top:1px solid var(--line);padding:var(--sp-2) var(--sp-3)}.rail-head{flex:none;padding:var(--sp-4);border-bottom:1px solid var(--line);display:flex;gap:var(--sp-2);align-items:center}.search-box{flex:1;display:flex;align-items:center;gap:var(--sp-2);background:var(--surface-2);border-radius:var(--r-full);padding:6px 12px}.search-box input{flex:1;border:none;background:transparent;outline:none;font-size:var(--fs-sm);color:var(--ink)}.search-box input::placeholder{color:var(--ink-3)}.search-box:focus-within{box-shadow:0 0 0 2px var(--ring)}.icon-btn-ghost{background:none;border:none;color:var(--ink-2);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.icon-btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.new-chat-btn{flex:none;width:100%;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--r-md);padding:10px var(--sp-4);font-size:var(--fs-md);font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);margin:var(--sp-4) var(--sp-4) var(--sp-3);transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.new-chat-btn:hover:not(:disabled){opacity:.9}.new-chat-btn:disabled{opacity:.5;cursor:not-allowed}.rail-list{flex:1;overflow-y:auto;padding:0 var(--sp-2) var(--sp-4)}.rail-group{padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:var(--fs-xs);color:var(--ink-2);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.rail-item{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);margin-bottom:2px;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.rail-item:hover{background:var(--surface-2)}.rail-item.active{background:var(--surface-2);font-weight:600}.rail-item .item-title{font-size:var(--fs-sm);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.rail-item.main-item .item-title{font-weight:600}.rail-item .item-sub{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-main{grid-column:3;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.chat-topbar{flex:none;display:flex;align-items:center;gap:var(--sp-2);padding:10px var(--sp-4);border-bottom:1px solid var(--line);background:var(--surface)}.chat-topbar .menu-btn{display:none}.topbar-desktop{display:contents}.topbar-mobile{display:none}.chat-topbar .title{flex:1;font-size:var(--fs-md);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-select{background:var(--surface-2);border:none;border-radius:var(--r-full);padding:6px 12px;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;outline:none}.panel-btn{display:none}.msg-scroll{flex:1;overflow-y:auto;padding:var(--sp-6) var(--sp-4) var(--sp-2);position:relative}.msg-list{max-width:var(--msg-w);margin:0 auto;display:flex;flex-direction:column;gap:28px}.msg{display:flex;flex-direction:column}.msg.user{align-items:flex-end}.msg-img{max-width:260px;border-radius:var(--r-md);border:1px solid var(--line);margin-bottom:var(--sp-2)}.bubble-user{background:var(--surface-2);color:var(--ink);border-radius:18px;padding:10px 14px;max-width:78%;white-space:pre-wrap;word-break:break-word;font-size:var(--fs-md);line-height:1.6}.msg.assistant{width:100%;max-width:100%}.msg-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.msg-head img{width:24px;height:24px;border-radius:50%;object-fit:cover}.msg-head .agent-name{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.msg-body{font-size:var(--fs-md);line-height:1.7;color:var(--ink);word-break:break-word}.msg-body p{margin:0 0 .8em}.msg-body p:last-child{margin-bottom:0}.msg-body pre{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px;overflow-x:auto;font-size:var(--fs-sm);margin:.8em 0}.msg-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.msg-body pre code{background:none;padding:0}.msg-body :not(pre)>code{background:var(--surface-2);padding:2px 6px;border-radius:4px}.msg-body img{max-width:100%;border-radius:var(--r-sm);margin:.6em 0}.msg-body table{border-collapse:collapse;font-size:var(--fs-sm);width:100%;margin:.8em 0;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.msg-body th,.msg-body td{border:1px solid var(--line);padding:6px 10px;text-align:left}.msg-body th{background:var(--surface-2);font-weight:600}.file-link{display:inline-flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;font-size:var(--fs-sm);color:var(--ink);text-decoration:none;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.file-link:hover{background:var(--surface-2)}.tool-card{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px;font-size:var(--fs-sm);color:var(--ink-2);margin-top:var(--sp-2);word-break:break-word}.tool-rows{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.tool-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2)}.tool-row.done{color:var(--ok)}.tool-row.failed{color:var(--danger)}.stream-caret:after{content:"▍";color:var(--accent);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.back-bottom{position:absolute;right:var(--sp-4);bottom:var(--sp-4);z-index:5;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);box-shadow:0 2px 12px #1f1e1c14;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.back-bottom:hover{background:var(--surface-2)}.composer{flex:none;background:transparent;padding:12px var(--sp-4) calc(12px + env(safe-area-inset-bottom))}.composer-inner{max-width:var(--msg-w);margin:0 auto}.capsule{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);box-shadow:0 4px 18px #1f1e1c0f;padding:var(--sp-2)}.attach-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0 var(--sp-2) var(--sp-2)}.attach-chip{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);background:var(--surface-2);border-radius:var(--r-full);padding:4px 6px 4px 12px}.attach-chip button{border:none;background:none;color:var(--ink-2);font-size:16px;padding:0 4px;cursor:pointer}.capsule-row{display:flex;align-items:flex-end;gap:var(--sp-2)}.capsule-row textarea{flex:1;resize:none;border:none;background:transparent;outline:none;padding:8px 12px;max-height:140px;font-size:var(--fs-md);color:var(--ink);line-height:1.5}.attach-btn{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-2);font-size:20px;display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.attach-btn:hover:not(:disabled){background:var(--surface-2)}.attach-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn{flex:none;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.send-btn:hover:not(:disabled){opacity:.9}.send-btn:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}.send-btn.stop{background:var(--danger)}.empty-hint{text-align:center;color:var(--ink-2);padding:48px 20px;font-size:var(--fs-sm)}#approvals-anchor{scroll-margin-top:12px}.approval-block{flex:none;border-bottom:1px solid var(--line);background:var(--surface);max-height:46%;overflow-y:auto}.approval-head{width:100%;display:flex;align-items:center;gap:var(--sp-2);background:none;border:none;padding:10px var(--sp-4);font-size:var(--fs-sm);font-weight:600;color:var(--ink);text-align:left;cursor:pointer}.approval-head .count{color:var(--danger);margin-left:auto}.approval-card{margin:0 var(--sp-4) 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.approval-card .a-title{font-size:var(--fs-sm);font-weight:600;margin-bottom:var(--sp-1)}.approval-card .a-meta{font-size:var(--fs-xs);color:var(--ink-2);margin-bottom:var(--sp-2)}.approval-card .a-preview{font-size:var(--fs-sm);background:var(--surface-2);border-radius:var(--r-sm);padding:8px 10px;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto;margin-bottom:var(--sp-2)}.blocked-box{background:var(--warn-bg);color:var(--warn);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--fs-sm);margin-bottom:var(--sp-2);white-space:pre-wrap;word-break:break-word}.fail-box{background:var(--danger-bg);color:var(--danger);border-radius:var(--r-sm);padding:8px 10px;font-size:var(--fs-sm);margin-top:var(--sp-2);white-space:pre-wrap;word-break:break-word}.approval-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.side{grid-column:4;grid-row:1;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);overflow-y:auto}.side-section{padding:var(--sp-5);border-bottom:1px solid var(--line)}.side-section:last-child{border-bottom:none}.side-approval-btn{width:100%;background:none;border:none;text-align:left;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.side-approval-btn:hover{background:var(--surface-2)}.files-main{grid-column:2;grid-row:1;overflow-y:auto;padding:var(--sp-6) var(--sp-4) 40px;background:var(--bg)}.files-inner{max-width:var(--msg-w);margin:0 auto}.page-head{margin-bottom:var(--sp-5)}.page-head h2{font-size:var(--fs-xl);font-weight:700;margin:0 0 var(--sp-2)}.file-item{display:flex;gap:var(--sp-3);align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin-top:10px}.file-tile{width:48px;height:48px;border-radius:var(--r-md);background:var(--surface-2);flex:none;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--ink-2)}.file-thumb{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;flex:none}.file-meta{flex:1;min-width:0}.file-meta .n{font-size:var(--fs-sm);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.file-meta .s{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gone-tag{color:var(--danger);font-size:var(--fs-xs);border:1px solid var(--danger);border-radius:var(--r-full);padding:0 7px;margin-left:var(--sp-2)}.limit-wrap{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-6) var(--sp-4);background:var(--bg)}.limit-card{max-width:440px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 22px;margin-bottom:var(--sp-6)}.limit-card h2{font-size:var(--fs-lg);margin:0 0 var(--sp-3)}.limit-card p{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.6;margin:0}.page-main{grid-column:2;grid-row:1;overflow-y:auto;min-height:0;background:var(--bg)}.page-inner{max-width:var(--msg-w);margin:0 auto;padding:var(--sp-6) var(--sp-5) 72px}.page-head{display:flex;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-head .ph-text{flex:1;min-width:0}.page-head .ph-actions{flex:none;display:flex;gap:var(--sp-2);padding-top:2px}.empty-box{border:1px dashed var(--line);border-radius:var(--r-lg);padding:28px 20px;text-align:center;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.7}.ok-text{color:var(--ok);font-size:var(--fs-sm)}.page-topbar{display:none}.spin-ring{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--surface-3);border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:-1px}.feed-post{padding:var(--sp-5) 0;border-bottom:1px solid var(--line);background:transparent}.feed-post:first-of-type{padding-top:var(--sp-2)}.feed-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.feed-emoji{font-size:18px;line-height:1}.feed-dir{font-size:var(--fs-sm);color:var(--ink-2);font-weight:500}.feed-time{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-3);flex:none}.feed-title{font-size:var(--fs-lg);font-weight:600;line-height:1.45;margin:0 0 var(--sp-2)}.feed-body{font-size:var(--fs-md);line-height:1.7}.feed-body p{margin:0 0 .7em}.feed-body p:last-child{margin-bottom:0}.feed-body img{max-width:100%;border-radius:var(--r-sm)}.feed-body a{word-break:break-all}.feed-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--sp-2);margin-top:var(--sp-3)}.feed-images img{width:100%;height:100%;max-height:260px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--line)}.feed-source{display:flex;gap:var(--sp-3);align-items:center;margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);background:transparent}.feed-source:hover{background:var(--surface-2)}.feed-source-img{width:48px;height:48px;border-radius:var(--r-sm);object-fit:cover;flex:none}.feed-source-name{font-size:var(--fs-sm);font-weight:600}.feed-source-desc{font-size:var(--fs-xs);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-why{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.feed-links{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-3)}.feed-links a{color:var(--ink-2)}.idea-section-head{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-md);font-weight:600;margin:var(--sp-6) 0 var(--sp-3)}.idea-section-head:first-of-type{margin-top:0}.idea-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);margin-bottom:var(--sp-3)}.idea-top{display:flex;gap:var(--sp-3);align-items:flex-start}.idea-emoji{font-size:22px;line-height:1.2;flex:none}.idea-title{font-size:var(--fs-md);font-weight:600;line-height:1.5}.idea-detail{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.65}.idea-evidence{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3);line-height:1.6}.idea-deliverables{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.idea-goal-chip{display:inline-block;margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--ink-2);border:1px solid var(--line);border-radius:var(--r-full);padding:1px 9px}.idea-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.idea-note{margin:var(--sp-2) 0 0}.idea-done-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.idea-done-row .t{flex:1;min-width:0}.goal-card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4);margin-bottom:var(--sp-3);color:var(--ink)}.goal-card:hover{background:var(--surface-2)}.goal-top{display:flex;gap:var(--sp-3);align-items:center}.goal-emoji{font-size:22px;line-height:1;flex:none}.goal-titles{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-2)}.goal-titles .idea-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-chip{flex:none;font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-full);padding:2px 9px;display:inline-flex;align-items:center;gap:5px}.goal-chip.run{color:var(--accent);background:#0052d914}.goal-chip.blocked{color:var(--danger);background:var(--danger-bg)}.goal-chip.done{color:var(--ok)}.goal-activity{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:1.65}.goal-subnote{margin:var(--sp-1) 0 0;font-size:var(--fs-xs);color:var(--warn)}.goal-progress{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;margin-top:var(--sp-3)}.goal-progress i{display:block;height:100%;background:var(--accent);border-radius:3px}.cat-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:var(--sp-2);font-size:var(--fs-md);font-weight:500;color:var(--ink);text-align:left}.cat-row:hover{background:var(--surface-2)}.cat-row .ce{font-size:22px}.cat-row .chev{margin-left:auto;color:var(--ink-3)}.intro-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 22px;text-align:center}.intro-card .big{font-size:44px;line-height:1}.intro-card h3{font-size:var(--fs-xl);margin:var(--sp-3) 0 var(--sp-2)}.intro-card p{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.7;margin:0 0 var(--sp-3)}.intro-actions{display:flex;gap:var(--sp-2);justify-content:center;margin-top:var(--sp-4)}.ms-row,.entry-row,.link-row{display:flex;gap:var(--sp-2);align-items:flex-start;padding:var(--sp-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm);line-height:1.6}.ms-dot{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--surface-3);margin-top:2px}.entry-row .et{flex:none;color:var(--ink-3);font-size:var(--fs-xs);padding-top:2px}.ledger-summary{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.ledger-chip{font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);padding:4px 11px}.ledger-group-head{font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);margin:var(--sp-5) 0 var(--sp-1)}.ledger-group-head:first-of-type{margin-top:0}.ledger-row{display:flex;gap:var(--sp-3);align-items:flex-start;width:100%;padding:var(--sp-3) var(--sp-2);border-bottom:1px solid var(--line);cursor:pointer;border-radius:var(--r-sm)}.ledger-row:hover{background:var(--surface-2)}.ledger-row .st-ico{flex:none;width:18px;display:flex;justify-content:center;padding-top:2px}.ledger-main{flex:1;min-width:0}.ledger-title{font-size:var(--fs-sm);font-weight:550;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ledger-meta{font-size:var(--fs-xs);color:var(--ink-3);margin-top:1px}.ledger-fail{font-size:var(--fs-xs);color:var(--danger);margin-top:2px;line-height:1.5}.ledger-detail{margin:var(--sp-2) 0 var(--sp-1) 30px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);animation:expand-in var(--dur) var(--ease-out)}.history-row{display:flex;gap:var(--sp-2);padding:3px 0;line-height:1.6}.history-row .ht{flex:none;color:var(--ink-3);font-size:var(--fs-xs);padding-top:2px}.set-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-4)}.set-section h3{font-size:var(--fs-md);font-weight:600;margin:0 0 var(--sp-3)}.set-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;font-size:var(--fs-sm)}.set-row+.set-row{border-top:1px solid var(--line)}.set-label{flex:none;width:76px;color:var(--ink-2)}.set-value{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-2)}.set-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.soul-box{white-space:pre-wrap;word-break:break-word;font-size:var(--fs-xs);line-height:1.7;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-3);max-height:320px;overflow-y:auto;font-family:inherit}@media(max-width:1199px){.shell{grid-template-columns:var(--icon-w) var(--rail-w) 1fr}.shell.bare{grid-template-columns:1fr}.side{position:fixed;right:0;top:0;bottom:0;width:var(--side-w);z-index:100;transform:translate(100%);transition:transform var(--dur-slow) var(--ease-out)}.side.open{transform:translate(0)}.panel-btn{display:flex!important}}@media(max-width:1023px){.shell,.shell.no-side{grid-template-columns:1fr;grid-template-rows:1fr}.shell.no-side .page-main,.shell.no-side .files-main{grid-column:1;grid-row:1}.leftcol{position:fixed;left:0;top:0;bottom:0;width:75vw;max-width:340px;border-radius:0 28px 28px 0;z-index:102;transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-out)}.leftcol.open{transform:translate(0)}.chat-main{grid-column:1;grid-row:1}.page-main{grid-column:1;grid-row:1;padding-top:48px}.page-topbar{display:flex;position:fixed;top:0;left:0;right:0;height:48px;z-index:90;align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);background:#fbfbfae0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.page-topbar .title{font-size:var(--fs-md);font-weight:600}.files-main,.limit-wrap{grid-column:1;grid-row:1}.side{right:0;width:90%;max-width:var(--side-w)}.chat-topbar .menu-btn{display:flex!important;background:none;border:none;color:var(--ink);padding:4px}.tabbar{position:fixed;left:var(--sp-5);right:var(--sp-5);bottom:calc(var(--sp-2) + env(safe-area-inset-bottom));height:56px;display:flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:var(--r-full);background:#ffffffdb;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:0 8px 28px #13263124;z-index:96}.tabbar button{flex:1;background:none;border:none;border-radius:var(--r-full);color:var(--ink-2);display:flex;align-items:center;justify-content:center;position:relative;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.tabbar button.active{background:var(--selection-fill);color:var(--ink)}.badge{position:absolute;top:6px;margin-left:30px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center}.open-rail-hint{text-align:center;padding:48px 20px}.open-rail-hint button{margin-top:var(--sp-4)}}.brand-row .brand-toggle{margin-left:auto}.iconrail{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:center;background:var(--surface);border-right:1px solid var(--line);padding:var(--sp-3) 0 var(--sp-2);z-index:60}.iconrail-nav{display:flex;flex-direction:column;align-items:center;gap:4px}.rail-icon-btn{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--r-md);color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.rail-icon-btn:hover,.rail-icon-btn.active{background:var(--surface-2);color:var(--ink)}.rail-badge{position:absolute;top:2px;right:2px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.iconrail-foot{position:relative;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:4px}@media(min-width:1024px){.chat-topbar .menu-btn{display:flex}}.rail-avatar-btn{width:40px;height:40px;border:none;background:none;border-radius:50%;padding:4px;cursor:pointer}.rail-avatar-btn img{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.iconrail .rail-toggle{margin-top:var(--sp-2)}@media(max-width:1023px){.iconrail{display:none}}@media(min-width:1024px){.leftcol .brand-row,.leftcol .nav-list,.leftcol .leftcol-foot,.shell.no-side .leftcol{display:none}.session-zone{border-top:none;margin-top:0;padding-top:0}}@media(min-width:1024px){.shell.rail-collapsed{grid-template-columns:var(--icon-w) 0 1fr}.shell.rail-collapsed .leftcol{display:none}.shell.rail-collapsed .chat-topbar .menu-btn{display:flex}}@media(min-width:1200px){.shell.rail-collapsed{grid-template-columns:var(--icon-w) 0 1fr var(--side-w)}.shell.rail-collapsed.side-closed{grid-template-columns:var(--icon-w) 0 1fr 0}}@media(min-width:1200px){.shell.side-closed{grid-template-columns:var(--icon-w) var(--rail-w) 1fr 0}.shell.side-closed .side{display:none}.shell.side-closed .panel-btn{display:flex}}.rail-head{padding:var(--sp-3)}.rail-menu-wrap{position:relative;flex:none}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:transparent}.rail-menu{position:absolute;top:calc(100% + 6px);right:0;animation:menu-in var(--dur-fast) var(--ease-out);transform-origin:top right;z-index:91;min-width:148px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 8px 28px #1f1e1c24;padding:4px;display:flex;flex-direction:column}.rail-menu button{border:none;background:none;text-align:left;padding:8px 10px;font-size:var(--fs-sm);color:var(--ink);border-radius:var(--r-sm);cursor:pointer}.rail-menu button:hover:not(:disabled){background:var(--surface-2)}.rail-menu button:disabled{opacity:.5;cursor:not-allowed}.rail-group-flex{display:flex;align-items:center}.group-plus{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer}.group-plus:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.group-plus:disabled{opacity:.5}.rail-channel{display:flex;align-items:center;gap:6px;padding:var(--sp-2) var(--sp-3) 2px;font-size:var(--fs-sm);color:var(--ink-2)}.rail-item{padding:9px var(--sp-3)}.rail-subhead{padding:var(--sp-3) var(--sp-3) var(--sp-1);font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}.rail-item-wrap{position:relative}.rail-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity var(--dur-fast) ease}.rail-item-wrap:hover .rail-actions,.rail-item-wrap:focus-within .rail-actions{opacity:1}@media(pointer:coarse){.rail-actions{opacity:.9}}.rail-act{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer}.rail-act:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.rail-act.on{color:var(--accent);border-color:var(--accent)}.rail-act:disabled{opacity:.5;cursor:not-allowed}.pin-mark{margin-right:4px;color:var(--accent);vertical-align:-1px;display:inline-flex}.rail-edit{display:flex;gap:var(--sp-2);align-items:center;padding:var(--sp-2) var(--sp-3)}.rail-edit input{flex:1;min-width:0;border:1px solid var(--accent);border-radius:var(--r-sm);padding:5px 8px;font-size:var(--fs-sm);outline:none;background:var(--surface);color:var(--ink)}.hub-rec{padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.hub-rec:last-child{border-bottom:none}.hub-rec-top{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1)}.hub-rec-time{margin-left:auto;font-size:var(--fs-xs);color:var(--ink-3);flex:none}.hub-rec-title{font-size:var(--fs-sm);font-weight:600;line-height:1.55}.hub-rec-meta{font-size:var(--fs-xs);color:var(--ink-2);margin:2px 0 var(--sp-2)}.hub-chip{display:inline-block;font-size:var(--fs-xs);font-weight:600;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-full);padding:2px 9px}.hub-chip.ok{color:var(--ok)}.hub-chip.danger{color:var(--danger);background:var(--danger-bg)}.hub-notif{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) 0;border-bottom:1px solid var(--line);cursor:pointer}.hub-notif:last-child{border-bottom:none}.notif-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:7px}.notif-dot.read{background:var(--surface-3)}.hub-notif-main{flex:1;min-width:0}.hub-notif-top{display:flex;align-items:center;gap:var(--sp-2)}.hub-notif-title{font-size:var(--fs-sm)}.hub-notif.unread .hub-notif-title{font-weight:600}.notif-body{font-size:var(--fs-sm);color:var(--ink-2);line-height:1.6;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1413118c;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in var(--dur-fast) ease-out}.preview-box{animation:rise-in var(--dur) var(--ease-out);background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:min(920px,94vw);max-height:88dvh;display:flex;flex-direction:column;overflow:hidden}.preview-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-sm);font-weight:600}.preview-head .n{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-body{overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:var(--surface-2)}.preview-body img{max-width:100%;height:auto}.preview-body iframe{width:100%;height:76dvh;border:none;background:var(--surface)}@media(min-width:1200px){.side{position:relative}}.side-close{position:absolute;top:10px;right:10px;z-index:5;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--r-sm);color:var(--ink-2);cursor:pointer}.side-close:hover{background:var(--surface-2);color:var(--ink)}.side-identity{padding:var(--sp-6) var(--sp-5) var(--sp-4);text-align:center;flex:none}.side-identity img{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:var(--sp-3)}.side-name{font-size:var(--fs-name);font-weight:600;margin-bottom:var(--sp-2)}.side-status{font-size:var(--fs-sm);color:var(--ink-2);display:flex;align-items:center;justify-content:center;gap:var(--sp-2)}.side-status span{display:inline-block;width:8px;height:8px;border-radius:50%}.side-model{margin-top:var(--sp-2)}.side-tabs{flex:none;display:flex;gap:2px;margin:0 var(--sp-4) var(--sp-2);background:var(--surface-2);border-radius:var(--r-full);padding:3px}.side-tabs button{position:relative;flex:1;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--r-full);color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.side-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #1f1e1c1f}.side-tab-badge{position:absolute;top:2px;right:calc(50% - 20px);background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.side-sec-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-md);font-weight:600;margin-bottom:var(--sp-3)}.side-note{margin-bottom:var(--sp-2)}.side-job-list{display:flex;flex-direction:column;gap:var(--sp-3)}.side-job{display:flex;gap:var(--sp-2);align-items:flex-start}.side-job>svg{margin-top:2px;color:var(--ink-2);flex-shrink:0}.side-job-ico{flex-shrink:0;display:flex;margin-top:1px}.side-job-main{flex:1;min-width:0}.side-job-name{font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-job-time{font-size:var(--fs-xs);flex-shrink:0}.side-ellipsis{font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ink-3);margin-top:5px}.side-today-sum{margin-bottom:var(--sp-3);font-size:var(--fs-xs)}.side-link-btn{margin-top:var(--sp-3);border:none;background:none;color:var(--accent);font-size:var(--fs-sm);padding:0;cursor:pointer}.side-link-btn:hover{text-decoration:underline}.rail-icon-btn{position:relative}.rail-tip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--ink);color:var(--bg);font-size:var(--fs-xs);padding:4px 8px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast) ease;z-index:100}.rail-icon-btn:hover .rail-tip{opacity:1}.rail-tip kbd{margin-left:var(--sp-1);font-size:var(--fs-xs);opacity:.7}.rail-pop{position:absolute;bottom:calc(100% + 8px);left:8px;animation:menu-in-up var(--dur-fast) var(--ease-out);transform-origin:bottom left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 4px 18px #1f1e1c1a;min-width:220px;z-index:50;overflow:hidden}.rail-pop-item{width:100%;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:none;border:none;font-size:var(--fs-sm);text-align:left;cursor:pointer;color:var(--ink)}.rail-pop-item:hover{background:var(--surface-2)}.rail-pop-sep{height:1px;background:var(--line);margin:4px 0}.model-capsule{display:flex;align-items:center;gap:var(--sp-1);background:var(--surface-2);border:none;border-radius:var(--r-full);padding:6px 12px;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;max-width:200px;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.model-capsule:hover:not(:disabled){background:var(--surface-3)}.model-capsule:disabled{opacity:.5;cursor:not-allowed}.model-pop{position:absolute;top:calc(100% + 8px);right:0;animation:menu-in var(--dur-fast) var(--ease-out);transform-origin:top right;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 4px 18px #1f1e1c1a;min-width:260px;max-height:60vh;overflow-y:auto;z-index:50}.model-pop-err{background:var(--danger-bg);color:var(--danger);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-bottom:1px solid var(--line)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;z-index:200;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);animation:fade-in var(--dur-fast) ease-out}.search-modal{animation:rise-in var(--dur) var(--ease-out);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 8px 32px #1f1e1c26;width:100%;max-width:min(560px,92vw);max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.search-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:none;border:none;text-align:left;cursor:pointer;width:100%;border-bottom:1px solid var(--line)}.search-row:hover{background:var(--surface-2)}.search-row:last-child{border-bottom:none}.settings-modal{animation:rise-in var(--dur) var(--ease-out);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:0 8px 32px #1f1e1c26;width:100%;max-width:min(880px,94vw);height:min(640px,90vh);display:grid;grid-template-columns:200px 1fr;overflow:hidden;position:relative}.set-nav{display:flex;flex-direction:column;background:var(--surface-2);border-right:1px solid var(--line);overflow-y:auto}.set-nav-item{width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;text-align:left;cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-md);margin:0 var(--sp-2)}.set-nav-item:hover{background:var(--surface);color:var(--ink)}.set-nav-item.active{background:var(--surface);color:var(--ink);font-weight:600}.modal-x{position:absolute;top:var(--sp-4);right:var(--sp-4);background:none;border:none;color:var(--ink-2);cursor:pointer;padding:4px;border-radius:var(--r-sm);z-index:1}.modal-x:hover{background:var(--surface-2);color:var(--ink)}.set-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.set-label{font-size:var(--fs-sm);color:var(--ink-2);min-width:120px}.set-value{font-size:var(--fs-sm);color:var(--ink)}.set-err{color:var(--danger);font-size:var(--fs-sm);margin-top:var(--sp-2)}.set-note{color:var(--ink-2);font-size:var(--fs-sm);margin-top:var(--sp-3)}.settings-modal h3{font-size:var(--fs-lg);font-weight:600;margin:0 0 var(--sp-4)}.settings-modal input[type=text],.settings-modal input[type=password]{border:1px solid var(--line);border-radius:var(--r-md);padding:8px 12px;background:var(--surface);color:var(--ink);font-size:var(--fs-sm)}.settings-modal input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0052d91a}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-3);margin-top:var(--sp-4)}.file-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.file-card:hover{box-shadow:0 2px 12px #1f1e1c14}.file-card-cover{aspect-ratio:4/3;background:var(--surface-2);overflow:hidden}.file-card-cover img{width:100%;height:100%;object-fit:cover}.file-card-title{font-size:var(--fs-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.file-card-sub{font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-nav{grid-column:2;grid-row:1;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);overflow-y:auto}.files-nav-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;text-align:left;cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);border-radius:var(--r-md);margin:0 var(--sp-2) 2px}.files-nav-item:hover{background:var(--surface-2);color:var(--ink)}.files-nav-item.active{background:var(--surface-2);color:var(--ink);font-weight:600}.files-chips{display:none;gap:var(--sp-2);padding:var(--sp-3);flex-wrap:wrap}.files-search-mobile{display:none;padding-bottom:var(--sp-3)}.files-chips .chip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-full);padding:6px 12px;font-size:var(--fs-sm);cursor:pointer}.files-chips .chip.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.feed-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}.feed-actions button:hover:not(:disabled){background:var(--surface-2)}.feed-actions .liked svg{fill:var(--accent);color:var(--accent)}.sec-fold-btn{background:none;border:none;color:var(--ink-2);cursor:pointer;padding:0;margin-right:var(--sp-1);display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:var(--r-sm)}.sec-fold-btn:hover{color:var(--ink)}@media(min-width:1024px){.chat-topbar .menu-btn{display:flex}.shell:not(.rail-collapsed) .open-rail-hint .btn{display:none}}@media(max-width:1023px){.files-chips{display:flex}.files-search-mobile{display:block}}.side-avatar-wrap{position:relative;display:flex;justify-content:center}.side-avatar-btn{position:relative;border:none;background:none;padding:0;cursor:pointer;border-radius:var(--r-full);line-height:0}.side-avatar-btn img{margin-bottom:0}.avatar-badge{position:absolute;right:2px;bottom:2px;width:26px;height:26px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--line);color:var(--ink-2);display:flex;align-items:center;justify-content:center}.avatar-menu{position:absolute;top:calc(100% + var(--sp-2));left:50%;transform:translate(-50%);z-index:95;animation:fade-in var(--dur-fast) ease-out;min-width:168px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 8px 28px #00000021;padding:var(--sp-1);display:flex;flex-direction:column}.avatar-menu button{border:none;background:none;text-align:left;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.avatar-menu button:hover{background:var(--surface-2)}.side-avatar-err{margin-top:var(--sp-2);font-size:var(--fs-xs)}.name-edit{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2)}.name-edit input{border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-md);text-align:center;width:170px;background:var(--surface);color:var(--ink)}.name-edit .error-text{width:100%;font-size:var(--fs-xs)}@media(min-width:1024px){.shell.no-side.files-layout{grid-template-columns:var(--icon-w) var(--rail-w) 1fr}.shell.files-layout .leftcol{display:flex}.shell.files-layout .files-main{grid-column:3}.shell.files-layout.rail-collapsed{grid-template-columns:var(--icon-w) 0 1fr}.shell.files-layout.rail-collapsed .leftcol{display:none}.shell.no-side.rail-collapsed{grid-template-columns:var(--icon-w) 0 1fr}.shell.no-side.rail-collapsed .page-main{grid-column:3}}@media(max-width:1023px){.files-main{padding-top:calc(48px + var(--sp-4))}.attach-btn,.send-btn{width:40px;height:40px}}@media(max-width:640px){.model-capsule{max-width:148px}}@media(max-width:700px){.settings-modal{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:min(640px,92dvh)}.set-nav{flex-direction:row;align-items:center;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--line);padding:var(--sp-2);gap:2px}.set-nav>div:first-child{padding:var(--sp-2)!important;font-size:var(--fs-md)!important;flex:none}.set-nav-item{width:auto;flex:none;margin:0;white-space:nowrap}.set-nav>div:nth-child(11){display:none}.set-nav>div:last-child{border-top:none!important;padding:var(--sp-1)!important;flex:none}.set-nav>div:last-child .btn{width:auto!important;white-space:nowrap;padding:6px 12px}.settings-modal .set-content{padding:var(--sp-4)!important}.settings-modal .set-label{min-width:88px}}.rail-avatar-btn{position:relative}.rail-avatar-btn:hover .rail-tip{opacity:1}@media(pointer:coarse){.rail-act{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner,.spin-ring{animation:spin 2.4s linear infinite!important}.stream-caret:after{animation:none}}@media(max-width:1023px){.chat-topbar{background:transparent;border-bottom:none;padding:var(--sp-2) var(--sp-5)}.topbar-desktop{display:none}.topbar-mobile{display:flex;align-items:center;gap:var(--sp-2);width:100%}.mt-round{flex:none;width:44px;height:44px;padding:0;border:none;background:none;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.mt-disc{width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px #13263114;display:flex;align-items:center;justify-content:center;color:var(--ink)}.mt-badge{position:absolute;top:0;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:var(--r-full);background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.mt-capsule{margin:0 auto;display:flex;align-items:center;gap:var(--sp-2);padding:7px var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);box-shadow:0 2px 10px #13263114;min-width:0}.mt-identity{display:flex;align-items:center;gap:var(--sp-2);border:none;background:none;padding:0;cursor:pointer;min-width:0}.mt-identity img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none}.mt-name{font-size:var(--fs-lg);font-weight:600;color:var(--ink);white-space:nowrap}.mt-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.mt-status i{width:8px;height:8px;border-radius:50%;flex:none}.mt-divider{width:1px;height:18px;background:var(--line);flex:none}.mt-modelwrap{position:relative;flex:none}.mt-model{display:inline-flex;align-items:center;gap:3px;border:none;background:none;padding:0;font-size:var(--fs-md);color:var(--ink);cursor:pointer;white-space:nowrap}.mt-model:disabled{opacity:.45;cursor:not-allowed}.mt-model svg{color:var(--ink-2);flex:none}.msg-scroll{padding:var(--sp-6) var(--sp-5) calc(150px + env(safe-area-inset-bottom))}.msg-list{max-width:none;gap:var(--sp-6)}.msg-head{display:none}.msg.assistant .msg-body{align-self:flex-start;max-width:calc(100% - 44px);background:var(--bubble-fill);border-radius:22px;padding:13px var(--sp-4)}.msg.assistant .msg-body pre,.msg.assistant .msg-body :not(pre)>code{background:var(--surface)}.back-bottom{bottom:calc(150px + env(safe-area-inset-bottom))}.chat-main{position:relative}.composer{position:absolute;left:0;right:0;bottom:calc(76px + env(safe-area-inset-bottom));padding:0 var(--sp-3);z-index:30}.composer-inner{max-width:none}.capsule{border-radius:var(--r-xl);box-shadow:0 8px 28px #1326311f}.capsule-row textarea{font-size:16px;line-height:1.3;padding:5px 10px}.attach-btn,.send-btn{width:30px;height:30px}.page-main,.files-main{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.leftcol .nav-item{min-height:54px}.nav-divider{height:1px;background:var(--line);margin:var(--sp-2) var(--sp-4)}}@media(max-width:374px){.mt-name{display:none}}
