:root{--panel:#0e0e11c7;--line:#2c2c31;--text:#e8e6e3;--dim:#8b8985;--accent:#9fd4a6;--warn:#e0b36a;--button:#222226;--button-line:#3a3a40;--dock-w:330px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:12px/1.45 ui-monospace,SF Mono,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:#0d0e10;height:100%;margin:0;overflow:hidden}canvas#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button,select{font:inherit;color:var(--text)}h1,h2,h3{margin:0;font-weight:700}.dim{color:var(--dim);font-weight:400}.spacer{flex:1}#bar{top:max(10px, env(safe-area-inset-top));left:10px;right:calc(var(--dock-w) + 20px);background:var(--panel);-webkit-backdrop-filter:blur(8px);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:flex;position:fixed}.brand{letter-spacing:.12em;white-space:nowrap;margin-right:4px;font-weight:700}#bar select,#bar button{background:var(--button);border:1px solid var(--button-line);cursor:pointer;border-radius:5px;min-height:30px;padding:4px 8px}#bar select{flex:0 auto;min-width:0;max-width:230px}#bar button.icon{min-width:30px;padding:4px 0}#bar button.on{color:#111;background:#e8e8e8}#title{top:calc(max(10px, env(safe-area-inset-top)) + 54px);pointer-events:none;left:18px;right:calc(var(--dock-w) + 20px);text-shadow:0 1px 3px #000;position:fixed}#name{letter-spacing:.02em;font-size:15px}#desc{color:#c9c6c2;margin-top:2px}#desc .warn{color:var(--warn)}#dock{top:max(10px, env(safe-area-inset-top));width:var(--dock-w);background:var(--panel);-webkit-backdrop-filter:blur(8px);border-radius:8px;flex-direction:column;display:flex;position:fixed;bottom:10px;right:10px;overflow:hidden}#dock-handle{display:none}#dock-body{padding:10px 12px 12px;overflow-y:auto}#dock section+section{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}#dock h2{letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px}#dock h2 .dim{text-transform:none;letter-spacing:0;margin-left:6px}.factor+.factor{margin-top:9px}.factor .head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.factor .label{color:var(--dim);text-transform:capitalize}.factor .compare{color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:1px 6px}.factor .compare:hover{border-color:var(--button-line);color:var(--text)}.factor .compare.on{color:#111;background:#e8e8e8}.seg{gap:4px;display:flex}.seg.wrap{flex-wrap:wrap}.seg button{cursor:pointer;background:var(--button);border:1px solid var(--button-line);white-space:nowrap;text-overflow:ellipsis;border-radius:5px;flex:1 1 0;min-width:0;min-height:32px;padding:6px 4px;overflow:hidden}.seg button:hover{border-color:#5a5a62}.seg button.on{color:#111;background:#e8e8e8;border-color:#e8e8e8}.seg button.missing{color:#6d6b68;border-style:dashed}.seg button.missing.on{color:#111}#display button{flex:40%}#measure table{border-collapse:collapse;width:100%}#measure td{padding:2px 0}#measure td.n{text-align:right;font-variant-numeric:tabular-nums}#measure td.unit{color:var(--dim);width:2.5em;padding-left:4px}#measure tr.solved td.built{color:var(--accent)}#measure tr.short td.built{color:var(--warn)}#measure tr.free td.built{color:var(--text)}#measure .note{color:var(--dim);margin-top:6px}#measure .note.warn{color:var(--warn)}#measure .lineup{margin-bottom:8px}#measure .lineup div{justify-content:space-between;display:flex}#measure .lineup .cur{color:var(--text)}#measure .lineup div:not(.cur){color:var(--dim)}.tag{white-space:nowrap;background:var(--panel);color:var(--dim);cursor:pointer;font:inherit;border:0;border-radius:4px;padding:2px 7px;position:fixed;transform:translate(-50%)}.tag.current{color:#111;background:#e8e8e8}#loading{left:calc((100% - var(--dock-w)) / 2);background:var(--panel);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;display:flex;position:fixed;top:50%;transform:translate(-50%,-50%)}#loading[hidden]{display:none}.spinner{border:2px solid var(--dim);border-top-color:var(--text);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#toast{top:64px;left:calc((100% - var(--dock-w)) / 2);opacity:0;pointer-events:none;z-index:30;background:#781e1eeb;border-radius:6px;max-width:90vw;padding:6px 12px;transition:opacity .3s;position:fixed;transform:translate(-50%)}#toast.show{opacity:1}.modal{z-index:20;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.modal .card{border:1px solid var(--line);background:#141417;border-radius:10px;width:min(560px,100%);max-height:100%;padding:18px 20px;position:relative;overflow:auto}.modal .card.wide{width:min(820px,100%)}.modal h2{letter-spacing:.04em;margin-bottom:10px;font-size:15px}.modal h3{color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin:14px 0 6px;font-size:12px}.modal p,.modal li{color:#d6d3cf}.modal ul{padding-left:18px}.modal .keys{color:var(--dim);white-space:pre;margin:0;overflow-x:auto}.modal button.close:not(.primary){color:var(--dim);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1;position:absolute;top:8px;right:10px}.modal button.primary{color:#111;cursor:pointer;background:#e8e8e8;border:0;border-radius:6px;margin-top:16px;padding:8px 14px;font-weight:700}#coverage .legend{color:var(--dim);margin-bottom:8px}#coverage h3{margin-top:14px}#coverage .anc{margin:8px 0 3px}#coverage .scroll{overflow-x:auto}#coverage table{border-collapse:collapse;margin-bottom:4px}#coverage th,#coverage td{text-align:center;border:1px solid var(--line);white-space:nowrap;padding:3px 7px}#coverage th{color:var(--dim);font-weight:400}#coverage td.built{cursor:pointer;color:var(--accent)}#coverage td.built.short{color:var(--warn)}#coverage td.built:hover{background:#2a2a30}#coverage td.current{outline:1px solid var(--text)}#coverage td.designed{color:var(--dim)}#coverage td.none{color:#3a3a40}#fatal{background:#000;place-items:center;display:grid;position:fixed;inset:0}#fatal[hidden],body.ui-hidden #ui>:not(.modal):not(#toast){display:none}body.ui-hidden{cursor:none}@media (max-width:760px){:root{--dock-w:0px}#bar{gap:4px;padding:5px 6px;right:10px}.brand{display:none}#bar select{flex:auto;max-width:none}#coverage-btn,#about-btn{padding:4px 6px}#title{top:calc(max(10px, env(safe-area-inset-top)) + 48px);left:14px;right:14px}#name{font-size:13px}#desc{font-size:11px}#dock{width:auto;max-height:62vh;padding-bottom:env(safe-area-inset-bottom);border-radius:12px 12px 0 0;inset:auto 0 0}#dock-handle{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;min-height:48px;padding:12px 14px;display:flex}#summary{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chev{color:var(--dim);transition:transform .2s}#dock:not(.open) #dock-body{display:none}#dock.open .chev{transform:rotate(180deg)}#loading,#toast{left:50%}.seg button{min-height:36px}}@media (max-width:420px){#coverage-btn{display:none}}
