@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-400.woff2) format("woff2");font-weight:300 800;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/space-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/space-mono-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:VT323;src:url(/fonts/vt323-400.woff2) format("woff2");font-weight:400;font-display:swap}:root{--bg: #131419;--bg2: #181a22;--panel: #1c1e28;--panel2: #232634;--line: #3a3f52;--ink: #0b0c10;--text: #f2ead8;--muted: #a29e8b;--faint: #6e6c60;--yellow: #f7c948;--orange: #f05b3c;--green: #57e389;--purple: #b08cff;--radius: 12px;--shadow: 4px 4px 0 var(--ink);--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-lcd: "VT323", "Space Mono", monospace;--check-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3 3L13 4.8' fill='none' stroke='%230b0c10' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{scroll-behavior:smooth}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}body{margin:0;background-color:var(--bg);background-image:radial-gradient(circle at 12% 6%,rgba(247,201,72,.05),transparent 40%),radial-gradient(circle at 90% 94%,rgba(87,227,137,.05),transparent 44%),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);color:var(--text);font-family:var(--font-display);font-size:15px;line-height:1.5;padding-bottom:40px}.top{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#131419e6;border-bottom:2px solid var(--line);box-shadow:0 4px #0006}.top-inner{max-width:1080px;margin:0 auto;padding:14px 18px 8px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand{display:flex;gap:13px;align-items:center}.logo{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);font-family:var(--font-display);font-weight:700;font-size:24px;color:var(--ink);padding-bottom:2px}h1{font-size:20px;margin:0;letter-spacing:.14em;font-weight:700}.sub{margin:2px 0 0;color:var(--muted);font-size:12.5px}.top-right{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.overall{min-width:230px}.overall-label{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px}#overall-pct{font-family:var(--font-lcd);font-size:22px;color:var(--yellow);line-height:1}.top-actions{display:flex;gap:8px}.tabs{max-width:1080px;margin:6px auto 0;padding:0 18px 12px;display:flex;gap:8px}.tab{background:var(--panel);border:2px solid var(--line);color:var(--muted);padding:8px 15px;border-radius:9px;font-size:12px;cursor:pointer;font-family:var(--font-mono);letter-spacing:.04em;box-shadow:2px 2px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease,color .12s ease}.tab:hover{color:var(--text)}.tab:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.tab.active{background:var(--yellow);color:var(--ink);border-color:var(--ink);font-weight:700}.bar{height:14px;padding:2px;background:#0d0e13;border:2px solid var(--line);border-radius:5px;overflow:hidden}.bar.mini{height:10px;width:110px;padding:1.5px;border-width:1.5px}.bar-fill{height:100%;border-radius:2px;background-image:repeating-linear-gradient(90deg,var(--seg, var(--yellow)) 0 8px,rgba(0,0,0,.55) 8px 11px);transition:width .35s ease}.track .bar-fill{--seg: var(--tc, var(--yellow))}.toolbar{max-width:1080px;margin:20px auto 0;padding:0 18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}#search{flex:1 1 260px;background:#0f1015;border:2px solid var(--line);border-radius:10px;padding:11px 14px;color:var(--text);font-size:13.5px;font-family:var(--font-mono);outline:none;box-shadow:inset 2px 2px #00000059}#search::placeholder{color:var(--faint)}#search:focus{border-color:var(--yellow)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:var(--panel);border:2px solid var(--line);color:var(--muted);padding:7px 11px;border-radius:8px;font-size:11px;cursor:pointer;font-family:var(--font-mono);letter-spacing:.03em;box-shadow:2px 2px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease,color .12s ease}.chip:hover{color:var(--text)}.chip:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.chip.on{background:var(--yellow);color:var(--ink);border-color:var(--ink);font-weight:700}.chip.diff-chip.diff-easy{color:var(--green)}.chip.diff-chip.diff-intermediate{color:var(--yellow)}.chip.diff-chip.diff-hard{color:var(--orange)}.chip.diff-chip.diff-easy.on{background:var(--green);color:var(--ink)}.chip.diff-chip.diff-intermediate.on{background:var(--yellow);color:var(--ink)}.chip.diff-chip.diff-hard.on{background:var(--orange);color:var(--ink)}.toolbar-actions{display:flex;gap:6px}.btn{background:var(--panel2);border:2px solid var(--line);color:var(--text);padding:9px 14px;border-radius:9px;cursor:pointer;font-size:12px;font-family:var(--font-mono);letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease,filter .12s ease}.btn:hover{filter:brightness(1.15)}.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.btn.primary{background:var(--yellow);color:var(--ink);border-color:var(--ink);font-weight:700}.btn.small{padding:7px 11px;font-size:11px}.track{max-width:1080px;margin:26px auto 6px;padding:0 18px}.track-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid var(--line);border-left:6px solid var(--tc, var(--yellow));border-radius:var(--radius);background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 7px,transparent 7px 14px),linear-gradient(180deg,color-mix(in srgb,var(--tc, var(--yellow)) 12%,var(--panel)),var(--panel));box-shadow:var(--shadow)}.track-emoji{font-size:22px}.track-info{flex:1;min-width:0}.track-info h2{margin:0;font-size:17px;letter-spacing:.02em}.track-info p{margin:2px 0 0;color:var(--muted);font-size:12.5px}.track-progress{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-family:var(--font-mono)}.certs{margin-top:4px}.cert-card{border:2px solid var(--line);background:var(--panel);border-radius:var(--radius);margin-top:12px;overflow:hidden;box-shadow:var(--shadow)}.cert-head{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:14px 16px 8px;cursor:pointer}.cert-head:hover h3{color:var(--yellow)}.cert-title h3{margin:0;font-size:16px;letter-spacing:.01em;transition:color .15s ease}.cert-sub{margin:4px 0 0;color:var(--muted);font-size:11px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em}.diffbadge{border-radius:6px;padding:2px 8px;font-size:10px;font-weight:700;border:1.5px solid currentColor;font-family:var(--font-mono);letter-spacing:.04em}.diff-easy{color:var(--green);background:#57e3891a}.diff-intermediate{color:var(--yellow);background:#f7c9481f}.diff-hard{color:var(--orange);background:#f05b3c1f}.cert-progress{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;flex:none;font-family:var(--font-mono)}.cert-progress .count{font-variant-numeric:tabular-nums}.chev{transition:transform .2s ease;color:var(--muted)}.cert-card.open .chev{transform:rotate(180deg)}.meta{display:flex;flex-wrap:wrap;gap:6px;padding:4px 16px 0}.mchip{font-size:10.5px;color:var(--muted);background:transparent;border:1.5px solid var(--line);padding:2px 8px;border-radius:6px;font-family:var(--font-mono);letter-spacing:.02em}.note{margin:8px 16px 0;font-size:12.5px;color:#d9c58c}.note:before{content:"▸ ";color:var(--yellow)}.cert-body{display:none;padding:6px 16px 16px}.cert-card.open .cert-body{display:block}.domain{margin-top:14px;border-top:2px dashed var(--line);padding-top:12px}.domain-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.domain-name{font-weight:600;font-size:14px}.domain-name .done-check{color:var(--green)}.weight{color:var(--muted);font-size:10.5px;font-family:var(--font-mono);border:1.5px solid var(--line);border-radius:6px;padding:1px 8px;letter-spacing:.02em;white-space:nowrap}.topics{display:grid;gap:6px;margin-top:8px}.topic{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;border-radius:9px;background:var(--bg2);border:1.5px solid transparent}.topic:hover{border-color:var(--line)}.topic-check{display:flex;flex:none;cursor:pointer;padding:5px 6px 5px 0;margin:-3px 0}.topic-check input{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin-top:2px;width:17px;height:17px;flex:none;background:#0f1015;border:2px solid var(--line);border-radius:4px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.topic-check input:hover{border-color:var(--muted)}.topic-check input:checked{background-color:var(--green);border-color:var(--ink);background-image:var(--check-img);background-size:12px 12px;background-position:center;background-repeat:no-repeat}.topic-title{flex:1;min-width:0;cursor:pointer}.topic-title:hover{color:var(--yellow)}.topic.done .topic-title{color:var(--faint);text-decoration:line-through;text-decoration-color:#57e3898c}.topic-info-btn{flex:none;background:var(--panel);border:2px solid var(--line);color:var(--muted);border-radius:7px;padding:1px 8px;font-size:12px;line-height:1.5;cursor:pointer;box-shadow:2px 2px 0 var(--ink);transition:transform .08s ease,box-shadow .08s ease,color .12s ease}.topic-info-btn:hover{color:var(--text)}.topic-info-btn:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}.topic-info-btn.open{background:var(--yellow);color:var(--ink);border-color:var(--ink)}.topic-materi{margin:6px 0 10px;padding:11px 15px;border-left:4px solid var(--yellow);background:#101217;border-radius:0 10px 10px 0;font-size:13px}.topic-materi .materi-what{margin:0 0 6px;white-space:pre-line}.topic-materi ul{margin:6px 0;padding-left:18px;color:var(--muted)}.topic-materi li{margin:3px 0}.topic-materi .materi-cmd{display:grid;gap:4px;margin:8px 0}.topic-materi .materi-cmd code{display:block;background:#0b0c10;border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-size:12px;color:var(--green);overflow-x:auto;white-space:pre;font-family:var(--font-mono)}.topic-materi .materi-practice{margin:8px 0 0;color:var(--yellow)}@keyframes flashout{0%,55%{box-shadow:0 0 0 2px var(--green)}to{box-shadow:0 0 0 2px transparent}}.flash{animation:flashout 1.6s ease}.extras{margin-top:12px;color:var(--muted);font-size:13px}.extras p{margin:4px 0}.noresult{max-width:1080px;margin:24px auto;padding:0 18px;color:var(--muted)}.boot{padding:90px 20px;text-align:center;color:var(--muted);font-size:14px;font-family:var(--font-mono)}.panel{max-width:1080px;margin:18px auto 0;padding:18px;border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.panel h2{margin:0 0 8px;font-size:16px;letter-spacing:.02em}.panel ul,.panel ol{margin:6px 0 0;padding-left:20px}.panel li{margin:6px 0}.panel code{background:#0f1015;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:12px;font-family:var(--font-mono);color:var(--green)}.muted{color:var(--muted)}.road-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.road-progress{min-width:170px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-family:var(--font-mono)}.road-list{max-width:1080px;margin:14px auto 0;padding:0 18px;list-style:none}.road-item{margin:10px 0}.road-item label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:14px 16px;border:2px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:3px 3px 0 var(--ink)}.road-item input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:17px;height:17px;margin-top:3px;flex:none;background:#0f1015;border:2px solid var(--line);border-radius:4px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.road-item input:hover{border-color:var(--muted)}.road-item input:checked{background-color:var(--green);border-color:var(--ink);background-image:var(--check-img);background-size:12px 12px;background-position:center;background-repeat:no-repeat}.road-body{display:flex;flex-direction:column;gap:2px}.phase{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--yellow);font-family:var(--font-mono)}.road-title{font-weight:600}.road-note{color:var(--muted);font-size:12.5px}.road-item.done .road-title{color:var(--faint);text-decoration:line-through}.toast{position:fixed;left:50%;bottom:26px;z-index:100;transform:translate(-50%) translateY(16px);background:var(--yellow);border:2px solid var(--ink);color:var(--ink);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;box-shadow:4px 4px 0 var(--ink);max-width:88vw;text-align:center;font-family:var(--font-mono)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}footer{max-width:1080px;margin:34px auto 0;padding:0 18px 26px;color:var(--faint);font-size:11px;text-align:center;font-family:var(--font-mono);letter-spacing:.03em}footer b{color:var(--yellow);letter-spacing:.12em}.tabpane{display:none}.tabpane.active{display:block}@media (max-width: 680px){.top-inner{flex-direction:column;align-items:stretch;gap:10px}.top-right{justify-content:space-between}.cert-head{flex-direction:column;align-items:stretch;gap:8px}.cert-progress{justify-content:space-between}.bar.mini{flex:1;width:auto}.track-head{flex-wrap:wrap}.track-progress{width:100%;justify-content:flex-end}h1{font-size:18px}}.track,.cert-card,.panel,.road-item{scroll-margin-top:150px}.cert-progress .count{font-family:var(--font-lcd);font-size:17px;line-height:1;letter-spacing:.04em}@media (max-width: 680px){.track,.cert-card,.panel,.road-item{scroll-margin-top:230px}}.course-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:12px}.course-card{display:flex;flex-direction:column;gap:9px;padding:14px 16px 13px;border:2px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);cursor:pointer;transition:transform .1s ease,border-color .12s ease}.course-card:hover{border-color:var(--yellow)}.course-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.cc-top{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.cc-title{min-width:0}.cc-title h3{margin:0;font-size:15.5px;letter-spacing:.01em}.cc-arrow{flex:none;color:var(--muted);font-size:18px;line-height:1;transition:transform .12s ease,color .12s ease}.course-card:hover .cc-arrow{color:var(--yellow);transform:translate(3px)}.cc-meta{display:flex;flex-wrap:wrap;gap:6px}.cc-progress{display:flex;align-items:center;gap:10px;margin-top:2px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.cc-progress .bar{flex:1;width:auto}.cc-progress .count{font-family:var(--font-lcd);font-size:16px;line-height:1;letter-spacing:.04em}.cc-pct{font-family:var(--font-lcd);font-size:16px;line-height:1;color:var(--yellow)}.course-page{max-width:1080px;margin:0 auto;padding:0 18px 10px}.back-btn{margin-top:18px}.course-hero{margin-top:12px;padding:16px 18px;border:2px solid var(--line);border-radius:var(--radius);background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 7px,transparent 7px 14px),linear-gradient(180deg,color-mix(in srgb,var(--tc, var(--yellow)) 12%,var(--panel)),var(--panel));box-shadow:var(--shadow)}.ch-title{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between}.course-hero h2{margin:0;font-size:20px;letter-spacing:.02em}.course-hero .meta{padding:6px 0 0}.course-hero .note{margin:8px 0 0}.ch-progress{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.ch-progress .bar{flex:1 1 220px;max-width:460px}.ch-progress .count{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.ch-pct{font-family:var(--font-lcd);font-size:20px;line-height:1;color:var(--yellow)}.ch-progress .btn{margin-left:auto}.modules{margin-top:6px}.domain-meta{display:flex;gap:8px;align-items:center}.dcount{font-family:var(--font-mono);font-size:11px;color:var(--faint)}.domain.complete .dcount{color:var(--green)}.topic-num{flex:none;font-family:var(--font-mono);font-size:11px;color:var(--faint);min-width:30px;padding-top:3px}.topic-wrap{scroll-margin-top:170px}@media (max-width: 680px){.course-grid{grid-template-columns:1fr}.ch-progress .bar{flex:1 1 100%;max-width:none}.topic-wrap{scroll-margin-top:240px}}.track-logo{flex:none;display:grid;place-items:center}.track-logo svg{width:32px;height:32px;display:block;fill:currentColor}.track-logo:hover svg{transform:scale(1.06)}.materi-ringkasan{margin:0 0 10px;padding:9px 12px;border:1.5px dashed var(--line);border-radius:8px;background:#f7c9480f}.materi-tldr{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow);margin-bottom:5px}.materi-ringkasan p{margin:0}.topic-diagram{margin:12px 0;padding:12px;border:1.5px dashed var(--line);border-radius:8px;background:#57e3890d}.diagram-tag{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:10px}.dg{position:relative;height:250px;margin:2px 0 10px}.dg-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dg-lines line{stroke:#f7c94859;stroke-width:2;stroke-dasharray:6 6;animation:dgmarch 1.4s linear infinite}@keyframes dgmarch{to{stroke-dashoffset:-12}}.dg-node{position:absolute;transform:translate(-50%,-50%);background:var(--panel2);border:2px solid var(--line);border-radius:10px;padding:8px 12px;text-align:center;font-size:12px;min-width:96px;transition:border-color .2s ease,box-shadow .25s ease;z-index:2}.dg-node b{display:block;font-size:13px}.dg-node small{color:var(--muted);font-size:10px;font-family:var(--font-mono)}.dg-node.active{border-color:var(--yellow);box-shadow:0 0 0 2px #f7c94840,0 0 16px #f7c9484d}.dg-packet{position:absolute;width:12px;height:12px;border-radius:3px;background:var(--green);box-shadow:0 0 12px #57e389e6;transform:translate(-50%,-50%);z-index:3;transition:left .75s ease,top .75s ease}.dg-label{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:10px;color:var(--yellow);background:#131419eb;padding:2px 7px;border-radius:5px;border:1px solid rgba(247,201,72,.35);white-space:nowrap;z-index:4}.dg-page{display:none;margin-top:6px}.dg-node.show-page .dg-page{display:block}.dg-page i{display:block;height:5px;border-radius:2px;background:var(--green);opacity:.75;margin:3px auto}.dg-page i:nth-child(1){width:72%}.dg-page i:nth-child(2){width:54%}.dg-page i:nth-child(3){width:64%}.dg-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dg-desc{flex:1 1 240px;font-size:12px;min-height:18px}.dg-dots{display:flex;gap:5px}.dg-dot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .2s ease}.dg-dot.on{background:var(--yellow)}@media (max-width: 680px){.dg{height:235px}.dg-node{font-size:11px;padding:6px 9px;min-width:80px}.dg-node small{font-size:9px}}.rfd{height:330px;margin:2px 0 10px;border:1.5px solid var(--line);border-radius:10px;overflow:hidden;background:#0f1015}.rfd .react-flow__attribution{background:transparent}.rfd .react-flow__attribution a{color:var(--faint);font-size:9px}.rfd .react-flow__controls{box-shadow:none;border:1px solid var(--line);border-radius:8px;overflow:hidden}.rfd .react-flow__controls button{background:var(--panel2);border-bottom:1px solid var(--line);color:var(--text);width:24px;height:24px}.rfd .react-flow__controls button:hover{background:var(--panel)}.rfd .react-flow__controls button svg{fill:currentColor}.rfd .react-flow__edge-text{font-size:10px}.rfn{background:var(--panel2);border:2px solid var(--line);border-radius:10px;padding:8px 14px;text-align:center;font-size:12px;min-width:108px;position:relative;transition:border-color .2s ease,box-shadow .25s ease}.rfn b{display:block;font-size:13px}.rfn small{color:var(--muted);font-size:10px;font-family:var(--font-mono)}.rfn.active{border-color:var(--yellow);box-shadow:0 0 0 2px #f7c94840,0 0 16px #f7c9484d}.rfn-badge{position:absolute;top:-10px;right:-9px;font-family:var(--font-mono);font-size:9px;font-weight:700;background:var(--green);color:var(--ink);border-radius:5px;padding:1px 6px;white-space:nowrap}.rfn-badge.warn{background:var(--orange);color:#fff}.rfn-handle{opacity:0;pointer-events:none}@media (max-width: 680px){.rfd{height:300px}.rfn{min-width:92px;padding:6px 10px;font-size:11px}.rfn b{font-size:12px}}.stk{display:grid;gap:6px;margin:2px 0 8px}.stk-layer{border:2px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px 12px;display:flex;align-items:baseline;gap:10px;cursor:pointer;transition:border-color .2s ease,box-shadow .25s ease,opacity .2s ease,margin-left .25s ease}.stk-layer b{font-size:12px}.stk-layer small{color:var(--muted);font-size:10px;font-family:var(--font-mono);margin-left:auto}.stk-layer.on{border-color:var(--yellow);box-shadow:0 0 0 2px #f7c94833,0 0 14px #f7c94840}.stk-layer.ok{border-color:var(--green);box-shadow:0 0 0 2px #57e3892e}.stk-layer.warn{border-color:var(--orange);box-shadow:0 0 0 2px #f05b3c33}.stk-layer.sel{border-color:var(--green)}.stk-note{font-size:12px;color:var(--muted);min-height:16px;margin:0 0 8px}.cmp{display:flex;gap:10px;margin:2px 0 10px;flex-wrap:wrap}.cmp-panel{flex:1 1 160px;border:2px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px 12px;transition:border-color .2s ease,opacity .2s ease,box-shadow .25s ease}.cmp-panel h4{margin:0 0 6px;font-size:13px}.cmp-panel ul{margin:0;padding-left:16px;color:var(--muted);font-size:12px}.cmp-panel li{margin:3px 0}.cmp-panel.on{border-color:var(--yellow);box-shadow:0 0 0 2px #f7c94833,0 0 14px #f7c94840}.cmp-panel.dim{opacity:.45}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.login-card{width:100%;max-width:370px;background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:24px;box-shadow:5px 5px 0 var(--ink)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.login-brand h1{margin:0;font-size:22px;letter-spacing:.08em}.login-sub{color:var(--muted);font-size:12px;margin:0 0 18px;line-height:1.5}.login-card label{display:block;margin-bottom:12px}.login-card label span{display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.login-card input{width:100%;box-sizing:border-box;background:#0f1015;border:2px solid var(--line);border-radius:9px;padding:9px 11px;color:var(--text);font-size:14px;font-family:inherit}.login-card input:focus{outline:none;border-color:var(--yellow)}.login-err{color:var(--orange);font-size:12px;margin:0 0 10px}.login-btn{width:100%}.login-switch{width:100%;margin-top:12px;background:none;border:none;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline;font-family:inherit}.login-switch:hover{color:var(--text)}.user-chip{font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1.5px solid var(--line);border-radius:8px;padding:6px 9px;white-space:nowrap}
