:root{--bg:#f7f8fa;--surface:#fff;--surface-2:#f0f2f5;--fg:#16181d;--muted:#5c6270;--border:#d9dce2;--accent:#2f5bd7;--accent-fg:#fff;--accent-soft:#e7edfd;--danger:#b3261e;--danger-soft:#fbe9e7;--warning:#8a5a00;--warning-soft:#fdf3dc;--success:#1c6b3c;--success-soft:#e4f4ea;--shadow:0 10px 30px #10141e2e;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#12141a;--surface:#181b22;--surface-2:#1f232c;--fg:#eef0f4;--muted:#a2a8b4;--border:#2e323b;--accent:#7b9bf5;--accent-fg:#10131a;--accent-soft:#232c42;--danger:#ff8a80;--danger-soft:#3a1f1e;--warning:#e6b74d;--warning-soft:#3a2f16;--success:#7fd6a1;--success-soft:#17301f;--shadow:0 10px 30px #0000008c}}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:1.35rem;font-weight:600}h2{font-size:1.05rem;font-weight:600}h3{font-size:.95rem;font-weight:600}h4{font-size:.875rem;font-weight:600}p{margin:0}.app{grid-template-columns:15rem minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;display:flex}.brand{flex-direction:column;gap:.15rem;display:flex}.brand-name{letter-spacing:-.02em;font-weight:650}.brand-sub{color:var(--muted);font-size:.75rem}.nav{flex-direction:column;gap:.15rem;display:flex}.nav a{color:var(--fg);border-radius:6px;padding:.35rem .6rem;font-weight:500}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent)}.sidebar-foot{color:var(--muted);flex-direction:column;gap:.5rem;margin-top:auto;font-size:.8rem;display:flex}.main{flex-direction:column;min-width:0;display:flex}.content{flex:1;width:100%;max-width:72rem;padding:1.5rem 1.75rem 2.5rem}.footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:.75rem;padding:.75rem 1.75rem;font-size:.75rem;display:flex}@media (width<=820px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem}.nav{flex-flow:wrap}.sidebar-foot{flex-direction:row;align-items:center;gap:1rem}.content{padding:1rem 1rem 2rem}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-head p{color:var(--muted);margin-top:.2rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.1rem}.card>h2,.card>h3{margin-bottom:.6rem}.card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.stack-gap{flex-direction:column;gap:.75rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:.75rem;display:flex}.split{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem;display:grid}.muted{color:var(--muted)}.small{font-size:.8rem}.nowrap{white-space:nowrap}.loading{color:var(--muted);padding:1rem 0}.empty{color:var(--muted);padding:.75rem 0;font-size:.9rem}.btn{border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.danger{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.small{padding:.15rem .45rem;font-size:.78rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:500}.linkish{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.linkish:hover{text-decoration:underline}.field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.field>label,.field-label{color:var(--muted);font-size:.8rem;font-weight:600}input[type=text],input[type=password],input[type=number],input[type=search],select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--fg);font:inherit;border-radius:6px;padding:.35rem .5rem;font-size:.875rem}textarea{resize:vertical}textarea.code{tab-size:4;white-space:pre;min-height:14rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5}input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hint{color:var(--muted);font-size:.78rem}.error-text{color:var(--danger);font-size:.78rem}.inline-check{cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.check-grid{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.85rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;padding:.45rem .6rem}table.data th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);font-size:.75rem;font-weight:600}table.data tbody tr:last-child td{border-bottom:0}table.data td.wrap,table.data th.wrap{white-space:normal;min-width:12rem}table.data .actions-cell{gap:.35rem;display:flex}.badge{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.05rem .4rem;font-size:.72rem;font-weight:600;line-height:1.5;display:inline-flex}.badge.layer-global{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.layer-stack{background:var(--success-soft);color:var(--success);border-color:#0000}.badge.layer-project{background:var(--warning-soft);color:var(--warning);border-color:#0000}.badge.ok{color:var(--success);background:var(--success-soft);border-color:#0000}.badge.warn{color:var(--warning);background:var(--warning-soft);border-color:#0000}.badge.new{color:var(--accent);background:var(--accent-soft);border-color:#0000}.badge-group{flex-wrap:wrap;gap:.25rem;display:inline-flex}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tabs a,.tabs .linkish{color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.4rem .7rem;font-weight:500}.tabs a:hover,.tabs .linkish:hover{color:var(--fg);text-decoration:none}.tabs a.active,.tabs .linkish.active{color:var(--accent);border-bottom-color:var(--accent)}.banner{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.85rem;display:flex}.banner.info{background:var(--accent-soft);color:var(--accent);border-color:#0000}.banner.success{background:var(--success-soft);color:var(--success);border-color:#0000}.banner.warning{background:var(--warning-soft);color:var(--warning);border-color:#0000}.banner.error{background:var(--danger-soft);color:var(--danger);border-color:#0000}.issue-list{margin:0;padding-left:1.1rem;font-size:.85rem}.issue-list li{margin-bottom:.2rem}.issue-list li.warning{color:var(--warning)}.modal-overlay{z-index:40;background:#0a0c128c;justify-content:center;align-items:flex-start;padding:4vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);width:min(44rem,100%);color:var(--fg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;outline:none}.modal.wide{width:min(58rem,100%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.modal-body{padding:1rem}.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.1rem;display:flex}.toasts{z-index:60;flex-direction:column;gap:.5rem;width:min(24rem,100vw - 2rem);display:flex;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-items:flex-start;gap:.5rem;padding:.55rem .7rem;font-size:.85rem;display:flex}.toast .toast-message{flex:1}.toast.info{border-left:4px solid var(--accent)}.toast.success{border-left:4px solid var(--success)}.toast.warning{border-left:4px solid var(--warning)}.toast.error{border-left:4px solid var(--danger)}.pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);white-space:pre;max-height:32rem;margin:0;padding:.7rem .8rem;line-height:1.5;overflow:auto}.diff{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);max-height:40rem;margin:0;padding:.5rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45;overflow:auto}.diff-line{white-space:pre;padding:0 .7rem}.diff-line.add{background:var(--success-soft);color:var(--success)}.diff-line.del{background:var(--danger-soft);color:var(--danger)}.diff-line.hunk{color:var(--accent);background:var(--accent-soft)}.diff-line.header{color:var(--muted);font-weight:600}.tree{margin:0;padding-left:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;list-style:none}.tree>li{margin:.1rem 0}.tree-dir{color:var(--muted)}.kv-row{grid-template-columns:minmax(8rem,1fr) minmax(10rem,2fr) auto;align-items:start;gap:.4rem;margin-bottom:.4rem;display:grid}.kv-row .kv-error{grid-column:1/-1}.kv-actions{align-items:center;gap:.35rem;display:flex}@media (width<=640px){.kv-row{grid-template-columns:minmax(0,1fr) auto}.kv-row .kv-value{grid-column:1/-1}}.plain-list{margin:0;padding:0;list-style:none}.plain-list>li{border-bottom:1px solid var(--border);padding:.4rem 0}.plain-list>li:last-child{border-bottom:0}.order-row{border:1px solid var(--border);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.45rem .5rem;display:flex}.order-row.dragging{opacity:.55}.order-row.excluded{opacity:.6}.order-handle{cursor:grab;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:4px;padding:.1rem .35rem;font-size:.8rem}.order-title{flex:1;min-width:10rem}.token-once{border:1px solid var(--warning);background:var(--warning-soft);color:var(--fg);border-radius:var(--radius);flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem;display:flex}.token-value{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.token-value code{word-break:break-all;background:var(--surface);border:1px solid var(--border);border-radius:6px;flex:1;min-width:12rem;padding:.35rem .5rem}.pager{justify-content:center;margin-top:.75rem;display:flex}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:min(22rem,100%);box-shadow:var(--shadow);border-radius:10px;padding:1.5rem}.login-card h1{margin-bottom:.35rem}.login-card .hint{margin-bottom:1rem}.notice-actions{flex-wrap:wrap;gap:.5rem;display:flex}
