@font-face{font-family:LocalUI;src:local('Pretendard'),local('Malgun Gothic'),local('맑은 고딕');font-display:swap}
:root{font-family:LocalUI,'Segoe UI',sans-serif;color:#e4e9e9;background:#141b20;font-size:14px;--bg:#171f25;--panel:#1b252c;--line:#33424c;--muted:#94a4af;--green:#a2d6b2;--accent:#89c8a0;--amber:#e6c171}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}button{color:inherit;border:1px solid var(--line);background:#222e37;border-radius:9px;padding:10px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}button:hover:not(:disabled){background:#2d3e46}button.primary{background:var(--accent);color:#112a1b;border-color:var(--accent);font-weight:700}.primary:hover:not(:disabled){background:#ade0ba}button.ghost{border-color:transparent;background:transparent}.danger{color:#efa5a5}.small{font-size:12px;padding:7px 10px}.icon{width:21px;height:21px;flex-shrink:0}.muted{color:var(--muted)}.tiny{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#9bb4ad;font-weight:600}.row{display:flex;align-items:center;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:16px}.hidden{display:none!important}.badge{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:5px 9px;border-radius:6px;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.badge.green{background:#284037;color:#b2e2c0;border-color:#426553}.badge.amber{color:var(--amber);background:#3e3625;border-color:#6a5934}.dot{width:7px;height:7px;border-radius:50%;background:#768995;display:inline-block}.dot.online{background:#9ee3b4;box-shadow:0 0 10px #70cd9230}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-1px}h2{font-size:18px;letter-spacing:-.4px}h3{font-size:15px}p{line-height:1.7}label{display:block;font-size:12px;color:#bdc9d0;margin-bottom:7px}input,select,textarea{background:#141e25;border:1px solid #3a4b56;color:#e7edee;border-radius:8px;padding:11px 12px;width:100%;min-width:0}textarea{resize:vertical;line-height:1.7;min-height:100px}input::placeholder,textarea::placeholder{color:#748693}select{padding-right:25px}option{background:#1b252c}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.field{margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields .field{margin:0}.card{background:linear-gradient(135deg,#1d2931,#1b252c);border:1px solid var(--line);border-radius:12px;padding:22px}.card-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}.card-title .icon{color:var(--green)}
.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{background:#141c21;border-right:1px solid var(--line);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:26px 16px 16px}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 30px}.brand>.icon{width:33px;height:33px;color:var(--accent)}.brand strong{font-size:23px;letter-spacing:-1px;display:block;margin-bottom:4px}.add-game{width:100%;background:#294637;border-color:#638d70;color:#d2eedb;margin-bottom:30px}.sidebar-label{color:#81939f;font-size:11px;letter-spacing:1px;padding:0 10px;margin-bottom:12px}.game-list{display:flex;flex-direction:column;gap:6px;max-height:30vh;overflow:auto;min-height:40px}.game-button{border:0;background:transparent;justify-content:flex-start;text-align:left;padding:9px;font-weight:600}.game-button.active{background:#293e36;color:#e5f7eb}.game-mark{height:30px;width:30px;border:1px solid #4b6464;border-radius:7px;display:grid;place-items:center;color:#aac2b5;font-size:15px;background:#1b2c2b;flex-shrink:0}.game-button>span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sidebar nav{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;display:flex;flex-direction:column;gap:7px}.nav-item{justify-content:flex-start;border:1px solid transparent;background:transparent;padding:13px;gap:12px}.nav-item.active{background:#283d34;border-color:#456b55;color:#d3f0dd}.sidebar-bottom{margin-top:auto;padding:24px 7px 0;font-size:11px;color:#778d9b;display:flex;align-items:center;gap:8px}.sidebar-bottom .icon{width:17px}.main{min-width:0;background:radial-gradient(ellipse at 55% -10%,#26333b55,transparent 65%),var(--bg)}.topbar{height:85px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:20px;background:#171f25c0}.game-heading{min-width:150px}.game-heading h2{font-size:20px;margin-bottom:6px}.top-actions{display:flex;align-items:center;gap:10px}.model-select{max-width:190px;width:190px;background:#1c2831;font-size:12px;padding:10px}.status-button{font-size:11px;background:transparent;border:0;color:#9ba9b1;padding:7px}.status-button.on{color:#a9dfb8}.status-button .icon{width:16px}.engine-dot{font-size:11px;display:flex;align-items:center;gap:7px;white-space:nowrap}.content{min-height:calc(100vh - 85px)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 295px;min-height:calc(100vh - 85px)}.conversation{display:flex;flex-direction:column;min-width:0;height:calc(100vh - 85px)}.context-bar{margin:22px 26px 0;padding:11px 14px;background:#26323b;border:1px solid #3b4c56;border-radius:8px;display:flex;align-items:center;gap:9px;font-size:12px;color:#b1c3cc}.context-bar .icon{width:16px}.messages{overflow:auto;flex:1;padding:27px 30px}.message{margin-bottom:30px;max-width:100%}.message.user{text-align:right}.user-bubble{display:inline-block;max-width:88%;background:#344151;border:1px solid #465466;padding:13px 17px;border-radius:14px 14px 3px 14px;text-align:left;white-space:pre-wrap;line-height:1.7}.assistant-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-weight:600}.assistant-avatar{width:33px;height:33px;background:#31523c;color:#b8e4c4;border:1px solid #50785c;border-radius:10px;display:grid;place-items:center}.answer-text{white-space:pre-wrap;line-height:1.95;color:#d5e0e4}.answer-text p{margin-bottom:12px}.citation-button{display:inline-flex;padding:0 4px;margin-left:5px;border:0;background:transparent;color:#9ecacb;font-size:11px}.answer-note{margin-top:16px;border:1px solid #675a38;background:#3a342622;border-radius:8px;padding:12px 14px;font-size:12px;color:#dfc582;line-height:1.7}.answer-note .icon{width:16px;vertical-align:middle;margin-right:5px}.message-footer{display:flex;gap:12px;margin-top:14px;align-items:center;color:#8496a3;font-size:10px}.composer-wrap{padding:0 26px 22px}.suggestions{display:flex;gap:7px;margin-bottom:13px;flex-wrap:wrap}.suggestions button{border-radius:20px;font-size:11px;padding:7px 11px;background:transparent}.composer{display:flex;align-items:flex-end;border:1px solid #47616b;border-radius:14px;background:#1d2931;padding:11px 12px 11px 16px;gap:10px}.composer textarea{min-height:48px;max-height:150px;background:transparent;border:0;padding:10px 0;resize:none;font-size:13px}.composer textarea:focus{outline:none}.send{border-radius:10px;padding:9px;width:39px;height:39px;margin-bottom:3px}.composer-hint{color:#738994;text-align:center;font-size:10px;margin-top:9px}.evidence{border-left:1px solid var(--line);padding:26px 20px;height:calc(100vh - 85px);overflow:auto}.evidence h2{font-size:16px}.source-card{border:1px solid var(--line);background:#1d2830;border-radius:9px;padding:14px;margin:14px 0}.source-card h3{line-height:1.5;font-size:13px;margin-bottom:7px}.source-quote{padding:11px;margin:12px 0;background:#141f26;border-left:2px solid #769e8b;line-height:1.8;color:#c5d3d9;font-size:12px;white-space:pre-wrap;max-height:180px;overflow:auto}.progress-preview{font-size:12px;line-height:1.9;white-space:pre-wrap;color:#abbcc6;padding:14px 0}.empty-mini{font-size:12px;line-height:1.8;color:#8095a2;margin:20px 0}.empty-hero{max-width:520px;margin:55px auto 20px;text-align:center}.hero-icon{margin:0 auto 22px;width:70px;height:70px;border:1px solid #426353;border-radius:22px;background:linear-gradient(135deg,#30513d,#203229);display:grid;place-items:center;color:#b4dfc0}.hero-icon .icon{width:34px;height:34px}.empty-hero h1{font-size:25px;margin-bottom:14px}.empty-hero p{color:#9bacb8;font-size:13px;line-height:1.9;margin-bottom:24px}.quick-start{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.quick-start button{padding:20px 14px;flex-direction:column;align-items:flex-start;text-align:left;background:#1c2931;gap:12px}.quick-start span{font-size:11px;color:#8da2af;font-weight:400}.source-empty-icon{color:#607681;margin:24px 0 8px}.page{padding:30px 32px 40px;max-width:1280px;margin:auto}.page-head{margin-bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:16px}.page-head p{font-size:12px;color:var(--muted);margin-top:7px}.scope-control{display:flex;background:#1c2730;border:1px solid #41545f;border-radius:9px;padding:3px}.scope-control button{border:0;background:transparent;font-size:12px;padding:10px 16px}.scope-control button.active{background:#34513e;color:#dcf3e3}.tabs{border-bottom:1px solid var(--line);display:flex;gap:24px;margin-bottom:22px}.tabs button{border:0;border-radius:0;background:transparent;padding:12px 5px 16px;color:#94a7b4;font-size:13px;border-bottom:2px solid transparent}.tabs button.active{border-bottom-color:#a8d9b7;color:#b2e2c0;font-weight:700}.settings-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.setting-row{display:flex;align-items:center;gap:14px;padding:21px 0;border-top:1px solid #31414b}.setting-row:first-of-type{margin-top:18px}.setting-row:last-child{padding-bottom:0}.setting-copy{flex:1;min-width:0}.setting-copy strong{font-size:13px;display:block;margin-bottom:6px;font-weight:600}.setting-copy p{font-size:11px;color:#91a4b0;line-height:1.6}.toggle{width:43px;height:25px;flex-shrink:0;border-radius:16px;padding:3px;background:#4b5b68;border:0;justify-content:flex-start}.toggle::after{content:'';width:19px;height:19px;border-radius:50%;background:#e7edef;box-shadow:0 1px 4px #0004}.toggle.on{background:#78bb90;justify-content:flex-end}.toggle.on:hover:not(:disabled){background:#94cfa6}.card>.muted{font-size:12px;line-height:1.8}.settings-footer{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.info-box{background:#29403555;border:1px solid #497a5c;border-radius:10px;padding:17px;color:#b2d8be;display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8}.info-box .icon{margin-top:2px}.setting-field{margin-top:18px}.setting-field p{margin-top:7px;color:var(--muted);font-size:11px}.model-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.model-tile{border:1px solid var(--line);background:#1c2932;border-radius:10px;padding:18px}.model-tile h3{margin:10px 0}.model-tile p{font-size:11px;color:#91a6b2;line-height:1.8;min-height:40px}.model-tile button{margin-top:16px;width:100%}.model-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.model-row:last-child{border-bottom:0}.model-detail{flex:1}.model-detail strong{font-size:13px}.model-detail p{color:var(--muted);font-size:11px;margin-top:4px}.model-form{display:flex;gap:10px;margin-top:15px}.model-form input{flex:1}.job{padding:14px 0;border-bottom:1px solid var(--line)}.job strong{font-size:12px}.job p{font-size:11px;color:var(--muted);margin:8px 0}.job progress{width:100%;height:5px;accent-color:var(--accent)}.job .spread{gap:10px}.notice{background:#332d22;border:1px solid #665638;color:#d2bc86;border-radius:9px;padding:13px 15px;line-height:1.8;font-size:12px;margin:16px 0}.doc-list{display:flex;flex-direction:column;gap:12px}.doc-card{padding:19px 21px;display:flex;align-items:center;gap:16px}.doc-card>.icon{color:#90b8a0;width:25px;height:25px}.doc-meta{flex:1;min-width:0}.doc-meta h3{margin-bottom:8px}.doc-meta p{font-size:11px;color:var(--muted)}.doc-actions{display:flex;gap:5px}.document-actions{display:flex;gap:8px;flex-wrap:wrap}.document-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px;gap:12px}.document-toolbar p{font-size:12px}.search-result{padding:15px 0;border-bottom:1px solid var(--line)}.search-result p{font-size:12px;color:var(--muted);margin:8px 0}.search-result a{font-size:11px;word-break:break-all}.boot{padding:80px;text-align:center;color:#a5c8b0}.welcome-page{padding:40px 30px}.welcome-page .empty-hero{margin:7vh auto 30px}.welcome-steps{display:flex;gap:16px;justify-content:center;margin-top:40px;color:#819ba8;font-size:11px}.welcome-steps span{border:1px solid var(--line);border-radius:20px;padding:9px 13px}.loader{display:inline-block;width:15px;height:15px;border:2px solid #779e8460;border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{background:#1b252d;color:#e2ebef;border:1px solid #4b625c;border-radius:14px;width:min(650px,90vw);max-height:87vh;padding:26px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#080e14ba;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-head h2{font-size:20px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal-error{color:#edb1a4;font-size:12px;line-height:1.7;margin-top:12px;white-space:pre-wrap}.original{white-space:pre-wrap;line-height:1.9;font-size:13px;max-height:55vh;overflow:auto;padding:16px;background:#111c23;border-radius:9px}.form-hint{font-size:11px;color:var(--muted);line-height:1.8;margin:10px 0}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);padding:14px 22px;background:#294333;color:#ddf2e1;border:1px solid #5b8465;border-radius:9px;box-shadow:0 10px 40px #0005;font-size:13px;opacity:0;pointer-events:none;z-index:20;max-width:85vw;transition:opacity .2s}#toast.visible{opacity:1}#toast.error{background:#4b3030;border-color:#9b6565;color:#f4cece}.chip-row{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.link-button{color:#a4d9b5;background:transparent;border:0;padding:8px 0;font-size:12px}.model-summary{font-size:24px;margin:18px 0 8px}.progress-area{min-height:300px}.text-right{text-align:right}.no-margin{margin:0}.full{width:100%}
@media(min-width:1700px){.workspace{grid-template-columns:minmax(0,1fr) 340px}.messages{padding:35px 55px}.composer-wrap{padding:0 55px 26px}.context-bar{margin:24px 55px 0}.sidebar{padding:30px 19px}.shell{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:1150px){.engine-dot{display:none}.topbar{padding:0 20px}.top-actions{gap:4px}.status-button{font-size:0}.status-button .icon{width:18px}.workspace{grid-template-columns:minmax(0,1fr) 255px}.shell{grid-template-columns:195px minmax(0,1fr)}.page{padding:25px 22px}.settings-grid{grid-template-columns:1fr}.model-card-list{grid-template-columns:repeat(3,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand strong{font-size:21px}}
@media(max-width:850px){.shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:22px 9px}.brand{padding:0 10px 24px}.brand>div,.add-game span,.sidebar-label,.game-button>span:last-child,.nav-item span,.sidebar-bottom span{display:none}.brand>.icon{width:27px}.add-game{padding:11px;margin-bottom:15px}.game-button{justify-content:center;padding:6px}.nav-item{justify-content:center;padding:12px}.sidebar nav{margin-top:18px;padding-top:14px}.sidebar-bottom{justify-content:center}.workspace{grid-template-columns:minmax(0,1fr)}.evidence{display:none}.model-card-list{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.game-heading h2{font-size:16px}.game-heading .tiny{font-size:10px}.model-select{max-width:150px}.tabs{gap:15px}.topbar{padding:0 16px}.context-bar{margin:18px 18px 0}.messages{padding:25px 20px}.composer-wrap{padding:0 18px 16px}.doc-card{flex-wrap:wrap}.doc-actions{margin-left:auto}.settings-footer{align-items:flex-start}.fields{grid-template-columns:1fr}.welcome-steps{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.game-entry{display:flex;align-items:center;min-width:0;gap:2px}.game-entry .game-button{flex:1;min-width:0}.game-menu{padding:8px 5px;font-size:19px;flex-shrink:0}.game-import-panel{margin:20px 0}.file-button{cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin:0;border:1px solid var(--line);border-radius:9px;background:#222e37;padding:10px 14px;color:inherit;font-size:13px}.file-button:hover{background:#2d3e46}.nas-watch{margin-top:15px}.nas-watch summary,details summary{cursor:pointer}.model-form select{width:auto;max-width:150px}.model-detail{min-width:0}.model-detail p,.model-detail a{overflow-wrap:anywhere}.source-card a{font-size:12px}.status-button{white-space:nowrap}.document-toolbar{margin-top:24px}.model-tile h3{overflow-wrap:anywhere}.answer-note p{font-size:12px;overflow-wrap:anywhere}.game-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:850px){.game-menu{padding:2px;font-size:16px}.game-entry{flex-direction:column}.game-menu{align-self:center;line-height:.5}.model-form{flex-wrap:wrap}.model-form input{min-width:120px}.document-actions{gap:7px}.file-button{font-size:12px}.game-list{overflow-y:auto}}

/* Explicit chat modes and stable, square icon containers. */
.chat-modes{display:flex;gap:5px;margin:18px 26px 0;padding:4px;border:1px solid var(--line);border-radius:11px;background:#141e25;align-self:flex-start}
.chat-modes button{background:transparent;border-color:transparent;color:var(--muted);padding:9px 16px}
.chat-modes button.active{background:#314d3d;border-color:#537761;color:#d9f2e1}
.chat-modes+.context-bar{margin-top:12px}
.general-chat{grid-template-columns:minmax(0,1fr)}
.general-chat .conversation{width:min(100%,1100px);margin:0 auto}
.icon{display:block;aspect-ratio:1;flex:none;vertical-align:middle}
.icon-only{gap:0;padding:0;inline-size:36px;block-size:36px;flex:0 0 auto;display:inline-grid;place-items:center;line-height:1}
.composer .send{inline-size:40px;block-size:40px}
.assistant-avatar,.hero-icon,.game-mark{padding:0;line-height:1}
.game-menu{inline-size:28px;block-size:30px;padding:0;line-height:1;display:grid;place-items:center}
@media(max-width:1150px){.status-button{gap:0;width:34px;height:34px;padding:0;justify-content:center}.status-button .icon{width:18px;height:18px}}
@media(max-width:850px){.brand{justify-content:center;padding-left:0;padding-right:0}.sidebar .add-game,.sidebar .nav-item,.sidebar .game-button{gap:0}.sidebar .nav-item{padding:12px 0}.sidebar-bottom{padding-left:0;padding-right:0;gap:0}.chat-modes{margin:16px 18px 0}.chat-modes button{padding:9px 11px;font-size:12px}.chat-modes+.context-bar{margin-top:10px}.game-menu{align-self:center;line-height:1}.game-entry .game-button{width:100%}}

.chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 26px 0}.chat-toolbar .chat-modes{margin:0}.chat-toolbar>button{flex-shrink:0}.chat-toolbar+.context-bar{margin-top:12px}
.login-remember{display:flex;align-items:center;gap:10px;margin-top:18px}.login-remember input{width:18px;height:18px;flex:none}.modal-error{overflow-wrap:anywhere}
@media(max-width:850px){.chat-toolbar{margin:16px 18px 0;gap:8px}.chat-toolbar>button{font-size:12px}}
