:root{--gamebar-h:52px}.gamebar{z-index:50;height:var(--gamebar-h);border-bottom:1px solid var(--panel-border);background:#120e1f;flex:none;align-items:center;gap:.75rem;padding:0 .9rem;display:flex;position:sticky;top:0}.gamebar-brand{border-radius:6px;flex:none;align-items:center;display:flex}.gamebar-brand img{opacity:.92;width:auto;height:34px;transition:opacity .15s;display:block}.gamebar-brand:hover img{opacity:1}.back-to-map{white-space:nowrap;min-height:34px;color:var(--text);background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;align-items:center;gap:.4rem;padding:0 .85rem 0 .6rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.back-to-map:hover,.back-to-map:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}.back-to-map .icon{width:17px;height:17px}.back-to-map-arrow{font-size:1.25rem;line-height:.8}.pmenu{min-width:0;margin-left:auto;position:relative}.pbadge{max-width:100%;min-height:36px;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:3px 11px 3px 3px;transition:border-color .15s;display:flex}.pbadge:hover,.pbadge[aria-expanded=true]{border-color:var(--accent)}.pbadge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pavatar{width:28px;height:28px;color:var(--accent);background:#2a2342;border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;line-height:1;display:grid;position:relative}.pavatar-big{width:40px;height:40px;font-size:1.2rem}.pavatar-test{color:#1a1404;background:#d9b25c;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.66rem;font-weight:800;display:grid;position:absolute;top:-5px;right:-7px;box-shadow:0 0 0 2px #120e1f}.pbadge-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:11rem;font-size:.92rem;font-weight:700;overflow:hidden}.pbadge-caret{color:var(--muted);font-size:.65rem;transition:transform .15s}.pbadge[aria-expanded=true] .pbadge-caret{transform:rotate(180deg)}.pmenu-panel{z-index:10;background:#17132a;border:1px solid #3a3058;border-radius:12px;width:min(320px,100vw - 16px);max-height:calc(100dvh - 80px);position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 16px 36px #0009}.pmenu-head{border-bottom:1px solid var(--panel-border);align-items:center;gap:.75rem;padding:.85rem .9rem;display:flex}.pmenu-who{flex-direction:column;min-width:0;line-height:1.25;display:flex}.pmenu-who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pmenu-who span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.pmenu-list{margin:0;padding:.35rem;list-style:none}.pmenu-exit{border-top:1px solid var(--panel-border)}.pmenu-item{width:100%;min-height:42px;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.7rem;padding:.5rem .65rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.pmenu-item .icon{width:19px;height:19px;color:var(--muted);flex:none}.pmenu-item:hover,.pmenu-item:focus-visible{background:#ffffff0f;outline:none}.pmenu-item:hover .icon,.pmenu-item:focus-visible .icon{color:var(--text)}.pmenu-item.is-danger,.pmenu-item.is-danger .icon{color:var(--danger)}.pmenu-count{text-align:center;color:#1a1404;background:#d9b25c;border-radius:999px;min-width:1.3rem;padding:0 .35rem;font-size:.75rem;font-weight:800}.pmenu-go{color:var(--muted);margin-left:auto;font-size:1.3rem;line-height:1}.pmenu-sub{border-bottom:1px solid var(--panel-border);align-items:center;gap:.55rem;padding:.55rem .75rem;display:flex}.pmenu-sub .icon{width:19px;height:19px;color:var(--muted)}.pmenu-back{width:34px;height:34px;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:8px;place-items:center;font-size:1.4rem;line-height:1;display:grid}.pmenu-back:hover{border-color:var(--accent)}.test-body{flex-direction:column;gap:.7rem;padding:.9rem;display:flex}.hud{z-index:3;max-width:calc(100% - 356px);position:absolute;top:12px;left:12px}.hud-strip{border:1px solid var(--panel-border);background:#171325f2;border-radius:12px;flex-wrap:nowrap;align-items:stretch;display:flex;overflow:hidden;box-shadow:0 6px 18px #00000059}.hud-item{--tint:var(--muted);min-width:0;min-height:42px;font:inherit;text-align:left;color:var(--text);border:0;border-left:1px solid var(--panel-border);cursor:pointer;background:0 0;flex:0 auto;align-items:center;gap:.5rem;padding:.3rem .75rem;display:flex}.hud-item:first-child{border-left:0}.hud-item:hover,.hud-item.is-open{background:#ffffff0d}.hud-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hud-item .icon{width:18px;height:18px;color:var(--tint);flex:none}.hud-body{flex-direction:column;flex:104px;gap:4px;width:104px;min-width:26px;display:flex}.hud-text{white-space:nowrap;justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.64rem;line-height:1;display:flex}.hud-label{text-overflow:ellipsis;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;overflow:hidden}.hud-val{font-variant-numeric:tabular-nums;color:var(--text);display:none}.hud-bar{background:#0b0912;border-radius:3px;height:5px;display:block;overflow:hidden}.hud-bar span{background:var(--tint);border-radius:inherit;height:100%;transition:width .6s,background-color .4s;display:block}.hud-lvl{font-variant-numeric:tabular-nums;width:25px;height:28px;color:var(--accent-text);background:var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);flex:none;place-items:center;font-size:.82rem;font-weight:800;line-height:1;display:grid}.hud-money strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.hud-xp{--tint:var(--accent)}.hud-money{--tint:#b9a36a}.hud-fame{--tint:#8f7fd6}.hud-heat{--tint:#6d86b8}.hud-heat.heat-spotted{--tint:#c9a24a}.hud-heat.heat-watched{--tint:#cf7a45}.hud-heat.heat-targeted{--tint:#d6495b}.hud-item .is-hot .beacon-dome{animation:.9s step-end infinite gyro}@keyframes gyro{0%{fill:#5b83d6;stroke:#5b83d6}50%{fill:#d6495b;stroke:#d6495b}}.hud-detail{border:1px solid var(--panel-border);background:#171325f7;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;width:max-content;max-width:min(340px,100%);margin-top:6px;padding:.6rem .8rem;font-size:.88rem;display:flex;box-shadow:0 6px 18px #00000059}.hud-detail-val{color:var(--muted);font-variant-numeric:tabular-nums}.hud-detail p{color:var(--muted);flex-basis:100%;margin:.25rem 0 0;font-size:.82rem;line-height:1.4}@media (width>=1360px){.hud-body{flex-basis:176px;width:176px}.hud-val{text-overflow:ellipsis;display:inline;overflow:hidden}}@media (width<=900px){.hud{max-width:none;top:8px;left:8px;right:8px}.hud-item{flex:1 1 0;min-height:40px;padding:.3rem .6rem}.hud-money{flex:none}.hud-body{flex:1 1 0;width:auto}.hud-detail{width:auto;max-width:none}}@media (width<=640px){.hud-item{gap:.4rem;padding:.3rem .5rem}.hud-text{display:none}.hud-bar{height:6px}.hud-item .icon{width:17px;height:17px}.hud-lvl{width:23px;height:26px;font-size:.78rem}.hud-money strong{font-size:.86rem}}@media (width<=400px){.hud-item{padding:.3rem .4rem}.hud-money .icon{display:none}}.settings-dialog{width:min(460px,100vw - 24px);color:var(--text);background:0 0;border:0;padding:0;overflow:visible}.settings-dialog::backdrop{background:#06040cbf}.settings-inner{background:#17132a;border:1px solid #3a3058;border-radius:14px;overflow:hidden;box-shadow:0 24px 60px #000000b3}.settings-head{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem .8rem 1.1rem;display:flex}.settings-head h2{margin:0;font-size:1.05rem;font-weight:800}.settings-close{width:36px;height:36px;font:inherit;color:var(--muted);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:8px;place-items:center;font-size:1.5rem;line-height:1;display:grid}.settings-close:hover{color:var(--text);border-color:var(--accent)}.settings-body{flex-direction:column;gap:1.2rem;padding:1.1rem;display:flex}.settings-section h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .2rem;font-size:.72rem;font-weight:700}.settings-hint{color:var(--muted);margin:0 0 .7rem;font-size:.86rem}.settings-choices{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.settings-choice{min-height:52px;font:inherit;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);cursor:pointer;border-radius:10px;align-items:center;gap:.7rem;padding:.5rem .7rem;font-weight:700;transition:border-color .15s;display:flex}.settings-choice:hover{border-color:#4a3f6e}.settings-choice-code{letter-spacing:.04em;width:34px;height:34px;color:var(--muted);background:#ffffff0f;border-radius:8px;place-items:center;font-size:.78rem;font-weight:800;display:grid}.settings-choice.is-on{border-color:var(--accent)}.settings-choice.is-on .settings-choice-code{color:var(--accent-text);background:var(--accent)}@media (width<=640px){:root{--gamebar-h:46px}.gamebar{gap:.5rem;padding:0 .6rem}.gamebar-brand img{height:28px}.back-to-map{min-height:32px;padding:0 .7rem 0 .5rem;font-size:.82rem}.pbadge{min-height:34px}.pbadge-name{max-width:7.5rem}}@media (width<=430px){.back-to-map-text{display:none}.back-to-map{padding:0 .6rem 0 .5rem}}@media (width<=340px){.pbadge{padding-right:8px}.pbadge-name{display:none}}:root{--bg:#0d0b14;--panel:#171325;--panel-border:#2c2542;--text:#ece8f6;--muted:#a49cbc;--accent:#b6ff3c;--accent-text:#10130a;--danger:#ff5b6e;--ok:#5be0a0;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h1{margin:0 0 .6rem;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.15}h2{margin:0 0 .4rem;font-size:1.2rem}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.topbar nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.brand{color:var(--text);align-items:center;text-decoration:none;display:flex}.brand img{width:auto;height:48px;display:block}.page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:2rem 1rem 3rem}.narrow{flex-direction:column;gap:1rem;max-width:460px;margin:0 auto;display:flex}.hero-logo{width:min(100%,440px);height:auto;margin:0 0 1.4rem;display:block}.hero .lead{color:var(--muted);max-width:40rem;font-size:1.15rem}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);padding:1.1rem}.form{flex-direction:column;gap:.9rem;display:flex}.field{flex-direction:column;gap:.3rem;display:flex}.field-label{color:var(--muted);font-size:.9rem}.field-hint{color:var(--muted);font-size:.82rem}input:not([type=checkbox]){font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;padding:.65rem .75rem}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check{align-items:flex-start;gap:.6rem;font-size:.92rem;display:flex}.check input{accent-color:var(--accent);margin-top:.25rem}.btn{font:inherit;text-align:center;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:999px;padding:.6rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-small{padding:.35rem .9rem;font-size:.92rem}.btn-danger{background:var(--danger);border-color:var(--danger);color:#20060a}.btn:disabled{opacity:.6;cursor:wait}.link-btn{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.notice{border-radius:8px;margin:0;padding:.6rem .8rem;font-size:.95rem}.notice-error{border:1px solid var(--danger);background:#ff5b6e1f}.notice-ok{border:1px solid var(--ok);background:#5be0a01f}.danger{border-color:var(--danger)}.separator{text-align:center;color:var(--muted);margin:0}.google-button{justify-content:center;min-height:44px;display:flex}.lang-switch{border:1px solid var(--panel-border);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.3rem .7rem;font-size:.82rem;font-weight:700}.lang-switch button.on{background:var(--accent);color:var(--accent-text)}.test-gauges{border-top:1px solid var(--panel-border);flex-direction:column;gap:.4rem;padding-top:.7rem;display:flex}.test-slider{grid-template-columns:6.5rem 1fr;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.test-slider input{accent-color:var(--accent)}.test-title{margin:0;font-weight:800}.test-intro{color:var(--muted);margin:0;font-size:.85rem}.test-list{flex-direction:column;gap:.6rem;display:flex}.test-switch{cursor:pointer;align-items:flex-start;gap:.6rem;display:flex}.test-switch input{opacity:0;width:1px;height:1px;position:absolute}.test-track{background:var(--panel-border);border-radius:999px;flex:none;width:36px;height:20px;margin-top:2px;transition:background .15s;position:relative}.test-track:after{content:"";background:var(--muted);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.test-switch.on .test-track{background:#ffd16659}.test-switch.on .test-track:after{background:#ffd166;transform:translate(16px)}.test-switch input:focus-visible+.test-track{outline:2px solid var(--accent);outline-offset:2px}.test-switch input:disabled+.test-track{opacity:.6}.test-text{flex-direction:column;gap:.15rem;display:flex}.test-text small{color:var(--muted);font-size:.8rem}.test-off{align-self:flex-start;font-size:.85rem}.test-off:disabled{opacity:.5;cursor:default}.prose p{margin:0 0 .9rem}.note{color:var(--muted);font-style:italic}.muted{color:var(--muted)}.catalogue .lead{color:var(--muted);max-width:44rem}.shop-hero{border:1px solid var(--panel-border);border-radius:var(--radius);height:clamp(210px,30vw,430px);margin:0 0 1.1rem;position:relative;overflow:hidden}.shop-decor-slot{border-radius:var(--radius);background:radial-gradient(ellipse at 50% 0%, #2a2836 0%, var(--bg) 70%);position:fixed;overflow:hidden}.shop-decor-slot.is-hidden{visibility:hidden;pointer-events:none}.shop-decor{opacity:0;transition:opacity .6s;position:absolute;inset:0}.shop-decor.is-ready{opacity:1}.shop-decor-canvas{width:100%;height:100%;display:block}.shop-decor-loader{margin:-21px 0 0 -21px;position:absolute;top:50%;left:50%}.shop-hero:after{content:"";pointer-events:none;background:linear-gradient(#0d0b1400,#0d0b14d9);height:50%;position:absolute;inset:auto 0 0}.shop-hero h1{z-index:1;text-shadow:0 2px 12px #0009;margin:0;position:absolute;bottom:.7rem;left:1.1rem}.tabs{flex-wrap:wrap;gap:.4rem;margin:1.2rem 0;display:flex}.tab{font:inherit;color:var(--muted);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .9rem;font-size:.92rem;font-weight:600}.tab-active{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1rem;display:grid}.gear{flex-direction:column;gap:.8rem;min-width:0;display:flex}.gear p{margin:0}.gear-head{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.gear-head h2{margin:0}.gear-head .btn{flex-shrink:0}.gear-actions{flex-wrap:wrap;flex-shrink:0;gap:.5rem;display:flex}.specs{grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.95rem;display:grid}.specs dt{color:var(--muted)}.specs dd{text-align:right;margin:0}.specs-result{border-top:1px solid var(--panel-border);padding-top:.6rem}.specs dt.specs-section{border-top:1px solid var(--panel-border);color:var(--text);grid-column:1/-1;margin-top:.5rem;padding-top:.6rem;font-weight:700}.specs dd.specs-section{display:none}.specs dt.specs-wide{color:var(--text);grid-column:1/-1;margin-top:.3rem}.cargo-warn{color:var(--warn,#f0b03c);font-size:.88rem}.licence-badge{border:1px solid var(--accent);text-align:center;min-width:2.2rem;color:var(--accent);white-space:nowrap;border-radius:6px;padding:.05rem .4rem;font-size:.82rem;font-weight:800;display:inline-block}.licence-list{flex-wrap:wrap;gap:.25rem;display:inline-flex}.licence-notes{white-space:normal;min-width:16rem;max-width:38rem;display:block}.mount{flex-direction:column;gap:.6rem;display:flex}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;width:100%;min-width:0;padding:.55rem .6rem}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fit{font-size:.92rem}.fit-reference,.fit-compatible{color:var(--ok)}.fit-other{color:var(--danger)}.fit-factory{color:var(--muted)}.estimated{-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;cursor:help;white-space:nowrap}.table-scroll{border:1px solid var(--panel-border);border-radius:var(--radius);overflow-x:auto}.gear-table{border-collapse:collapse;width:100%;font-size:.92rem}.gear-table th,.gear-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--panel-border);white-space:nowrap;padding:.55rem .7rem}.gear-table th{color:var(--muted);background:var(--panel);font-weight:600}.gear-table tbody tr:last-child td{border-bottom:0}.dt{flex-direction:column;gap:.8rem;display:flex}.dt-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.7rem 1rem;display:flex}.dt-filters{flex-direction:column;gap:.6rem;min-width:0;display:flex}.dt-controls,.dt-selects{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dt-search input{border-radius:999px;width:min(260px,100%);padding:.5rem .9rem}.dt-size{color:var(--muted);align-items:center;gap:.4rem;font-size:.9rem;display:flex}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--panel-border);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .55rem .35rem .9rem;font-size:.92rem;font-weight:600;transition:border-color .15s,background-color .15s;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip-count{text-align:center;min-width:1.6rem;color:var(--muted);background:#ffffff12;border-radius:999px;padding:.05rem .4rem;font-size:.8rem}.chip-active{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.chip-active .chip-count{color:var(--accent-text);background:#00000024}.dt-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:600;display:inline-flex}.dt-sort:hover,.dt-sort-active{color:var(--text)}.dt-arrow{opacity:.45;font-size:.72rem}.dt-sort-active .dt-arrow{color:var(--accent);opacity:1}.gear-table .dt-num{text-align:right}.dt-num .dt-sort{flex-direction:row-reverse}.gear-table td.dt-thumb,.gear-table th.dt-thumb{vertical-align:middle;width:1%;padding:.4rem 0 .4rem .6rem}.dt-table td{vertical-align:middle}.dt-row-click{cursor:pointer;transition:background-color .12s}.dt-row-click:hover{background:#b6ff3c0d}.dt-row-click:hover .dt-open{color:var(--accent)}.dt-open{font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.dt-empty{color:var(--muted);text-align:center!important;padding:2rem 1rem!important}.dt-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;display:flex}.dt-info{margin:0;font-size:.9rem}.dt-pages{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.dt-pages button{min-width:2.2rem;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .75rem;font-size:.9rem;font-weight:600}.dt-pages button:hover:not(:disabled){border-color:var(--accent)}.dt-pages button.active{color:var(--accent-text);background:var(--accent);border-color:var(--accent)}.dt-pages button:disabled{opacity:.4;cursor:default}.dt-gap{color:var(--muted);padding:0 .2rem}.thumb{border:1px solid var(--panel-border);object-fit:cover;background:#14121c;border-radius:10px;width:72px;height:72px;display:block}.thumb-empty{color:var(--panel-border);justify-content:center;align-items:center;display:flex}.family{border:1px solid;border-radius:999px;padding:.05rem .55rem;font-size:.82rem;font-weight:700;display:inline-block}.family-sub{color:#9b8cff}.family-kick{color:#ff8a5b}.family-full{color:#ffd84d}.family-mid{color:#5bd1ff}.family-top{color:var(--accent)}.shop-hint{margin:.6rem 0 0;font-size:.9rem}.box-3d-dialog-sheet{width:min(1240px,100vw - 32px)}.box-3d-body{flex-direction:column;gap:1rem;display:flex}.box-3d-view{flex-direction:column;gap:.6rem;min-width:0;display:flex}.box-3d-side{min-width:0}.specs-price{color:var(--accent);font-size:1.15rem;font-weight:700}@media (width>=900px){.box-3d-dialog-sheet .box-3d-body{grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);align-items:start;display:grid}.box-3d-dialog-sheet .wall-3d{height:clamp(380px,68vh,680px)}}@media (width<=640px){.dt-search,.dt-search input,.dt-controls{width:100%}.box-3d-dialog-sheet .wall-3d{height:300px}}.lead-more,.dt-sortbar{display:none}@media (width<=640px){.page{padding:.7rem .75rem 2.5rem}.shop-hero{height:104px;margin-bottom:.6rem}.spinner.shop-decor-loader{width:28px;height:28px;margin:-14px 0 0 -14px;top:38%}.shop-hero h1{font-size:1.35rem;bottom:.45rem;left:.8rem}.lead-box:not(.is-open) .lead{-webkit-line-clamp:2;line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lead-box .lead{margin:0;font-size:.92rem}.lead-more{margin-top:.15rem;font-size:.85rem;display:inline-block}.tabs,.chips,.dt-selects{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-left:-.75rem;margin-right:-.75rem;padding:2px .75rem;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.chips::-webkit-scrollbar{display:none}.dt-selects::-webkit-scrollbar{display:none}.tabs{margin-top:.7rem;margin-bottom:.6rem}.tab,.chip,.dt-selects .sel{white-space:nowrap;flex:none}.tab,.chip{min-height:38px}.dt{gap:.6rem}.dt-toolbar,.dt-filters{gap:.5rem}.dt-filters{width:100%}.dt-controls{flex-wrap:nowrap}.dt-search{flex:1;min-width:0}.dt-size{display:none}.dt-sortbar{flex:none;align-items:center;gap:.3rem;max-width:58%;display:flex}.dt-sortbar .sel{min-width:0}.dt-sortdir{width:2.35rem;height:2.35rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);cursor:pointer;border-radius:50%;flex:none;font-size:.8rem}.dt .table-scroll{border:0;border-radius:0;overflow:visible}.dt-table,.dt-table tbody{display:block}.dt-table thead{display:none}.dt-table tr{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:.6rem;margin-bottom:.5rem;padding:.55rem .6rem;display:grid}.gear-table.dt-table td{text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:.2rem 0;font-size:.88rem;display:block}.gear-table.dt-table td .estimated{white-space:normal}.gear-table.dt-table td.dt-thumb{grid-area:1/1;width:auto;padding:0}.dt-table .thumb{width:56px;height:56px}.gear-table.dt-table td.dt-main{grid-area:1/1/auto/-1;min-height:56px;padding:0 0 .3rem 66px;font-size:.95rem}.dt-table td[data-label]:before{content:attr(data-label);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.64rem;font-weight:600;display:block}.gear-table.dt-table td.dt-empty{grid-column:1/-1}.dt-footer{justify-content:center}}.page-wide{max-width:1500px}.wall-page{flex-direction:column;gap:1rem;display:flex}.wall-page h1,.wall-page .lead{margin:0}.wall-page .lead{color:var(--muted);max-width:52rem}.wall-page h2{margin:0 0 .6rem;font-size:1.1rem}.wall-page .ok{color:var(--ok)}.wall-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1.2rem;display:flex}.wall-toolbar>.field,.wall-add .field{width:210px}.wall-add,.wall-actions{align-items:flex-end;gap:.5rem;display:flex}.wall-actions{flex-wrap:wrap}.wall-heading{margin:.4rem 0 0}.wall-3d-help{margin:-.7rem 0 0;font-size:.92rem}.wall-3d{border:1px solid var(--panel-border);border-radius:var(--radius);background:#05060c;height:clamp(380px,58vh,660px);position:relative;overflow:hidden}.wall-3d-canvas{cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.wall-3d-canvas:active{cursor:grabbing}.wall-3d-views{z-index:1;border:1px solid var(--panel-border);background:#0d0b14c7;border-radius:999px;gap:4px;padding:4px;display:flex;position:absolute;top:12px;left:12px}.wall-3d-views button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .85rem;font-size:.88rem;font-weight:600}.wall-3d-views button:hover{background:#ffffff14}.wall-3d-views button.active{background:var(--accent);color:var(--accent-text)}.wall-3d-tip{z-index:2;pointer-events:none;border:1px solid var(--panel-border);white-space:nowrap;text-overflow:ellipsis;background:#0d0b14eb;border-radius:8px;max-width:280px;padding:.35rem .7rem;font-size:.88rem;position:absolute;overflow:hidden}.wall-3d-loading,.wall-3d-msg{text-align:center;color:var(--muted);justify-content:center;align-items:center;display:flex}.wall-3d-msg{margin:0;padding:1.5rem;position:absolute;inset:0}.box-3d-dialog{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);width:min(960px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--text);padding:0}.box-3d-dialog::backdrop{background:#05040abf}body:has(.box-3d-dialog[open]){overflow:hidden}.box-3d-inner{flex-direction:column;gap:.8rem;padding:1rem;display:flex}.box-3d-head{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.box-3d-head h2,.box-3d-head p,.box-3d-help{margin:0}.box-3d-close{width:2.4rem;height:2.4rem;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;font-size:1.6rem;line-height:1}.box-3d-close:hover{border-color:var(--accent)}.loading-overlay{z-index:3;text-align:center;color:var(--muted);background:#14121c;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:1.5rem;transition:opacity .35s,visibility .35s;display:flex;position:absolute;inset:0}.loading-overlay.is-done{opacity:0;visibility:hidden;pointer-events:none}.spinner{border:3px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spinner-turn}@keyframes spinner-turn{to{transform:rotate(360deg)}}.box-3d{height:max(240px,min(620px,100dvh - 210px))}.box-3d-help{font-size:.92rem}.wall-message{color:var(--muted);min-height:1.4em;margin:0 0 .5rem;font-size:.92rem}.wall-message.is-pending{color:var(--accent)}.wall-scroll{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);overflow-x:auto}.wall-scroll svg{-webkit-user-select:none;user-select:none;display:block}.wall-scroll svg.is-dragging{cursor:grabbing}.wall-zone{fill:#ffffff05}.wall-grid line{stroke:#ffffff0f}.wall-ground{stroke:var(--muted);stroke-width:2px}.wall-person{fill:#3a3354}.wall-label{fill:var(--text);font-size:13px;font-weight:600}.wall-label-small{fill:var(--muted);font-size:10px}.wall-device{cursor:pointer}.wall-device-face{fill:var(--bg);stroke:var(--panel-border);stroke-width:1.5px}.wall-device.is-selected .wall-device-face{stroke:var(--accent);stroke-width:2.5px}.wall-box{cursor:grab;touch-action:none}.wall-box-face{stroke:#0009;stroke-width:1.5px}.wall-box-mouth{fill:#00000059}.wall-box-name{fill:var(--text);pointer-events:none;font-size:10px}.wall-box.is-selected .wall-box-face{stroke:var(--accent);stroke-width:2.5px}.wall-box.is-falling .wall-box-face{stroke:var(--danger);stroke-width:2.5px;stroke-dasharray:6 4}.wall-cable{cursor:pointer}.wall-cable-hit{fill:none;stroke:#0000;stroke-width:12px}.wall-cable-line{fill:none;stroke-width:2.5px;stroke-linecap:round;opacity:.85}.wall-cable:hover .wall-cable-line{stroke-width:4px;opacity:1}.wall-cable-pending{stroke-width:2.5px;stroke-dasharray:6 4;pointer-events:none}.wall-socket{stroke-width:2px;cursor:pointer}.wall-socket:hover{stroke:var(--accent)}.wall-socket.is-pending{stroke:var(--accent);stroke-width:3px}.wall-socket.is-target{stroke:var(--accent);animation:1s ease-in-out infinite alternate wall-blink}@keyframes wall-blink{0%{stroke-opacity:1}to{stroke-opacity:.3}}.wall-panels{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:1rem;display:grid}.wall-side,.wall-results{flex-direction:column;gap:1rem;min-width:0;display:flex}.wall-side>.card.muted{margin:0}.wall-outputs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.6rem;display:grid}.wall-score{color:var(--muted);margin:0 0 .4rem}.wall-score strong{color:var(--text);font-size:2.2rem}.wall-bar{background:var(--bg);border-radius:4px;height:8px;overflow:hidden}.wall-bar span{background:var(--accent);height:100%;display:block}.wall-small{margin:.6rem 0 0;font-size:.85rem}.wall-issues{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.wall-issue{border-left:3px solid var(--muted);padding:.35rem 0 .35rem .7rem;font-size:.93rem}.wall-issue .link-btn{text-align:left;font:inherit;color:inherit}.wall-issue-error{border-left-color:var(--danger)}.wall-issue-warning{border-left-color:#ffb347}.wall-issue-info{color:var(--muted);border-left-color:#5bc0ff}@media (width<=860px){.wall-panels{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.box-3d-dialog{border:0;border-radius:0;width:100vw;height:100dvh;max-height:100dvh;margin:0}.box-3d-inner{min-height:100%;padding:.8rem}.box-3d-head{z-index:4;background:var(--panel);border-bottom:1px solid var(--panel-border);margin:-.8rem -.8rem 0;padding:.7rem .8rem;position:sticky;top:0}.box-3d-body,.box-3d-view{flex:1;min-height:0}.box-3d{flex:1;height:auto;min-height:240px}.box-3d-dialog-sheet .box-3d-body,.box-3d-dialog-sheet .box-3d-view{flex:none}.box-3d-dialog-sheet .box-3d{flex:none;height:min(42dvh,340px);min-height:220px}.page{padding-top:1.2rem}.gear-head{flex-direction:column}.wall-toolbar>.field,.wall-add{width:100%}.wall-add .field{flex:1;width:auto}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{line-height:0;display:inline-flex}.icon svg{width:100%;height:100%}.ico-fill{fill:currentColor}.game-shell{height:100dvh;min-height:0}.page-game{flex:1;max-width:none;min-height:0;padding:0;display:flex}.game-message{margin:2rem auto}.map-pin-home,.place-home,.map-pin-candidate{--kind:var(--accent)}.map-pin-garage,.place-garage{--kind:#ffd166}.map-pin-sono,.place-sono{--kind:#ff7ad9}.map-pin-records,.place-records{--kind:#5bc0ff}.map-pin-trucks,.place-trucks{--kind:#ff9f43}.game{inset:var(--gamebar-h) 0 0 0;z-index:1;pointer-events:none;position:fixed;overflow:hidden}.game>*{pointer-events:auto}.game-map-host{inset:var(--gamebar-h) 0 0 0;z-index:0;background:#f2f3f0;position:fixed;overflow:hidden}.game-map-host.is-hidden{visibility:hidden;pointer-events:none}.game-map{position:absolute;inset:0}.game-map-canvas{width:100%;height:100%}.game-map-status{z-index:1;text-align:center;max-width:min(90%,420px);color:var(--muted);background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);margin:0;padding:.6rem 1rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-map-status.is-error{color:var(--text);border-color:var(--danger)}.game-error{z-index:3;background:var(--panel);border-radius:8px;width:min(90%,460px);position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.game-map-host .maplibregl-ctrl-attrib,.game-map-host .maplibregl-ctrl-attrib a{color:#333}@media (hover:none){.game-map-host .maplibregl-ctrl-group{display:none}}.map-pin{cursor:default;position:relative}.map-pin.is-open{cursor:pointer}.map-pin-dot{width:36px;height:36px;color:var(--kind);border:2px solid var(--kind);background:#171325;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 0 0 3px #0000001f,0 2px 8px #0000004d}.map-pin-dot svg{width:20px;height:20px}.map-view-toggle{z-index:2;cursor:pointer;background:#3a4a35 50%/cover no-repeat;border:2px solid #fff;border-radius:10px;width:64px;height:64px;padding:0;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 2px 10px #00000059}.map-view-toggle:hover{border-color:var(--accent)}.map-view-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-view-toggle.is-plan{background:linear-gradient(115deg,#0000 0 46%,#fff 46% 53%,#0000 53%),linear-gradient(20deg,#0000 0 62%,#fff 62% 67%,#0000 67%),linear-gradient(160deg,#cdd9e0 0 24%,#0000 24%),#eceeea}.map-view-toggle span{color:#fff;text-align:center;background:linear-gradient(#0000,#000000bf);padding:10px 0 3px;font:700 11px/1.2 system-ui,sans-serif;position:absolute;bottom:0;left:0;right:0}.map-pin-label{white-space:nowrap;color:var(--text);pointer-events:none;background:#0d0b14e0;border-radius:6px;padding:1px 7px;font:600 12px/1.4 system-ui,sans-serif;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.map-pin.is-soon .map-pin-dot{opacity:.9;border-style:dashed;width:30px;height:30px;box-shadow:0 1px 5px #00000040}.map-pin.is-soon .map-pin-dot svg{width:17px;height:17px}.map-pin.is-soon .map-pin-label{color:var(--muted);display:none}.is-close .map-pin.is-soon .map-pin-label,.map-pin.is-soon:hover .map-pin-label{display:block}.map-pin:hover{z-index:3}.map-pin-home{z-index:1}.map-pin-home .map-pin-dot{width:44px;height:44px}.map-pin-home .map-pin-dot svg{width:24px;height:24px}.map-pin-home .map-pin-dot:after{content:"";border:2px solid var(--kind);opacity:0;border-radius:50%;animation:2.6s ease-out infinite pin-wave;position:absolute;inset:-4px}@keyframes pin-wave{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.9)}}.map-pin-candidate .map-pin-dot{animation:1.1s ease-in-out infinite pin-hop}@keyframes pin-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.bar{background:#2a2440;border-radius:99px;height:7px;overflow:hidden}.bar span{border-radius:inherit;height:100%;transition:width .5s,background-color .5s;display:block}.game-panel,.picker{z-index:2;border:1px solid var(--panel-border);border-radius:var(--radius);background:#171325f2;flex-direction:column;gap:.8rem;width:320px;max-height:calc(100% - 100px);padding:1rem;display:flex;position:absolute;top:12px;right:12px;overflow:auto;box-shadow:0 6px 18px #00000059}.game-panel h2,.picker h2{margin:0}.places{margin:0;padding:0;list-style:none}.place{border-bottom:1px solid var(--panel-border);align-items:center;gap:.7rem;padding:.5rem 0;display:flex}.place:last-child{border-bottom:0}.place-icon{width:24px;height:24px;color:var(--kind);flex:none}.place-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.place-text span{color:var(--muted);font-size:.85rem}.place.is-soon .place-text strong{color:var(--muted)}.place-link{min-width:0;color:inherit;flex:1;align-items:center;gap:.7rem;text-decoration:none;display:flex}.place-link:hover strong,.place-link:focus-visible strong{color:var(--accent)}.place-go{color:var(--muted);flex:none;font-size:1.4rem;line-height:1}.place-link:hover .place-go{color:var(--accent)}.badge{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border:1px solid var(--panel-border);border-radius:99px;flex:none;padding:1px 8px;font-size:.7rem}.game-note{color:var(--muted);margin:0;font-size:.85rem}.game-actions{flex-wrap:wrap;gap:.5rem;display:flex}.picker{width:360px}.picker-text,.picker-hint,.picker-privacy{color:var(--muted);margin:0;font-size:.87rem}.picker-results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.picker-results button{width:100%;font:inherit;text-align:left;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:8px;justify-content:space-between;gap:.6rem;padding:.45rem .7rem;display:flex}.picker-results button:hover,.picker-results button.is-on{border-color:var(--accent)}.picker-results span{color:var(--muted);white-space:nowrap;font-size:.85rem}.picker-choice{border:1px dashed var(--accent);border-radius:10px;align-items:center;gap:.7rem;padding:.6rem .75rem;display:flex}.picker-pin{width:26px;height:26px;color:var(--accent);flex:none}.picker-pop{color:var(--muted);font-size:.85rem;display:block}.spot-pending{--spot:#7c5cff}.spot-exposed,.spot-verdict-exposed{--spot:#e5484d}.spot-risky,.spot-verdict-risky{--spot:#f08c00}.spot-isolated,.spot-verdict-isolated{--spot:#1f9d55}.spot-dot{background:var(--spot);border:2px solid #fff;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 1px #0000004d}.sheet-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.sheet-small{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.75rem;display:block}.sheet-close{width:34px;height:34px;color:var(--muted);border:1px solid var(--panel-border);cursor:pointer;background:0 0;border-radius:50%;flex:none;font-size:1.5rem;line-height:1}.sheet-close:hover{color:var(--text)}.spot-where{align-items:center;gap:.7rem;display:flex}.spot-where div{flex-direction:column;line-height:1.3;display:flex}.spot-where span{color:var(--muted);font-size:.85rem}.spot-where-icon{color:#7c5cff;flex:none;width:26px;height:26px}.spot-duration{margin:0}.spot-duration span{color:var(--muted);font-size:.85rem;display:block}.spot-wait{align-items:center;gap:.6rem;display:flex}.spot-clock{font-variant-numeric:tabular-nums;font-size:1.8rem}.bar-spot span{background:#7c5cff}.spot-verdict{background:color-mix(in srgb, var(--spot) 16%, transparent);border:1px solid var(--spot);border-radius:10px;align-items:flex-start;gap:.7rem;padding:.7rem .8rem;display:flex}.spot-verdict .spot-dot{margin-top:.3rem}.spot-verdict div{flex-direction:column;line-height:1.35;display:flex}.spot-verdict span{color:var(--muted);font-size:.85rem}.spot-facts{grid-template-columns:6.5rem 1fr;gap:.45rem .7rem;margin:0;display:grid}.spot-facts dt{color:var(--muted);font-size:.85rem}.spot-facts dd{margin:0;line-height:1.35}.spot-facts dd span:not(.spot-flag){color:var(--muted);font-size:.85rem;display:block}.spot-flag{color:#f2c94c;border:1px solid;border-radius:99px;margin-left:.4rem;padding:0 7px;font-size:.75rem}.spot-source{color:var(--muted);margin:0;font-size:.75rem}.btn.is-soon{cursor:not-allowed}.btn.is-soon .badge{color:inherit;margin-left:.4rem}.btn-dev{color:#5bc0ff;border-style:dashed;border-color:#5bc0ff}.spot-list{border-top:1px solid var(--panel-border);flex-direction:column;gap:.4rem;padding-top:.6rem;display:flex}.spot-list h2{margin:0;font-size:1.1rem}.spot-count{color:var(--muted);margin-left:.3rem;font-size:.85rem;font-weight:400}.spot-list .places li{border-bottom:1px solid var(--panel-border)}.spot-list .places li:last-child{border-bottom:0}.spot-item{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.spot-item:hover strong{color:var(--accent)}.map-target{pointer-events:none;background:#7c5cff;border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 6px #00000059}.map-target span{border:2px solid #7c5cff;border-radius:50%;animation:1.6s ease-out infinite target-pulse;position:absolute;inset:-14px}@keyframes target-pulse{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}.game-menu-btn{display:none}@media (width<=900px){.map-view-toggle{border-radius:9px;width:46px;height:46px;inset:56px auto auto 8px}.map-view-toggle span{padding:6px 0 2px;font-size:9px}.game-menu-btn{z-index:2;min-height:40px;font:inherit;color:var(--text);border:1px solid var(--panel-border);cursor:pointer;background:#171325f2;border-radius:999px;align-items:center;gap:.4rem;padding:0 .8rem 0 .65rem;font-size:.9rem;font-weight:700;display:inline-flex;position:absolute;top:56px;right:8px;box-shadow:0 4px 12px #00000059}.game-menu-btn .icon{width:17px;height:17px;color:var(--accent)}.game-menu-btn.is-open{border-color:var(--accent)}.game-menu-caret{color:var(--muted);font-size:.65rem;transition:transform .15s}.game-menu-btn.is-open .game-menu-caret{transform:rotate(180deg)}.game-panel,.picker{gap:.6rem;width:auto;max-height:calc(62% - 56px);padding:.8rem;top:56px;left:8px;right:8px}.game-map.has-card .map-view-toggle{display:none}.spot-sheet-new>.game-actions,.picker>.game-actions{border-top:1px solid var(--panel-border);background:#171325;margin:0 -.8rem -.8rem;padding:.6rem .8rem .8rem;position:sticky;bottom:-.8rem}.places-panel{max-height:calc(100% - 176px);display:none;top:104px}.places-panel.is-open{display:flex}.place{padding:.35rem 0}}
