:root{--paper:#fff;--surface:#f5f6f8;--ink:#20242b;--muted:#66717f;--line:#e4e7eb;--accent:#315b50;--header:60px;--sidebar:272px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;color:var(--ink);background:var(--paper);font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit;border-radius:0}button,input,textarea{-webkit-appearance:none;appearance:none}button{cursor:pointer;background:transparent}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Header and the anchored workspace sidebar. */
.top{height:var(--header);position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:0 28px;border-bottom:1px solid var(--line);background:#fff}.brand{font-size:18px;font-weight:750;letter-spacing:-.65px;white-space:nowrap}.brand span{color:var(--muted);font-size:13px;font-weight:450;letter-spacing:0;margin-left:10px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:24px}.connection{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.connection i{width:6px;height:6px;background:#a7afb9;border-radius:50%;flex-shrink:0}.connection i.live{background:var(--accent)}.app-switch{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;font-size:13px;color:var(--muted)}.app-switch:hover{color:var(--ink)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;border:0;flex-shrink:0;font-size:20px}#menu{display:none}
.layout{min-height:calc(100dvh - var(--header));margin-left:var(--sidebar)}aside{position:fixed;top:var(--header);bottom:0;left:0;width:var(--sidebar);display:flex;flex-direction:column;min-height:0;padding:20px 16px 12px;background:var(--surface);border-right:1px solid var(--line);z-index:15;overflow-y:auto}.sidebar-top{flex-shrink:0}.new-thread{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:10px 13px;background:#fff;border:1px solid #d7dce2;font-size:14px;font-weight:550}.new-thread:hover{border-color:#9ca7b2}.new-thread span{font-size:20px;font-weight:400;line-height:1}
#thread-search,#thread-filter{width:100%;min-height:42px;padding:10px 12px;border:1px solid transparent;background:transparent;font-size:13px;margin:10px 0 0;outline-offset:0}#thread-search:focus{border-color:#c3cbd2;background:#fff}#thread-search::placeholder{color:#7a8491}.thread-section{flex:1;min-height:70px;overflow:auto;padding:10px 0 20px;scrollbar-width:thin}.sidebar-label{color:var(--muted);font-size:11px;font-weight:550;margin:12px}#threads{display:flex;flex-direction:column;gap:3px}#threads button{display:block;width:100%;border:0;border-left:2px solid transparent;padding:10px 12px;min-height:46px;text-align:left;background:transparent;color:#505a67}#threads button:hover{background:#e9edf0}#threads button.selected{background:#e7ecea;border-left-color:var(--accent);color:var(--ink)}.thread-name{display:block;font-size:13px;font-weight:500;line-height:1.6;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.thread-meta{display:block;font-size:10px;line-height:1.6;margin-top:3px;color:#6a7580}#threads:empty::before{content:'일치하는 대화가 없습니다.';color:var(--muted);padding:16px 12px;font-size:12px;line-height:1.7}
/* Actual provider quota, never placeholders pretending to be zero usage. */
.sidebar-bottom{flex-shrink:0;margin-top:auto;border-top:1px solid #dce1e6}#usage-panel{padding:16px 10px 12px;max-height:42dvh;overflow:auto;scrollbar-width:thin}.usage-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.usage-heading h2{font-size:12px;font-weight:650;margin:0}#usage-plan{padding:2px 5px;background:#e4e9e7;color:var(--accent);font-size:10px;font-weight:600;line-height:1.5}#usage-refresh{margin:-8px -8px -8px auto;color:var(--muted);width:34px;height:34px;font-size:19px}#usage-bucket{width:100%;background:white;border:1px solid #d5dce2;padding:7px;font-size:12px;margin:0 0 12px}.usage-window{margin:0 0 14px}.usage-window:last-child{margin-bottom:0}.usage-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:7px}.usage-line strong{font-weight:650;font-variant-numeric:tabular-nums}.usage-window progress{display:block;width:100%;height:4px;border:0;border-radius:0;appearance:none;-webkit-appearance:none;background:#dfe5e2;color:var(--accent)}.usage-window progress::-webkit-progress-bar{background:#dfe5e2}.usage-window progress::-webkit-progress-value{background:var(--accent)}.usage-window progress::-moz-progress-bar{background:var(--accent)}.usage-window.low progress{color:#aa6b28}.usage-window.low progress::-webkit-progress-value{background:#aa6b28}.usage-window.low progress::-moz-progress-bar{background:#aa6b28}.usage-reset{color:var(--muted);font-size:10px;line-height:1.6;margin:5px 0 0;font-variant-numeric:tabular-nums}.usage-empty{color:var(--muted);font-size:12px;line-height:1.8;margin:8px 0}#usage-note,#usage-tokens{color:var(--muted);font-size:10px;line-height:1.7;margin:10px 0 0;overflow-wrap:anywhere}#usage-panel.stale #usage-note{color:#996022}
#manage-accounts{display:block;text-align:left;width:100%;border:0;border-top:1px solid var(--line);padding:10px;font-size:12px;color:var(--muted);min-height:40px}.account-row{display:flex;align-items:center;gap:10px;padding:14px 10px 2px;border-top:1px solid var(--line)}#account-avatar{display:grid;place-items:center;width:30px;height:30px;background:#e1e7e4;color:var(--accent);font-size:13px;font-weight:650;flex-shrink:0}.account-row>div{min-width:0}#signed-in-user{display:block;max-width:105px;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:600}.account-caption{display:block;font-size:10px;color:var(--muted);margin-top:3px}.text-link{border:0;padding:8px 0;font-size:11px;color:var(--muted);margin-left:auto;min-height:36px;white-space:nowrap}.text-link:hover{color:var(--ink);text-decoration:underline}
/* Readable conversation, with hierarchy instead of a border on every row. */
.chat{width:min(100%,960px);min-width:0;min-height:calc(100dvh - var(--header));margin:0 auto;padding:0 44px;display:flex;flex-direction:column}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 24px}.chat-heading>div{min-width:0}.eyebrow{color:var(--muted);font-size:11px;font-weight:500;margin:0 0 8px;letter-spacing:.3px}h1{font-size:23px;line-height:1.5;font-weight:650;letter-spacing:-.65px;margin:0;overflow-wrap:anywhere}#thread-origin{margin:7px 0 0;font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}#activity{font-size:11px;line-height:1.6;color:var(--muted);flex-shrink:0;max-width:140px;text-align:right}#page-error{color:#9b4439;background:#fff5f3;border-left:2px solid #b96b5d;padding:12px 15px;font-size:13px;white-space:pre-wrap;margin:0 0 20px}#history-controls{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:10px 0 18px;color:var(--muted);border-bottom:1px solid var(--line)}#history-controls button{border:0;padding:4px 0;font-size:12px;min-height:36px}#history-controls button:hover{color:var(--ink)}#history-count{font-size:11px;margin-left:auto}#messages{flex:1;min-width:0;padding:10px 0 24px}.welcome{max-width:530px;padding:70px 0 50px}.welcome-mark{color:var(--accent);font-size:32px;line-height:1}.welcome h2{font-size:34px;font-weight:600;letter-spacing:-1.3px;line-height:1.5;margin:22px 0 14px}.welcome p{font-size:15px;line-height:1.85;color:var(--muted)}.suggestions{margin:30px 0;border-top:1px solid var(--line)}.suggestions button{display:block;width:100%;min-height:52px;border:0;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;text-align:left}.suggestions button:hover{color:var(--accent)}.welcome .welcome-note{font-size:12px}
.message{min-width:0;margin:24px 0 30px}.message-label{color:var(--muted);font-size:12px;font-weight:550;margin:0 0 12px;line-height:1.6}.message.user{margin-left:28px;padding:17px 20px;background:#f3f5f7;border-left:2px solid #d9dfe5}.message.user .message-label{color:#596675;font-size:11px;margin-bottom:8px}.message-body{font-size:16px;line-height:1.85;overflow-wrap:anywhere}.message.user .message-body{font-weight:450}.message-body p{white-space:normal;margin:0 0 15px}.message-body p:last-child{margin-bottom:0}.message-body strong{font-weight:700}.message-body em{font-style:italic}.message-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.message-body a:hover{color:var(--ink)}.message-body :not(pre)>code{font:.88em/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef1f3;padding:2px 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.message-body pre{background:#f5f6f8;border:1px solid var(--line);padding:17px 18px;margin:18px 0;white-space:pre;overflow:auto;font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}.message-body pre code{font:inherit;white-space:inherit;background:none;padding:0}.message-body h1,.message-body h2,.message-body h3,.message-body h4,.message-body h5,.message-body h6{font-weight:650;line-height:1.5;letter-spacing:-.4px;margin:1.4em 0 .6em}.message-body h1{font-size:1.55em}.message-body h2{font-size:1.3em}.message-body h3{font-size:1.15em}.message-body h4,.message-body h5,.message-body h6{font-size:1em}.message-body>:first-child{margin-top:0}.message-body>:last-child{margin-bottom:0}.message-body ul,.message-body ol{padding-left:25px;margin:14px 0}.message-body li{margin:5px 0}.message-body li>p{margin:5px 0}.message-body li>ul,.message-body li>ol{margin:5px 0}.message-body blockquote{border-left:3px solid #a8bcb5;color:#556861;margin:18px 0;padding:2px 0 2px 17px}.message-body blockquote>:last-child{margin-bottom:0}.message-body hr{border:0;border-top:1px solid var(--line);margin:28px 0}.message-body .table-scroll{max-width:100%;overflow-x:auto;margin:20px 0;border:1px solid var(--line)}.message-body table{min-width:360px;width:100%;border-collapse:collapse;font-size:.91em;line-height:1.7}.message-body th,.message-body td{padding:11px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.message-body th{background:#f3f5f6;font-weight:650}.message-body .align-left{text-align:left}.message-body .align-center{text-align:center}.message-body .align-right{text-align:right}.message-body .task-item{list-style:none}.message-body .task-marker{display:inline-block;width:1.4em;margin-left:-1.4em;color:var(--accent)}
.message.tool,.message.file{border:1px solid var(--line);background:#fafbfc;padding:9px 14px;margin:14px 0}.message.tool summary,.message.file summary{color:var(--muted);font-size:12px;line-height:1.8;min-height:28px;padding:4px 0;cursor:pointer;overflow-wrap:anywhere}.message.tool pre,.message.file pre{font-size:12px;margin:10px 0 3px;white-space:pre-wrap;max-height:380px;overflow:auto}.message.notice{color:#964a3d;padding:12px 15px;border-left:2px solid #c59185;background:#fff7f5}.message.notice .message-body{font-size:13px}
/* Compact composer; model settings open above it instead of taking chat space. */
.composer-wrap{position:sticky;bottom:0;z-index:6;padding:10px 0 max(10px,env(safe-area-inset-bottom));background:var(--paper);margin-top:12px}.composer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;margin:0 0 7px}.history-jumps{display:flex;align-items:center;gap:16px;flex-shrink:0}.history-jumps button{border:0;padding:6px 0;min-height:36px;color:var(--muted);font-size:11px}.history-jumps button:hover{color:var(--ink)}.generation-settings{position:relative;margin-left:auto;min-width:0}.generation-settings>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none;min-height:36px;padding:6px 0;color:#505e69;font-size:12px}.generation-settings>summary::-webkit-details-marker{display:none}#generation-summary{min-width:0;overflow-wrap:anywhere;text-align:right}.settings-chevron{color:var(--muted);font-size:14px}.generation-settings[open] .settings-chevron{transform:rotate(180deg)}.settings-panel{position:absolute;bottom:calc(100% + 10px);right:0;width:min(620px,calc(100vw - var(--sidebar) - 88px));max-height:min(65dvh,500px);overflow:auto;padding:21px;border:1px solid #d0d7dd;background:white;box-shadow:0 8px 30px #18252a14;z-index:10}.settings-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.settings-heading h2{font-size:16px;font-weight:650;margin:0}.settings-heading>span{color:var(--muted);font-size:11px}.generation-fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:14px}.generation-fields label{font-size:12px;font-weight:500;min-width:0;line-height:1.8}.generation-fields label:last-child{grid-column:1/-1}.generation-fields select{width:100%;min-width:0;min-height:43px;padding:8px 10px;margin-top:6px;border:1px solid #cad2d9;background:#fff;font-size:13px}.generation-fields select:disabled{color:var(--muted);background:#f1f3f5;opacity:1}.settings-note{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0 0}.permission-status{color:var(--accent);font-size:12px;line-height:1.8;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}#read-only-note{color:var(--muted);font-size:13px;line-height:1.8;padding:10px 0;margin:0}#composer{border:1px solid #c9d1d8;background:#fff;padding:15px 17px;box-shadow:0 3px 14px #1b263808;transition:border-color .15s}#composer:focus-within{border-color:#7b948a}textarea{display:block;width:100%;border:0;outline:0;resize:vertical;background:transparent;min-height:56px;max-height:200px;padding:0;font-size:16px;line-height:1.8}textarea::placeholder{color:#87919c}textarea:focus-visible{outline:none}.composer-actions{display:flex;align-items:center;gap:10px;margin-top:9px}.composer-actions>span{display:flex;flex-wrap:wrap;gap:2px 10px;margin-right:auto;color:var(--muted);font-size:11px;line-height:1.6}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:#263d35;border:1px solid #263d35;color:white;min-height:40px;padding:9px 16px;font-size:13px;font-weight:550}.primary:hover{background:#1c2d26}.stop{border:1px solid #ced5dc;padding:9px 12px;min-height:40px;font-size:12px;background:#fff}.bottom-note{text-align:center;font-size:10px;line-height:1.6;color:#7b8490;margin:9px 0 0}
/* Approvals, account dialog, and the same visual language at sign-in. */
.approval{padding:20px;margin:20px 0;border:1px solid #c9d8d0;border-left:3px solid var(--accent);background:#f4f8f5}.approval h2{font-size:16px;margin:0 0 12px;font-weight:650}.approval p{font-size:14px;line-height:1.8;white-space:pre-wrap}.approval pre{font:12px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;padding:14px;max-height:230px;overflow:auto}.approval .buttons{display:flex;flex-wrap:wrap;gap:10px}.approval label{display:block;line-height:1.8;margin:16px 0 8px;font-size:14px}.approval input{width:100%;background:white;border:1px solid #c9d2cc;padding:11px;min-height:44px;margin-bottom:15px;font-size:16px}.approval button{min-height:44px}#account-dialog{width:min(92vw,460px);max-height:88dvh;overflow:auto;padding:28px;background:#fff;color:var(--ink);border:1px solid #bdc6cc;border-radius:0}#account-dialog::backdrop{background:#16232e55}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.account-heading h2{font-size:23px;font-weight:650;margin:0}.account-heading button{background:transparent;border:0;font-size:26px;min-width:44px;min-height:44px}.account-description,#account-list,#account-result{font-size:13px;line-height:1.85;overflow-wrap:anywhere}#account-list{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:16px}#account-form label{display:block;font-size:13px;margin:18px 0 8px}#account-form input{width:100%;border:1px solid #c9d1d8;padding:11px;background:#fff;min-height:44px;font-size:16px}#account-form .primary{width:100%;margin-top:22px}#account-error{font-size:13px;color:#984334;line-height:1.8}#account-result{color:var(--accent)}
.login-wrap{width:min(100%,450px);margin:0 auto;padding:90px 28px 45px}.login-wrap h1{font-size:36px;font-weight:600;letter-spacing:-1.4px;margin:18px 0}.intro{font-size:15px;color:var(--muted);line-height:1.85}.login-wrap form{border-top:1px solid var(--line);margin-top:34px;padding-top:12px}.login-wrap label:not(.check){display:block;margin:21px 0 9px;font-size:13px;font-weight:500}.login-wrap input:not([type=checkbox]){display:block;width:100%;min-height:48px;border:1px solid #c5cdd4;background:white;padding:12px;font-size:16px}.check{display:flex;align-items:center;gap:10px;margin:23px 0;font-size:13px;color:var(--muted)}.check input{-webkit-appearance:auto;appearance:auto;width:16px;height:16px;accent-color:var(--accent)}.login-wrap .primary{width:100%;min-height:47px;justify-content:space-between;font-size:14px}#login-error{color:#994438;font-size:13px;line-height:1.8;min-height:24px}.login-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:11px;letter-spacing:.5px;color:var(--muted)}.login-page .app-switch{margin-left:auto}
@media(max-width:1100px){:root{--sidebar:248px}.chat{padding:0 30px}.settings-panel{width:min(620px,calc(100vw - var(--sidebar) - 60px))}}
@media(max-width:900px){:root{--sidebar:0px;--header:calc(60px + env(safe-area-inset-top))}.top{padding:env(safe-area-inset-top) 20px 0;gap:14px}#menu{display:inline-flex;width:44px;height:44px;padding:10px;margin-left:-10px}.top-actions{gap:20px}aside{width:min(86vw,310px);transform:translateX(-100%);transition:transform .16s ease;top:var(--header)}aside.open{transform:none}#scrim{position:fixed;z-index:14;inset:var(--header) 0 0;border:0;border-radius:0;background:#14202c55}.chat{width:min(100%,820px);padding:0 28px}.settings-panel{width:min(620px,calc(100vw - 56px))}#usage-refresh{width:44px;height:44px;margin:-12px -10px -12px auto}#usage-bucket,#thread-search{font-size:16px}#logout{min-height:44px}}
@media(max-width:480px){.top{padding-left:18px;padding-right:18px;gap:10px}.brand{font-size:17px}.brand span{font-size:11px;margin-left:7px}.top-actions{gap:15px}.connection{font-size:11px;gap:5px}.app-switch{font-size:12px;gap:5px}.chat{padding:0 20px}.chat-heading{padding:24px 0 18px;gap:14px}h1{font-size:21px}#activity{max-width:94px;font-size:10px}.welcome{padding:48px 0 30px}.welcome h2{font-size:29px;letter-spacing:-1px}.welcome p{font-size:14px}.welcome .welcome-note{font-size:11px}.message{margin:22px 0 28px}.message.user{margin-left:14px;padding:14px 15px}.message-body{font-size:15px;line-height:1.9}.message-body pre{padding:13px;font-size:12px}.message-body th,.message-body td{padding:9px 11px}.composer-wrap{padding-top:7px}.composer-tools{gap:8px}.history-jumps{gap:12px}.history-jumps button{font-size:10px}.generation-settings>summary{font-size:10px;gap:6px}#generation-summary{max-width:150px}.settings-panel{width:calc(100vw - 40px);padding:18px;max-height:62dvh}.generation-fields{gap:12px}.generation-fields label:first-child{grid-column:1/-1}.generation-fields select{font-size:16px}.generation-fields label:last-child select{font-size:13px}.settings-note,.permission-status{font-size:11px}#composer{padding:13px}textarea{min-height:54px;font-size:16px}.composer-actions{gap:8px}.composer-actions>span{max-width:135px;font-size:10px}.primary,.stop{min-height:42px;padding:9px 12px;white-space:nowrap}.bottom-note{font-size:9px}#history-controls{gap:10px}#history-controls button{font-size:11px}.login-wrap{padding-top:64px}}
@media(prefers-reduced-motion:reduce){aside,#composer{transition:none}}

#composer-note>span{white-space:nowrap}#thread-origin{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
