@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(./cormorant-garamond-latin-ext-ltf1AbuM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(./cormorant-garamond-latin-CUoBjw-S.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(./cormorant-garamond-latin-ext-ltf1AbuM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(./cormorant-garamond-latin-CUoBjw-S.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(./cormorant-garamond-latin-ext-ltf1AbuM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(./cormorant-garamond-latin-CUoBjw-S.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(./cormorant-garamond-latin-ext-ltf1AbuM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(./cormorant-garamond-latin-CUoBjw-S.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(./jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(./jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(./outfit-latin-ext-DdQaqQDo.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(./outfit-latin-ext-DdQaqQDo.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(./outfit-latin-ext-DdQaqQDo.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(./outfit-latin-ext-DdQaqQDo.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(./outfit-latin-Bc-8i84L.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg:#ffffff;--bg2:#f6f4f2;--bg3:#eceae7;--bg4:#e2dfda;--bd:#dcd7d1;--bd2:#c9c3bb;--tx:#1c1b1a;--tx2:#5d584f;--tx3:#8b857c;--accent:#d22630;--accent2:#a81d26;--green:#3f7a4f;--mx-bg:#f6f4f2;--mx-label:#5d584f;--mx-label-dim:#8b857c;--mx-label-active:#a81d26;--glass:rgba(255,255,255,.92);--hair:rgba(0,0,0,.03);--r:4px;--r2:8px}:root[data-theme=dark]{color-scheme:dark;--bg:#1a1817;--bg2:#211f1d;--bg3:#2a2725;--bg4:#35312e;--bd:#39352f;--bd2:#4b463f;--tx:#f1ede8;--tx2:#c9c3bb;--tx3:#948d84;--accent:#e8464f;--accent2:#ff6a63;--green:#5fb373;--mx-bg:#232020;--mx-label:#c9c3bb;--mx-label-dim:#8f887f;--mx-label-active:#ff6a63;--glass:rgba(28,26,24,.92);--hair:rgba(255,255,255,.05)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;padding:0;font-size:1rem;line-height:1}.theme-toggle:hover{border-color:var(--accent);color:var(--accent2)}.lang-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;padding:0 .4rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;letter-spacing:.03em}.lang-toggle:hover{border-color:var(--accent);color:var(--accent2)}.perf-btn{padding:.3rem .55rem;font-size:.9rem;line-height:1}.perf-btn.on{border-color:var(--accent);color:var(--accent2)}.perf-hud{position:absolute;top:10px;right:10px;z-index:6;width:230px;background:var(--glass);backdrop-filter:blur(8px);border:1px solid var(--bd2);border-radius:var(--r);padding:.55rem .65rem;font-size:.72rem;box-shadow:0 6px 22px #00000029}.perf-hd{display:flex;justify-content:space-between;align-items:center;font-weight:600;letter-spacing:.02em;color:var(--tx2);margin-bottom:.4rem}.perf-x{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:.8rem;padding:0 .1rem}.perf-x:hover{color:var(--accent2)}.perf-grid{display:grid;grid-template-columns:auto 1fr;gap:.16rem .6rem;align-items:baseline}.perf-grid span{color:var(--tx3)}.perf-grid b{font-family:JetBrains Mono,monospace;font-weight:500;text-align:right;color:var(--tx)}.perf-grid b.ok{color:#3f7a4f}.perf-grid b.warn{color:#b5892a}.perf-grid b.bad{color:var(--accent2)}.perf-run{width:100%;margin-top:.5rem;padding:.32rem;font-size:.72rem}.perf-bench{margin-top:.45rem;padding-top:.45rem;border-top:1px solid var(--bd)}.perf-note{margin-top:.5rem;color:var(--tx3);font-size:.66rem;line-height:1.4}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--tx);font-family:Outfit,Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.55;overflow:hidden}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:5px}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.hdr{display:flex;align-items:center;gap:1.1rem;padding:.55rem 1.4rem;background:var(--bg2);border-top:3px solid var(--accent);border-bottom:1px solid var(--bd);flex-shrink:0}.hdr-logo svg{height:32px;display:block}.hdr-title{flex:1;min-width:0}.hdr-title h1{font-family:Cormorant Garamond,serif;font-size:1.18rem;font-weight:600;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-title p{font-size:.68rem;color:var(--tx3);letter-spacing:.04em}.badge{background:var(--bg4);border:1px solid var(--bd2);color:var(--tx2);font-size:.66rem;padding:.16rem .5rem;border-radius:100px;font-family:JetBrains Mono,monospace;letter-spacing:.03em;white-space:nowrap}.badge.p2{border-color:#d2263066;color:var(--accent2);background:#d226300f}.file-btn{background:none;border:1px solid var(--bd);color:var(--tx3);padding:.28rem .75rem;border-radius:var(--r);font-size:.78rem;transition:all .15s;white-space:nowrap}.file-btn:hover{border-color:var(--accent);color:var(--accent2)}.tabs{display:flex;background:var(--bg2);border-bottom:1px solid var(--bd);padding:0 1rem;flex-shrink:0;overflow-x:auto}.tab{display:flex;align-items:center;gap:.4rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--tx3);padding:.6rem .85rem;font-size:.83rem;margin-bottom:-1px;white-space:nowrap;transition:color .15s}.tab:hover{color:var(--tx)}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.tab-cnt{font-family:JetBrains Mono,monospace;font-size:.66rem;color:var(--tx3);background:var(--bg4);padding:.04rem .34rem;border-radius:100px}.content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.3rem 0}.sec-hdr{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.7rem;flex-wrap:wrap;flex-shrink:0}.sec-hdr h2{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.sec-hdr .hint{color:var(--tx3);font-size:.76rem;flex:1;min-width:120px}.frow{display:flex;gap:.5rem;margin-bottom:.7rem;flex-shrink:0;flex-wrap:wrap;align-items:center}.sl{background:var(--bg3);border:1px solid var(--bd2);color:var(--tx2);padding:.4rem .6rem;border-radius:var(--r);font-size:.82rem;cursor:pointer}.sl:focus{border-color:var(--accent)}.btn{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:.42rem .9rem;border-radius:var(--r);font-size:.82rem;font-weight:600;transition:background .15s;white-space:nowrap}.btn:hover{background:var(--accent2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:none;color:var(--tx2);border:1px solid var(--bd2)}.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent2);background:var(--bg3)}.tb-label{font-size:.72rem;color:var(--tx3);text-transform:uppercase;letter-spacing:.04em}.zoom{accent-color:var(--accent)}.score{display:flex;gap:.4rem;margin-left:auto}.sc{background:var(--bg3);border:1px solid var(--bd2);border-radius:var(--r);padding:.2rem .55rem;font-size:.7rem;color:var(--tx2)}.sc b{font-family:JetBrains Mono,monospace;font-weight:500;color:var(--tx);margin-left:.3rem}.sc.up b{color:var(--green)}.sc-spin{display:inline-block;width:.62em;height:.62em;margin-left:.4rem;vertical-align:-.05em;border:2px solid var(--bd2);border-top-color:var(--accent);border-radius:50%;animation:sc-spin .7s linear infinite}@keyframes sc-spin{to{transform:rotate(360deg)}}.score.scoring .sc.up b{color:var(--tx)}.mx-grid{display:grid;grid-template-columns:1fr 340px;gap:.9rem;flex:1;overflow:hidden;padding-bottom:1rem;min-height:0}.mx-wrap{position:relative;border:1px solid var(--bd);border-radius:var(--r);background:var(--bg2);overflow:hidden}.mx-wrap canvas{position:absolute;inset:0;width:100%;height:100%}.mx-wrap .gl{cursor:crosshair}.mx-hint{position:absolute;bottom:10px;left:10px;background:var(--glass);border:1px solid var(--bd2);color:var(--tx2);font-size:.7rem;padding:.3rem .55rem;border-radius:var(--r);z-index:2;pointer-events:none}.det{overflow-y:auto;border:1px solid var(--bd);border-radius:var(--r);background:var(--bg2);padding:1rem 1.1rem}.det-empty{color:var(--tx3);text-align:center;padding:3.5rem 1rem;font-style:italic;font-size:.85rem}.det-head{border-bottom:1px solid var(--bd);padding-bottom:.7rem;margin-bottom:.8rem}.det-head h3{font-family:Cormorant Garamond,serif;font-size:1.45rem;font-weight:600;line-height:1.1;word-break:break-word}.det-head .sub{color:var(--tx2);font-size:.78rem;margin-top:.15rem;font-family:JetBrains Mono,monospace;word-break:break-word}.det-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.kv{display:grid;grid-template-columns:118px 1fr;gap:.26rem .7rem;margin:.5rem 0}.kv dt{color:var(--tx3);font-size:.75rem}.kv dd{font-size:.84rem;word-break:break-word}.kv dd.mono{font-family:JetBrains Mono,monospace;font-size:.8rem}.blk{font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600;color:var(--accent);margin:1rem 0 .4rem}.ctag{display:inline-block;font-size:.64rem;padding:.1rem .5rem;border-radius:var(--r);font-family:JetBrains Mono,monospace;border:1px solid;background:var(--hair)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}.legend{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;font-size:.72rem;color:var(--tx2);padding:.2rem 0 .7rem;flex-shrink:0}.legend .l{display:flex;align-items:center;gap:.32rem}.placeholder{flex:1;display:flex;align-items:center;justify-content:center;border:1px dashed var(--bd2);border-radius:var(--r);background:var(--bg2);margin-bottom:1rem;color:var(--tx3);font-style:italic;text-align:center;padding:2rem}.drop-overlay{position:fixed;inset:0;background:#d226300f;border:3px dashed var(--accent);z-index:50;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:1.6rem;color:var(--accent2)}.exp{position:relative}.exp-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg);border:1px solid var(--bd2);border-radius:var(--r2);box-shadow:0 8px 28px #00000024;z-index:40;min-width:210px;padding:.35rem;overflow:hidden}.exp-grp{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tx3);padding:.5rem .6rem .2rem}.exp-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;background:none;border:none;text-align:left;padding:.4rem .6rem;border-radius:var(--r);font-size:.84rem;color:var(--tx)}.exp-item:hover:not(:disabled){background:var(--bg3);color:var(--accent2)}.exp-item:disabled{opacity:.5}.exp-sub{font-family:JetBrains Mono,monospace;font-size:.66rem;color:var(--tx3)}.seg{display:inline-flex;border:1px solid var(--bd2);border-radius:var(--r);overflow:hidden}.seg-b{background:var(--bg3);border:none;color:var(--tx2);padding:.4rem .7rem;font-size:.8rem}.seg-b.on{background:var(--accent);color:#fff;font-weight:600}.seg-b:not(.on):hover{background:var(--bg4)}.chip-btn{background:var(--bg3);border:1px solid var(--bd2);color:var(--tx2);padding:.24rem .6rem;border-radius:100px;font-size:.76rem}.chip-btn.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.chip-btn:not(.on):hover{border-color:var(--accent);color:var(--accent2)}.ann-in{background:var(--bg3);border:1px solid var(--bd2);color:var(--tx);padding:.36rem .55rem;border-radius:var(--r);font-size:.82rem;font-family:inherit}.ann-in:focus{border-color:var(--accent)}.metatab{width:100%;border-collapse:collapse;font-size:.82rem}.metatab thead th{position:sticky;top:52px;background:var(--bg3);text-align:left;color:var(--tx2);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;padding:.45rem .7rem;border-bottom:1px solid var(--bd2);z-index:1}.metatab tbody td{padding:.3rem .7rem;border-bottom:1px solid var(--bd);vertical-align:middle}.metatab tbody tr:hover{background:var(--bg3)}.metatab .sl{padding:.24rem .5rem;font-size:.8rem}.progress{position:relative;display:inline-flex;align-items:center;min-width:150px;height:20px;background:var(--bg3);border:1px solid var(--bd2);border-radius:100px;overflow:hidden}.progress>i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:100px;transition:width .12s linear}.progress>em{position:relative;margin:0 auto;font-family:JetBrains Mono,monospace;font-size:.64rem;font-style:normal;color:var(--tx);mix-blend-mode:luminosity}.filter-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-bottom:.6rem;padding:.4rem .5rem;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r2)}.fchip{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;padding:.2rem .55rem;border:1px solid var(--bd2);border-radius:100px;background:var(--bg);color:var(--tx2);cursor:pointer;font-family:inherit;line-height:1.4;transition:background .1s,border-color .1s}.fchip:hover:not(:disabled){border-color:var(--tx3);color:var(--tx)}.fchip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fchip.on .dot{outline:1px solid rgba(255,255,255,.7)}.fchip.reset{color:var(--accent2);border-color:var(--accent2)}.fchip:disabled{opacity:.45;cursor:not-allowed}.fchip .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.filter-banner{margin-bottom:.6rem;padding:.4rem .7rem;font-size:.76rem;color:var(--accent2);background:#d226300f;border:1px solid rgba(210,38,48,.25);border-radius:var(--r);flex-shrink:0}.minimap{position:absolute;right:10px;bottom:10px;z-index:3;padding:4px;background:var(--glass);border:1px solid var(--bd2);border-radius:var(--r);box-shadow:0 2px 10px #0000001f;line-height:0}.minimap canvas{position:static;inset:auto;width:auto;height:auto;display:block;cursor:crosshair;border-radius:2px}.filter-bar .num{width:52px;font-size:.72rem;padding:.15rem .3rem;border:1px solid var(--bd2);border-radius:var(--r);background:var(--bg);color:var(--tx);font-family:inherit}.filter-bar .num:focus{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}*:focus:not(:focus-visible){outline:none}.tab:focus-visible{outline-offset:-3px}.skip-link{position:absolute;left:.5rem;top:-3rem;z-index:100;background:var(--accent);color:#fff;padding:.5rem .9rem;border-radius:0 0 var(--r) var(--r);font-size:.85rem;font-weight:600;transition:top .15s}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.restore-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--bd2);border-left:3px solid var(--accent);border-radius:var(--r);padding:.6rem .85rem;margin-bottom:.8rem;font-size:.85rem;color:var(--tx2)}.restore-actions{display:flex;gap:.5rem;flex-shrink:0}.install-chip{position:fixed;right:1rem;bottom:1rem;z-index:20;display:inline-flex;align-items:center;gap:.4rem;background:var(--accent);color:#fff;border:none;border-radius:100px;padding:.55rem 1rem;font-size:.82rem;font-weight:600;box-shadow:0 6px 20px #d2263052;cursor:pointer}.install-chip:hover{filter:brightness(1.06)}.share-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;padding:.34rem .7rem}.share-btn:hover{border-color:var(--accent);color:var(--accent2)}.toast{position:fixed;left:50%;bottom:1.2rem;transform:translate(-50%);z-index:30;background:var(--tx);color:var(--bg);padding:.55rem 1rem;border-radius:100px;font-size:.82rem;box-shadow:0 6px 22px #00000040;max-width:90vw;text-align:center}
