:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo",sans-serif;color-scheme:dark;--bg:#0b1020;--panel:#11182a;--panel2:#151e32;--line:#26314a;--text:#e8edf7;--muted:#8793aa;--blue:#6c91ff;--mint:#56d6bd;--amber:#f1b75c;--red:#f17883;--shadow:0 12px 32px #0003}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}body.light{color-scheme:light;--bg:#f3f6fb;--panel:#fff;--panel2:#f7f9fd;--line:#e3e8f1;--text:#162033;--muted:#718097;--blue:#456de0;--mint:#159e83;--amber:#ac7418;--red:#c24959;--shadow:0 12px 32px #1b2a4210}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--panel);border-right:1px solid var(--line);padding:26px 16px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:12px;align-items:center;padding:3px 10px 28px;color:var(--text);text-decoration:none}.brandmark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:white;font-weight:800;background:linear-gradient(145deg,#7ca0ff,#5066d7);box-shadow:0 6px 16px #5473db55}.brand b{font-size:16px;letter-spacing:.12em}.brand small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:3px}.workspace{padding:11px 12px;margin-bottom:22px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:11px}.dot,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);margin-right:7px}nav{display:grid;gap:4px}nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:13px;transition:background .16s,color .16s}nav a:hover,nav a.active{background:#6c91ff18;color:var(--text)}nav a.active{box-shadow:inset 2px 0 var(--blue)}nav .ni{width:18px;text-align:center;font-size:16px}.sidefoot{margin-top:auto;color:var(--text);font-size:11px;line-height:1.9;padding:14px 10px;border-top:1px solid var(--line)}.sidefoot small{color:var(--muted);padding-left:14px}.shell{margin-left:252px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);position:sticky;top:0;z-index:4;backdrop-filter:blur(14px)}.crumb{color:var(--muted);font-size:12px}.crumb span{padding:0 10px;color:var(--line)}.crumb b{color:var(--text);font-weight:600}.top-actions{display:flex;gap:12px;align-items:center}.refresh{font-size:11px;color:var(--muted)}.refresh i{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:6px}.refresh b{font-weight:500;color:var(--text);margin-left:4px}.iconbtn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--panel);font-size:17px;cursor:pointer}.iconbtn:hover{color:var(--text);border-color:var(--blue)}.avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#6c91ff25;color:var(--blue);font-size:11px;font-weight:700}main{padding:30px 36px;flex:1;max-width:1600px;width:100%;margin:0 auto}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--blue);font-weight:700}.pagehead h1{font-size:25px;letter-spacing:-.035em;margin:7px 0 6px}.pagehead p{margin:0;color:var(--muted);font-size:12px}.stamp{color:var(--muted);font-size:11px}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.two{grid-template-columns:1.4fr 1fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--shadow);min-width:0}.cardhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card h2{font-size:13px;margin:0;font-weight:650}.card h3{font-size:12px;margin:0 0 12px}.subtle{font-size:10px;color:var(--muted)}.statlabel{color:var(--muted);font-size:11px}.statvalue{font-size:25px;font-weight:700;letter-spacing:-.04em;margin-top:9px}.statnote{font-size:10px;color:var(--muted);margin-top:7px}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:650;white-space:nowrap;background:#8793aa18;color:var(--muted)}.badge.good{background:#56d6bd19;color:var(--mint)}.badge.warn{background:#f1b75c1b;color:var(--amber)}.badge.bad{background:#f178831b;color:var(--red)}.badge.info{background:#6c91ff1b;color:var(--blue)}.gate{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:74px 1fr auto;gap:8px;align-items:center}.gate:last-child{border:0}.gate strong{font-size:11px}.gate small{color:var(--muted);font-size:10px;display:block;margin-top:4px}.chart{height:220px;width:100%;color:var(--muted);font-size:11px;display:grid;place-items:center}.chart svg{width:100%;height:100%;overflow:visible}.gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.line.c1{stroke:var(--mint)}.line.c2{stroke:var(--amber)}.bar{fill:var(--blue);opacity:.75}.bar.c1{fill:var(--mint)}.bar.c2{fill:var(--amber)}.legend{display:flex;gap:14px;color:var(--muted);font-size:10px;margin-top:10px}.legend i{display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-right:5px}.legend i.mint{background:var(--mint)}.tablewrap{overflow:auto}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.input,select{background:var(--bg);border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit;font-size:11px;padding:9px 10px;outline:none}.input:focus,select:focus{border-color:var(--blue)}.input.search{min-width:210px}.table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.table caption{text-align:left;color:var(--muted);font-size:10px;padding:0 0 10px}.table th{color:var(--muted);font-weight:550;font-size:10px;white-space:nowrap;background:var(--panel2);position:sticky;top:0}.table th,.table td{padding:10px 11px;border-bottom:1px solid var(--line);vertical-align:top}.table tbody tr:hover{background:color-mix(in srgb,var(--blue) 5%,transparent)}.table td{max-width:440px;overflow-wrap:anywhere}.table button.link{color:var(--blue);border:0;background:none;cursor:pointer;padding:0;font:inherit;text-align:left}.pagination{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;margin-top:12px}.pagination button{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);cursor:pointer}.list{display:grid;gap:9px}.rowitem{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.rowitem:last-child{border:0}.rowitem b{font-size:11px}.rowitem p{font-size:10px;color:var(--muted);margin:5px 0 0}.callout{padding:12px 14px;background:#6c91ff12;border:1px solid #6c91ff28;border-radius:9px;color:var(--muted);font-size:11px;line-height:1.6}.empty{padding:30px;text-align:center;color:var(--muted);font-size:12px}.code{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 ui-monospace,monospace;background:var(--bg);border-radius:8px;padding:14px;max-height:65vh;overflow:auto}.progress{height:6px;background:var(--line);border-radius:9px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:9px}.skip{position:fixed;left:-9999px;top:5px;background:var(--panel);padding:10px;z-index:10}.skip:focus{left:8px}footer{padding:15px 36px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}footer span{padding:0 6px}.loading{padding:80px;text-align:center;color:var(--muted)}dialog{width:min(760px,92vw);max-height:88vh;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}dialog::backdrop{background:#050914bb;backdrop-filter:blur(3px)}.close{float:right;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer}.mobile-only{display:none}.strategy{cursor:pointer}.strategy:hover{border-color:var(--blue)}@media(max-width:1000px){.sidebar{width:220px}.shell{margin-left:220px}.stats{grid-template-columns:repeat(2,1fr)}main{padding:24px}.two{grid-template-columns:1fr}.topbar{padding:0 24px}}@media(max-width:700px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:260px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobile-only{display:inline-block}.topbar{height:58px;padding:0 14px}.top-actions{gap:7px}.refresh{display:none}main{padding:20px 14px}.pagehead{align-items:flex-start;gap:8px}.pagehead h1{font-size:22px}.stamp{display:none}.stats{gap:9px}.card{padding:14px}.statvalue{font-size:21px}.three{grid-template-columns:1fr}.input.search{min-width:100%;flex:1}footer{padding:14px}}
.action{border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:var(--panel2);color:var(--text);cursor:pointer}.action:hover:not(:disabled){border-color:var(--blue)}.action:disabled{opacity:.48;cursor:not-allowed}.job-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.job-row p{font-size:10px;color:var(--muted);margin:5px 0 0}.job-row details{display:block}.term-tabs{display:flex;gap:5px;flex-wrap:wrap}.term-tab{border:1px solid var(--line);border-radius:7px;padding:7px 10px;background:var(--panel2);color:var(--muted)}.term-tab.active{color:var(--text);border-color:var(--blue)}.terminal-box{height:min(68vh,720px);min-height:300px;overflow:hidden;border:1px solid #29334a;border-radius:8px;background:#080d18;padding:5px}.toast{position:fixed;right:20px;bottom:20px;z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:12px 16px;opacity:0;transform:translateY(8px);transition:.18s;box-shadow:var(--shadow);pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:700px){.terminal-box{height:56vh;min-height:250px}.job-row{align-items:flex-start}.job-row p{max-width:65vw}}
/* Web terminal workspace */
.terminal-pagehead{margin-bottom:12px}body:has(.terminal-workspace) main{max-width:none;height:calc(100dvh - 104px);min-height:420px;padding-top:8px;padding-bottom:12px}body:has(.terminal-workspace) footer{display:none}.terminal-workspace{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.terminal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel)}.term-tabs{display:flex;gap:6px;align-items:center;min-width:0;overflow:auto}.term-tab-wrap{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;background:var(--panel2);white-space:nowrap}.term-tab-wrap.active{border-color:var(--blue);color:var(--text)}.term-tab{border:0;padding:8px 11px;background:none;color:var(--muted);cursor:pointer}.term-tab-wrap.active .term-tab{color:var(--text)}.term-tab-close{border:0;background:none;color:var(--muted);font-size:17px;padding:0 8px;cursor:pointer}.terminal-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.terminal-actions .action{padding:7px 9px;font-size:11px;white-space:nowrap}.term-status{font-size:10px;padding:5px 9px;border-radius:20px;white-space:nowrap}.term-status:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:currentColor}.term-status.connected{color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,transparent)}.term-status.reconnecting{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.term-status.disconnected{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}.terminal-box{height:auto;min-height:0;flex:1;position:relative;overflow:hidden;border:0;border-radius:0;background:#080d18;padding:8px}.terminal-box .xterm{height:100%}.scroll-bottom{position:absolute;right:18px;bottom:18px;z-index:2;border:1px solid var(--line);border-radius:20px;padding:8px 12px;background:var(--panel);color:var(--text);cursor:pointer}.hidden{display:none!important}.quick-menu{position:absolute;right:170px;top:55px;z-index:10;min-width:230px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.quick-menu button{display:block;width:100%;padding:9px;border:0;border-radius:6px;text-align:left;background:none;color:var(--text);cursor:pointer}.quick-menu button:hover{background:var(--panel2)}.term-search{display:flex;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.term-search .input{flex:1}.term-bell{animation:termflash .18s ease-in-out 2}@keyframes termflash{50%{box-shadow:inset 0 0 0 4px var(--amber)}}.mobile-keybar{display:none}.terminal-focus .sidebar,.terminal-focus .topbar,.terminal-focus .terminal-pagehead,body.terminal-focus footer{display:none!important}.terminal-focus .shell{margin:0!important}.terminal-focus main{height:100dvh!important;min-height:0!important;padding:0!important}.terminal-focus .terminal-workspace{border-radius:0}.terminal-focus .terminal-head{padding-top:6px;padding-bottom:6px}
@media(max-width:800px){body:has(.terminal-workspace) main{height:calc(100dvh - 70px);min-height:360px;padding:6px}.terminal-head{align-items:flex-start;flex-direction:column;gap:6px}.term-tabs{width:100%}.terminal-actions{justify-content:flex-start;width:100%}.terminal-actions .action{padding:6px 8px}.term-status{margin-right:auto}.terminal-box{padding:3px}.mobile-keybar{display:flex;gap:5px;overflow-x:auto;padding:7px;background:var(--panel);border-top:1px solid var(--line);flex:none}.mobile-keybar .action{padding:8px 11px;min-width:38px;touch-action:manipulation}.mobile-keybar .action.active{background:var(--blue);color:white}.quick-menu{left:8px;right:auto;top:auto;bottom:65px}}
body:has(.terminal-workspace) main{display:flex;flex-direction:column;height:calc(100dvh - 66px)}body:has(.terminal-workspace) #content{display:flex;flex:1;flex-direction:column;min-height:0;width:100%}.terminal-workspace{height:auto;flex:1;min-height:0}.terminal-pagehead{flex:none}body:has(.terminal-workspace) .refresh{display:none}
@media(max-width:800px){body:has(.terminal-workspace) main{height:calc(100dvh - 58px)}}
/* Terminal v3 */
.terminal-panes{display:flex;flex:1;min-height:0;position:relative}.terminal-panes>.terminal-box{flex:1;min-width:0}.terminal-panes.split-horizontal{display:grid;grid-template-columns:minmax(0,var(--split-ratio, 1fr)) 8px minmax(0,1fr)}.terminal-panes.split-horizontal #terminalBox,.terminal-panes.split-horizontal #splitPane{width:auto;min-width:0;height:100%}.term-divider{cursor:col-resize;touch-action:none;border:0;background:var(--line);padding:0}.term-divider:hover,.term-divider:focus-visible{background:var(--blue);outline:0}.composer-dock{padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.composer-label{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-bottom:6px}.composer-label span:nth-child(2){margin-right:auto}.composer-dock textarea{display:block;width:100%;min-height:40px;max-height:180px;resize:none;overflow:auto;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:13px/1.5 ui-monospace,monospace}.composer-dock textarea:focus{outline:2px solid color-mix(in srgb,var(--blue) 60%,transparent);outline-offset:1px}.terminal-panel{position:absolute;z-index:12;right:12px;top:74px;width:min(460px,calc(100% - 24px));max-height:70%;overflow:auto;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.terminal-workspace{position:relative}.terminal-panel h3{margin:0 0 12px}.panel-close{float:right}.palette-row{display:flex;gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}.palette-row .action:first-child{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.history-rows{max-height:50vh;overflow:auto}.history-row{width:100%;display:block;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);padding:8px;cursor:pointer}.history-row pre{white-space:pre-wrap;margin:5px 0;font:11px/1.45 ui-monospace,monospace}.history-row small{color:var(--muted)}.drop-target{outline:2px dashed var(--blue);outline-offset:-8px}.terminal-panel textarea{width:100%;min-height:100px;margin:8px 0}.term-tab-close:focus-visible,.action:focus-visible,.term-tab:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media(max-width:800px){.terminal-panes.split-horizontal{grid-template-columns:1fr;grid-template-rows:minmax(140px,1fr) 8px minmax(140px,1fr)}.term-divider{cursor:row-resize}.composer-label{gap:4px}.composer-label .action{padding:5px 7px;font-size:10px}.composer-dock textarea{font-size:16px}.terminal-panel{top:110px;max-height:55%}}

.terminal-panes.split-vertical{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,var(--split-ratio,1fr)) 8px minmax(0,1fr)}.terminal-panes.split-vertical #terminalBox,.terminal-panes.split-vertical #splitPane{width:100%;height:auto;min-height:0}.terminal-panes.split-vertical .term-divider{cursor:row-resize}

.file-list{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.file-entry{display:inline-flex;gap:4px}.file-image{display:block;max-width:100%;height:auto}

/* 한글 IME 조합 글자가 TUI(Claude Code) 커서 위치 따라 화면 여기저기 튀는 현상 방지: 하단 고정 표시 */
.xterm .composition-view.active { position: fixed !important; left: 50% !important; top: auto !important; bottom: 96px !important; transform: translateX(-50%); z-index: 60; padding: 2px 8px; border-radius: 6px; background: #1f2937 !important; color: #f9fafb !important; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
:root{--aicp-glossary-bg:var(--panel,#171a22);--aicp-glossary-line:var(--line,#303544);--aicp-glossary-text:var(--text,#edf0f6);--aicp-glossary-muted:var(--muted,#a0a7b6)}
#aicpGlossaryDialog{width:min(720px,calc(100vw - 32px));max-height:min(82vh,850px);padding:20px;border:1px solid var(--aicp-glossary-line);border-radius:16px;background:var(--aicp-glossary-bg);color:var(--aicp-glossary-text);box-shadow:0 24px 90px #0008}#aicpGlossaryDialog::backdrop{background:#080a10a8}#aicpGlossaryDialog>header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-20px;padding:0 0 12px;background:var(--aicp-glossary-bg);font-size:18px}#aicpGlossaryDialog>header button{border:0;background:none;color:inherit;font-size:22px;cursor:pointer}#aicpGlossaryDialog>p{color:var(--aicp-glossary-muted);margin:0 0 12px}.aicp-glossary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:auto}.aicp-glossary-list article{border:1px solid var(--aicp-glossary-line);border-radius:10px;padding:11px}.aicp-glossary-list article b{font-size:13px}.aicp-glossary-list article p{margin:5px 0 0;color:var(--aicp-glossary-muted);font-size:12px;line-height:1.55}@media(max-width:600px){.aicp-glossary-list{grid-template-columns:1fr}}
