:root{--accent:#ff6b1a;--accent-press:#e85a0c;--accent-tint:#ff6b1a26;--red:#ff3b30;--green:#34c759;--bg:#f2f2f7;--card:#fff;--card-2:#f2f2f7;--fill:#7878801f;--fill-2:#78788033;--label:#000;--label-2:#3c3c4399;--label-3:#3c3c434d;--sep:#3c3c432e;--stage-top:#eef0f4;--stage-bottom:#d7dae1;--glass-bg:#fafafccc;--glass-rim:#ffffffd9;--glass-edge:#0000000f;--glass-shadow:0 10px 30px #0000001f, 0 2px 6px #0000000f;--sheet-bg:#f8f8faf0;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", system-ui, sans-serif;--display:-apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, "Segoe UI", system-ui, sans-serif;--rounded:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--spring:cubic-bezier(.34, 1.4, .64, 1);--ease:cubic-bezier(.32, .72, 0, 1);--safe-t:env(safe-area-inset-top);--safe-b:env(safe-area-inset-bottom);--tab-h:64px;--tab-gap:max(12px, var(--safe-b));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent-tint:#ff6b1a38;--red:#ff453a;--green:#30d158;--bg:#000;--card:#1c1c1e;--card-2:#2c2c2e;--fill:#7676803d;--fill-2:#7676805c;--label:#fff;--label-2:#ebebf599;--label-3:#ebebf54d;--sep:#54545880;--stage-top:#2a2f3a;--stage-bottom:#12151b;--glass-bg:#2c2c308c;--glass-rim:#ffffff29;--glass-edge:#ffffff0f;--glass-shadow:0 10px 30px #00000073, 0 2px 6px #0000004d;--sheet-bg:#1c1c1ef0}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--label);font:17px/1.3 var(--sans);letter-spacing:-.015em;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button,input{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer}[hidden]{display:none!important}.mono{font-family:var(--rounded);font-variant-numeric:tabular-nums;letter-spacing:0}.card{background:var(--card);border-radius:26px}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(22px)saturate(190%);backdrop-filter:blur(22px)saturate(190%);box-shadow:inset 0 1px 0 var(--glass-rim), inset 0 0 0 .5px var(--glass-edge), var(--glass-shadow)}#viewport{background:radial-gradient(120% 90% at 50% 38%, var(--stage-top), var(--stage-bottom));touch-action:none;cursor:grab;position:fixed;inset:0}#viewport.over-part{cursor:pointer}#viewport.grabbing{cursor:grabbing}#viewport canvas{width:100%;height:100%;display:block}.topbar{--fade:var(--stage-top);z-index:10;padding:calc(var(--safe-t) + 14px) max(20px, env(safe-area-inset-right)) 10px max(20px, env(safe-area-inset-left));background:linear-gradient(to bottom, var(--fade) 0%, color-mix(in srgb, var(--fade) 85%, transparent) 60%, transparent 100%);pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:fixed;top:0;left:0;right:0}body.lib .topbar{--fade:var(--bg)}.topbar>*{pointer-events:auto}.top-lead:empty,.top-trail:empty{display:none}.top-titles{flex:1;min-width:0}.caption{text-transform:uppercase;letter-spacing:.02em;color:var(--label-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.caption:empty{display:none}#navTitle{font:800 32px/1.1 var(--display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.top-trail{align-items:center;gap:8px;padding-bottom:2px;display:flex}.circle-btn{width:44px;height:44px;color:var(--label);transition:transform .35s var(--spring);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.circle-btn svg{width:22px;height:22px}.circle-btn:active{transform:scale(.9)}.chip-btn{height:44px;color:var(--accent);transition:transform .35s var(--spring);border:0;border-radius:22px;align-items:center;gap:4px;padding:0 16px;font-size:16px;font-weight:600;display:inline-flex}.chip-btn:active{transform:scale(.94)}.streak{height:44px;color:var(--accent);border-radius:22px;align-items:center;gap:5px;padding:0 14px;font-size:16px;font-weight:700;display:inline-flex}.legend{z-index:5;top:var(--legend-top,100px);left:max(20px, env(safe-area-inset-left));color:var(--label-2);white-space:nowrap;pointer-events:none;border-radius:999px;gap:12px;padding:6px 12px;font-size:12px;font-weight:500;display:flex;position:fixed}.dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.dot.red{background:#ff453a}.dot.green{background:#30d158}.view-controls{z-index:5;top:var(--legend-top,100px);right:max(16px, env(safe-area-inset-right));border-radius:23px;flex-direction:column;align-items:center;width:46px;padding:3px 0;display:flex;position:fixed}.vc-btn{width:46px;height:44px;color:var(--label);transition:transform .35s var(--spring), color .2s;background:0 0;border:0;place-items:center;padding:0;display:grid}.vc-btn svg{width:22px;height:22px}.vc-btn:active{transform:scale(.86)}.vc-btn .ic-view,.vc-btn[aria-pressed=true] .ic-part{display:none}.vc-btn[aria-pressed=true] .ic-view{display:block}.vc-btn[aria-pressed=true]{color:var(--accent)}.vc-sep{background:var(--sep);width:24px;height:.5px}.dock{z-index:6;left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(var(--tab-gap) + var(--tab-h) + 10px);border-radius:30px;max-width:520px;margin:0 auto;padding:14px 14px 12px;position:fixed}.dock-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{flex-direction:column;align-items:center;gap:1px;min-width:0;padding:0 4px;display:flex}.stat+.stat{border-left:.5px solid var(--sep)}.k{color:var(--label-2);white-space:nowrap;font-size:12px;font-weight:500}.v{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:21px;font-weight:700;overflow:hidden}.dock-status,.dock-hint{text-align:center;color:var(--label-2);margin:10px 4px 0;font-size:13px}.dock-hint:empty{display:none}.dock-hint b{color:var(--label);font-weight:600}.dock-status{justify-content:center;align-items:center;gap:8px;display:flex}.dock-actions{gap:8px;margin-top:12px;display:flex}.dock-actions:empty{display:none}.btn{white-space:nowrap;min-height:52px;transition:transform .4s var(--spring), background .15s, opacity .2s;border:0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:7px;padding:0 20px;font-size:17px;font-weight:600;display:inline-flex}.btn svg{flex:none;width:19px;height:19px}.btn:active:not(:disabled){transform:scale(.95)}.btn:disabled{opacity:.35;cursor:default}.btn.filled{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff4d,0 6px 16px #ff6b1a4d}.btn.filled:active:not(:disabled){background:var(--accent-press)}.btn.tinted{background:var(--accent-tint);color:var(--accent)}.btn.plain{background:var(--fill);color:var(--label)}.btn.narrow{flex:none}.btn:focus-visible,.circle-btn:focus-visible,.chip-btn:focus-visible,.vc-btn:focus-visible,.tab:focus-visible,.seg button:focus-visible,.row:focus-visible,.link:focus-visible,.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.link{color:var(--accent);background:0 0;border:0;padding:8px 4px;font-size:17px;font-weight:600}.tabbar{z-index:10;left:50%;bottom:var(--tab-gap);width:min(100% - 32px,400px);height:var(--tab-h);border-radius:999px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid;position:fixed;transform:translate(-50%)}.tab{color:var(--label);letter-spacing:0;transition:color .2s, background .3s var(--ease), transform .4s var(--spring);border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:11px;font-weight:600;text-decoration:none;display:flex;position:relative}.tab svg{width:26px;height:26px}.tab:active{transform:scale(.92)}.tab[aria-current=page]{color:var(--accent);background:var(--fill)}.library{z-index:8;-webkit-overflow-scrolling:touch;padding:var(--lib-top,110px) max(16px, env(safe-area-inset-right)) calc(var(--tab-gap) + var(--tab-h) + 24px) max(16px, env(safe-area-inset-left));background:var(--bg);position:fixed;inset:0;overflow-y:auto}.library>*{max-width:640px;margin-left:auto;margin-right:auto}.dropzone{border:1.5px dashed var(--label-3);cursor:pointer;transition:border-color .2s, background .2s, transform .4s var(--spring);align-items:center;gap:14px;padding:16px;display:flex}.dropzone:active{transform:scale(.98)}.dropzone.over,body.dragging .dropzone{border-color:var(--accent);background:var(--accent-tint)}.drop-icon{background:var(--accent);color:#fff;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;display:grid;box-shadow:inset 0 1px #ffffff4d}.drop-icon svg{width:28px;height:28px}.drop-text{flex-direction:column;gap:2px;display:flex}.drop-text small{color:var(--label-2);font-size:13px}.section-head{color:var(--label);justify-content:space-between;align-items:baseline;margin:26px auto 8px;padding:0 18px;font-size:15px;font-weight:600;display:flex}.list{margin:0 auto;padding:0;list-style:none;overflow:hidden}.list:empty{display:none}.list li{animation:row-in .4s var(--spring) both;align-items:center;display:flex}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.list li+li .row{box-shadow:inset 0 .5px 0 var(--sep)}.row{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;min-height:64px;padding:10px 14px 10px 16px;display:flex}.row:active{background:var(--fill)}.thumb{background:var(--card-2);width:42px;height:42px;color:var(--label-2);border-radius:12px;flex:none;place-items:center;display:grid}.thumb svg{width:24px;height:24px}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-text b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.row-text small{color:var(--label-2);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.chev{color:var(--label-3);font-size:22px;line-height:1}.row-del{background:var(--red);color:#fff;width:30px;height:30px;transition:transform .35s var(--spring);border:0;border-radius:50%;flex:none;place-items:center;margin:0 14px 0 4px;padding:0;font-size:20px;font-weight:700;line-height:1;display:grid}.row-del:active{transform:scale(.85)}.footnote{color:var(--label-2);margin:10px auto 0;padding:0 18px;font-size:13px}.scrim{z-index:20;opacity:0;transition:opacity .35s var(--ease);background:#00000024;position:fixed;inset:0}.scrim.open{opacity:1}.sheet{z-index:21;left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:max(8px, var(--safe-b));max-width:560px;max-height:calc(100dvh - var(--safe-t) - 60px);background:var(--sheet-bg);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);box-shadow:inset 0 1px 0 var(--glass-rim), 0 20px 60px #0000004d;transition:transform .5s var(--ease);border-radius:36px;flex-direction:column;margin:0 auto;display:flex;position:fixed;transform:translateY(calc(100% + 24px))}.sheet.open{transform:translateY(0)}.sheet.dragging{transition:none}.sheet:focus{outline:none}.sheet-grab{touch-action:none;cursor:grab;padding:7px 0 0}.grabber{background:var(--label-3);border-radius:3px;width:36px;height:5px;margin:0 auto}.sheet-head{touch-action:none;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:4px 12px 0;display:grid}.sheet-head h2{text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:700;overflow:hidden}.sheet-head .circle-btn{background:var(--fill);width:36px;height:36px;color:var(--label-2);justify-self:end}.sheet-head .circle-btn svg{width:16px;height:16px}.sheet-body{padding:6px 18px 18px;overflow-y:auto}.hero{align-items:center;gap:14px;padding:2px 2px 14px;display:flex}.ring{flex:none;width:68px;height:68px}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:9px;stroke-linecap:round}.ring .track{stroke:var(--fill-2)}.ring .fill{stroke:var(--accent);stroke-dasharray:213.6;stroke-dashoffset:213.6px;transition:stroke-dashoffset 1s cubic-bezier(.2,.8,.2,1)}.hero-text{min-width:0}.score{font-size:36px;font-weight:800;line-height:1}.score small{color:var(--label-2);font-size:17px;font-weight:600}.verdict{margin-top:4px;font-weight:700}.hero-sub{color:var(--label-2);margin-top:2px;font-size:13px}.seg{background:var(--fill);border-radius:999px;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:3px;display:grid;position:relative}.seg button{z-index:1;min-height:34px;color:var(--label-2);background:0 0;border:0;border-radius:999px;font-size:14px;font-weight:600;transition:color .2s;position:relative}.seg button[aria-pressed=true]{color:var(--label)}.seg:before{content:"";background:var(--card);width:calc(50% - 3px);transition:transform .45s var(--spring);border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 3px 8px #0000001f,0 1px 1px #0000000a}.seg.right:before{transform:translate(100%)}@media (prefers-color-scheme:dark){.seg:before{background:#636366}}.compare{border-radius:22px;grid-template-columns:minmax(0,1fr) auto auto;font-size:15px;display:grid}.compare>*{box-shadow:inset 0 .5px 0 var(--sep);white-space:nowrap;padding:9px 16px}.compare>.head{box-shadow:none;color:var(--label-2);padding-top:10px;padding-bottom:4px;font-size:12px;font-weight:600}.compare>.num{text-align:right;font-weight:600}.compare>.worse{color:var(--red)}.compare>.muted{color:var(--label-2)}.sheet .section-head{margin-top:14px;padding:0 6px}.share{font-family:var(--mono);white-space:pre-wrap;border-radius:20px;margin:0;padding:12px 16px;font-size:13px;line-height:1.45}.sheet-actions{gap:10px;margin-top:16px;display:flex}.toast{z-index:30;top:calc(var(--safe-t) + 10px);color:#fff;text-align:center;opacity:0;max-width:min(92vw,420px);transition:transform .5s var(--spring), opacity .2s;background:#000;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:600;position:fixed;left:50%;transform:translate(-50%)scale(.6,.4);box-shadow:0 10px 30px #0000004d}.toast.show{opacity:1;transform:translate(-50%)scale(1)}.toast.error:before{content:"";vertical-align:1px;background:#ff453a;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.spinner{border:2px solid var(--fill-2);border-top-color:var(--label-2);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}body.lib .legend,body.lib .dock,body.lib .view-controls{display:none}@media (width<=360px){#navTitle{font-size:28px}.v{font-size:18px}.btn{padding:0 12px;font-size:16px}}@media (width>=900px){.dock{width:380px;left:auto;right:24px;bottom:calc(var(--tab-gap) + var(--tab-h) + 24px);margin:0}.view-controls{right:24px}}@media (prefers-reduced-motion:reduce){*,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.section-head .count{color:var(--label-2);font-weight:500}.catalog-head{margin-top:30px}.cat-head{text-transform:uppercase;letter-spacing:.02em;color:var(--label-2);margin:18px auto 8px;padding:0 6px;font-size:13px;font-weight:600}.part-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;display:grid}.part-card{background:var(--card);text-align:left;transition:transform .4s var(--spring);animation:row-in .4s var(--spring) both;border:0;border-radius:22px;flex-direction:column;align-items:stretch;gap:6px;padding:8px 8px 10px;display:flex}.part-card:active{transform:scale(.95)}.part-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pc-thumb{aspect-ratio:1;background:radial-gradient(90% 90% at 50% 35%, var(--card-2), color-mix(in srgb, var(--card-2) 70%, var(--label-3)));border-radius:15px;place-items:center;display:grid;position:relative;overflow:hidden}.pc-thumb img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .35s var(--ease)}.pc-thumb img.loaded{opacity:1}.pc-thumb .spinner{position:absolute}.pc-name{padding:0 4px;font-size:14px;font-weight:600;line-height:1.2}body.lib .topbar{background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);transition:padding .3s var(--ease), box-shadow .3s}body.lib.scrolled .topbar{padding-top:calc(var(--safe-t) + 8px);box-shadow:0 .5px 0 var(--sep);padding-bottom:8px}#navTitle{transition:font-size .3s var(--ease)}body.lib.scrolled #navTitle{font-size:20px}body.lib.scrolled .caption{display:none}.pc-badge{letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000059;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.pc-badge.lv1{background:#34c759e6}.pc-badge.lv2{background:#007affd9}.pc-badge.lv3{background:#ff6b1aeb}.pc-badge.lv4{background:#ff3b30f2}.menu{z-index:40;transform-origin:100% 0;opacity:0;min-width:230px;max-width:calc(100vw - 24px);transition:transform .35s var(--spring), opacity .2s;border-radius:22px;padding:6px;position:fixed;transform:scale(.85)}.menu.open{opacity:1;transform:scale(1)}.menu-item{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:8px;width:100%;padding:9px 12px 9px 6px;display:flex}.menu-item:hover,.menu-item:focus-visible{background:var(--fill);outline:none}.mi-check{width:22px;color:var(--accent);flex:none;place-items:center;display:grid}.mi-check svg{width:18px;height:18px}.mi-text{flex-direction:column;display:flex}.mi-text b{font-size:16px;font-weight:600}.mi-text small{color:var(--label-2);font-size:12px}.mi-text small:empty{display:none}
