:root{--color-paper:oklch(98.5% .004 250);--color-paper-2:oklch(96.5% .006 250);--color-paper-3:oklch(94% .008 252);--color-ink:oklch(24% .02 258);--color-ink-2:oklch(34% .018 257);--color-muted:oklch(52% .014 256);--color-rule:oklch(88% .008 252);--color-rule-2:oklch(82% .01 252);--color-accent:oklch(58% .2 256);--color-accent-ink:oklch(100% 0 0);--color-accent-soft:oklch(58% .2 256/.08);--color-graphite:oklch(22% .016 260);--color-graphite-2:oklch(28% .018 258);--color-success:oklch(52% .14 145);--color-success-soft:oklch(52% .14 145/.1);--color-danger:oklch(58% .18 25);--color-danger-soft:oklch(58% .18 25/.08);--color-warning:oklch(72% .14 85);--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--sidebar-w:248px;--header-h:56px;--radius:8px;--radius-sm:6px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.15s;--dur-normal:.25s;--shadow:0 1px 2px oklch(24% .02 258/.05), 0 8px 24px oklch(24% .02 258/.06);--bg:var(--color-paper);--bg-soft:var(--color-paper-2);--sidebar-bg:var(--color-paper);--surface:var(--color-paper);--surface-2:var(--color-paper-2);--surface-3:var(--color-paper-3);--border:var(--color-rule);--border-light:var(--color-accent-soft);--text:var(--color-ink);--muted:var(--color-muted);--accent:var(--color-accent);--accent-hover:oklch(52% .2 256);--accent-soft:var(--color-accent-soft);--accent-glow:oklch(58% .2 256/.12);--success:var(--color-success);--success-soft:var(--color-success-soft);--danger:var(--color-danger);--danger-soft:var(--color-danger-soft);--warning:var(--color-warning);--info:var(--color-accent);--console-bg:var(--color-graphite);--font:var(--font-body);--mono:var(--font-mono)}[data-theme=dark]{color-scheme:dark;--color-paper:oklch(16% .014 258);--color-paper-2:oklch(20% .016 260);--color-paper-3:oklch(24% .018 258);--color-ink:oklch(96% .006 250);--color-ink-2:oklch(88% .008 252);--color-muted:oklch(66% .012 256);--color-rule:oklch(30% .014 258);--color-rule-2:oklch(36% .016 258);--color-accent:oklch(68% .18 256);--color-accent-ink:oklch(16% .02 258);--color-accent-soft:oklch(68% .18 256/.14);--color-graphite:oklch(12% .012 262);--color-graphite-2:oklch(18% .014 260);--color-success:oklch(68% .14 145);--color-success-soft:oklch(68% .14 145/.12);--color-danger:oklch(72% .16 25);--color-danger-soft:oklch(72% .16 25/.12);--color-warning:oklch(78% .12 85);--accent-hover:oklch(74% .18 256);--accent-glow:oklch(68% .18 256/.18);--shadow:0 1px 2px oklch(0% 0 0/.35), 0 8px 24px oklch(0% 0 0/.45)}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}body{font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink-2);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-weight:400}h1,h2,h3,h4,strong{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;font-style:normal;font-weight:600}svg{fill:currentColor;flex-shrink:0;width:1.15rem;height:1.15rem}.hidden{display:none!important}.reveal{opacity:0;transition:opacity .55s var(--ease-out), transform .55s var(--ease-out);transform:translateY(8px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.login-view{place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative}.login-bg{background:linear-gradient(var(--color-rule) 1px, transparent 1px), linear-gradient(90deg, var(--color-rule) 1px, transparent 1px), var(--color-paper);z-index:0;background-size:48px 48px,48px 48px,auto;position:fixed;inset:0}.login-card{z-index:1;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);padding:2rem;position:relative}.login-brand{text-align:center;margin-bottom:1.75rem}.brand-mark{border-radius:var(--radius-sm);width:52px;height:52px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent-ink);background:var(--color-accent);place-items:center;margin:0 auto 1rem;font-size:.95rem;font-weight:600;display:grid}.brand-mark.sm{width:36px;height:36px;margin:0;font-size:.75rem}.login-brand h1{margin:0 0 .35rem;font-size:1.65rem}.subtitle{color:var(--color-muted);margin:0;font-size:.9rem}.login-form label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:.85rem 0 .35rem;font-size:.72rem;font-weight:500;display:block}input,textarea{border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:var(--color-paper);width:100%;color:var(--color-ink);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:.65rem .8rem;font-family:inherit;font-size:.92rem}input:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-fast);border:none;font-family:inherit}.btn-primary{border-radius:var(--radius-sm);background:var(--color-accent);width:100%;color:var(--color-accent-ink);margin-top:1.25rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary.inline,.btn-secondary.inline{width:auto;margin:0}.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary{border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);border:1px solid var(--color-rule);align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.84rem;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--color-rule-2);background:var(--color-paper-2)}.btn-secondary.small{padding:.35rem .6rem;font-size:.78rem}.btn-icon{justify-content:center;width:32px;height:32px;padding:0}.btn-icon svg,.btn-danger.btn-icon svg{width:1rem;height:1rem}.btn-danger.btn-icon{justify-content:center;width:32px;height:32px;padding:0}.btn-secondary svg{width:.9rem;height:.9rem}.btn-danger{border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);border:1px solid oklch(58% .18 25/.2);align-items:center;padding:.35rem .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.btn-danger:hover{background:oklch(58% .18 25/.14)}.error{color:var(--color-danger);margin-top:.75rem;font-size:.86rem}.step-title{text-align:center;margin:0 0 .35rem;font-size:1.2rem}.login-step .subtitle{text-align:center;margin-bottom:1rem}.step-back{width:100%;margin-top:.5rem}.twofa-setup{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.twofa-qr{border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:#fff;padding:.5rem}.twofa-secret{font-family:var(--font-mono);color:var(--color-muted);word-break:break-all;text-align:center;font-size:.76rem}#verify-code,#setup-code{text-align:center;letter-spacing:.35em;font-size:1.25rem;font-family:var(--font-mono)}.meta{color:var(--color-muted);font-size:.86rem}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--color-paper);border-right:1px solid var(--color-rule);z-index:50;transition:transform .25s var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid var(--color-rule);align-items:center;gap:.75rem;padding:1rem 1rem .85rem;display:flex}.sidebar-brand strong{font-size:.92rem;display:block}.sidebar-brand span{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.sidebar-nav{flex:1;padding:.65rem .55rem;overflow-y:auto}.sidebar-item{border-radius:var(--radius-sm);width:100%;color:var(--color-muted);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;margin-bottom:2px;padding:.6rem .75rem;font-size:.86rem;font-weight:500;display:flex;position:relative}a.sidebar-item{text-decoration:none}.sidebar-item:hover{background:var(--color-paper-2);color:var(--color-ink)}.sidebar-item.active{background:var(--color-accent-soft);color:var(--color-accent);border-color:oklch(58% .2 256/.15)}.sidebar-item.active:before{content:"";background:var(--color-accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:6px;bottom:6px;left:0}.sidebar-item.back{color:var(--color-ink-2);margin-bottom:.5rem}.sidebar-item.logout{color:var(--color-muted);margin-top:.25rem}.sidebar-server{padding:.35rem .75rem .65rem}.sidebar-server span:first-child{word-break:break-word;margin-bottom:.3rem;font-size:.88rem;font-weight:600;display:block}.sidebar-divider{background:var(--color-rule);height:1px;margin:.25rem .55rem .55rem}.sidebar-footer{border-top:1px solid var(--color-rule);padding:.65rem .55rem .85rem}.user-chip{border-radius:var(--radius-sm);background:var(--color-paper-2);border:1px solid var(--color-rule);align-items:center;gap:.6rem;margin-bottom:.25rem;padding:.55rem .65rem;display:flex}.user-avatar{border-radius:var(--radius-sm);width:32px;height:32px;font-family:var(--font-mono);color:var(--color-accent-ink);background:var(--color-accent);place-items:center;font-size:.78rem;font-weight:600;display:grid}.user-chip strong{font-size:.84rem;display:block}.user-chip span{color:var(--color-muted);font-size:.72rem}.app-main{margin-left:var(--sidebar-w);background:var(--color-paper);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.page-header{height:var(--header-h);border-bottom:1px solid var(--color-rule);background:color-mix(in oklch, var(--color-paper) 90%, transparent);backdrop-filter:blur(8px);z-index:20;align-items:center;gap:.85rem;padding:0 1.5rem;display:flex;position:sticky;top:0}.page-header-text p{font-family:var(--font-display);color:var(--color-ink);letter-spacing:-.02em;margin:0;font-size:.95rem;font-weight:600}.page-header-meta{align-items:center;gap:.5rem;margin-left:auto;display:flex}.theme-toggle{border-radius:var(--radius-sm);background:var(--color-paper);border:1px solid var(--color-rule);width:36px;height:36px;color:var(--color-ink);flex-shrink:0;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--color-rule-2);background:var(--color-paper-2)}.theme-toggle svg{width:1.05rem;height:1.05rem}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.header-time{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:.72rem}.icon-btn{border-radius:var(--radius-sm);background:var(--color-paper);border:1px solid var(--color-rule);width:36px;height:36px;color:var(--color-ink);place-items:center;display:none}.page-content{flex:1;padding:1.25rem 1.5rem 1.75rem}.panel-view.hidden{display:none}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.summary-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);transition:border-color var(--dur-fast);align-items:center;gap:.85rem;min-width:0;padding:1rem;display:flex}.summary-card:hover{border-color:var(--color-rule-2)}.summary-icon{border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:var(--color-paper-2);flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.summary-icon svg{width:1.15rem;height:1.15rem}.summary-icon.purple{color:var(--color-accent)}.summary-icon.green{color:var(--color-success)}.summary-icon.blue{color:var(--color-accent)}.summary-icon.amber{color:var(--color-warning)}.summary-label{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15rem;font-size:.68rem;display:block}.summary-card strong{font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600;line-height:1.1}.summary-sm{font-size:.88rem!important;font-weight:600!important}.content-section{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);padding:1.15rem}.section-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.section-header h2{margin:0 0 .2rem;font-size:1.05rem}.server-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;display:grid}.server-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);cursor:pointer;transition:border-color var(--dur-fast), transform var(--dur-fast);min-width:0;padding:1rem}.server-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.server-card-head{justify-content:space-between;align-items:flex-start;gap:.65rem;margin-bottom:.75rem;display:flex}.server-card h3{margin:0 0 .15rem;font-size:1rem}.server-card-id{color:var(--color-muted);font-size:.74rem;font-family:var(--font-mono)}.server-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.server-metric{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);text-align:center;padding:.45rem .5rem}.server-metric span{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.1rem;font-size:.65rem;display:block}.server-metric strong{font-variant-numeric:tabular-nums;font-size:.86rem}.badge{border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;align-items:center;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.badge.online{background:var(--color-success-soft);color:var(--color-success);border-color:oklch(52% .14 145/.2)}.badge.offline{background:var(--color-danger-soft);color:var(--color-danger);border-color:oklch(58% .18 25/.2)}.panel-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);padding:1rem}.panel-card h3{margin:0;font-size:.95rem}.card-head{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.tab-panel{display:none}.tab-panel.active{animation:fadeIn .2s var(--ease-out);display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:.75rem;display:grid}.side-stack{gap:.75rem;display:grid}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.stat-tile{background:var(--color-paper-2);border:1px solid var(--color-rule);border-radius:var(--radius-sm);padding:.75rem}.stat-tile.wide{grid-column:1/-1}.stat-tile span{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.25rem;font-size:.68rem;display:block}.stat-tile strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:1.05rem}#stat-version{word-break:break-word;font-size:.78rem;font-weight:500;line-height:1.4;font-family:var(--font-mono);display:block}.power-hint{margin:.3rem 0 .75rem}.power-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.power-btn{border-radius:var(--radius-sm);border:1px solid var(--color-rule);background:var(--color-paper-2);min-height:64px;color:var(--color-ink);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.82rem;font-weight:600;display:flex}.power-btn:hover{border-color:var(--color-rule-2)}.power-icon{font-size:1rem}.power-btn.start{background:var(--color-success-soft);color:var(--color-success);border-color:oklch(52% .14 145/.25)}.power-btn.restart{background:var(--color-accent-soft);color:var(--color-accent);border-color:oklch(58% .2 256/.2)}.power-btn.stop{background:var(--color-danger-soft);color:var(--color-danger);border-color:oklch(58% .18 25/.2)}.console-panel{flex-direction:column;display:flex}.console-output{background:var(--color-graphite);border:1px solid var(--color-graphite-2);border-radius:var(--radius-sm);height:min(520px,100vh - 260px);font-family:var(--font-mono);color:oklch(88% .01 250);padding:.65rem;font-size:.78rem;line-height:1.55;overflow-y:auto}.console-line{white-space:pre-wrap;word-break:break-word;border-radius:3px;padding:.04rem .3rem}.console-line:hover{background:oklch(100% 0 0/.04)}.console-line.system{color:oklch(62% .01 250)}.console-line.error{color:oklch(72% .12 25)}.console-line.warn{color:oklch(78% .12 85)}.command-form,.inline-form{align-items:center;gap:.45rem;margin-top:.65rem;display:flex}.command-form input,.inline-form input{flex:1;margin:0}.console-prompt{color:var(--color-accent);font-family:var(--font-mono);padding-left:.15rem;font-weight:600}.btn-group{flex-wrap:wrap;gap:.3rem;display:flex}.split-grid,.files-layout{gap:.75rem;display:grid}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.files-layout{grid-template-columns:340px 1fr}body.files-tab-active{height:100vh;overflow:hidden}body.files-tab-active .app-shell{height:100vh;max-height:100vh;overflow:hidden}body.files-tab-active .app-main{height:100vh;min-height:0;max-height:100vh;overflow:hidden}body.files-tab-active .page-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}body.files-tab-active .page-content #server-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}#tab-files.active{flex-direction:column;flex:1;min-height:0;display:flex}.files-workspace{border-top:1px solid var(--color-rule);background:var(--color-paper);flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(260px,300px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.files-browser{border-right:1px solid var(--color-rule);background:var(--color-paper-2);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.files-editor-pane{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.files-browser-head{flex-shrink:0}.files-browser-scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}.files-toolbar,.files-editor-toolbar{border-bottom:1px solid var(--color-rule);background:var(--color-paper);flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .75rem;display:flex}.files-toolbar-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.68rem;font-weight:600}.file-editor-name{min-width:0;font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.78rem;overflow:hidden}.file-editor-name.active{color:var(--color-ink)}.files-drop-zone,.file-drop-zone{display:block}.file-drop-zone.drag-over{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px oklch(58% .2 256/.25)}.table-wrap{border-radius:var(--radius-sm);border:1px solid var(--color-rule);overflow:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{text-align:left;border-bottom:1px solid var(--color-rule);vertical-align:middle;padding:.6rem .75rem}th{background:var(--color-paper-2);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;font-weight:600;position:sticky;top:0}tbody tr{transition:background var(--dur-fast)}tbody tr:hover{background:var(--color-paper-2)}tbody tr:last-child td{border-bottom:none}.actions{white-space:nowrap;gap:.3rem;display:flex}.file-path{color:var(--color-muted);word-break:break-all;font-size:.74rem;font-family:var(--font-mono);border-bottom:1px solid var(--color-rule);background:var(--color-paper);flex-shrink:0;margin:0;padding:.45rem .75rem}.file-search-wrap{border-bottom:1px solid var(--color-rule);background:var(--color-paper);flex-shrink:0;padding:.4rem .75rem}.file-search-wrap input{background:var(--color-paper-2);margin:0;padding:.42rem .65rem;font-size:.78rem}.file-list{padding:.1rem 0;overflow:visible}.file-list-empty{margin:0;padding:.85rem .75rem}.file-drop-hint{text-align:center;color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-top:1px solid var(--color-rule);margin:0;padding:.4rem .65rem;font-size:.65rem}.file-item.dir .file-item-name{color:var(--color-ink);font-weight:500}.file-item.dir .file-item-name:before{content:"▸ ";color:var(--color-accent);font-size:.7rem}.file-item.file .file-item-name:before{content:"· ";color:var(--color-muted)}.file-editor-wrap{background:var(--color-graphite);flex-direction:column;flex:1;min-height:0;display:flex}.file-editor-scroller{flex:1;height:100%;min-height:0;position:relative}.file-editor-wrap.yaml-mode .file-editor-scroller{overflow:hidden}.file-editor-highlight,.file-editor{box-sizing:border-box;font-family:var(--font-mono);tab-size:2;border:none;margin:0;padding:.85rem 1rem;font-size:.8rem;line-height:1.55;position:absolute;inset:0}.file-editor-highlight{pointer-events:none;background:var(--color-graphite);color:oklch(88% .01 250);display:none;overflow:hidden}.file-editor-highlight code{white-space:pre;min-width:100%;font-family:inherit;font-size:inherit;line-height:inherit;tab-size:inherit;display:block}.file-editor-wrap.yaml-mode .file-editor-highlight{z-index:0;display:block}.file-editor-wrap.yaml-mode .file-editor{z-index:1;resize:none;white-space:pre;overscroll-behavior:contain;color:#0000;caret-color:oklch(92% .01 250);background:0 0;overflow:auto}.yaml-comment{color:oklch(58% .01 250)}.yaml-key{color:oklch(72% .12 256)}.yaml-colon{color:oklch(88% .01 250)}.yaml-string{color:oklch(78% .1 145)}.yaml-number{color:oklch(80% .1 85)}.yaml-bool{color:oklch(76% .1 200)}.yaml-anchor{color:oklch(78% .1 330)}.file-editor{background:var(--color-graphite);color:oklch(88% .01 250);resize:none;width:100%;height:100%;min-height:0}.file-editor-wrap:not(.yaml-mode) .file-editor{height:100%;position:static}.file-item{cursor:pointer;transition:background var(--dur-fast);justify-content:space-between;align-items:center;gap:.45rem;min-width:0;padding:.42rem .75rem;font-size:.82rem;display:flex}.file-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-item:hover{background:oklch(58% .2 256/.06)}.file-item.file.selected{background:var(--color-accent-soft)}.file-item-end{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.file-item-end .meta,.file-item>.meta{font-size:.68rem;font-family:var(--font-mono)}.file-copy-btn{opacity:0;width:26px;height:26px;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--dur-fast), background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.file-item:hover .file-copy-btn{opacity:1}.file-copy-btn:hover{color:var(--color-accent);background:var(--color-accent-soft);border-color:oklch(58% .2 256/.2)}.file-copy-btn svg{width:.9rem;height:.9rem}.copy-file-modal-card{width:min(540px,92vw);max-height:90vh;overflow:auto}.copy-file-modal-path{word-break:break-all;font-family:var(--font-mono);color:var(--color-muted);margin-bottom:.65rem;font-size:.78rem}.copy-file-section{margin-bottom:.85rem}.copy-file-section-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .4rem;font-size:.68rem;font-weight:600}.copy-file-items-head{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.3rem;display:flex}.copy-file-items-head .copy-file-section-title{margin:0}.copy-file-items-hint{margin:0 0 .4rem;font-size:.76rem}.copy-file-targets,.copy-file-items{flex-direction:column;gap:.35rem;max-height:180px;display:flex;overflow:auto}.copy-file-items{max-height:200px}.copy-file-item,.copy-target-item{border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .55rem;padding:.55rem .65rem;display:grid}.copy-file-item{grid-template-columns:auto 1fr auto}.copy-target-item.disabled{opacity:.5;cursor:not-allowed}.copy-file-item input,.copy-target-item input{width:auto;margin:0}.copy-file-item-name{font-family:var(--font-mono);word-break:break-all;font-size:.76rem}.copy-file-item-size{font-size:.68rem;font-family:var(--font-mono);white-space:nowrap}.copy-target-name{font-size:.86rem;font-weight:600}.copy-target-meta{grid-column:2;font-size:.74rem}.modal{z-index:200;backdrop-filter:blur(4px);background:oklch(24% .02 258/.35);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);padding:1.25rem}.modal-card h3{margin:0 0 .45rem;font-size:1rem}.modal-actions{justify-content:flex-end;gap:.45rem;margin-top:1rem;display:flex}#modal-textarea{width:100%;min-height:96px;margin-top:.65rem}.toast-container{z-index:300;pointer-events:none;flex-direction:column;gap:.4rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{border-radius:var(--radius-sm);background:var(--color-paper);border:1px solid var(--color-rule);color:var(--color-ink);box-shadow:var(--shadow);animation:toastIn .2s var(--ease-out);pointer-events:auto;max-width:340px;padding:.65rem .85rem;font-size:.84rem}.toast.error{background:var(--color-danger-soft);color:var(--color-danger);border-color:oklch(58% .18 25/.3)}.toast.success{border-color:oklch(52% .14 145/.3)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar-overlay{z-index:40;background:oklch(24% .02 258/.25);position:fixed;inset:0}@media (width<=1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.overview-grid,.split-grid,.files-layout{grid-template-columns:1fr}.files-workspace{grid-template-rows:minmax(220px,34vh) minmax(0,1fr);grid-template-columns:1fr}.files-browser{border-right:none;border-bottom:1px solid var(--color-rule)}.power-actions{grid-template-columns:1fr}}@media (width<=768px){.sidebar{box-shadow:var(--shadow);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.app-main{margin-left:0}.icon-btn{display:grid}.summary-grid{grid-template-columns:minmax(0,1fr)}.page-content{padding:.85rem}body.files-tab-active .page-content{padding:0}.page-header{padding:0 .85rem}}
