
/* ============ Start — live-tile dashboard ============ */
#start{max-width:none;width:auto;margin:0;padding:6px 8px 48px;position:relative;min-height:82vh}
/* Theme ambient layer sits behind the grid; default (metro) is transparent so
   the site page bg shows through. Themes set --hub-page-bg. */
#start::before{content:"";position:absolute;inset:-40px 0 0;z-index:0;background:var(--hub-page-bg,transparent);background-size:cover;pointer-events:none;transition:opacity .5s;opacity:1}
#start>.hub-hero,#start>.hub-grid,#start>.hub-empty{position:relative;z-index:1}
.hub-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:10px 4px 20px;flex-wrap:wrap}
.hub-greet{font-size:15px;color:var(--t-m43);letter-spacing:.01em;display:flex;align-items:center;gap:8px}
.hub-greet-ic{display:inline-flex;flex:none}
.hub-greet-ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2}
.hub-gt{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:200;font-size:clamp(34px,5.4vw,58px);line-height:1.02;margin:0;color:#fff;letter-spacing:-.02em;overflow-wrap:anywhere}
body.theme-light .hub-gt{color:#151515}
.hub-sub{font-size:13px;color:var(--t-m43);margin-top:9px;min-height:18px;opacity:1;transition:opacity .45s ease}
.hub-sub.fade{opacity:0}
.hub-hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:10px;margin-left:auto}
.hub-date{color:var(--t-m61);font-size:13px;white-space:nowrap}
.hub-actions{display:flex;gap:8px}
.hub-abtn{background:transparent;border:1px solid #333;color:var(--t-mid);border-radius:0;padding:7px 15px;font-size:12.5px;cursor:pointer;letter-spacing:.02em;transition:border-color .15s,color .15s,background .15s}
.hub-abtn:hover{border-color:#107c10;color:#fff}
.hub-abtn.on{background:#107c10;border-color:#107c10;color:#fff}
body.theme-light .hub-abtn{border-color:#c5c5c5;color:#555}
/* ---- grid ---- */
/* auto-fill lets the browser reflow columns live on any width change (window
   resize AND the nav-bar collapse/expand that widens #main-content) with no JS
   measurement — so it always fills and never overflows. --hub-u shrinks only on
   very narrow screens so at least 4 columns (the widest tile span) always fit. */
.hub-grid{display:grid;--hub-u:min(92px,calc((100vw - 32px)/4));grid-template-columns:repeat(auto-fill,var(--hub-u));grid-auto-rows:var(--hub-u);gap:7px;grid-auto-flow:dense;justify-content:center;padding-bottom:10px}
.hub-tile{position:relative;border-radius:0;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .13s ease,opacity .2s;touch-action:manipulation;outline:none}
.hub-tile:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* A11Y-008 (2026-10-08): the tile is a plain container. Its open/select action is
   a real button under the tile art (pointer clicks still land on the art and
   bubble to the grid); its ring is drawn round the whole tile. */
.hub-open{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:none;cursor:pointer;color:inherit}
.hs-s1{grid-column:span 1;grid-row:span 1}
.hs-s2{grid-column:span 2;grid-row:span 2}
.hs-w2{grid-column:span 4;grid-row:span 2}
.hs-t2{grid-column:span 2;grid-row:span 4}
.hs-l4{grid-column:span 4;grid-row:span 4}
.hub-inner{position:absolute;inset:0;overflow:hidden;background:var(--tile-bg,#107c10);color:#fff}
.hub-art{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1.05)}
.hub-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14) 30%,rgba(0,0,0,.68))}
.hub-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.45,.05,.2,1)}
.hub-tile.flipped .hub-flip{transform:rotateX(-180deg)}
.hub-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;padding:10px 12px;overflow:hidden}
.hub-face.back{transform:rotateX(180deg)}
.hub-face .hub-bfill{position:absolute;inset:0;background-size:cover;background-position:center}
.hub-face .hub-bscrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.7))}
.hub-face .hub-btx{position:relative;z-index:2}
.hub-label{position:absolute;left:11px;bottom:7px;right:30px;font-size:11px;font-weight:400;letter-spacing:.02em;color:rgba(255,255,255,.94);z-index:4;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hs-s1 .hub-label{left:8px;bottom:5px;right:8px;font-size:10px}
.hub-badge{position:absolute;right:9px;bottom:7px;z-index:4;font-size:11px;font-weight:600;color:rgba(255,255,255,.95);pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.hub-big{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:200;line-height:1;letter-spacing:-.01em;white-space:nowrap}
.hs-s1 .hub-big{font-size:23px;margin-top:2px}
.hs-s2 .hub-big{font-size:41px;margin-top:6px}
.hs-w2 .hub-big{font-size:46px;margin-top:6px}
.hs-t2 .hub-big{font-size:41px;margin-top:6px}
.hs-l4 .hub-big{font-size:64px;margin-top:8px}
.hub-mid{font-size:12.5px;color:rgba(255,255,255,.86);margin-top:6px}
.hub-tiny{font-size:11px;color:rgba(255,255,255,.72);margin-top:3px}
.hub-bar{height:3px;background:rgba(255,255,255,.25);margin-top:10px;width:100%}
.hub-bar i{display:block;height:100%;background:#fff;transition:width .6s ease}
/* leaderboard rows */
.hub-lbrow{display:flex;align-items:center;gap:7px;padding:3px 0;min-height:24px}
.hub-lbrow img{width:20px;height:20px;border-radius:50%;flex:none;background:#000}
.hub-lbpos{width:20px;flex:none;font-size:11.5px;font-weight:700;color:rgba(255,255,255,.8);text-align:right}
.hub-lbgt{flex:1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-lbval{font-size:11px;color:rgba(255,255,255,.75);white-space:nowrap}
.hub-lbrow.me{background:rgba(255,255,255,.16);margin:0 -6px;padding:3px 6px}
/* recent-games mini grid */
.hub-rgrid{display:grid;gap:5px;margin-top:4px;flex:1;min-height:0;align-content:start}
.hub-rgrid a{display:block;position:relative;padding-top:100%;background:#0007;overflow:hidden}
.hub-rgrid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* installed game → launchable cover: green ring + play badge */
.hub-rgrid a.hub-rl{cursor:pointer;box-shadow:inset 0 0 0 2px rgba(140,224,72,.85)}
.hub-rlp{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:rgba(0,0,0,.32);opacity:0;transition:opacity .15s;text-shadow:0 1px 4px rgba(0,0,0,.6)}
.hub-rl:hover .hub-rlp{opacity:1}
/* feed rows */
.hub-frow{display:flex;gap:8px;align-items:flex-start;padding:5px 0;font-size:11.5px;line-height:1.35}
.hub-frow img{width:24px;height:24px;border-radius:50%;flex:none;background:#000}
.hub-frow .ft{flex:1;overflow:hidden;color:rgba(255,255,255,.92)}
.hub-frow .ft a{color:#fff;font-weight:600;text-decoration:none;pointer-events:none}
.hub-frow .fa{color:rgba(255,255,255,.55);font-size:10px;margin-top:1px}
/* nav tile */
.hub-nav-ic{flex:1;display:flex;align-items:center;justify-content:center}
.hub-nav-ic svg{width:34%;height:34%;max-width:44px;max-height:44px;stroke:#fff;fill:none;stroke-width:1.6}
.hs-s1 .hub-nav-ic svg{width:46%;height:46%}
/* 360 avatar tile: the figure stands on the tile floor. contain (not cover)
   because the render is a full body on transparency and cover decapitates it;
   pixelated because the source is only 150x300 and every tile size upscales. */
.hub-av360{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:8px 8px 20px}
.hub-av360 img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
 image-rendering:pixelated;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}
/* discord tile: connect call-to-action, then the member + XCT server-tag state */
.hub-dc-logo{width:34px;height:26px;fill:#fff;flex:none}
.hub-dc-cta{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding-bottom:16px;cursor:pointer}
.hs-w2 .hub-dc-cta .hub-dc-logo,.hs-t2 .hub-dc-cta .hub-dc-logo{width:46px;height:36px}
.hub-dc-h{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:300;font-size:22px;line-height:1.1;letter-spacing:-.01em}
.hs-s2 .hub-dc-h{font-size:17px}
.hub-dc-me{display:flex;align-items:center;gap:10px;min-width:0}
.hub-dc-av{width:44px;height:44px;border-radius:50%;flex:none;background:rgba(0,0,0,.25);object-fit:cover;display:flex;align-items:center;justify-content:center}
.hs-s2 .hub-dc-av{width:34px;height:34px}
.hub-dc-avlg .hub-dc-logo{width:24px;height:18px}
.hub-dc-nm{display:flex;flex-direction:column;min-width:0}
.hub-dc-nm b{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-dc-nm span{font-size:11px;color:rgba(255,255,255,.72);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-dc-st{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px;font-size:12.5px;color:rgba(255,255,255,.8)}
.hub-dc-st.on{color:#fff;font-weight:600}
.hub-dc-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 4px;background:rgba(0,0,0,.34);font-weight:700;font-size:12px;letter-spacing:.02em;color:#fff}
.hub-dc-chip img{width:16px;height:16px;object-fit:contain}
.hub-dc-hint{margin-top:5px}
.hub-dc-acts{display:flex;gap:14px;margin-top:auto;padding-bottom:14px}
.hub-dc-a{font-size:11px;color:#fff;opacity:.8;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.hub-dc-a:hover{opacity:1}
/* graph */
.hub-chart{flex:1;min-height:0;margin-top:4px}
.hub-chart svg{display:block;width:100%;height:100%}
/* ghost (+) tile */
.hub-ghost{background:none;font-family:inherit;padding:0;border:1px dashed #3a3a3a;color:#555;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:200;transition:border-color .15s,color .15s}
.hub-ghost:hover{border-color:#107c10;color:var(--g-t5)}
/* lock face (subscriber-gated data) */
.hub-lock{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;color:rgba(255,255,255,.85)}
/* ---- edit mode ---- */
.hub-chrome{display:none;position:absolute;inset:0;z-index:6;pointer-events:none}
.hub-grid.editing .hub-tile.sel .hub-chrome{display:block}
.hub-cbtn{position:absolute;width:27px;height:27px;border-radius:50%;background:#fff;color:#111;border:2px solid #111;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 6px rgba(0,0,0,.55);pointer-events:auto;padding:0}
.hub-cbtn:hover{background:#e8ffe8}
.hub-cbtn.hc-x{top:-9px;right:-9px}
.hub-cbtn.hc-sz{bottom:-9px;right:-9px}
.hub-cbtn.hc-bg{bottom:-9px;left:-9px}
.hub-cbtn.hc-nm{top:-9px;left:-9px}
/* A11Y-070: move the tile one place earlier / later without dragging. */
.hub-cbtn.hc-mvl{top:50%;left:-9px;margin-top:-13px;font-size:15px}
.hub-cbtn.hc-mvr{top:50%;right:-9px;margin-top:-13px;font-size:15px}
@keyframes hubWob{0%,100%{transform:rotate(-.55deg)}50%{transform:rotate(.55deg)}}
.hub-grid.editing .hub-tile:not(.sel):not(.dragging){animation:hubWob 2.4s ease-in-out infinite}
.hub-grid.editing .hub-tile:nth-child(2n){animation-delay:-1.2s}
.hub-grid.editing .hub-tile:nth-child(3n){animation-duration:2.8s}
.hub-grid.editing .hub-tile{cursor:grab}
.hub-grid.editing .hub-tile.sel{transform:scale(1.035);z-index:7}
.hub-tile.dragging{opacity:.25;animation:none!important}
.hub-drag-ghost{position:fixed;z-index:100080;pointer-events:none;transform:scale(1.05);opacity:.92;box-shadow:0 18px 50px rgba(0,0,0,.6)}
/* ---- entrance ---- */
@keyframes hubIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
.hub-grid.entering .hub-tile{animation:hubIn .5s cubic-bezier(.2,.8,.3,1) both}
/* ---- empty state ---- */
.hub-empty{text-align:center;padding:60px 16px;color:var(--t-m0)}
.hub-empty h3{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:200;font-size:28px;color:var(--t-mid);margin:0 0 8px}
/* ---- gallery ---- */
.hub-gal-ov{position:fixed;inset:0;background:rgba(5,6,7,.9);backdrop-filter:blur(10px);z-index:100060;display:flex;align-items:stretch;justify-content:center}
.hub-gal{width:min(860px,96vw);margin:4vh auto;background:transparent;display:flex;flex-direction:column;max-height:92vh}
.hub-gal-head{display:flex;align-items:baseline;justify-content:space-between;padding:6px 4px 2px}
.hub-gal-head b{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:200;font-size:34px;color:#fff;letter-spacing:-.01em}
.hub-gal-head button{background:none;border:1px solid #444;color:var(--t-mid);border-radius:0;width:34px;height:34px;font-size:15px;cursor:pointer}
.hub-gal-cats{display:flex;gap:18px;padding:10px 4px 12px;overflow-x:auto;scrollbar-width:none}
.hub-gal-cats::-webkit-scrollbar{display:none}
.hub-gcat{background:none;border:0;padding:0;font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:300;font-size:21px;color:#5d646a;cursor:pointer;white-space:nowrap;letter-spacing:-.01em}
.hub-gcat.on{color:#fff}
.hub-gal-body{flex:1;overflow-y:auto;padding:2px 4px 8px;min-height:200px}
.hub-gitem{display:flex;align-items:center;gap:12px;padding:9px 10px;margin-bottom:4px;background:var(--s-a162);border:1px solid #232427;cursor:default}
.hub-gitem:hover{border-color:#333}
.hub-gsw{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.hub-gsw svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8}
.hub-gsw img{width:34px;height:34px;object-fit:cover}
.hub-gtx{flex:1;min-width:0}
.hub-gtx b{display:block;font-size:13.5px;font-weight:600;color:var(--t-p1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-gtx span{display:block;font-size:11px;color:var(--t-m62);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hub-gpin{flex:none;background:transparent;border:1px solid #2f6b2f;color:var(--g-t5);border-radius:0;padding:6px 14px;font-size:12px;cursor:pointer}
.hub-gpin:hover{background:#107c10;border-color:#107c10;color:#fff}
.hub-gpin[disabled]{opacity:.4;cursor:default}
.hub-gal-foot{padding:10px 4px;display:flex;justify-content:flex-end;gap:8px}
.hub-gal-foot button{background:none;border:1px solid #3a2a2a;color:#c98;border-radius:0;padding:6px 12px;font-size:11.5px;cursor:pointer}
/* ---- paint popover ---- */
#hub-paint{position:fixed;z-index:100070;background:var(--s-a92);border:1px solid #2c2d31;width:262px;padding:12px;display:none;box-shadow:0 14px 40px rgba(0,0,0,.6)}
#hub-paint h5{margin:0 0 7px;font-size:10.5px;font-weight:600;color:var(--t-m5);text-transform:lowercase;letter-spacing:.04em}
.hub-swrow{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:10px}
.hub-sw{aspect-ratio:1;border:1px solid rgba(255,255,255,.12);cursor:pointer;padding:0}
.hub-sw.on{outline:2px solid #fff;outline-offset:1px}
#hub-paint input[type=text]{width:100%;background:var(--s-a9);border:1px solid #2c2d31;color:var(--t-body2);padding:7px 9px;font-size:12px;border-radius:0}
.hub-cvres{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px;max-height:150px;overflow-y:auto}
.hub-cvres button{padding:0;border:1px solid #2c2d31;background:#000;cursor:pointer;aspect-ratio:1;overflow:hidden}
.hub-cvres img{width:100%;height:100%;object-fit:cover;display:block}
.hub-cvres button:hover{border-color:#9cf048}
/* ---- gamertag banner editor (shares profileCustom.gt* with the profile page) ---- */
.hub-hello{position:relative}
.hub-gtrow{display:flex;align-items:center;gap:14px}
.hub-gtpic{width:clamp(46px,7.2vw,74px);height:clamp(46px,7.2vw,74px);border-radius:14px;object-fit:cover;flex:none;background:var(--s-a62);border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 12px rgba(0,0,0,.45)}
#start.hub-th-noir .hub-gtpic{border-radius:50%}
.hub-gt-edit{flex:none;vertical-align:middle;background:transparent;border:1px solid #333;color:var(--t-m5);border-radius:0;width:28px;height:28px;font-size:13px;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}
#start.hub-can-banner .hub-hello:hover .hub-gt-edit,#start.hub-can-banner .hub-grid.editing .hub-gt-edit,body.hub-editing #start.hub-can-banner .hub-gt-edit{display:inline-flex}
.hub-gt-edit:hover{border-color:#9cf048;color:var(--g-t5)}
#hub-banner{position:fixed;z-index:100072;background:var(--s-a92);border:1px solid #2c2d31;width:284px;padding:14px;display:none;box-shadow:0 14px 40px rgba(0,0,0,.6)}
#hub-banner h5{margin:0 0 6px;font-size:10.5px;font-weight:600;color:var(--t-m5);text-transform:lowercase;letter-spacing:.04em}
.hb-row{margin-bottom:12px}
#hub-banner select{width:100%;background:var(--s-a9);border:1px solid #2c2d31;color:var(--t-body2);padding:7px 9px;font-size:12px;border-radius:0}
#hub-banner input[type=range]{width:100%;accent-color:#107c10}
.hb-color-row{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--t-p0)}
.hb-color-row input[type=color]{width:36px;height:26px;border:1px solid #2c2d31;background:var(--s-a9);padding:0;cursor:pointer}
.hb-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}
.hb-actions button{border:1px solid #2f6b2f;background:transparent;color:var(--g-t5);border-radius:0;padding:6px 15px;font-size:12px;cursor:pointer}
.hb-actions button.hb-reset{border-color:#3a3a3a;color:var(--t-m5)}
.hb-actions button:hover{background:#107c10;border-color:#107c10;color:#fff}
/* ---- toast (global — first real _xctToast implementation) ---- */
#xct-toast{position:fixed;bottom:calc(26px + var(--xct-sticky-bottom,0px));left:50%;transform:translate(-50%,14px);background:#16321c;border:1px solid #2f6b2f;color:#eafff0;padding:6px 6px 6px 18px;border-radius:0;z-index:100090;box-shadow:0 8px 24px rgba(0,0,0,.5);font-size:13px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s,transform .22s,visibility 0s linear .22s;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);box-sizing:border-box}
#xct-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto;visibility:visible;transition-delay:0s}
/* Held while hovered or focused; closable (WCAG 2.2.1 / 4.1.3, 2026-10-08). */
#xct-toast .xct-toast-msg{padding:5px 0}
#xct-toast .xct-toast-x{flex:none;min-width:28px;min-height:28px;padding:0;background:none;border:0;color:inherit;font-size:18px;line-height:1;cursor:pointer;opacity:.8}
#xct-toast .xct-toast-x:hover{opacity:1}
/* ---- Site Index (/site-index, 2026-09-25) ---- */
#siteindex{background:#05070b;color:#e8eef5}
#siteindex .six-root{max-width:1320px;margin:0 auto;padding:14px 16px 70px;box-sizing:border-box;font-family:'Chakra Petch','Rajdhani',sans-serif}
.six-hero{position:relative;overflow:hidden;border-radius:20px;padding:44px 28px 34px;background:radial-gradient(ellipse 70% 90% at 20% 0%,rgba(96,165,250,.28),transparent 60%),radial-gradient(ellipse 60% 80% at 90% 100%,rgba(192,132,252,.22),transparent 60%),#070b12;border:1px solid rgba(148,163,184,.18);margin-bottom:26px}
.six-hero-grid,.six-grid{position:absolute;inset:-40px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;animation:sixDrift 18s linear infinite;pointer-events:none}
@keyframes sixDrift{to{transform:translate(32px,32px)}}
.six-hero-in{position:relative;display:flex;flex-direction:column;gap:12px}
.six-hero-kick,.six-kick{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:700}
.six-hero-kick{color:#93c5fd}
.six-hero-h{margin:0;font-size:clamp(38px,6vw,72px);line-height:.95;font-weight:700}
.six-hero-fill,.six-fill{background:linear-gradient(100deg,#fff 0%,var(--c,#93c5fd) 35%,#fff 55%,var(--c,#93c5fd) 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sixShine 6s linear infinite}
.six-hero-fill{--c:#93c5fd}
@keyframes sixShine{to{background-position:-250% 0}}
.six-hero-lede{margin:0;max-width:640px;font-size:16px;line-height:1.55;color:#b7c4d4}
.six-hero-lede b{font-family:'JetBrains Mono',monospace;color:#fff}
.six-sort{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:#b7c4d4;margin-top:6px}
.six-sort select{background:#0d1320;color:#e8eef5;border:1px solid rgba(148,163,184,.3);border-radius:10px;padding:8px 12px;font:inherit}
.six-sec{margin-top:34px}
.six-sh{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:clamp(22px,3vw,30px);font-weight:700}
.six-sh span{background:linear-gradient(90deg,var(--c),#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.six-sh i{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:13px;color:#0a0f18;background:var(--c);border-radius:999px;padding:2px 10px}
.six-sp{margin:-6px 0 14px;color:#b7c4d4;font-size:14px}
.six-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.six-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:9px;text-align:left;padding:18px 18px 16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 16%,#070b12),#070b12 70%);color:#e8eef5;font:inherit;cursor:pointer;min-height:220px;animation:sixRise .6s cubic-bezier(.2,.8,.2,1) both;transition:transform .2s,box-shadow .2s,border-color .2s}
.six-card:hover,.six-card:focus-visible{transform:translateY(-4px);border-color:var(--c);box-shadow:0 14px 40px color-mix(in srgb,var(--c) 28%,transparent);outline:none}
@keyframes sixRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.six-card .six-grid{opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.six-glow{position:absolute;width:220px;height:220px;right:-80px;top:-90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 45%,transparent),transparent 70%);animation:sixPulse 5s ease-in-out infinite;pointer-events:none}
@keyframes sixPulse{50%{transform:scale(1.15);opacity:.7}}
.six-top,.six-name,.six-rule,.six-blurb,.six-stats,.six-open{position:relative}
.six-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 8px;align-items:center}
.six-kick{color:var(--c)}
.six-date{font-size:11px;color:#8ea0b5;font-family:'JetBrains Mono',monospace}
.six-lock{font-size:11px;font-weight:800;letter-spacing:.14em;color:#0a0f18;background:linear-gradient(90deg,#f4d35e,#fff3b0,#f4d35e);background-size:200% 100%;animation:sixShine 3s linear infinite;border-radius:999px;padding:3px 9px}
.six-tr{display:inline-flex;align-items:center;gap:8px;margin-left:auto}
.six-acc{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;white-space:nowrap;border:1px solid transparent;border-radius:999px;padding:1px 8px}
.six-acc-pub{color:#86efac;border-color:rgba(134,239,172,.45);background:rgba(34,197,94,.12)}
.six-acc-mem{color:#93c5fd;border-color:rgba(147,197,253,.45);background:rgba(59,130,246,.14)}
.six-acc-pro{color:#0a0f18;background:linear-gradient(90deg,#f4d35e,#fff3b0,#f4d35e)}
.six-acc-own{color:#fda4af;border-color:rgba(253,164,175,.5);background:rgba(244,63,94,.14)}
.six-name{margin:0;font-size:26px;line-height:1.05;font-weight:700}
.six-rule{display:block;height:2px;width:46px;background:var(--c);border-radius:2px;transform-origin:left;animation:sixWipe .8s .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes sixWipe{from{transform:scaleX(0)}}
.six-blurb{font-size:13.5px;line-height:1.5;color:#b7c4d4}
.six-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.six-st{display:flex;flex-direction:column}
.six-st b{font-family:'JetBrains Mono',monospace;font-variant-numeric:tabular-nums;font-size:22px;color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--c) 60%,transparent)}
.six-st i{font-style:normal;font-size:11.5px;color:#8ea0b5}
.six-st-live i{font-size:12.5px;color:var(--c)}
.six-open{font-size:13px;font-weight:700;color:var(--c)}
.six-pov{position:fixed;inset:0;z-index:2400;background:rgba(4,7,12,.66);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;animation:sixFade .25s both}
@keyframes sixFade{from{opacity:0}}
.six-pbox{position:relative;width:min(520px,100%);max-height:100%;overflow:auto;box-sizing:border-box;padding:28px 26px 24px;border-radius:20px;border:1px solid var(--c);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 20%,#0a0f18),#0a0f18 70%);color:#e8eef5;box-shadow:0 30px 80px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:12px;animation:sixRise .35s both}
.six-px{position:absolute;top:12px;right:12px;background:none;border:0;color:#b7c4d4;font-size:18px;cursor:pointer;min-width:40px;min-height:40px}
.six-pbox .six-name{font-size:34px}
.six-plist{margin:0;padding-left:18px;line-height:1.7;color:#d7e0ea}
.six-pbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.six-pcta{border:0;border-radius:24px;padding:12px 24px;font:inherit;font-weight:800;color:#0a0f18;background:linear-gradient(90deg,#f4d35e,#fff3b0,#f4d35e);background-size:200% 100%;animation:sixShine 3s linear infinite;cursor:pointer}
.six-plater{border:1px solid rgba(148,163,184,.35);border-radius:24px;padding:12px 20px;font:inherit;color:#d7e0ea;background:none;cursor:pointer}
body.six-tint .tabs .tab.active svg{color:var(--six-sec)}
@media(prefers-reduced-motion:reduce){.six-card,.six-grid,.six-hero-grid,.six-glow,.six-fill,.six-hero-fill,.six-lock,.six-pcta,.six-rule{animation:none!important}}
@media(max-width:600px){.six-hero{padding:30px 18px 24px}.six-cards{grid-template-columns:1fr}}
/* ---- Mythic Hall (/mythic-hall, 2026-09-24) ---- */
#mythichall{--mh-bg:#050d09;--mh-card:#0b1812;--mh-line:rgba(109,228,170,.16);--mh-mint:#6de4aa;--mh-mint2:#a8f3cf;--mh-mut:#9db8aa;--mh-gold:#e8c35a;background:var(--mh-bg);color:#e9f5ee}
#mythichall .mh-root{max-width:1200px;margin:0 auto;padding:14px 16px 70px;box-sizing:border-box;font-family:'Chakra Petch','Rajdhani',sans-serif}
#mythichall .mh-emb{display:inline-block;flex:none;width:1.15em;height:1.15em;background:url(/static/mythic/mythic_unlocked_hd_360.png) center/contain no-repeat;vertical-align:-.2em}
@keyframes mhSpin{to{transform:rotate(360deg)}}
@keyframes mhPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@keyframes mhShine{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes mhRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes mhGrowY{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes mhGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mhCurL{to{transform:translateX(-101%)}}
@keyframes mhCurR{to{transform:translateX(101%)}}
@keyframes mhPress{0%{transform:scale(1)}40%{transform:scale(.92)}100%{transform:scale(1.2);opacity:0}}
#mythichall .mh-sweep{position:absolute;inset:-4%;border-radius:50%;background:conic-gradient(from 0deg,rgba(109,228,170,.3),rgba(109,228,170,.05) 30deg,transparent 70deg,transparent 360deg);animation:mhSpin 4.5s linear infinite}
#mythichall .mh-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(109,228,170,.5);animation:mhPulse 2.6s ease-out infinite}
#mythichall .mh-ring.b{animation-delay:1.3s}
/* gate */
#mythichall .mh-gate{position:relative;min-height:min(78vh,760px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 50% 46%,rgba(0,117,58,.42),#040a07 64%);margin:0 0 20px}
#mythichall .mh-cur{position:absolute;top:0;bottom:0;width:50%;background:#040a07;z-index:3;pointer-events:none;transform:translateX(-101%)}
#mythichall .mh-cur.r{right:0;transform:translateX(101%)}
#mythichall .mh-cur.l{left:0}
#mythichall .mh-gate.mh-leaving .mh-cur{transform:none;transition:transform .5s cubic-bezier(.7,0,.3,1)}
#mythichall .mh-gate-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;padding:30px 16px;text-align:center}
#mythichall .mh-gate-by{display:flex;flex-direction:column;align-items:center;gap:8px}
#mythichall .mh-gate-by span{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#a8dcbf}
#mythichall .mh-gate-by img{width:210px;height:auto;filter:drop-shadow(0 0 14px rgba(109,228,170,.25))}
#mythichall .mh-gate-stage{position:relative;width:min(80vw,320px);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
#mythichall .mh-gate-stage canvas{position:relative;z-index:1}
#mythichall .mh-enter{display:inline-flex;align-items:center;gap:12px;padding:16px 34px;border-radius:30px;border:1px solid rgba(168,243,207,.7);background:rgba(109,228,170,.18);color:#fff;font:inherit;font-size:22px;font-weight:700;letter-spacing:.06em;cursor:pointer;white-space:nowrap}
#mythichall .mh-enter:hover{background:rgba(109,228,170,.32)}
#mythichall .mh-enter:focus-visible{outline:2px solid var(--mh-mint2);outline-offset:5px}
#mythichall .mh-gate.mh-pressed .mh-enter{animation:mhPress .6s ease-out forwards;pointer-events:none}
#mythichall .mh-gate.mh-pressed .mh-skip,#mythichall .mh-gate.mh-pressed .mh-gate-by{opacity:0;transition:opacity .3s}
#mythichall .mh-skip{background:none;border:0;color:var(--mh-mut);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;min-height:44px}
#mythichall .mh-hidden{display:none}
#mythichall .mh-reveal{animation:mhRise .8s cubic-bezier(.2,.8,.2,1) both}
/* pills */
#mythichall .mh-pills{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:6px 0 18px}
#mythichall .mh-pills-bottom{margin:14px 0 10px}
#mythichall .mh-ban{margin:6px 0 10px}
#mythichall .mh-ban:empty{display:none}
#mythichall .mh-ban-bottom,#mythichall #mh-ban-bottom{margin-top:44px}
#mythichall .mh-pill{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border-radius:24px;border:0;font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
#mythichall .mh-pill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);background-size:220% 100%;animation:mhShine 3.6s ease-in-out infinite;pointer-events:none}
#mythichall .mh-eneba{background:#ff4f1f;color:#fff}
#mythichall .mh-join{background:var(--mh-mint);color:#04140c}
#mythichall .mh-join.big{min-height:54px;font-size:17px;padding:0 28px}
#mythichall .mh-eneba:hover,#mythichall .mh-join:hover{filter:brightness(1.07);color:inherit}
#mythichall .mh-eneba:hover{color:#fff}
/* hero */
#mythichall .mh-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:20px 0 10px;background:radial-gradient(ellipse 60% 70% at 50% 42%,rgba(0,117,58,.3),transparent 70%)}
#mythichall .mh-kick{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--mh-mint)}
#mythichall .mh-kick.gold{color:var(--mh-gold)}
#mythichall .mh-h1{margin:0;font-size:clamp(44px,7vw,82px);line-height:.95;font-weight:700}
#mythichall .mh-lede{margin:0;max-width:620px;font-size:17px;line-height:1.55;color:#b9d3c6}
#mythichall .mh-hstage{position:relative;width:200px;height:200px;margin:14px 0 4px;display:flex;align-items:center;justify-content:center}
#mythichall .mh-hstage canvas{position:relative;z-index:1}
#mythichall .mh-count{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:clamp(56px,9vw,110px);font-weight:700;line-height:1;color:#fff;text-shadow:0 0 44px rgba(109,228,170,.55)}
#mythichall .mh-unl{display:inline-flex;align-items:center;gap:12px;font-size:clamp(18px,2.4vw,28px);font-weight:700;letter-spacing:.22em;color:var(--mh-mint)}
#mythichall .mh-by{font-size:15px;color:var(--mh-mut)}
#mythichall .mh-by b{color:#e9f5ee;font-family:'JetBrains Mono',monospace}
#mythichall .mh-tiles{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}
#mythichall .mh-tile{padding:16px 18px;border-radius:16px;background:rgba(12,26,19,.85);border:1px solid var(--mh-line);text-align:left;display:flex;flex-direction:column;gap:4px}
#mythichall .mh-tile.gold{border-color:rgba(232,195,90,.35)}
#mythichall .mh-tile b{font-family:'JetBrains Mono',monospace;font-size:28px}
#mythichall .mh-tile.gold b{color:var(--mh-gold)}
#mythichall .mh-tile span{font-size:13px;color:var(--mh-mut)}
#mythichall .mh-tile span b.mh-poss{font-family:'JetBrains Mono',monospace;color:#e9f5ee}
#mythichall .mh-work{margin:14px 0 0;font-size:13px;color:var(--mh-mut);text-align:center}
#mythichall .mh-work a{color:var(--mh-mint)}
#mythichall .mh-work b{color:#e9f5ee;font-family:'JetBrains Mono',monospace}
/* sections */
#mythichall .mh-sec{margin-top:70px;opacity:0}
#mythichall .mh-sec.mh-in,#mythichall .mh-conv.mh-in{animation:mhRise .8s cubic-bezier(.2,.8,.2,1) both}
#mythichall .mh-sh{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
#mythichall .mh-sh h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1;font-weight:700}
#mythichall .mh-sh p{margin:0;max-width:640px;font-size:15px;line-height:1.6;color:var(--mh-mut)}
#mythichall .mh-card{padding:24px;border-radius:20px;background:var(--mh-card);border:1px solid var(--mh-line)}
#mythichall .mh-avg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
#mythichall .mh-avg .mh-card{display:flex;flex-direction:column;gap:6px}
#mythichall .mh-avg span{font-size:13px;color:var(--mh-mut)}
#mythichall .mh-avg b{font-family:'JetBrains Mono',monospace;font-size:clamp(40px,5vw,60px);font-weight:700}
#mythichall .mh-avg b.mint{color:var(--mh-mint)}
#mythichall .mh-avg i{font-style:normal;font-size:13px;color:var(--mh-mut)}
#mythichall .mh-lh{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:18px}
#mythichall .mh-lh b{font-size:24px}
#mythichall .mh-lh span{font-size:13px;color:var(--mh-mut)}
#mythichall .mh-cols{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;align-items:end;height:280px}
#mythichall .mh-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}
#mythichall .mh-col .n{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700}
#mythichall .mh-col .k{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--mh-mut)}
#mythichall .mh-col i{display:block;width:100%;border-radius:9px 9px 3px 3px;background:#2fb574;transform-origin:bottom;transform:scaleY(0)}
#mythichall .mh-col i.gold{background:var(--mh-gold)}
#mythichall .mh-in .mh-col i{animation:mhGrowY 1.1s cubic-bezier(.2,.8,.2,1) both}
/* popular */
#mythichall .mh-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;margin-bottom:18px}
#mythichall .mh-pod.p1{order:2}#mythichall .mh-pod.p2{order:1}#mythichall .mh-pod.p3{order:3}
#mythichall .mh-pod{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:inherit}
#mythichall .mh-pod-art{width:120px;height:120px;border-radius:18px;object-fit:contain;background:#0e2016;display:flex;align-items:center;justify-content:center}
#mythichall .mh-pod.p1 .mh-pod-art{width:150px;height:150px;box-shadow:0 0 50px rgba(232,195,90,.35)}
#mythichall .mh-pod-base{width:100%;box-sizing:border-box;border-radius:18px 18px 6px 6px;background:#0e2016;border:1px solid rgba(157,184,170,.35);display:flex;flex-direction:column;align-items:center;gap:3px;padding:16px 12px;text-align:center}
#mythichall .mh-pod.p1 .mh-pod-base{background:#13281a;border-color:rgba(232,195,90,.6);padding:26px 12px}
#mythichall .mh-pod.p3 .mh-pod-base{border-color:rgba(205,127,50,.5)}
#mythichall .mh-pod-base .mh-emb{width:34px;height:34px}
#mythichall .mh-pod-base .r{font-family:'JetBrains Mono',monospace;font-size:15px;color:#c9d6cf}
#mythichall .mh-pod.p1 .r{color:var(--mh-gold)}
#mythichall .mh-pod.p3 .r{color:#d9975a}
#mythichall .mh-pod-base b{font-family:'JetBrains Mono',monospace;font-size:30px}
#mythichall .mh-pod.p1 .mh-pod-base b{font-size:40px}
#mythichall .mh-pod-base .t{font-size:14px;color:#b9d3c6}
#mythichall .mh-list{border-radius:20px;background:var(--mh-card);border:1px solid var(--mh-line);overflow:hidden}
#mythichall .mh-row{display:grid;grid-template-columns:40px 44px minmax(0,1fr) minmax(0,36%) 80px;gap:14px;align-items:center;padding:10px 20px;border-top:1px solid rgba(109,228,170,.08);color:inherit;text-decoration:none;min-height:44px}
#mythichall .mh-row:first-child{border-top:0}
#mythichall .mh-row:hover{background:rgba(109,228,170,.06)}
#mythichall .mh-row .r{font-family:'JetBrains Mono',monospace;color:var(--mh-mint)}
#mythichall .mh-row .r.gold{color:var(--mh-gold)}
#mythichall .mh-row .nm{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mythichall .mh-row .nm small{display:block;font-size:12px;font-weight:400;color:var(--mh-mut)}
#mythichall .mh-row b{text-align:right;font-family:'JetBrains Mono',monospace}
#mythichall .mh-row-art{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#0e2016;display:flex;align-items:center;justify-content:center}
#mythichall .mh-row .bar{height:9px;border-radius:5px;background:rgba(109,228,170,.1);overflow:hidden}
#mythichall .mh-row .bar i{display:block;height:100%;border-radius:5px;background:#2fb574;transform-origin:left;transform:scaleX(0)}
#mythichall .mh-in .mh-row .bar i{animation:mhGrowX 1.2s cubic-bezier(.2,.8,.2,1) both}
#mythichall .mh-legs .mh-row{grid-template-columns:40px 44px minmax(0,1fr) 26px 90px}
#mythichall .mh-av{width:40px;height:40px;border-radius:50%;background:#173a26;object-fit:cover;display:inline-block}
/* hardest */
#mythichall .mh-hard{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#mythichall .mh-hc{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:18px;background:var(--mh-card);border:1px solid var(--mh-line);color:inherit;text-decoration:none;opacity:0}
#mythichall .mh-in .mh-hc{animation:mhRise .7s cubic-bezier(.2,.8,.2,1) both}
#mythichall .mh-hc.first{background:#1c2413;border-color:rgba(232,195,90,.6)}
#mythichall .mh-hc:hover{border-color:rgba(109,228,170,.5)}
#mythichall .mh-hc-art{width:100%;aspect-ratio:1/1;border-radius:12px;object-fit:contain;background:#0e2016;display:flex;align-items:center;justify-content:center}
#mythichall .mh-hc-emb{position:absolute;right:20px;top:20px;width:34px;height:34px}
#mythichall .mh-hc .r{font-family:'JetBrains Mono',monospace;font-size:30px;font-weight:700;color:var(--mh-mint);line-height:1;margin-top:4px}
#mythichall .mh-hc.first .r{color:var(--mh-gold)}
#mythichall .mh-hc .nm{font-size:17px;font-weight:700;line-height:1.1;min-height:38px}
#mythichall .mh-hc b{font-family:'JetBrains Mono',monospace;font-size:24px}
#mythichall .mh-hc .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mh-mut)}
#mythichall .mh-hc .meta{display:flex;justify-content:space-between;gap:6px;font-size:12px;color:#b9d3c6;border-top:1px solid rgba(255,255,255,.1);padding-top:8px;margin-top:2px}
#mythichall .mh-art-ph .mh-emb{width:40%;height:40%;opacity:.4}
/* conversion */
#mythichall .mh-conv{margin-top:80px;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:44px;border-radius:28px;background:radial-gradient(ellipse 70% 90% at 72% 50%,rgba(0,117,58,.55),#07140d 70%);border:1px solid rgba(109,228,170,.3);opacity:0}
#mythichall .mh-conv h2{margin:10px 0 12px;font-size:clamp(30px,4vw,54px);line-height:1}
#mythichall .mh-conv p{margin:0 0 16px;font-size:16px;line-height:1.6;color:#c3dccf}
#mythichall .mh-conv ol{margin:0 0 20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
#mythichall .mh-conv li{display:flex;gap:12px;align-items:center;font-size:15px}
#mythichall .mh-conv li span{width:30px;height:30px;border-radius:50%;background:var(--mh-mint);color:#04140c;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
#mythichall .mh-conv-btns{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
#mythichall .mh-link{background:none;border:0;color:var(--mh-mint);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;min-height:44px}
#mythichall .mh-sample{display:flex;flex-direction:column;gap:16px;background:#0c2016;border-color:rgba(109,228,170,.45);box-shadow:0 30px 90px rgba(0,0,0,.55)}
#mythichall .mh-sample-h{display:flex;gap:12px;align-items:center}
#mythichall .mh-sample-h .mh-av{width:52px;height:52px;border:2px solid var(--mh-mint)}
#mythichall .mh-sample-h b{display:block;font-size:22px}
#mythichall .mh-sample-h span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;color:var(--mh-mint)}
#mythichall .mh-sample-m{display:flex;gap:18px;align-items:center}
#mythichall .mh-sample-m b{display:block;font-family:'JetBrains Mono',monospace;font-size:76px;line-height:1}
#mythichall .mh-sample-m span{font-size:20px;font-weight:700;letter-spacing:.18em;color:var(--mh-mint)}
#mythichall .mh-sample-t{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
#mythichall .mh-sample-t>span{height:46px;border-radius:10px;background:#173a26;display:flex;align-items:center;justify-content:center}
#mythichall .mh-sample-t .mh-emb{width:26px;height:26px;opacity:.45}
#mythichall .mh-wait{text-align:center;color:var(--mh-mut);padding:60px 10px}
#mythichall .mh-foot{text-align:center;font-size:12px;color:#7f9a8c;margin:8px 0 0}
@media(max-width:900px){#mythichall .mh-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}#mythichall .mh-hard{grid-template-columns:repeat(2,minmax(0,1fr))}#mythichall .mh-conv{grid-template-columns:1fr;padding:26px 20px}#mythichall .mh-avg{grid-template-columns:1fr}#mythichall .mh-cols{gap:5px;height:220px}#mythichall .mh-col .n{font-size:10px}#mythichall .mh-row{grid-template-columns:30px 40px minmax(0,1fr) 70px;padding:10px 12px}#mythichall .mh-row .bar{display:none}#mythichall .mh-legs .mh-row{grid-template-columns:30px 40px minmax(0,1fr) 22px 64px}#mythichall .mh-pod-art{width:84px;height:84px}#mythichall .mh-pod.p1 .mh-pod-art{width:104px;height:104px}#mythichall .mh-pod-base b{font-size:20px}#mythichall .mh-pod.p1 .mh-pod-base b{font-size:26px}#mythichall .mh-pod-base .t{font-size:12px}}
@media(prefers-reduced-motion:reduce){#mythichall *{animation:none!important;transition:none!important}#mythichall .mh-sec,#mythichall .mh-conv,#mythichall .mh-hc{opacity:1}#mythichall .mh-col i,#mythichall .mh-row .bar i{transform:none}}
/* ---- Easy Score (/easy-score, roadmap #654) ---- */
#ezs-root{max-width:1180px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.ezs-head h2{margin:0 0 6px}
.ezs-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:860px}
.ezs-lede b{color:var(--t-p1)}
.ezs-tabs{display:flex;gap:6px;margin:0 0 12px;border-bottom:1px solid #333}
.ezs-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--t-dim);font:inherit;font-size:14px;font-weight:600;padding:8px 12px;margin-bottom:-1px;min-height:40px;cursor:pointer}
.ezs-tab.on{color:var(--t-p1);border-bottom-color:#107c10}
.ezs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px}
.ezs-tbl td.n{text-align:right;white-space:nowrap}
.ezs-tbl td.t{min-width:220px}
.ezs-game{display:flex;align-items:center;gap:8px;color:var(--t-p1);text-decoration:none}
.ezs-game:hover .ezs-nm{text-decoration:underline}
.ezs-game img,.ezs-upd img,.ezs-noart{width:40px;height:40px;object-fit:contain;border-radius:4px;background:#0b0b0b;flex:none;display:inline-block}
.ezs-nm{display:block;font-weight:600}
.ezs-pl{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.ezs-pl i{font-style:normal;font-size:10.5px;color:var(--t-dim);border:1px solid #3a3a3a;border-radius:8px;padding:0 6px;line-height:1.6}
.ezs-dim{color:var(--t-dim)}
.ezs-done{color:#7dd35f}
.ezs-free{color:#7dd35f;font-weight:600}
.rvp-write{margin-top:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.rvp-pick{width:100%;max-width:520px}.rvp-pick input{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid var(--b-a2,#333);background:var(--s-a2,#1a1a1a);color:var(--t-hi);font-size:14px}.rvp-pick-hits{display:flex;flex-direction:column;margin-top:4px}.rvp-pick-hit{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:6px;color:var(--t-hi);text-decoration:none}.rvp-pick-hit:hover{background:var(--s-a3,#2a2a2e)}.rvp-pick-hit img,.rvp-pick-na{width:36px;height:36px;object-fit:contain;flex-shrink:0;border-radius:4px}.rvp-pick-none{color:var(--t-dim);font-size:13px;padding:6px 8px}
.mkt-pg a,a.mkt-pg{color:#42a5f5;text-decoration:none}
.ezs-sale b{color:#39ff14;font-weight:700;text-shadow:0 0 8px rgba(57,255,20,.35)}.ezs-sale s{display:block;font-size:11px;color:var(--t-dim)}
.ezs-more{min-height:24px}
.ezs-day{margin:16px 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim)}
.ezs-upd{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid #222;color:var(--t-body);text-decoration:none}
.ezs-upd:hover{background:var(--s-rise)}
.ezs-ub{flex:1;min-width:0}
.ezs-ub .ezs-nm{color:var(--t-p1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezs-uw{display:block;font-size:12.5px;margin-top:2px}
.ezs-k{display:inline-block;font-size:10.5px;font-weight:700;border-radius:8px;padding:0 7px;margin-right:6px;line-height:1.6;background:#1f2a1f;color:#9fe28a}
.ezs-k.price{background:#2a1f10;color:#fbbf24}
.ezs-k.gp{background:#10241a;color:#6ee7b7}
.ezs-k.dlc{background:#1c1a2e;color:#c4b5fd}
.ezs-ut{flex:none;font-size:12px;color:var(--t-dim);white-space:nowrap}
@media(max-width:600px){.ezs-tbl td.t{min-width:170px}#ezs-root .gpk-q{max-width:none}}
/* ---- Review scores 1-10 (roadmap #680): shared by the game page + /reviews ---- */
.xrv-s1{--xrv-c:#7f1d1d;--xrv-on:#fff}.xrv-s2{--xrv-c:#dc2626;--xrv-on:#fff}.xrv-s3{--xrv-c:#c2410c;--xrv-on:#fff}
.xrv-s4{--xrv-c:#f97316;--xrv-on:#1a1206}.xrv-s5{--xrv-c:#f59e0b;--xrv-on:#1a1206}.xrv-s6{--xrv-c:#eab308;--xrv-on:#1a1606}
.xrv-s7{--xrv-c:#a3e635;--xrv-on:#122006}.xrv-s8{--xrv-c:#22c55e;--xrv-on:#06200f}.xrv-s9{--xrv-c:#15803d;--xrv-on:#fff}
.xrv-s10{--xrv-c:#047857;--xrv-on:#fff}
.xrv-badge{display:inline-flex;align-items:center;gap:6px;border-radius:8px;padding:2px 9px 2px 2px;font-size:12px;font-weight:700;line-height:1.2;vertical-align:middle;white-space:nowrap;color:inherit;background:rgba(127,127,127,.12);background:color-mix(in srgb,var(--xrv-c) 16%,transparent);border:1px solid var(--xrv-c);border-color:color-mix(in srgb,var(--xrv-c) 55%,transparent)}
.xrv-badge b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 5px;border-radius:6px;background:var(--xrv-c);color:var(--xrv-on);font-size:13px;font-weight:800;box-sizing:border-box}
.xrv-badge i{font-style:normal}
.xrv-badge.xrv-big{font-size:14px;padding:3px 12px 3px 3px;border-radius:10px}
.xrv-badge.xrv-big b{min-width:42px;height:32px;font-size:17px;border-radius:8px}
.xrv-s10.xrv-badge b{box-shadow:0 0 0 2px #fbbf24}
/* Roadmap #719: Agree / Disagree / Funny on every review (game page + /reviews) */
.xrv-rx{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.xrv-rx-b{display:inline-flex;align-items:center;gap:5px;background:rgba(127,127,127,.10);border:1px solid rgba(127,127,127,.3);color:var(--t-body,#aab2bb);border-radius:999px;padding:3px 11px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;min-height:30px;cursor:pointer;box-sizing:border-box}
.xrv-rx-b i{font-style:normal}
.xrv-rx-b b{font-weight:800}
.xrv-rx-b:hover:not([disabled]){border-color:rgba(127,127,127,.6)}
.xrv-rx-b[disabled]{cursor:default;opacity:.55}
.xrv-rx-b.busy{opacity:.6;pointer-events:none}
.xrv-rx-agree.on{border-color:#2f8a3f;background:rgba(74,222,128,.15);color:#86efac}
.xrv-rx-disagree.on{border-color:#b91c1c;background:rgba(248,113,113,.15);color:#fca5a5}
.xrv-rx-funny.on{border-color:#ca8a04;background:rgba(250,204,21,.15);color:#fde047}
body.theme-light .xrv-rx-agree.on{border-color:#4ade80;background:#dcfce7;color:#166534}
body.theme-light .xrv-rx-disagree.on{border-color:#f87171;background:#fee2e2;color:#991b1b}
body.theme-light .xrv-rx-funny.on{border-color:#facc15;background:#fef9c3;color:#854d0e}
.rvp-card .xrv-rx{margin-top:auto;padding-top:4px}
.rvp-lsort{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.xrv-dist-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:rgba(127,127,127,.18);min-width:120px}
.xrv-dist-bar span{background:var(--xrv-c);min-width:3px}
.xrv-cols{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:12px;align-items:end}
.xrv-col{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.xrv-col em{font-style:normal;font-size:11px;color:var(--t-dim);min-height:14px}
.xrv-colw{width:100%;height:84px;display:flex;align-items:flex-end;background:rgba(127,127,127,.1);border-radius:6px 6px 2px 2px;overflow:hidden}
.xrv-colw span{display:block;width:100%;background:var(--xrv-c);border-radius:6px 6px 0 0}
.xrv-col b{font-size:13px;color:var(--t-p1)}
.xrv-col small{font-size:10px;color:var(--t-dim);text-align:center;line-height:1.15;overflow-wrap:anywhere}
.xrv-agg{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.xrv-agg-m{display:flex;flex-direction:column;gap:5px;flex:1 1 160px;max-width:320px;font-size:12.5px;color:var(--t-mute)}
.xrv-agg-all{font-size:12.5px;font-weight:600;margin-left:auto}
.xrv-pick{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.xrv-pick button{width:30px;height:30px;border-radius:7px;border:1px solid var(--xrv-c);background:transparent;color:inherit;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0}
.xrv-pick button.on,.xrv-pick button:hover{background:var(--xrv-c);color:var(--xrv-on)}
.xrv-pick-l{margin-left:6px;font-size:12.5px;font-weight:600;min-width:100px}
.xrv-mode{display:inline-flex;border:1px solid rgba(127,127,127,.4);border-radius:999px;overflow:hidden}
.xrv-mode button{background:none;border:0;color:inherit;font-family:inherit;font-size:12px;font-weight:600;padding:4px 12px;cursor:pointer;opacity:.75}
.xrv-mode button.on{background:#107c10;color:#fff;opacity:1}
.xrv-md{width:100%;box-sizing:border-box;min-height:170px;background:var(--s-deep,#0d1116);color:var(--t-body,#ddd);border:1px solid rgba(127,127,127,.4);border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical}
.xrv-md-help{display:flex;flex-wrap:wrap;gap:4px;font-size:11px;color:var(--t-dim);margin:5px 0}
.xrv-md-help code{background:rgba(127,127,127,.14);border-radius:4px;padding:1px 5px}
.xrv-prev{border:1px dashed rgba(127,127,127,.45);border-radius:8px;padding:8px 10px;margin-top:6px}
.xrv-prev[hidden]{display:none}
/* ---- Reviews page (/reviews, roadmap #680) ---- */
#rvp-root{max-width:1180px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.rvp-head h2{margin:0 0 6px}
.rvp-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:860px}
.rvp-lede b{color:var(--t-p1)}
.rvp-ov{position:relative;overflow:hidden;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:"avg tiles" "avg dist";gap:14px 20px;background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-radius:14px;padding:20px 18px 16px;margin:0 0 12px}
.rvp-ov::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#7f1d1d,#dc2626,#f97316,#eab308,#a3e635,#22c55e,#047857)}
.rvp-ov>.gpk-empty{grid-column:1/-1}
.rvp-avg{grid-area:avg;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.rvp-ring{position:relative;width:136px;height:136px;border-radius:50%;background:conic-gradient(var(--xrv-c) calc(var(--p) * 1%),rgba(127,127,127,.2) 0);display:flex;flex-direction:column;align-items:center;justify-content:center}
.rvp-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--s-card)}
.rvp-ring b,.rvp-ring small{position:relative}
.rvp-ring b{font-size:40px;font-weight:800;line-height:1;color:var(--t-p1)}
.rvp-ring small{font-size:11.5px;color:var(--t-dim);margin-top:2px}
.rvp-avg-l{display:inline-block;background:var(--xrv-c);color:var(--xrv-on);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:800;letter-spacing:.02em}
.rvp-avg-s{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim)}
.rvp-tiles{grid-area:tiles;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rvp-tile{background:rgba(127,127,127,.09);border-radius:10px;padding:10px 12px;min-width:0}
.rvp-tile b{display:block;font-size:26px;font-weight:800;line-height:1.15;color:var(--t-p1)}
.rvp-tile span{font-size:12px;color:var(--t-dim)}
.rvp-dist{grid-area:dist;min-width:0}
.rvp-dist-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim);margin:0 0 7px}
.rvp-scale{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.rvp-tabs{display:flex;gap:6px;margin:0 0 12px;border-bottom:1px solid rgba(127,127,127,.3)}
.rvp-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--t-dim);font-family:inherit;font-size:14px;font-weight:600;padding:8px 12px;margin-bottom:-1px;min-height:40px;cursor:pointer}
.rvp-tab.on{color:var(--t-p1);border-bottom-color:#107c10}
.rvp-tbl td{vertical-align:middle}
.rvp-tbl td.n{text-align:right;white-space:nowrap}
.rvp-tbl td.t{min-width:220px}
.rvp-dim{color:var(--t-dim)}
.rvp-game{display:flex;align-items:center;gap:10px;min-width:0}
.rvp-nm{color:var(--t-p1);font-weight:600;text-decoration:none}
.rvp-nm:hover{text-decoration:underline}
.rvp-artw{flex:none;display:inline-flex}
.rvp-art{width:48px;height:48px;object-fit:contain;border-radius:6px;background:#0b0b0b;flex:none;display:inline-block}
.rvp-more{min-height:24px}
.rvp-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.rvp-card{display:flex;flex-direction:column;gap:8px;background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:12px 14px;min-width:0}
.rvp-card-top{display:flex;gap:10px;align-items:center;min-width:0}
.rvp-card-g{min-width:0;flex:1}
.rvp-card-g .rvp-nm{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvp-by{font-size:12px;color:var(--t-dim);margin-top:2px}
.rvp-by a{color:inherit;font-weight:600}
.rvp-ex{font-size:13px;line-height:1.55;color:var(--t-body);margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.rvp-read{font-size:12.5px;font-weight:600;color:#7dd35f;text-decoration:none;align-self:flex-start}
.rvp-read:hover{text-decoration:underline}
body.theme-light .rvp-read{color:#0b6b16}
@media(max-width:700px){.rvp-ov{grid-template-columns:minmax(0,1fr);grid-template-areas:"avg" "tiles" "dist";padding:18px 12px 14px}.rvp-tile b{font-size:20px}.rvp-tile{padding:8px}.xrv-col small{display:none}.xrv-colw{height:64px}.rvp-tbl td.t{min-width:170px}.rvp-feed{grid-template-columns:minmax(0,1fr)}#rvp-root .gpk-q{max-width:none}}
/* ---- Polls archive (/polls, roadmap #717) ---- */
#pla-root{max-width:calc(var(--xct-feed-w) + 28px);margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.pla-head h2{margin:0 0 6px}
.pla-lede{margin:0 0 16px;color:var(--t-body);font-size:13.5px;line-height:1.55}
.pla-lede a{color:#7dd35f;font-weight:600}
body.theme-light .pla-lede a{color:#0b6b16}
.pla-list{display:flex;flex-direction:column;gap:12px}
.pla-card{background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:14px 16px;min-width:0;box-sizing:border-box}
.pla-card.today{border-color:rgba(124,224,72,.45);background:linear-gradient(135deg,rgba(22,198,12,.09),rgba(16,124,16,.02)),var(--s-card)}
.pla-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 6px;font-size:12px;color:var(--t-dim)}
.pla-date{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}
.pla-live{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#16c60c,#107c10);border-radius:4px;padding:1px 6px}
.pla-tot{margin-left:auto;font-variant-numeric:tabular-nums}
.pla-q{margin:0 0 10px;font-size:16px;line-height:1.35;color:var(--t-p1);overflow-wrap:anywhere}
.pla-opts{display:flex;flex-direction:column;gap:8px}
.pla-opt{min-width:0}
.pla-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--t-body);margin:0 0 4px}
.pla-lbl{min-width:0;overflow-wrap:anywhere}
.pla-num{flex:none;font-variant-numeric:tabular-nums;white-space:nowrap}
.pla-num b{color:var(--t-p1)}
.pla-num small{color:var(--t-dim);font-size:11.5px;margin-left:4px}
.pla-track{height:10px;border-radius:6px;background:rgba(127,127,127,.16);overflow:hidden}
.pla-fill{display:block;height:100%;border-radius:6px;background:rgba(127,127,127,.55);transition:width .4s ease}
.pla-opt.win .pla-fill{background:linear-gradient(90deg,#107c10,#16c60c 60%,#9cf048)}
.pla-opt.win .pla-lbl{color:var(--t-p1);font-weight:700}
.pla-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:1px}
.pla-tag.win{color:#0b2a07;background:#9cf048}
.pla-tag.you{color:#9cf048;border:1px solid rgba(156,240,72,.55)}
body.theme-light .pla-tag.you{color:#0b6b16;border-color:#0b6b16}
.pla-opt.mine .pla-track{box-shadow:0 0 0 1px rgba(156,240,72,.6)}
.pla-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.pla-chip{font-size:12.5px;color:var(--t-body);border:1px solid rgba(127,127,127,.35);border-radius:999px;padding:4px 10px}
.pla-foot{margin-top:10px;font-size:12px;color:var(--t-dim)}
.pla-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:8px;background:linear-gradient(135deg,#16c60c,#107c10);color:#fff;font-weight:700;font-size:13px;text-decoration:none}
.pla-cta:hover{filter:brightness(1.08)}
.pla-msg{padding:22px 10px;text-align:center;color:var(--t-dim);font-size:13.5px}
.pla-btn{margin-top:8px;background:none;border:1px solid rgba(127,127,127,.45);border-radius:8px;color:var(--t-p1);font:inherit;font-size:13px;padding:6px 14px;cursor:pointer}
@media(max-width:600px){#pla-root{padding:14px 12px 50px}.pla-card{padding:12px}.pla-q{font-size:15px}.pla-tot{margin-left:0;width:100%}}
/* ---- Games at risk of removal (/at-risk, roadmap #732) ---- */
#ark-root{max-width:960px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.ark-head h2{margin:0 0 6px}
.ark-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55}
.ark-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.ark-chip{font:inherit;font-size:12.5px;color:var(--t-body);background:none;border:1px solid rgba(127,127,127,.35);border-radius:999px;padding:4px 10px;cursor:pointer;min-height:32px}
.ark-chip.on{border-color:#e8a33d;color:var(--t-p1);background:rgba(232,163,61,.12)}
.ark-chip small{color:var(--t-dim);margin-left:4px}
.ark-list{display:flex;flex-direction:column;gap:12px}
.ark-card{background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-left:3px solid #e8a33d;border-radius:12px;padding:14px 16px;min-width:0;box-sizing:border-box;scroll-margin-top:70px}
.ark-card.gone{border-left-color:#d9534f}
.ark-card.flash{box-shadow:0 0 0 2px rgba(232,163,61,.7)}
.ark-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;margin:0 0 6px}
.ark-chip-r{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2a1a00;background:#e8a33d;border-radius:4px;padding:1px 6px}
.ark-gone{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#d9534f;border-radius:4px;padding:1px 6px}
.ark-dim{color:var(--t-dim)}
.ark-subj{margin:0 0 6px;font-size:16px;color:var(--t-p1);overflow-wrap:anywhere}
.ark-sum{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--t-body);overflow-wrap:anywhere}
.ark-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.ark-game{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--t-body);font-size:11.5px;min-width:0}
.ark-game img,.ark-noimg{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:6px;background:rgba(127,127,127,.12);display:block}
.ark-game.gone img{opacity:.45}
.ark-gname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ark-more{margin-top:6px;font-size:12px;color:var(--t-dim)}
.ark-src{margin-top:10px;font-size:12.5px;color:var(--t-body)}
.ark-src ul{margin:4px 0 0;padding-left:18px}
.ark-src a{color:#7dd35f;overflow-wrap:anywhere}
body.theme-light .ark-src a{color:#0b6b16}
.ark-msg{padding:22px 10px;text-align:center;color:var(--t-dim);font-size:13.5px}
.ark-btn{margin-top:8px;background:none;border:1px solid rgba(127,127,127,.45);border-radius:8px;color:var(--t-p1);font:inherit;font-size:13px;padding:6px 14px;cursor:pointer}
@media(max-width:600px){#ark-root{padding:14px 12px 50px}.ark-card{padding:12px}.ark-games{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ---- Gaming events & the next Xbox (/events, roadmap #790/#791) ---- */
#gev-root{max-width:900px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.gev-head h2{margin:0 0 6px}
.gev-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55}
.gev-tabs{display:flex;gap:6px;margin:0 0 16px;flex-wrap:wrap}
.gev-tab{font:inherit;font-size:13px;color:var(--t-body);background:none;border:1px solid rgba(127,127,127,.35);border-radius:999px;padding:5px 14px;cursor:pointer;min-height:34px}
.gev-tab.on{border-color:#107c10;color:var(--t-p1);background:rgba(16,124,16,.14)}
.gev-list{display:flex;flex-direction:column;gap:12px}
.gev-card{background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-left:3px solid #107c10;border-radius:12px;padding:14px 16px;min-width:0;box-sizing:border-box}
.gev-card.rumour{border-left-color:#8a8a8a;border-left-style:dashed}
.gev-card.past{opacity:.72}
.gev-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;margin:0 0 6px}
.gev-when{font-size:12.5px;font-weight:700;color:var(--t-p1)}
.gev-cd{font-size:11px;color:#7dd35f}
body.theme-light .gev-cd{color:#0b6b16}
.gev-badge{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border-radius:4px;padding:1px 6px}
.gev-off{color:#0b3d0b;background:#7dd35f}
.gev-rum{color:#fff;background:#8a8a8a}
.gev-soon{color:#2a1a00;background:#e8a33d}
.gev-dim{color:var(--t-dim)}
/* Roadmap #978: the countdown beside an event that starts within ten days.
   White on a solid red (5.6:1), so it reads the same on every theme. */
.gev-cdr{display:inline-flex;align-items:baseline;gap:6px;padding:3px 10px;border-radius:8px;background:#c62828;color:#fff;font-size:15px;font-weight:800;line-height:1.35;white-space:nowrap;font-variant-numeric:tabular-nums}
.gev-cdr b{font-weight:800}
.gev-cdr-l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.gev-cdr.is-live{align-items:center}
.gev-cdr-dot{width:8px;height:8px;border-radius:50%;background:#fff;flex:none}
.gev-title{margin:0 0 6px;font-size:16px;color:var(--t-p1);overflow-wrap:anywhere}
.gev-blurb{margin:0 0 10px;font-size:13.5px;line-height:1.5;color:var(--t-body);overflow-wrap:anywhere}
.gev-links{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12.5px;align-items:center}
.gev-talk{margin-left:auto}
.gev-thread{margin-top:10px}
.gev-watch{color:var(--t-p1);font-weight:600;text-decoration:none;border:1px solid #107c10;border-radius:8px;padding:4px 12px;background:rgba(16,124,16,.12)}
.gev-src a{color:#7dd35f;overflow-wrap:anywhere}
body.theme-light .gev-src a{color:#0b6b16}
.gev-tl{position:relative;margin:0;padding:0 0 0 20px;list-style:none;border-left:2px solid rgba(127,127,127,.3)}
.gev-tl .gev-card{margin:0 0 12px;position:relative}
.gev-tl .gev-card::before{content:"";position:absolute;left:-27px;top:18px;width:10px;height:10px;border-radius:50%;background:#107c10;box-shadow:0 0 0 3px var(--s-a13)}
.gev-tl .gev-card.rumour::before{background:#8a8a8a}
.gev-msg{padding:22px 10px;text-align:center;color:var(--t-dim);font-size:13.5px}
.gev-btn{margin-top:8px;background:none;border:1px solid rgba(127,127,127,.45);border-radius:8px;color:var(--t-p1);font:inherit;font-size:13px;padding:6px 14px;cursor:pointer}
@media(max-width:600px){#gev-root{padding:14px 12px 50px}.gev-card{padding:12px}}
/* ---- Achievement Rush (/achievement-rush, roadmap #616/#827) ---- */
#rush-root{max-width:960px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.rush-head h2{margin:0 0 6px}
.rush-lede{margin:0 0 8px;color:var(--t-body);font-size:13.5px;line-height:1.55}
.rush-note{margin:0 0 14px;color:var(--t-dim);font-size:12.5px;line-height:1.5}
.rush-grp{margin:10px 0 0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim)}
.rush-list{display:flex;flex-direction:column;gap:12px}
.rush-card{background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-left:3px solid #ffb900;border-radius:12px;padding:14px 16px;min-width:0;box-sizing:border-box;scroll-margin-top:70px}
.rush-card.rush-upcoming{border-left-color:#4aa3ff}
.rush-card.rush-finished,.rush-card.rush-scoring{border-left-color:#8a8a8a}
.rush-card.flash{box-shadow:0 0 0 2px rgba(255,185,0,.7)}
.rush-top{display:flex;gap:14px;align-items:flex-start;min-width:0}
.rush-art{flex:0 0 112px;width:112px;display:block}
.rush-art img,.rush-noimg{width:112px;height:112px;object-fit:contain;border-radius:8px;background:rgba(127,127,127,.12);display:block}
.rush-meta{flex:1;min-width:0}
.rush-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;margin:0 0 4px}
.rush-st{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:1px 6px;color:#2a1a00;background:#ffb900}
.rush-st-upcoming{background:#4aa3ff;color:#001a33}
.rush-st-scoring,.rush-st-finished{background:#8a8a8a;color:#fff}
.rush-cd{color:var(--t-dim)}
.rush-title{margin:0 0 2px;font-size:17px;color:var(--t-p1);overflow-wrap:anywhere}
.rush-game{font-size:13px;color:#7dd35f;text-decoration:none;overflow-wrap:anywhere}
body.theme-light .rush-game{color:#0b6b16}
.rush-blurb{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--t-body);overflow-wrap:anywhere}
.rush-dates{margin-top:6px;font-size:12px;color:var(--t-dim)}
.rush-rewards{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.rush-rw{flex:1 1 260px;display:flex;gap:10px;align-items:baseline;font-size:12.5px;line-height:1.45;color:var(--t-body);border:1px solid rgba(127,127,127,.25);border-radius:8px;padding:8px 10px;box-sizing:border-box;min-width:0}
.rush-rw-n{font-weight:800;color:var(--t-p1);white-space:nowrap}
.rush-rw a{color:inherit}
.rush-comm{margin:12px 0 0}
.rush-bar{height:10px;border-radius:999px;background:rgba(127,127,127,.2);overflow:hidden}
.rush-bar span{display:block;height:100%;background:linear-gradient(90deg,#107c10,#16c60c);border-radius:999px}
.rush-bar-lbl{margin-top:5px;font-size:12.5px;color:var(--t-body)}
.rush-goal{color:#7dd35f;font-weight:700}
body.theme-light .rush-goal{color:#0b6b16}
.rush-me{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:rgba(127,127,127,.08);font-size:13px;color:var(--t-body)}
.rush-me-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.rush-in{color:#7dd35f;font-weight:700}
body.theme-light .rush-in{color:#0b6b16}
.rush-join{font:inherit;font-size:13px;font-weight:700;color:#fff;background:#107c10;border:1px solid #16c60c;border-radius:8px;padding:6px 14px;cursor:pointer;min-height:34px;text-decoration:none;display:inline-flex;align-items:center}
.rush-join:disabled{opacity:.6;cursor:default}
.rush-leave,.rush-btn{font:inherit;font-size:12.5px;color:var(--t-p1);background:none;border:1px solid rgba(127,127,127,.45);border-radius:8px;padding:4px 12px;cursor:pointer;min-height:30px}
.rush-paid{margin-top:6px;color:#ffd700;font-weight:700}
body.theme-light .rush-paid{color:#8a6100}
.rush-scan{margin-top:6px;font-size:11.5px}
.rush-dim{color:var(--t-dim)}
.rush-achs{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.rush-ach{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;border-radius:8px;border:1px solid rgba(127,127,127,.2);min-width:0}
.rush-ach img,.rush-noico{width:44px;height:44px;object-fit:contain;border-radius:6px;background:rgba(127,127,127,.12);flex:0 0 44px}
.rush-ach.got{border-color:rgba(22,198,12,.55);background:rgba(16,124,16,.08)}
.rush-ach.early{border-style:dashed}
.rush-ach-t{flex:1 1 200px;min-width:0;font-size:13px;color:var(--t-p1);overflow-wrap:anywhere}
.rush-ach-t small{display:block;color:var(--t-dim);font-size:12px;line-height:1.4}
.rush-gs{font-size:12px;font-weight:700;color:var(--t-body);white-space:nowrap}
.rush-when{font-size:11.5px;color:var(--t-dim)}
.rush-ach.got .rush-when{color:#7dd35f}
body.theme-light .rush-ach.got .rush-when{color:#0b6b16}
.rush-lbw{margin:12px 0 0}
.rush-lbw summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--t-p1)}
.rush-lbw>.rush-dim{font-size:12px;margin-top:4px}
.rush-tw{overflow-x:auto;max-width:100%;margin-top:6px}
.rush-lb{width:100%;border-collapse:collapse;font-size:12.5px}
.rush-lb th,.rush-lb td{text-align:left;padding:5px 8px;border-bottom:1px solid rgba(127,127,127,.18);white-space:nowrap}
.rush-th{cursor:pointer;user-select:none;color:var(--t-dim)}
.rush-th.on{color:var(--t-p1)}
.rush-lb tr.rush-you td{background:rgba(255,185,0,.12)}
.rush-lb a{color:inherit}
.rush-msg{padding:22px 10px;text-align:center;color:var(--t-dim);font-size:13.5px}
.rush-form{border:1px solid rgba(127,127,127,.3);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.rush-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--t-body)}
.rush-form input,.rush-form textarea{font:inherit;font-size:13px;padding:5px 8px;border-radius:6px;border:1px solid rgba(127,127,127,.4);background:var(--s-card);color:var(--t-p1);box-sizing:border-box;max-width:100%}
.rush-f-h{font-weight:700;color:var(--t-p1)}
.rush-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rush-f-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.rush-f-achs{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto}
.rush-form label.rush-f-ach{flex-direction:row;align-items:flex-start;gap:8px}
.rush-f-ach img{width:32px;height:32px;object-fit:contain;border-radius:4px}
.rush-f-ach.off{opacity:.5}
.rush-f-art{width:40px;height:40px;object-fit:contain;vertical-align:middle;margin-right:6px;border-radius:4px}
.rush-act{white-space:nowrap}
@media(max-width:600px){#rush-root{padding:14px 12px 50px}.rush-card{padding:12px}.rush-art,.rush-art img,.rush-noimg{width:72px;height:72px;flex-basis:72px}}
/* ---- Achievement actions: Plan + Add to list (roadmap #801 #802) ---- */
.xaa-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:26px;height:24px;margin-left:4px;padding:0;border:1px solid rgba(127,127,127,.35);border-radius:6px;background:none;color:var(--t-dim,#9aa0a6);cursor:pointer;flex:none}
.xaa-btn:hover,.xaa-btn:focus-visible{color:var(--t-p1,#fff);border-color:#16c60c}
.xaa-btn.on{color:#fff;background:#107c10;border-color:#16c60c}
.xaa-pop{position:fixed;z-index:100002;width:320px;max-width:calc(100vw - 16px);max-height:min(560px,calc(100vh - 16px));overflow-y:auto;box-sizing:border-box;background:var(--s-card,#1b1d22);border:1px solid #3a3d44;border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.6);padding:10px 12px 12px;color:var(--t-body,#d6d9de);font-size:13px;text-align:left}
.xaa-pop.sheet{left:8px!important;right:8px!important;top:auto!important;bottom:8px;width:auto;max-height:80vh}
.xaa-hd{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid rgba(127,127,127,.25)}
.xaa-hn{font-weight:700;color:var(--t-p1,#fff);font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.xaa-hg{font-size:12px;color:var(--t-dim,#9aa0a6);margin-top:2px;overflow-wrap:anywhere}
.xaa-gs{color:#9cf048;font-weight:600}
.xaa-menu{display:flex;flex-direction:column;gap:4px}
.xaa-mi{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.xaa-mi:hover,.xaa-mi:focus-visible{background:rgba(127,127,127,.14);border-color:rgba(127,127,127,.3)}
.xaa-mi svg{flex:none;color:#16c60c}
.xaa-mi span{display:flex;flex-direction:column;min-width:0}
.xaa-mi b{font-size:13.5px;color:var(--t-p1,#fff)}
.xaa-mi small{font-size:11.5px;color:var(--t-dim,#9aa0a6)}
.xaa-foot{display:block;margin-top:8px;font-size:12px;color:#7dd35f;text-decoration:none}
.xaa-foot:hover{text-decoration:underline}
body.theme-light .xaa-foot{color:#0b6b16}
.xaa-form{display:flex;flex-direction:column;gap:6px}
.xaa-l{font-size:11.5px;font-weight:700;color:var(--t-dim,#9aa0a6);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.xaa-l small{text-transform:none;letter-spacing:0;font-weight:400}
.xaa-form input,.xaa-new input{box-sizing:border-box;width:100%;min-height:36px;background:var(--s-a1,#111);color:var(--t-p2,#e6e6e6);border:1px solid #3a3d44;border-radius:7px;padding:6px 9px;font:inherit;font-size:13px;color-scheme:dark}
body.theme-light .xaa-form input,body.theme-light .xaa-new input{color-scheme:light}
.xaa-quick{display:flex;flex-wrap:wrap;gap:5px}
.xaa-quick button{font:inherit;font-size:12px;padding:3px 9px;min-height:28px;border-radius:999px;border:1px solid rgba(127,127,127,.4);background:none;color:var(--t-body,#d6d9de);cursor:pointer}
.xaa-quick button:hover{border-color:#16c60c}
.xaa-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.xaa-b{font:inherit;font-size:13px;min-height:34px;padding:4px 12px;border-radius:7px;border:1px solid #3a3d44;background:none;color:var(--t-body,#d6d9de);cursor:pointer}
.xaa-b.xaa-pri{background:#107c10;border-color:#107c10;color:#fff;font-weight:600}
.xaa-b.xaa-del{border-color:#a33;color:#f19c97}
body.theme-light .xaa-b.xaa-del{color:#a32a24}
.xaa-b:disabled{opacity:.5;cursor:default}
.xaa-err{font-size:12px;color:#f19c97;min-height:0}
body.theme-light .xaa-err{color:#a32a24}
.xaa-sub{font-size:12px;color:var(--t-dim,#9aa0a6);margin:0 0 8px;line-height:1.45}
.xaa-wait{display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--t-dim,#9aa0a6)}
.xaa-lists{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;margin:0 0 8px}
.xaa-li{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:5px 8px;border:0;border-radius:7px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.xaa-li:hover,.xaa-li:focus-visible{background:rgba(127,127,127,.14)}
.xaa-li:disabled{opacity:.6}
.xaa-ck{flex:none;width:16px;height:16px;border:1.5px solid #666;border-radius:4px;box-sizing:border-box}
.xaa-li.on .xaa-ck{border-color:#16c60c;background:#16c60c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M6 11.5L2.5 8l1-1 2.5 2.5 6-6 1 1z'/%3E%3C/svg%3E") center/12px no-repeat}
.xaa-ln{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xaa-ln small{color:var(--t-dim,#9aa0a6)}
.xaa-lk{flex:none;font-size:9.5px;color:var(--t-dim,#9aa0a6);border:1px solid #444;border-radius:4px;padding:0 5px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.xaa-none{font-size:12px;color:var(--t-dim,#9aa0a6);padding:6px 2px}
.xaa-new{display:flex;gap:6px}
.xaa-new input{flex:1;min-width:0}
/* ---- My planner (/planner, roadmap #801) ---- */
#pln-root{max-width:1180px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.pln-head h2{margin:0 0 6px}
.pln-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:820px}
.pln-card{max-width:560px;margin:30px auto;text-align:center;background:var(--s-card);border:1px solid rgba(127,127,127,.3);border-radius:14px;padding:24px 20px;color:var(--t-body)}
.pln-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.pln-nav{display:flex;align-items:center;gap:6px}
.pln-month{margin:0 6px;font-size:18px;min-width:9em;text-align:center;color:var(--t-p1)}
.pln-nb{font:inherit;font-size:20px;line-height:1;width:36px;height:36px;border-radius:8px;border:1px solid rgba(127,127,127,.4);background:none;color:var(--t-p1);cursor:pointer}
.pln-tb{font:inherit;font-size:13px;min-height:34px;padding:4px 12px;border-radius:8px;border:1px solid rgba(127,127,127,.4);background:none;color:var(--t-p1);cursor:pointer}
.pln-show{display:inline-flex;border:1px solid rgba(127,127,127,.4);border-radius:999px;overflow:hidden}
.pln-show button{font:inherit;font-size:13px;min-height:34px;padding:0 14px;border:0;background:none;color:var(--t-body);cursor:pointer}
.pln-show button.on{background:#107c10;color:#fff;font-weight:600}
.pln-calw{border:1px solid rgba(127,127,127,.3);border-radius:12px;overflow:hidden;margin:0 0 22px;background:var(--s-card)}
.pln-wds,.pln-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pln-wd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--t-dim);padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.3)}
.pln-d{min-height:104px;min-width:0;padding:4px 5px 6px;border-right:1px solid rgba(127,127,127,.18);border-bottom:1px solid rgba(127,127,127,.18);box-sizing:border-box;display:flex;flex-direction:column;gap:3px}
.pln-d:nth-child(7n){border-right:0}
.pln-d.out{background:rgba(127,127,127,.06)}
.pln-d.out .pln-dn{opacity:.5}
.pln-d.sel{box-shadow:inset 0 0 0 2px #16c60c}
.pln-d.drop{background:rgba(22,198,12,.16)}
.pln-dn{align-self:flex-start;font:inherit;font-size:12px;font-weight:600;min-width:26px;height:24px;padding:0 6px;border:0;border-radius:999px;background:none;color:var(--t-body);cursor:pointer}
.pln-dn:hover{background:rgba(127,127,127,.18)}
.pln-d.now .pln-dn{background:#107c10;color:#fff}
.pln-chips{display:flex;flex-direction:column;gap:3px;min-width:0}
.pln-chip{display:flex;align-items:center;gap:5px;min-width:0;padding:2px 5px 2px 2px;border-radius:6px;background:rgba(127,127,127,.12);border-left:3px solid #e8a33d;font-size:11.5px;line-height:1.25;color:var(--t-p1);cursor:pointer;user-select:none}
.pln-chip:hover,.pln-chip:focus-visible{background:rgba(127,127,127,.24)}
.pln-chip.done{border-left-color:#16c60c;opacity:.75}
.pln-chip.late{border-left-color:#e0564f}
.pln-chip img,.pln-chip .pln-ci{width:22px;height:16px;flex:none;border-radius:3px;object-fit:contain;background:rgba(127,127,127,.2)}
.pln-cn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pln-chip.done .pln-cn{text-decoration:line-through}
.pln-more{align-self:flex-start;font:inherit;font-size:11px;padding:0 4px;border:0;background:none;color:#7dd35f;cursor:pointer}
body.theme-light .pln-more{color:#0b6b16}
.pln-lh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0 0 8px}
.pln-lh h3{margin:0;font-size:16px;color:var(--t-p1)}
.pln-cnt{font-size:12.5px;color:var(--t-dim)}
.pln-tw{width:100%;overflow-x:auto;position:relative}
.pln-tbl{width:100%;border-collapse:collapse;font-size:13px}
.pln-tbl th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--t-dim);padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.3);white-space:nowrap}
.pln-tbl th.s{cursor:pointer;user-select:none}
.pln-tbl th.s:hover{color:var(--t-p1)}
.pln-tbl th.asc::after{content:" \25B2";font-size:9px;color:#16c60c}
.pln-tbl th.desc::after{content:" \25BC";font-size:9px;color:#16c60c}
.pln-tbl td{padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.15);vertical-align:middle;color:var(--t-body)}
.pln-tbl .c-date{white-space:nowrap}
.pln-tbl .c-game a{color:var(--t-p1);text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.pln-tbl .c-game a:hover{text-decoration:underline}
.pln-tbl .c-note{max-width:280px;overflow-wrap:anywhere;font-size:12.5px}
.pln-tbl .c-act{white-space:nowrap;text-align:right}
.pln-ach{display:flex;align-items:center;gap:8px;min-width:180px}
.pln-ach img,.pln-ach .pln-ci{width:44px;height:30px;flex:none;border-radius:4px;object-fit:contain;background:rgba(127,127,127,.15)}
.pln-ach>span{display:flex;flex-direction:column;min-width:0}
.pln-an{font-weight:600;color:var(--t-p1);overflow-wrap:anywhere}
.pln-ach small{font-size:11px;color:var(--t-dim)}
.pln-r.done .pln-an{text-decoration:line-through;opacity:.8}
.pln-st{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:1px 6px;white-space:nowrap;color:#2a1a00;background:#e8a33d}
.pln-st.done{background:#16c60c;color:#062b06}
.pln-st.late{background:#d9534f;color:#fff}
.pln-st.today{background:#3aa0ff;color:#04213d}
.pln-ab{font:inherit;font-size:14px;width:34px;height:34px;border-radius:7px;border:1px solid rgba(127,127,127,.35);background:none;color:var(--t-body);cursor:pointer;margin-left:4px}
.pln-ab:hover{border-color:#16c60c;color:var(--t-p1)}
.pln-ab:disabled{opacity:.5}
.pln-msg{padding:22px 10px!important;text-align:center;color:var(--t-dim)!important;font-size:13.5px}
.pln-msg a{color:#7dd35f}
body.theme-light .pln-msg a{color:#0b6b16}
.pln-dim{color:var(--t-dim)}
.pln-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:700px){#pln-root{padding:14px 10px 50px}.pln-month{font-size:16px;min-width:7.5em}.pln-wd{padding:5px 2px;text-align:center;font-size:10px}
.pln-d{min-height:64px;padding:3px 2px 4px}.pln-dn{min-width:22px;height:22px;padding:0 4px;font-size:11px}
.pln-chips{flex-direction:row;flex-wrap:wrap;gap:2px}.pln-chip{padding:1px;border-left-width:2px}.pln-cn{display:none}.pln-chip img,.pln-chip .pln-ci{width:18px;height:14px}
.pln-tbl{min-width:620px}.pln-tbl .c-note{max-width:160px}.pln-ach{min-width:150px}}
/* ---- Recommended for you (/recommendations + the Feed strip, roadmap #826) ---- */
#rfy-root{max-width:1180px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.rfy-head h2{margin:0 0 6px}
.rfy-lede{margin:0 0 12px;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:820px}
.rfy-based{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:12.5px;color:var(--t-dim)}
.rfy-based a{color:var(--t-p1);text-decoration:none;border:1px solid rgba(127,127,127,.35);border-radius:999px;padding:3px 10px;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfy-based a:hover{border-color:#7dd35f}
.rfy-based a.fav{border-color:#e8a33d}
.rfy-based a.rfy-plain{border:0;padding:0;max-width:none;color:#7dd35f;text-decoration:underline}
body.theme-light .rfy-based a.rfy-plain{color:#0b6b16}
.rfy-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;font-size:13px;color:var(--t-body)}
.rfy-tools label{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px}
.rfy-tools select{font:inherit;font-size:13px;background:var(--s-card);color:var(--t-p1);border:1px solid rgba(127,127,127,.4);border-radius:8px;padding:5px 8px;min-height:32px}
.rfy-count{margin-left:auto;color:var(--t-dim);font-size:12.5px}
.rfy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.rfy-card{position:relative;display:flex;flex-direction:column;background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-radius:12px;overflow:hidden;min-width:0}
.rfy-card:hover{border-color:rgba(125,211,95,.55)}
.rfy-art{display:block;background:rgba(127,127,127,.12)}
.rfy-art img,.rfy-art .rfy-noimg{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}
.rfy-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:14px;line-height:30px;text-align:center;cursor:pointer;padding:0}
.rfy-x:hover,.rfy-x:focus-visible{background:rgba(0,0,0,.88)}
.rfy-body{display:flex;flex-direction:column;gap:6px;padding:10px 11px 12px;flex:1;min-width:0}
.rfy-name{font-size:14px;font-weight:700;color:var(--t-hi);text-decoration:none;line-height:1.25;overflow-wrap:anywhere}
.rfy-name:hover{text-decoration:underline}
.rfy-why{font-size:12.5px;color:#7dd35f;line-height:1.35;overflow-wrap:anywhere}
body.theme-light .rfy-why{color:#0b6b16}
.rfy-chips{display:flex;flex-wrap:wrap;gap:4px}
.rfy-chip{font-size:11px;color:var(--t-body);border:1px solid rgba(127,127,127,.35);border-radius:999px;padding:1px 8px;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfy-chip.gp{border-color:#107c10;color:var(--t-p1)}
.rfy-meta{font-size:11.5px;color:var(--t-dim);line-height:1.4}
.rfy-buy{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:4px}
.rfy-store{font-size:12px;color:var(--t-p1);text-decoration:none;border:1px solid rgba(127,127,127,.4);border-radius:8px;padding:4px 9px;white-space:nowrap}
.rfy-price{font-size:12px;font-weight:700;color:var(--t-hi);white-space:nowrap}
.rfy-price.sale{color:var(--g-t5)}
.rfy-price s{font-weight:400;color:var(--t-mute);margin-right:2px}
.rfy-store:hover{border-color:#7dd35f}
.rfy-msg{padding:22px 10px;text-align:center;color:var(--t-dim);font-size:13.5px;line-height:1.55;grid-column:1/-1}
.rfy-msg a{color:#7dd35f}
body.theme-light .rfy-msg a{color:#0b6b16}
.rfy-btn{margin-top:8px;background:none;border:1px solid rgba(127,127,127,.45);border-radius:8px;color:var(--t-p1);font:inherit;font-size:13px;padding:6px 14px;cursor:pointer}
.rfy-note{font-size:12.5px;color:var(--t-dim);margin:14px 0 0}
.rfy-note button{background:none;border:0;color:#7dd35f;font:inherit;cursor:pointer;padding:0;text-decoration:underline}
body.theme-light .rfy-note button{color:#0b6b16}
.rfy-strip{position:relative;background:var(--s-card);border:1px solid rgba(127,127,127,.25);border-radius:12px;margin:0 0 16px;padding:12px 14px}
.rfy-shead{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-bottom:10px}
.rfy-shead b{font-size:16px;color:var(--t-hi)}
.rfy-shead a{color:inherit;text-decoration:none}
.rfy-ssub{font-size:12px;color:var(--t-dim)}
.rfy-shead a.rfy-sall{margin-left:auto;font-size:12.5px;color:#7dd35f}
body.theme-light .rfy-shead a.rfy-sall{color:#0b6b16}
.rfy-shide{background:none;border:0;color:var(--t-dim);font-size:13px;cursor:pointer;padding:4px 6px;min-width:30px;min-height:30px}
.rfy-shide:hover{color:var(--t-hi)}
.rfy-srow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.rfy-sc{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:inherit;min-width:0}
.rfy-sc img,.rfy-sc .rfy-noimg{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:8px;background:rgba(127,127,127,.12);display:block}
.rfy-sc b{font-size:12.5px;color:var(--t-hi);line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rfy-sc span{font-size:11px;color:#7dd35f;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
body.theme-light .rfy-sc span{color:#0b6b16}
@media(max-width:700px){#rfy-root{padding:14px 12px 50px}.rfy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rfy-body{padding:8px 9px 10px}.rfy-count{margin-left:0;width:100%}
.rfy-srow{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:38%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.rfy-sc{scroll-snap-align:start}}
.ark-views{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.ark-view{font:inherit;font-size:13.5px;font-weight:700;color:var(--t-body);background:none;border:1px solid rgba(127,127,127,.35);border-radius:8px;padding:6px 16px;cursor:pointer;min-height:36px}
.ark-view.on{border-color:#e8a33d;color:var(--t-p1);background:rgba(232,163,61,.12)}
.ark-own{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.ark-own-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--t-dim);margin-right:2px}
.ark-own-cta{flex-basis:100%;box-sizing:border-box;font-size:12.5px;line-height:1.5;color:var(--t-body);padding:8px 10px;border:1px solid rgba(127,127,127,.3);border-radius:8px}
.ark-own-cta a{display:inline-block;margin-left:8px;color:#7dd35f;font-weight:700;text-decoration:none}
body.theme-light .ark-own-cta a{color:#0b6b16}
.ark-gw{display:flex;flex-direction:column;gap:4px;min-width:0}
.ark-ownb{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#107c10;border-radius:4px;padding:1px 5px}
.ark-gw .aff-pills{display:flex;flex-wrap:wrap;gap:3px}
.ark-hbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px}
.ark-q{flex:1;min-width:180px;box-sizing:border-box;background:var(--s-card);color:var(--t-body);border:1px solid rgba(127,127,127,.4);border-radius:8px;padding:8px 11px;font:inherit;font-size:13px}
.ark-hcount{font-size:12.5px;color:var(--t-dim)}
.ark-tblwrap{width:100%;overflow-x:auto}
.ark-tbl{width:100%;border-collapse:collapse;font-size:13px}
.ark-tbl th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--t-dim);padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.3);white-space:nowrap}
.ark-tbl th.s{cursor:pointer;user-select:none}
.ark-tbl th.s:hover{color:var(--t-p1)}
.ark-tbl td{padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.15);vertical-align:middle;color:var(--t-body)}
.ark-tbl td img,.ark-tbl td .ark-noimg{width:44px;height:44px;object-fit:contain;border-radius:6px;background:rgba(127,127,127,.12);display:block}
.ark-tn{color:var(--t-p1);text-decoration:none;font-weight:600;overflow-wrap:anywhere}
.ark-tn:hover{text-decoration:underline}
.ark-psub{display:none;font-size:11px;color:var(--t-dim)}
.ark-st{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:1px 6px;white-space:nowrap;color:#2a1a00;background:#f0a44a}
.ark-st.hard{background:#d9534f;color:#fff}
.ark-tbl .c-date{white-space:nowrap}
.ark-first{display:block;font-size:11px;color:var(--t-dim);white-space:normal}
.ark-tbl .c-buy .aff-pills{display:flex;gap:3px;flex-wrap:nowrap}
@media(max-width:600px){.ark-tbl .c-plat{display:none}.ark-psub{display:block}.ark-tbl td,.ark-tbl th{padding:6px 5px}.ark-tbl td img,.ark-tbl td .ark-noimg{width:36px;height:36px}}
/* ---- Community Captures (/captures, roadmap #667, 2026-09-29) ---- */
.capa-page{max-width:1180px;margin:0 auto;padding:14px 14px 60px;box-sizing:border-box;width:100%}
.capa-head{margin:0 0 14px}
.capa-h{margin:0 0 6px;font-size:26px}
.capa-lede{margin:0;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:820px}
.capa-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 16px}
.capa-inp,.capa-sel{background:var(--s-a34,#161616);color:var(--t-body);border:1px solid #333;border-radius:8px;padding:8px 11px;font-size:13px}
.capa-inp{flex:1;min-width:200px}
.capa-sel{cursor:pointer}
.capa-count{color:var(--t-dim);font-size:12.5px;margin-left:auto}
.capa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.capa-cell{position:relative;border-radius:12px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.07)}
.capa-shot{display:block;width:100%;aspect-ratio:16/9;background:#0b0b0d;cursor:zoom-in;border:0;padding:0}
.capa-shot img{width:100%;height:100%;object-fit:cover;display:block}
.capa-play{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;pointer-events:none}
.capa-foot{padding:8px 10px;font-size:12.5px}
.capa-frow{display:flex;align-items:center;gap:8px}
.capa-gt{flex:1;min-width:0;color:#e6eaee;font-weight:600;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capa-gt:hover{text-decoration:underline}
.capa-like{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid rgba(255,255,255,.14);color:#c9ced3;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;flex:none}
.capa-like:hover{border-color:#e5392f}
.capa-like.on{color:#ff5b6e;border-color:#e5392f}
.capa-like[disabled]{opacity:.6;cursor:default}
.capa-sub{display:flex;align-items:center;gap:6px;margin-top:5px;color:#9aa0a6;font-size:11.5px;min-width:0}
.capa-game{color:var(--t-p1,#9cc6ff);text-decoration:none;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}
.capa-game:hover{text-decoration:underline}
.capa-when{white-space:nowrap}
.capa-none{grid-column:1/-1;color:#9aa0a6;font-size:13.5px;padding:26px 4px;text-align:center}
/* Viewer (roadmap #674): the Gallery lightbox (#wp-lb) look - dark blurred
   overlay, picture contained with a clear band under it for the caption bar,
   round close / prev / next buttons. */
#capa-lb{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
#capa-lb.open{display:flex}
#capa-lb .capa-lb-media img,#capa-lb .capa-lb-media video{display:block;max-width:94vw;max-height:calc(100vh - 96px);width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.7);margin-bottom:56px;background:#000}
#capa-lb .capa-lb-cap{position:fixed;bottom:0;left:0;right:0;min-height:56px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 4px;padding:6px 16px;box-sizing:border-box;text-align:center;color:var(--t-body2,#ddd);font-size:14px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.85) 30%);text-shadow:0 1px 3px rgba(0,0,0,.9)}
#capa-lb .capa-lb-cap b a{color:#fff;text-decoration:none}
#capa-lb .capa-lb-cap b a:hover{text-decoration:underline}
#capa-lb .capa-lb-cap .sub{color:var(--t-m4,#9aa0a6);font-size:12px;margin-left:10px}
#capa-lb .capa-lb-cap .capa-game{max-width:none}
#capa-lb .capa-lb-cap .capa-like{margin-left:12px}
#capa-lb .capa-lb-cap .capa-lb-full{color:var(--g-t3,#6ee06e);text-decoration:none;margin-left:12px}
.capa-lb-x{position:fixed;top:14px;right:16px;width:38px;height:38px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:#fff;font-size:20px;cursor:pointer;z-index:2}
.capa-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:rgba(0,0,0,.5);color:#fff;font-size:28px;cursor:pointer;z-index:2}
.capa-lb-nav:hover{background:rgba(255,255,255,.2)}
.capa-lb-prev{left:14px}.capa-lb-next{right:14px}
@media(max-width:600px){.capa-lb-nav{width:40px;height:40px;font-size:22px}.capa-lb-prev{left:6px}.capa-lb-next{right:6px}}
body.theme-light .capa-gt{color:#111}
@media(max-width:600px){.capa-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.capa-h{font-size:22px}}
/* ---- My XBOX Circle (/circle, 2026-09-30) ---- */
#cir-root{max-width:1100px;margin:0 auto;padding:14px 14px 40px;box-sizing:border-box;width:100%}
.cir-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 16px;margin:0 0 10px}
.cir-head h2{margin:0 0 4px;font-size:26px}
.cir-meta{color:var(--t-dim);font-size:13px;line-height:1.55}
.cir-meta b{color:var(--t-p1)}
.cir-actions{display:flex;flex-wrap:wrap;gap:8px}
.cir-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:999px;border:0;background:linear-gradient(135deg,#16c60c,#107c10);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.cir-btn[disabled]{background:#2a2f3a;color:#9aa3b2;cursor:default}
.cir-btn.ghost{background:none;border:1px solid #3a4150;color:var(--t-body)}
.cir-status{display:flex;align-items:center;gap:14px;background:#0d1426;border:1px solid #22304d;border-radius:12px;padding:10px 14px;margin:0 0 12px;color:#cdd6ea;font-size:13.5px;line-height:1.5}
.cir-status[hidden]{display:none}
.cir-status .xct-spinner-wrap{padding:0;margin:0;flex:none}
.cir-status b{color:#fff}
.cir-dim{color:#8f9bb5;font-size:12.5px}
.cir-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}
.cir-bar[hidden],.cir-wrap[hidden]{display:none}
.cir-seg-l{font-size:12.5px;color:var(--t-dim)}
.cir-seg{display:inline-flex;border:1px solid #2c3446;border-radius:999px;overflow:hidden;background:#0d1426}
.cir-seg button{background:none;border:0;color:#aab4c8;font:inherit;font-size:13px;font-weight:600;padding:0 14px;min-height:36px;cursor:pointer}
.cir-seg button.on{background:#e8eefc;color:#0b1430}
.cir-hint{font-size:12px;color:var(--t-dim)}
.cir-src{margin:4px 0 8px}
.cir-wrap{display:flex;justify-content:center}
.cir-stage{position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(circle at 50% 50%,#1b2a55 0,#111b3a 45%,#0a1128 100%);touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.cir-b{position:absolute;left:0;top:0;width:100px;height:100px;border-radius:50%;overflow:hidden;background:#1a2447;border:5px solid #fff;box-sizing:border-box;box-shadow:0 2px 8px rgba(0,0,0,.45);transform-origin:50% 50%;will-change:transform;cursor:grab;touch-action:none}
.cir-b img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;-webkit-user-drag:none}
.cir-ini{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:42px;font-weight:700;color:#cfd8ee}
.cir-b.drag{cursor:grabbing;z-index:3;box-shadow:0 8px 22px rgba(0,0,0,.6)}
.cir-b.cir-me{z-index:2;cursor:pointer;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 4px 22px rgba(0,0,0,.6)}
.cir-tip{position:absolute;z-index:5;transform:translate(-50%,-100%);background:rgba(8,12,28,.95);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:7px 11px;color:#fff;font-size:12.5px;line-height:1.45;white-space:nowrap;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.cir-tip b{font-size:13.5px}
.cir-tip span{display:block;color:#b8c3dc}
.cir-card{max-width:560px;margin:30px auto;text-align:center;background:#0d1426;border:1px solid #22304d;border-radius:16px;padding:28px 24px;color:#cdd6ea}
.cir-card h2,.cir-card h3{margin:0 0 10px;color:#fff}
.cir-card p{margin:0 0 18px;font-size:14px;line-height:1.6}
.cir-up{background:linear-gradient(135deg,rgba(22,198,12,.12),rgba(16,124,16,.05)),#0d1426;border-color:rgba(124,224,72,.4)}
.cir-up-art{position:relative;width:120px;height:120px;margin:0 auto 16px}
.cir-up-art b,.cir-up-art i{position:absolute;border-radius:50%;border:3px solid #fff;background:#23305a;box-sizing:border-box}
.cir-up-art b{left:36px;top:36px;width:48px;height:48px;background:#107c10}
.cir-up-art i{width:26px;height:26px}
.cir-up-art i:nth-child(1){left:47px;top:4px}.cir-up-art i:nth-child(2){left:86px;top:26px}.cir-up-art i:nth-child(3){left:86px;top:70px}
.cir-up-art i:nth-child(4){left:47px;top:90px}.cir-up-art i:nth-child(5){left:8px;top:70px}.cir-up-art i:nth-child(6){left:8px;top:26px}
@media(max-width:600px){.cir-head h2{font-size:22px}.cir-hint{display:none}.cir-seg button{padding:0 9px;font-size:12.5px}}
/* Choose people + Share (roadmap #685) */
.cir-modal{position:fixed;inset:0;z-index:9000;background:rgba(3,6,16,.72);display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;box-sizing:border-box;overflow:auto}
.cir-modal[hidden]{display:none}
.cir-pane{width:100%;max-width:760px;background:#0d1426;border:1px solid #22304d;border-radius:16px;color:#cdd6ea;box-shadow:0 18px 60px rgba(0,0,0,.6);display:flex;flex-direction:column;max-height:92vh}
.cir-pane.sm{max-width:520px}
.cir-pane-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid #22304d}
.cir-pane-h h3{margin:0;color:#fff;font-size:18px}
.cir-x{background:none;border:0;color:#aab4c8;font-size:24px;line-height:1;cursor:pointer;padding:4px 8px}
.cir-pane-b{padding:12px 16px 16px;overflow:auto}
.cir-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.cir-tools input[type=search],.cir-tools select{min-height:36px;border-radius:10px;border:1px solid #2c3446;background:#0a1020;color:#e6ecf8;font:inherit;font-size:13.5px;padding:0 10px}
.cir-tools input[type=search]{flex:1 1 180px}
.cir-tools .cir-btn{min-height:36px;padding:0 14px;font-size:13px}
.cir-count{font-size:13.5px;color:#fff;font-weight:700;margin:0 0 8px}
.cir-count.full{color:#ffd166}
.cir-tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.cir-tbl th{position:sticky;top:0;background:#0d1426;text-align:left;font-size:12px;color:#8f9bb5;font-weight:700;padding:6px 8px;border-bottom:1px solid #22304d;cursor:pointer;user-select:none;white-space:nowrap}
.cir-tbl th[aria-sort=ascending]::after{content:" \25B2";font-size:10px}
.cir-tbl th[aria-sort=descending]::after{content:" \25BC";font-size:10px}
.cir-tbl td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}
.cir-tbl td.n{text-align:right;font-variant-numeric:tabular-nums}
.cir-tbl th.n{text-align:right}
.cir-tbl tr.off td{opacity:.55}
.cir-who{display:flex;align-items:center;gap:9px;min-width:0}
.cir-who img,.cir-who span.cir-av{width:30px;height:30px;border-radius:50%;object-fit:contain;background:#1a2447;flex:none;border:2px solid #fff;box-sizing:border-box}
.cir-who span.cir-av{display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#cfd8ee}
.cir-who b{font-weight:600;color:#e6ecf8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cir-tbl input[type=checkbox]{width:18px;height:18px;cursor:pointer}
.cir-empty{padding:18px;text-align:center;color:#8f9bb5}
.cir-sw{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;cursor:pointer}
.cir-sw input{width:20px;height:20px;margin:2px 0 0;flex:none;cursor:pointer}
.cir-sw b{color:#fff}
.cir-sw span{display:block;font-size:12.5px;color:#8f9bb5;line-height:1.5;margin-top:2px}
.cir-link{display:flex;gap:8px;margin:0 0 14px}
.cir-link input{flex:1;min-width:0;min-height:38px;border-radius:10px;border:1px solid #2c3446;background:#0a1020;color:#e6ecf8;font:inherit;font-size:13px;padding:0 10px}
.cir-about{background:#0d1426;border:1px solid #22304d;border-radius:14px;padding:14px 16px;margin:0 0 12px;color:#cdd6ea;font-size:13.5px;line-height:1.6}
.cir-about b{color:#fff}
.cir-about p{margin:0 0 6px}
.cir-brand{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7ee07e;font-weight:700;margin:0 0 4px}
.cir-legend{font-size:13px;color:var(--t-dim);margin:0 0 10px}
.cir-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(135deg,rgba(22,198,12,.14),rgba(16,124,16,.05)),#0d1426;border:1px solid rgba(124,224,72,.4);border-radius:14px;padding:12px 16px;margin:12px 0 0;color:#cdd6ea;font-size:13.5px}
.cir-cta b{color:#fff}
/* ---- Game Pass Perks (/perks, roadmap #426) ---- */
.gpk-page{max-width:1180px;margin:0 auto;padding:18px 14px 60px;box-sizing:border-box;width:100%}
.gpk-head h2{margin:0 0 6px}
.gpk-lede{margin:0 0 14px;color:var(--t-body);font-size:13.5px;line-height:1.55;max-width:860px}
.gpk-lede b{color:var(--t-p1)}
.gpk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px}
.gpk-chips{display:flex;flex-wrap:wrap;gap:6px}
.gpk-chip{background:var(--s-card);border:1px solid #333;color:var(--t-body);border-radius:16px;padding:5px 12px;font-size:12.5px;cursor:pointer}
.gpk-chip span{opacity:.7;margin-left:3px}
.gpk-chip.on{background:#107c10;border-color:#107c10;color:#fff}
.gpk-q{flex:1 1 220px;max-width:340px;background:var(--s-deep);color:var(--t-body);border:1px solid #333;border-radius:6px;padding:7px 10px;font-size:13px}
.gpk-mk{font-size:12.5px;color:var(--t-dim);display:flex;align-items:center;gap:6px}
.gpk-mk select{background:var(--s-deep);color:var(--t-body);border:1px solid #333;border-radius:6px;padding:5px 6px}
.gpk-count{font-size:12px;color:var(--t-dim);margin-left:auto}
.gpk-note{font-size:12.5px;color:var(--t-dim);margin:2px 0 14px}
.gpk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.gpk-card{display:flex;flex-direction:column;background:var(--s-card);border:1px solid #2a2a2a;border-radius:10px;overflow:hidden;min-width:0}
.gpk-art{aspect-ratio:16/9;background:#0b0b0b;display:flex;align-items:center;justify-content:center}
.gpk-art img{width:100%;height:100%;object-fit:contain;display:block}
.gpk-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.gpk-kicker{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7dd35f}
.gpk-title{margin:0;font-size:15px;line-height:1.3;color:var(--t-p1);overflow-wrap:anywhere}
.gpk-sub{font-size:13px;color:var(--t-body)}
.gpk-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:2px}
.gpk-dl{font-size:11.5px;color:var(--t-dim);margin-right:4px}
.gpk-dl.soon{color:#f4c80e}
.gpk-tier{font-size:10.5px;border:1px solid rgba(124,211,95,.45);color:#9fe28a;border-radius:9px;padding:0 7px;line-height:1.6}
.gpk-more summary{cursor:pointer;font-size:12px;color:#8fd1ff}
.gpk-more p{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--t-body)}
.gpk-more p.gpk-terms{font-size:11.5px;color:var(--t-dim)}
.gpk-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.gpk-btn{display:inline-block;background:var(--s-rise);border:1px solid #3a3a3a;color:var(--t-body);border-radius:6px;padding:5px 11px;font-size:12px;text-decoration:none;cursor:pointer;white-space:nowrap}
.gpk-btn:hover{border-color:#107c10}
.gpk-btn.gpk-claim{background:#107c10;border-color:#107c10;color:#fff;font-weight:600;font-family:inherit;cursor:pointer}
.gpk-empty{padding:30px 10px;text-align:center;color:var(--t-mute)}
.gpk-foot{margin-top:18px;font-size:11.5px;color:var(--t-dim)}
.gpk-tbl-wrap{overflow-x:auto}
.gpk-tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.gpk-tbl th{text-align:left;padding:7px 8px;border-bottom:1px solid #333;color:var(--t-dim);font-weight:600;white-space:nowrap}
.gpk-tbl th.sortable{cursor:pointer;user-select:none}.gpk-tbl th.on{color:var(--t-p1)}
.gpk-tbl td{padding:6px 8px;border-bottom:1px solid #222;vertical-align:middle;color:var(--t-body)}
.gpk-tbl td.t{min-width:200px;color:var(--t-p1)}
.gpk-tbl td.t img{width:34px;height:34px;object-fit:contain;border-radius:4px;background:#0b0b0b;vertical-align:middle;margin-right:8px}
.gpk-tbl td.a{white-space:nowrap}.gpk-tbl td.a .gpk-btn{padding:3px 8px;font-size:11px;margin-right:4px}
.gpk-tbl td:nth-child(5),.gpk-tbl td:nth-child(6){white-space:nowrap}.gpk-tbl .gpk-tier{display:inline-block;margin:1px 3px 1px 0}
body.theme-light .gpk-card{background:#fff;border-color:#ddd}
body.theme-light .gpk-title,body.theme-light .gpk-tbl td.t{color:#222}
body.theme-light .gpk-chip,body.theme-light .gpk-btn{background:#f4f4f4;border-color:#ccc;color:#333}
body.theme-light .gpk-chip.on,body.theme-light .gpk-btn.gpk-claim{background:#107c10;border-color:#107c10;color:#fff}
body.theme-light .gpk-tier{color:#2e7d32;border-color:#8bc48a}
body.theme-light .gpk-art{background:#f0f0f0}
/* ---- Disc to Digital (/disc2digital) ---- */
.d2d-page{max-width:1080px;margin:0 auto;padding:20px 14px 60px;box-sizing:border-box;width:100%}.d2d-page.wide{max-width:none}.d2d-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid #22262b}body.d2d-sub-hidden body.nav-left.d2d-sub:has(#disc2digital.active) body.nav-right body.d2d-sub-hidden.nav-left body.d2d-sub-hidden.nav-right body.nav-collapsed.nav-left body.nav-collapsed.nav-right body.d2d-sub-hidden.nav-collapsed.nav-left body.d2d-sub-hidden.nav-collapsed.nav-right .d2d-counts .y b{color:var(--g-t5)}.d2d-counts .n b{color:#ff9a9a}.d2d-counts .u b{color:#ffcf7a}.d2d-panes{display:flex;gap:4px;flex-wrap:wrap}.d2d-panes a{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;color:var(--t-mute);text-decoration:none;border:1px solid transparent;cursor:pointer}.d2d-panes a:hover{color:var(--t-body2);background:var(--s-a10)}.d2d-panes a.active{color:var(--g-t3);background:#0d2a0d}@media(max-width:900px){.d2d-panes{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px;gap:6px}.d2d-panes::-webkit-scrollbar{display:none}.d2d-panes a{flex:0 0 auto!important;width:auto!important;white-space:nowrap;border:1px solid #2a2f2a;border-radius:999px;padding:7px 13px}.d2d-panes a.active{border-color:var(--xct-accent,#2f6a2f)!important}}.d2d-pane{width:100%}.d2d-doc{background:var(--s-a4);border:1px solid #26272b;padding:16px 18px;font-size:13px;line-height:1.6;color:var(--t-p43)}.d2d-doc h2{margin:0 0 12px;font-size:16px;color:var(--t-p2)}.d2d-doc-h3{margin:22px 0 10px;font-size:14px;color:var(--t-body2)}.d2d-doc .d2d-sources,.d2d-doc .d2d-corrections,.d2d-doc .d2d-proof-queue,.d2d-doc .d2d-trend-fold{border:0;background:none;margin:0;padding:0}.d2d-qa{border-top:1px solid #22262b;padding:8px 0}.d2d-qa summary{cursor:pointer;list-style:none;font-weight:700;color:var(--t-p26);font-size:13px;display:flex;gap:8px;align-items:center}.d2d-qa summary::-webkit-details-marker{display:none}.d2d-qa summary::before{content:'\25B8';color:var(--g-t5);font-size:11px}.d2d-qa[open] summary::before{content:'\25BE'}.d2d-qa .a{padding:6px 0 4px 19px;color:var(--t-p77)}.d2d-qa code{background:var(--s-a9);padding:1px 5px;border-radius:3px}.d2d-submit-top{display:flex;justify-content:center;margin:0 0 16px}.d2d-filterbar{background:var(--s-a4);border:1px solid #26272b;border-radius:8px;padding:12px;margin:0 0 12px;display:flex;flex-direction:column;gap:10px}.d2d-search{position:relative}.d2d-search .ico{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--t-m8);pointer-events:none}.d2d-filterbar .d2d-table-search{margin:0;padding-left:32px}.d2d-frow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.d2d-flabel{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--t-m8);min-width:46px}.d2d-frow .d2d-chips{margin:0}.d2d-chips button.variant.on{color:#c7a4ff;border-color:#5a3f8a;background:#241a36}.d2d-frow1{display:flex;gap:8px 10px;flex-wrap:wrap;align-items:flex-end}.d2d-frow1>label,.d2d-frow1>.d2d-dd{display:flex;flex-direction:column;gap:4px;flex:1 1 140px;min-width:0}.d2d-frow1>.d2d-fsearch{flex:2 1 240px}.d2d-fl{color:var(--t-m8);font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.d2d-fl i{font-style:normal;margin-left:5px;opacity:.85}.d2d-frow1 select,.d2d-frow1 .d2d-table-search,.d2d-dd-btn{width:100%;min-width:0;max-width:none;box-sizing:border-box;background:var(--s-a163);border:1px solid #2c2d31;color:var(--t-body);padding:7px 9px;font:12px inherit;border-radius:6px;text-transform:none;letter-spacing:0;height:34px}.d2d-frow1 .d2d-table-search{margin:0;padding-left:9px}.d2d-dd{position:relative}.d2d-dd-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.d2d-dd-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.d2d-dd-btn b{color:var(--t-m8);font-weight:400}.d2d-dd.open .d2d-dd-btn{border-color:#9cf048}.d2d-dd-panel{display:none;position:absolute;left:0;top:100%;margin-top:4px;min-width:100%;z-index:60;background:var(--s-a4);border:1px solid #2c2d31;border-radius:6px;padding:6px;box-shadow:0 10px 24px rgba(0,0,0,.45)}.d2d-dd.open .d2d-dd-panel{display:block}.d2d-dd-panel label{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:4px;font-size:12px;color:var(--t-p8);cursor:pointer;white-space:nowrap}.d2d-dd-panel label:hover{background:var(--s-a164)}.d2d-dd-panel input{accent-color:#9cf048;margin:0}.d2d-dd-panel label.yes{color:var(--g-t5)}.d2d-dd-panel label.no{color:#ff9a9a}.d2d-dd-panel label.unconfirmed{color:#ffcf7a}.d2d-dd-panel label.variant{color:#c7a4ff}.d2d-dd-sel{display:flex;gap:6px;padding:2px 3px 6px;margin-bottom:4px;border-bottom:1px solid #2c2d31}.d2d-dd-sel button{flex:1;background:var(--s-a163);border:1px solid #2c2d31;color:var(--t-m5);font:600 11px inherit;padding:4px 6px;border-radius:5px;cursor:pointer;white-space:nowrap}.d2d-dd-sel button:hover{border-color:#9cf048;color:var(--g-t5)}.d2d-own-cta{max-width:220px;padding:8px 9px;font-size:12px;line-height:1.5;color:var(--t-mute)}.d2d-own-cta a{display:block;margin-top:8px;color:var(--g-t5);text-decoration:none;font-weight:700}.d2d-own-cta a:hover{text-decoration:underline}.d2d-ftools{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.d2d-fhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.d2d-flabel2{font:700 13px inherit;color:var(--t-p12)}.d2d-ftog{background:var(--s-a4);border:1px solid #2c2d31;color:var(--g-t5);font:700 13px inherit;cursor:pointer;width:30px;height:30px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none}.d2d-ftog:hover{border-color:#9cf048}.d2d-fclear{background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-p8);padding:6px 10px;font:12px inherit;border-radius:6px;cursor:pointer}.d2d-fclear:hover{border-color:#9cf048;color:var(--g-t5)}.d2d-ftog b{color:var(--g-t5);font-size:12px}.d2d-ftog:hover{color:var(--g-t5)}.d2d-fsum{font-size:11px;color:var(--t-m8);flex:1 1 auto}.d2d-fhead .d2d-sub-open{padding:8px 14px;font-size:13px;border-radius:8px}.d2d-fhead .d2d-ftog{margin-left:auto}.d2d-filterbar.collapsed .d2d-fbody{display:none}.d2d-filterbar.collapsed{padding:8px 12px}body.nav-left .d2d-panes,body.nav-right .d2d-panes{display:none!important}body.nav-left .d2d-topbar,body.nav-right .d2d-topbar{display:none}.d2d-ftools .d2d-active-count{margin:0}.d2d-ftools .d2d-sub-open{padding:8px 14px;font-size:13px;border-radius:8px;margin-left:0}.d2d-sliders .d2d-chk{gap:5px}.d2d-sliders .d2d-chk input{accent-color:#9cf048;margin:0}.d2d-grid.notitles .nm,.d2d-grid.notitles .yr{display:none}.d2d-ftools button{background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-p8);padding:6px 10px;font:12px inherit;border-radius:6px;cursor:pointer;margin-left:6px}.d2d-ftools button:hover{border-color:#9cf048;color:var(--g-t5)}.d2d-viewbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 12px}.d2d-viewbar .d2d-views{margin:0 0 0 auto}.d2d-views .sep{width:1px;height:18px;background:var(--s-a165);margin:0 4px;align-self:center}@media(max-width:900px){#d2d-wide,.d2d-views .sep{display:none}}.d2d-glegend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--t-mute)}.d2d-adv{flex:none;margin-left:4px}.d2d-adv .d2d-dd-btn{width:auto;height:auto;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600;color:var(--t-m5);background:var(--s-a4);border:1px solid #26272b}.d2d-adv .d2d-dd-btn:hover{color:var(--t-body2)}.d2d-adv.open .d2d-dd-btn{color:var(--g-t5);border-color:#2f6b2f}.d2d-adv-panel{right:0;left:auto;min-width:250px;padding:10px 12px;display:none;flex-direction:column;gap:9px;font-size:11px;color:var(--t-m5)}.d2d-adv.open .d2d-adv-panel{display:flex}.d2d-adv-panel>label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0;white-space:nowrap}.d2d-adv-panel .mkt-zoom{width:140px}.d2d-adv-panel .d2d-chk{justify-content:flex-start;gap:6px}.d2d-adv-panel .d2d-chk small{color:var(--t-m8);font-size:10px;font-style:italic}.d2d-sliders label{display:inline-flex;align-items:center;gap:6px}.d2d-sliders .mkt-zoom{width:110px}.d2d-glegend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle;border:2px solid}.d2d-glegend .yes i{border-color:#2eea5a}.d2d-glegend .no i{border-color:#ff3d3d}.d2d-glegend .unconfirmed i{border-color:#ffb020}.d2d-glegend .variant i{border-color:#b160ff}.d2d-tile.st-yes .art{border-color:#2eea5a;box-shadow:0 0 0 var(--gs,3px) #2eea5a,0 0 14px rgba(46,234,90,.55)}.d2d-tile.st-no .art{border-color:#ff3d3d;box-shadow:0 0 0 var(--gs,3px) #ff3d3d,0 0 14px rgba(255,61,61,.55)}.d2d-tile.st-unconfirmed .art{border-color:#ffb020;box-shadow:0 0 0 var(--gs,3px) #ffb020,0 0 14px rgba(255,176,32,.5)}.d2d-tile.st-variant .art{border-color:#b160ff;box-shadow:0 0 0 var(--gs,3px) #b160ff,0 0 14px rgba(177,96,255,.55)}.d2d-pane .d2d-share{justify-content:center;margin:26px 0 8px}
.d2d-twrap{overflow:visible;max-width:100%}
.d2d-tbl{min-width:760px}
/* ---- Narrow screens: the frozen Game column (2026-09-04) ----
   The row banners that used to un-stick this column are gone, so the
   base `td:first-child{position:sticky}` rule now holds on its own. */
/* 720px, matching the breakpoint the frozen-column rule already uses, so
   the freeze and the half-width column arrive together rather than
   leaving a 40px band with one and not the other. */
@media (max-width:720px){
  /* Half the screen for the title, half for everything else. The cell
     already knows how to draw an ellipsis (.d2d-game-open); it simply
     never ran out of room while the column was auto-width inside a
     760px-min table. The max-width on the inner flex row is the part
     that actually guarantees the clip, because table-layout:fixed will
     hand a column any surplus width the other columns do not use. */
  /* Drop the 760px floor first. table-layout:fixed hands any width the
     other columns do not use to the remaining ones, so with the floor
     in place a 50vw request came back as 59% of the screen. Without it
     the colgroup alone decides, and the table is still far wider than
     the viewport, so it keeps scrolling exactly as before. */
}

.d2d-page h1{margin:0 0 6px;font-size:24px;color:var(--t-p2)}
.d2d-lede{margin:0 0 18px;color:var(--t-mute);font-size:13px;line-height:1.6;max-width:70ch}
.d2d-card{background:var(--s-a4);border:1px solid #26272b;padding:14px;margin-bottom:18px}
.d2d-card h2{margin:0 0 8px;font-size:14px;color:var(--t-body2);font-weight:600}
.d2d-missing-btn{margin:9px 0 2px;border:0;background:none;color:var(--g-t5);padding:0;font:600 11px inherit;cursor:pointer;text-decoration:underline}.d2d-missing-btn:hover{color:#c8ff94}
.d2d-warn{background:var(--s-a33);border:1px solid #6b5a2f;border-left-width:3px;padding:12px 14px;margin:0 0 18px;font-size:13px;line-height:1.6;color:#f0dcae}
.d2d-warn b{color:#ffcf7a}
.d2d-warn code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:var(--s-a166);border:1px solid #4a3f22;padding:1px 5px;color:#ffcf7a}
.d2d-srch{position:relative}
.d2d-srch input{width:100%;box-sizing:border-box;background:var(--s-a9);border:1px solid #2c2d31;color:var(--t-body2);padding:9px 11px;font-size:13px;border-radius:0}
.d2d-srch input:disabled{opacity:.5;cursor:not-allowed}
.d2d-sugg{position:absolute;left:0;right:0;top:100%;z-index:50;background:var(--s-a9);border:1px solid #2c2d31;border-top:0;max-height:280px;overflow:auto}
.d2d-sugg div{padding:8px 11px;font-size:13px;color:var(--t-body);cursor:pointer;border-bottom:1px solid #1b1c1f}
.d2d-sugg div:hover,.d2d-sugg div.on{background:var(--s-a22);color:#d8ffd0}
.d2d-note{margin-top:8px;font-size:12px;color:var(--t-m5)}
.d2d-counts{font-size:13px;color:var(--t-mute);margin:0 0 10px}
.d2d-counts b{color:var(--t-body2)}
.d2d-cnt{all:unset;cursor:pointer;border-radius:6px;padding:1px 4px;margin:0 -4px}
.d2d-cnt:hover{text-decoration:underline;text-underline-offset:3px}
.d2d-cnt:focus-visible{outline:2px solid var(--g-t5);outline-offset:1px}
.d2d-cnt.on{background:var(--s-a78);text-decoration:underline;text-underline-offset:3px}
.d2d-active-count{font-size:12px;color:var(--t-m63);margin:9px 0 2px;font-variant-numeric:tabular-nums}
.d2d-active-count b{color:var(--t-p78)}
.d2d-loading{display:none;align-items:center;gap:8px;margin:10px 0;color:var(--t-p79);font-size:12px}.d2d-loading.on{display:flex}.d2d-loading::before{content:'';width:15px;height:15px;border:2px solid #35402d;border-top-color:#9cf048;border-radius:50%;animation:d2dSpin .65s linear infinite}@keyframes d2dSpin{to{transform:rotate(360deg)}}
.d2d-table-search{width:100%;box-sizing:border-box;margin:0 0 12px;padding:10px 12px;background:var(--s-a167);border:1px solid #30373d;border-radius:5px;color:var(--t-p26);font:14px inherit}.d2d-table-search:focus{outline:1px solid #9cf048;border-color:#6aa72f}
.d2d-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0;flex-wrap:wrap}.d2d-pager button{background:var(--s-a4);border:1px solid #34373b;color:var(--t-p12);border-radius:5px;padding:7px 14px;font:12px inherit;cursor:pointer}.d2d-pager button:disabled{opacity:.35;cursor:default}.d2d-pager span{color:var(--t-p44);font-size:12px}
.d2d-perl{display:inline-flex;align-items:center;gap:6px;color:var(--t-p44);font-size:12px}
.d2d-perl select{background:var(--s-a4);border:1px solid #34373b;color:var(--t-p12);border-radius:5px;padding:6px 8px;font:12px inherit;cursor:pointer}
.d2d-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.d2d-chips button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:5px 13px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.d2d-chips button:hover{border-color:#3a3b40;color:var(--t-body)}
.d2d-chips button.on.yes{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-chips button.on.no{color:#ff9a9a;border-color:#6b2f2f;background:#321616}
.d2d-chips button.on.unconfirmed{color:#ffcf7a;border-color:#6b5a2f;background:var(--s-a33)}
.d2d-company-filters{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin:0 0 12px}
.d2d-company-filters label{display:flex;flex-direction:column;gap:4px;color:var(--t-m8);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.d2d-company-filters select{min-width:190px;max-width:300px;background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-body);padding:6px 9px;font:12px inherit;border-radius:4px;text-transform:none;letter-spacing:0}
.d2d-company-filters button{background:var(--s-a4);border:1px solid #2c2d31;color:var(--g-t5);padding:6px 10px;font:12px inherit;border-radius:4px;cursor:pointer}#d2d-reset{margin-left:auto;color:var(--t-p8)}#d2d-reset:hover{color:#fff;border-color:#3a3b40}
.d2d-pick{margin-top:12px;padding-top:12px;border-top:1px solid #26272b;display:none}
.d2d-sub-lead{margin:6px 0 12px;font-size:13px;line-height:1.55;color:var(--t-mute)}.d2d-sub-open{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(180deg,#1d4a20,#16321c);border:1px solid #2f6b2f;color:#c8ff94;padding:11px 18px;border-radius:12px;font:700 14px inherit;cursor:pointer;box-shadow:0 0 0 1px rgba(156,240,72,.12),0 6px 18px rgba(0,0,0,.35)}.d2d-sub-open:hover{border-color:#9cf048;color:#fff}.d2d-sub-open .ico{font-size:18px;line-height:1}
#d2d-sub-host{display:none}#d2d-sub-ov #d2d-sub-host{display:block}.d2d-sub-modal{max-width:660px;min-height:min(70vh,560px)}.d2d-sub-modal .d2d-sugg{position:static;max-height:340px;overflow:auto;border-top:0}.d2d-sub-modal .d2d-pick{margin-top:0;padding-top:0;border-top:0}.d2d-step{margin:0 0 14px;padding:12px 14px;border:1px solid #26272b;border-radius:12px;background:var(--s-a168)}.d2d-step>h3{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:13px;color:var(--t-hi)}.d2d-step>h3 .num{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#16321c;border:1px solid #2f6b2f;color:var(--g-t5);font-size:11px;font-weight:800}.d2d-step>h3 small{color:var(--t-m5);font-weight:400;margin-left:auto}.d2d-sub-game{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border-radius:10px;background:var(--s-a9);border:1px solid #2c2d31}.d2d-sub-game img{width:40px;height:40px;border-radius:8px;object-fit:contain;background:#000}.d2d-sub-game b{color:var(--t-p2);font-size:13px}.d2d-sub-game small{display:block;color:var(--t-m5);font-size:11px;margin-top:2px}.d2d-sub-modal .d2d-vd{gap:10px}.d2d-sub-modal .d2d-vd button[data-vd]{flex:1 1 200px;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:12px;font-size:13px}.d2d-sub-modal .d2d-vd button[data-vd] .ico{display:inline-flex;width:34px;height:34px;flex:none;align-items:center;justify-content:center;border-radius:50%;font-size:18px;font-weight:900;border:1px solid #3a3b40;color:var(--t-m5)}.d2d-sub-modal .d2d-vd button[data-vd] small{display:block;font-weight:400;color:var(--t-m5);margin-top:2px}.d2d-sub-modal .d2d-vd button[data-vd="yes"]:hover,.d2d-sub-modal .d2d-vd button.on.yes{border-color:#2f6b2f}.d2d-sub-modal .d2d-vd button[data-vd="yes"] .ico{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}.d2d-sub-modal .d2d-vd button[data-vd="no"]:hover,.d2d-sub-modal .d2d-vd button.on.no{border-color:#6b2f2f}.d2d-sub-modal .d2d-vd button[data-vd="no"] .ico{color:#ff9a9a;border-color:#6b2f2f;background:#321616}.d2d-sub-modal .d2d-vd button.on{color:#fff}.d2d-sub-modal .d2d-vd button[data-vd="untested"]:hover,.d2d-sub-modal .d2d-vd button.on.untested{border-color:#6b5a2f}.d2d-sub-modal .d2d-vd button[data-vd="untested"] .ico{color:#f0d070;border-color:#6b5a2f;background:#32291a}.d2d-sub-modal .d2d-vd button[data-vd]:disabled{opacity:.5;cursor:not-allowed;border-color:#26272b}.d2d-fld{display:grid;grid-template-columns:118px 1fr;gap:8px 12px;align-items:start;margin:0 0 10px}.d2d-fld>label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t-mute);padding-top:5px}.d2d-fld>label .ico{font-size:15px;line-height:1}.d2d-chips2{display:flex;gap:6px;flex-wrap:wrap}.d2d-chips2 button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:5px 11px;border-radius:999px;font:600 12px inherit;cursor:pointer}.d2d-chips2 button:hover{border-color:#3a3b40;color:var(--t-body)}.d2d-chips2 button.on{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}.d2d-chipval{display:none;margin-top:6px;width:100%;box-sizing:border-box}.d2d-chipval.show{display:block}.d2d-sub-modal .d2d-meta{margin-top:0;display:block}.d2d-sub-modal .d2d-meta input,.d2d-sub-modal .d2d-meta select{width:100%;box-sizing:border-box;border-radius:8px}.d2d-proofzone{display:block;border:1px dashed #3a3b40;border-radius:10px;padding:10px 12px;color:var(--t-m5);font-size:12px;cursor:pointer;background:var(--s-a9)}.d2d-proof-hint{grid-column:2;margin:-2px 0 0;font-size:12px;line-height:1.45;color:var(--t-m5)}.d2d-proof-hint b{color:var(--t-body)}.d2d-proofzone:hover{border-color:#9cf048;color:var(--t-body)}.d2d-sub-modal .d2d-proof-file{display:none}.d2d-proofzone b{color:#c8ff94}.d2d-sub-foot{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}.d2d-sub-foot .d2d-honest{flex:1 1 320px;margin:0}.d2d-sub-modal #d2d-go{background:linear-gradient(180deg,#1d4a20,#16321c);border:1px solid #2f6b2f;color:#c8ff94;padding:11px 20px;border-radius:12px;font:700 14px inherit;cursor:pointer}.d2d-sub-modal #d2d-go:disabled{opacity:.45;cursor:not-allowed}.d2d-sub-modal #d2d-go:not(:disabled):hover{border-color:#9cf048;color:#fff}.d2d-sub-modal .d2d-dispute{margin:0 0 12px;padding:9px 12px;border-left:3px solid #d69b32;background:var(--s-a93);color:#d9c49a;border-radius:0 8px 8px 0}body.theme-light .d2d-step{background:#f4f4f6;border-color:#d8d8dc}body.theme-light .d2d-step>h3{color:#111}body.theme-light .d2d-sub-game{background:#fff;border-color:#d8d8dc}body.theme-light .d2d-sub-game b{color:#111}body.theme-light .d2d-chips2 button{background:#fff;border-color:#d8d8dc;color:#555}
/* "Add DLC" picker (2026-09-11): which add-on packs were on the tested disc.
   A second overlay above the submission popup, so the form behind it keeps
   every field the member has already filled in. */
.d2d-dlc-open{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:7px 13px;border-radius:8px;font:600 12px inherit;cursor:pointer}
.d2d-dlc-open:hover{border-color:#9cf048;color:var(--g-t5)}
.d2d-dlc-open.has{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-dlc-sum{margin-top:6px;font-size:11.5px;color:var(--t-m8);line-height:1.5}
.d2d-dlc-sum b{color:var(--t-body2);font-weight:600}
/* ABOVE the submission overlay, which sits at z-index 100100 -- this one
   opens ON TOP of that one, so anything lower is invisible behind a modal
   the member is still looking at. It shipped at 10050 and did exactly
   that: the button worked, the overlay opened, and nobody could see it. */
.d2d-dlc-ov{position:fixed;inset:0;z-index:100200;background:rgba(0,0,0,.66);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.d2d-dlc-modal{width:min(620px,100%);max-height:88vh;display:flex;flex-direction:column;background:var(--s-a4);border:1px solid #34373b;box-shadow:0 18px 70px #000;padding:16px 18px;box-sizing:border-box;border-radius:12px}
.d2d-dlc-modal h3{margin:0 0 4px;font-size:15px;color:var(--t-hi)}
/* The explainer is the whole point of the tickboxes: without it people tick
   the packs they OWN rather than the ones printed on the disc. */
.d2d-dlc-note{margin:0 0 12px;padding:9px 12px;border-left:3px solid #2f6b2f;background:#16321c;color:#c8ff94;border-radius:0 8px 8px 0;font-size:12.5px;line-height:1.5}
.d2d-dlc-search{width:100%;box-sizing:border-box;background:var(--s-a163);border:1px solid #2c2d31;color:var(--t-body);padding:8px 10px;font:12px inherit;border-radius:8px;margin:0 0 10px}
.d2d-dlc-list{flex:1 1 auto;overflow:auto;min-height:60px;margin:0 -4px;padding:0 4px}
.d2d-dlc-list label{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;font-size:12.5px;color:var(--t-p8);cursor:pointer}
.d2d-dlc-list label:hover{background:var(--s-a164)}
.d2d-dlc-list label.on{background:#16321c;color:#c8ff94}
.d2d-dlc-list input{accent-color:#9cf048;margin:0;flex:none;width:16px;height:16px}
/* contain, not cover: pack art is not square and cropping cuts the name off */
.d2d-dlc-list img{width:34px;height:34px;flex:none;border-radius:6px;object-fit:contain;background:#000}
.d2d-dlc-list .t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d2d-dlc-empty{padding:14px 4px;color:var(--t-m8);font-size:12.5px}
.d2d-dlc-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #2c2d31}
.d2d-dlc-foot .n{flex:1 1 auto;font-size:12px;color:var(--t-m8)}
.d2d-dlc-foot button{background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-p8);padding:8px 13px;font:600 12px inherit;border-radius:8px;cursor:pointer}
.d2d-dlc-foot button:hover{border-color:#9cf048;color:var(--g-t5)}
.d2d-dlc-foot button.go{background:linear-gradient(180deg,#1d4a20,#16321c);border-color:#2f6b2f;color:#c8ff94}
body.theme-light .d2d-dlc-modal{background:#fff;border-color:#d8d8dc}
body.theme-light .d2d-dlc-open{background:#fff;border-color:#d8d8dc;color:#555}
/* ---- Fit the whole form on screen (owner, 2026-09-11) -------------------
   The popup had grown to roughly twice a laptop screen: three stacked steps,
   eight full-width detail rows and a four-line proof paragraph. Someone
   filling it in could not see the Submit button and the Verdict buttons at
   the same time.

   The fix is width, not amputation. Nothing is removed and nothing is
   hidden behind a disclosure -- the modal goes wide and the eight detail
   rows become two columns of four, which is where most of the height went.
   Everything else here is tightening: smaller step padding, a shorter
   proof hint, verdict buttons that no longer need 34px circles. */
/* Both classes, because the shared .d2d-info-modal sets width:min(720px,100%)
   and is defined LATER in this stylesheet -- an equal-specificity rule here
   would lose the tie and the modal would silently stay narrow. */
/* max-height is 100% of the overlay, NOT the inherited 90vh. The site runs
   at html{zoom:1.25} and vh units resolve against the UNZOOMED viewport, so
   on a 900px screen 90vh computes to 810px and then renders at 810 x 1.25 =
   1012 real pixels -- taller than the screen it was meant to fit inside.
   That is why the title and the Submit button were both cut off while the
   modal itself reported no scrollbar. The overlay is inset:0, so it is
   already the right size in the zoomed space; measuring against it is
   correct at any zoom. */
.d2d-info-modal.d2d-sub-modal{width:min(1020px,96vw);max-width:none;max-height:100%;min-height:0;padding:13px 15px}
.d2d-sub-modal .d2d-step{margin:0 0 9px;padding:9px 12px;border-radius:10px}
.d2d-sub-modal .d2d-step>h3{margin:0 0 7px;font-size:12.5px}
.d2d-sub-modal .d2d-step>h3 .num{width:19px;height:19px;font-size:10px}
/* Two columns of details. The rows that carry a long chip row or a file
   picker still span the full width -- squeezing those into half the modal
   just moves the height problem sideways. */
.d2d-sub-modal .d2d-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;align-items:start}
.d2d-sub-modal .d2d-meta>.d2d-fld{margin:0 0 8px;grid-template-columns:104px 1fr;gap:5px 10px}
.d2d-sub-modal .d2d-meta>#d2d-nofld,
.d2d-sub-modal .d2d-meta>#d2d-prooffld{grid-column:1 / -1}
.d2d-sub-modal .d2d-fld>label{font-size:11.5px;padding-top:4px}
.d2d-sub-modal .d2d-chips2{gap:5px}
.d2d-sub-modal .d2d-chips2 button{padding:4px 9px;font-size:11.5px}
.d2d-sub-modal .d2d-meta input,.d2d-sub-modal .d2d-meta select{padding:6px 9px;font-size:12px}
/* The verdict pair was two 200px-wide cards with a 34px circle each. Same
   two choices, one line shorter. */
.d2d-sub-modal .d2d-vd button[data-vd]{padding:9px 12px;font-size:12.5px;border-radius:10px}
.d2d-sub-modal .d2d-vd button[data-vd] .ico{width:26px;height:26px;font-size:14px}
.d2d-sub-modal .d2d-vd button[data-vd] small{font-size:11px}
.d2d-sub-modal .d2d-proofzone{padding:8px 11px;font-size:11.5px}
.d2d-sub-modal .d2d-proof-hint{font-size:11px;line-height:1.4;margin:3px 0 0}
.d2d-sub-modal .d2d-sub-game{margin-top:8px;padding:6px 9px}
.d2d-sub-modal .d2d-sub-game img{width:34px;height:34px}
/* Once a game is picked the search row folds away (the card below says the
   same name) and "Change" is how you get back to it. */
#d2d-sub-host.picked .d2d-srch{display:none}
#d2d-sub-host.picked .d2d-sub-game{margin-top:0}
.d2d-sub-change{margin-left:auto;flex:none;background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-m5);padding:4px 10px;border-radius:7px;font:600 11px inherit;cursor:pointer}
.d2d-sub-change:hover{border-color:#9cf048;color:var(--g-t5)}
/* The "not listed?" link is a call to action for people who found nothing,
   so it belongs with the search -- not under a game they just chose. */
#d2d-sub-host.picked .d2d-missing-btn{display:none}
.d2d-sub-modal .d2d-honest{font-size:11.5px;line-height:1.45}
.d2d-sub-modal #d2d-go{padding:9px 18px;font-size:13.5px}
.d2d-sub-modal .d2d-dispute{margin:0 0 9px;padding:7px 11px;font-size:12px}
/* One column again once two would be too narrow to read. Below this width
   the modal scrolls, which is the right answer on a phone. */
@media(max-width:900px){
  .d2d-info-modal.d2d-sub-modal{width:100%;padding:14px}
  .d2d-sub-modal .d2d-meta{grid-template-columns:1fr}
}
/* _d2dSyncVerdict sets hidden on the "What it said" row for anything but a
   No, but .d2d-fld{display:grid} is an AUTHOR rule and the browser's
   [hidden]{display:none} is a user-agent one, so the author rule won and the
   row never went away -- a refusal-message field sat on every Yes. */
.d2d-fld[hidden]{display:none!important}
/* Once a verdict is chosen this hint is emptied by _d2dSyncVerdict, but an
   empty div still takes its line box with it. */
.d2d-sub-modal #d2d-hint:empty{display:none}
.d2d-sub-modal #d2d-ask .g{margin-bottom:7px;font-size:12.5px}
/* Short screens. NOTE the threshold: media queries are evaluated against the
   real viewport, NOT the zoomed one, so at html{zoom:1.25} a 900px laptop --
   which really only has 720 CSS px to give -- still reports 900px here. A
   max-height of 760px therefore never matched on the machines that needed it
   most. 1000px is the honest line: it catches every laptop and 900p screen,
   and a 1080p screen (864 CSS px) already fits without this.
   Nothing is hidden below -- padding and leading only. */
@media(min-width:901px) and (max-height:1000px){
  .d2d-info-modal.d2d-sub-modal{padding:10px 14px}
  .d2d-sub-modal .d2d-step{margin:0 0 7px;padding:7px 11px}
  .d2d-sub-modal .d2d-step>h3{margin:0 0 5px}
  .d2d-sub-modal .d2d-meta>.d2d-fld{margin:0 0 6px}
  .d2d-sub-modal .d2d-vd button[data-vd]{padding:7px 11px}
  .d2d-sub-modal .d2d-proof-hint{font-size:10.5px}
  .d2d-sub-modal .d2d-sub-game{margin-top:6px}
  .d2d-sub-modal .d2d-sub-foot{margin-top:2px;gap:10px}
  .d2d-sub-modal .d2d-honest{font-size:10.5px;line-height:1.35;flex:1 1 380px}
  .d2d-sub-modal .d2d-proofzone{padding:6px 10px}
  .d2d-sub-modal #d2d-go{padding:8px 16px;font-size:13px}
  .d2d-sub-modal .d2d-meta{gap:0 18px}
}
.d2d-pick.on{display:block}
.d2d-pick .g{font-size:13px;color:var(--t-body2);margin-bottom:8px}
.d2d-pick .g b{color:var(--g-t5)}
.d2d-vd{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.d2d-vd button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:6px 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.d2d-vd button:hover{border-color:#3a3b40;color:var(--t-body)}
.d2d-vd button.on.yes{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-vd button.on.no{color:#ff9a9a;border-color:#6b2f2f;background:#321616}
.d2d-vd button.on.unconfirmed{color:#ffcf7a;border-color:#6b5a2f;background:var(--s-a33)}
.d2d-vd .go{margin-left:auto;background:#16321c;border-color:#2f6b2f;color:var(--g-t5)}
.d2d-vd .go{transition:opacity .15s}
.d2d-vd .go:hover{background:#107c10;border-color:#107c10;color:#fff}
.d2d-vd .go[disabled]{opacity:.4;cursor:not-allowed}
.d2d-vd .go[disabled]:hover{background:#16321c;border-color:#2f6b2f;color:var(--g-t5)}
.d2d-hint{margin-top:7px;font-size:11px;color:var(--t-m5)}
.d2d-honest{margin:0 0 9px;font-size:12px;line-height:1.5;color:#cfc09a;border-left:2px solid #6b5a2f;padding:2px 0 2px 10px}
.d2d-dispute{font-size:13px;line-height:1.6;color:var(--t-body)}
.d2d-dispute b.yes{color:var(--g-t5)}
.d2d-dispute b.no{color:#ff9a9a}
.d2d-dispute b.unconfirmed{color:#ffcf7a}
.d2d-dispute a{color:var(--g-t5);text-decoration:none}
.d2d-dispute a:hover{text-decoration:underline}


.d2d-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.d2d-meta input,.d2d-meta select{flex:1 1 180px;min-width:0;background:var(--s-a9);border:1px solid #2c2d31;color:var(--t-body2);padding:7px 9px;font-size:12px;border-radius:0;font-family:inherit}
.d2d-by{color:var(--t-m11);font-size:12px}
.d2d-i{color:var(--t-m5);cursor:help;margin-left:6px;font-style:normal}

.d2d-link{color:var(--g-t5);text-decoration:none}
.d2d-link:hover{text-decoration:underline}
.d2d-share{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 18px}.d2d-share>span{color:var(--t-m44);font-size:12px;margin-right:3px}.d2d-share a,.d2d-share button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #30363d;background:var(--s-a40);color:var(--t-p45);border-radius:50%;width:38px;height:38px;padding:0;text-decoration:none;font:700 11px inherit;cursor:pointer}.d2d-share svg{display:block;width:19px;height:19px;fill:currentColor}.d2d-share button{width:auto;border-radius:19px;padding:0 12px}.d2d-share a:hover,.d2d-share button:hover{border-color:#9cf048;color:var(--g-t5);background:var(--s-a169)}.d2d-share .x{color:var(--t-p2)}.d2d-share .fb{color:#1877f2}.d2d-share .reddit{color:#ff4500}.d2d-share .bsky{color:#168de2}.d2d-share .linkedin{color:#0a66c2}.d2d-share .wa{color:#25d366}.d2d-share .telegram{color:#229ed9}.d2d-share .email{color:var(--t-p45)}
.d2d-page-banner{min-height:210px;margin-bottom:10px}.d2d-page-banner .rdb-inner{display:block;padding:27px 34px}.d2d-page-banner .rdb-left{max-width:780px}.d2d-page-banner .rdb-wordmark{font-size:clamp(42px,6vw,66px)}.d2d-page-banner .rdb-lede{max-width:760px}.d2d-page-banner .rdb-lede a{color:#ffc078;text-decoration:underline}.d2d-page-banner .rdb-dish{left:auto;right:-80px;opacity:.48}.d2d-page-banner .tsb-retic{left:84%;width:210px;height:210px}@media(max-width:700px){.d2d-page-banner{min-height:230px}.d2d-page-banner .rdb-inner{padding:22px}.d2d-page-banner .rdb-dish,.d2d-page-banner .tsb-retic{opacity:.2}.d2d-page-banner .rdb-wordmark{font-size:clamp(34px,11vw,48px)}}
.d2d-added{display:flex;flex-direction:column;white-space:nowrap;line-height:1.15}.d2d-added-time{margin-top:4px;color:var(--t-m44);font-size:9px;font-weight:500}
.d2d-warn .tip{display:block;margin-top:8px;color:#cfc09a}
.d2d-warn summary,.d2d-log summary{cursor:pointer;list-style:none;font-weight:600;display:flex;align-items:center;gap:8px;outline:none}
.d2d-warn summary{color:#ffcf7a}
.d2d-log summary{color:var(--t-body2)}
.d2d-warn summary::-webkit-details-marker,.d2d-log summary::-webkit-details-marker{display:none}
.d2d-warn summary:focus-visible,.d2d-log summary:focus-visible{text-decoration:underline}
.d2d-warn summary .cv,.d2d-log summary .cv{transition:transform .18s;flex:none;font-size:11px}
.d2d-warn[open] summary .cv,.d2d-log[open] summary .cv{transform:rotate(90deg)}
.d2d-warn .bd,.d2d-log .bd{margin-top:9px}
.d2d-log{background:var(--s-a4);border:1px solid #26272b;padding:12px 14px;margin:0 0 18px;font-size:13px;line-height:1.6}
.d2d-log ul{list-style:none;margin:0;padding:0}
.d2d-log li{padding:7px 0;border-top:1px solid #1b1c1f;color:var(--t-p0)}
.d2d-log li:first-child{border-top:0}
.d2d-log time{display:inline-block;min-width:74px;color:var(--t-m5);font-size:12px;margin-right:6px}.d2d-log time small{display:block;margin-top:2px;color:#626970;font-size:9px;font-weight:500}

.d2d-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.d2d-pies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;align-items:start;margin:0 0 10px}.d2d-chart-tools{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 -8px}.d2d-seg{display:inline-flex;border:1px solid #2c2d31;border-radius:999px;overflow:hidden;background:var(--s-a4)}.d2d-seg button{background:none;border:0;color:var(--t-m5);padding:5px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.d2d-seg button:hover{color:var(--t-body2)}.d2d-seg button.on{background:#16321c;color:var(--g-t5)}.d2d-head.bars .d2d-pie{flex:1 1 100%;width:auto;min-width:0}.d2d-pies .d2d-ct{flex:1 1 100%;width:100%;margin:0 0 2px;font-size:13px;font-weight:800;color:var(--t-body2);letter-spacing:.2px}.d2d-bars{width:100%;min-width:0;display:grid;grid-template-columns:minmax(90px,max-content) 1fr auto;gap:7px 10px;align-items:center;font-size:12px;color:var(--t-mute)}.d2d-bar{display:contents}.d2d-bar .lb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.d2d-bar .lb i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:middle}.d2d-bar .trk{display:flex;gap:2px;height:16px;min-width:2px}.d2d-bar .trk i{display:flex;align-items:center;justify-content:center;height:100%;border-radius:2px;min-width:2px;overflow:hidden;container-type:inline-size;font-style:normal;font-weight:700;font-size:10px;line-height:1;color:#0b0d10;white-space:nowrap}.d2d-bar .trk i span{padding:0 3px}@container (max-width:64px){.d2d-bar .trk i span{display:none}}.d2d-bar b small{font-weight:600;color:var(--t-m5);margin-left:4px;font-size:11px}.d2d-bar .trk i.y{background:#9cf048}.d2d-bar .trk i.n{background:#ff9a9a}.d2d-bar .trk i.u{background:#ffcf7a}.d2d-bar b{color:var(--t-body2);font-variant-numeric:tabular-nums}.d2d-bars .xb{grid-column:1 / -1;padding:4px 0 0;font-size:11px;color:var(--t-m11)}.d2d-bars .xb span{margin-right:12px}.d2d-bars .xb .y{color:var(--g-t5)}.d2d-bars .xb .n{color:#ff9a9a}.d2d-bars .xb .u{color:#ffcf7a}body.theme-light .d2d-seg{background:#f4f4f6;border-color:#d8d8dc}body.theme-light .d2d-bar b{color:#111}.d2d-pies .d2d-head.d2d-years{grid-column:1 / -1;padding-bottom:12px;border-bottom:1px solid #22262b}.d2d-pies .d2d-head.d2d-orow{grid-column:1 / -1}.d2d-head.d2d-orow .d2d-olegend{column-count:3}.d2d-head.d2d-years .d2d-ylegend{column-count:3}
.d2d-chart-fold{margin:8px 0 18px;border:1px solid #2d3339;background:var(--s-a63)}.d2d-chart-fold>summary{cursor:pointer;list-style:none;padding:13px 16px;color:var(--t-p46);font-weight:700}.d2d-chart-fold>summary::-webkit-details-marker{display:none}.d2d-chart-fold>summary::before{content:'\25B6';display:inline-block;margin-right:9px;color:var(--g-t5);font-size:10px;transition:transform .18s}.d2d-chart-fold[open]>summary::before{transform:rotate(90deg)}.d2d-chart-fold .d2d-pies{padding:10px 16px 16px;margin:0;border-top:1px solid #282d32}
.d2d-ylegend,.d2d-xlegend,.d2d-plegend,.d2d-llegend,.d2d-phlegend,.d2d-olegend{font-size:12px;color:var(--t-mute);line-height:1.75;column-count:2;column-gap:18px}
.d2d-ylegend i,.d2d-xlegend i,.d2d-plegend i,.d2d-llegend i,.d2d-phlegend i,.d2d-olegend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:middle;font-style:normal}
.d2d-ylegend b,.d2d-xlegend b,.d2d-plegend b,.d2d-llegend b,.d2d-phlegend b,.d2d-olegend b{color:var(--t-body2)}
.d2d-xlegend,.d2d-plegend,.d2d-llegend,.d2d-phlegend{column-count:1;min-width:270px}
.d2d-xlegend .xg,.d2d-plegend .xg,.d2d-llegend .xg,.d2d-phlegend .xg,.d2d-ylegend .xg,.d2d-olegend .xg{margin:0 0 8px;break-inside:avoid}
.d2d-xlegend .xb,.d2d-plegend .xb,.d2d-llegend .xb,.d2d-phlegend .xb,.d2d-ylegend .xb,.d2d-olegend .xb{padding-left:16px;color:var(--t-m11);font-size:11px;white-space:nowrap}
.d2d-xlegend .xb span,.d2d-plegend .xb span,.d2d-llegend .xb span,.d2d-phlegend .xb span,.d2d-ylegend .xb span,.d2d-olegend .xb span{margin-right:9px}
.d2d-xlegend .y,.d2d-plegend .y,.d2d-llegend .y,.d2d-phlegend .y,.d2d-ylegend .y,.d2d-olegend .y{color:var(--g-t5)}.d2d-xlegend .n,.d2d-plegend .n,.d2d-llegend .n,.d2d-phlegend .n,.d2d-ylegend .n,.d2d-olegend .n{color:#ff9a9a}.d2d-xlegend .u,.d2d-plegend .u,.d2d-llegend .u,.d2d-phlegend .u,.d2d-ylegend .u,.d2d-olegend .u{color:#ffcf7a}
.d2d-yr{font-size:11px;color:var(--t-m11)}
.d2d-tile .yr{font-size:11px;color:var(--t-m11);margin-top:-3px}

.d2d-pie{flex:none}
.d2d-legend{font-size:12px;color:var(--t-mute);line-height:1.9}
.d2d-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:7px;vertical-align:middle;font-style:normal}
.d2d-legend b{color:var(--t-body2)}
/* Signed-out join pill, inline on the page at 2x the top-bar one. */
.d2d-join{display:flex;justify-content:center;margin:0 0 18px}
.d2d-join a{display:inline-flex;align-items:center;gap:16px;padding:14px 36px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 38%,rgba(16,124,16,.30));backdrop-filter:blur(14px) saturate(1.6);-webkit-backdrop-filter:blur(14px) saturate(1.6);border:1px solid rgba(255,255,255,.26);color:#fff;font-size:26px;font-weight:700;text-decoration:none;line-height:1.2;box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 4px 18px rgba(16,124,16,.35)}
.d2d-join img{width:32px;height:32px;object-fit:contain}
@media(max-width:640px){.d2d-join a{font-size:18px;padding:11px 22px;gap:11px}.d2d-join img{width:24px;height:24px}}
.d2d-err{padding:26px 10px;text-align:center;color:#f0b4b4;font-size:13px}
.d2d-err button{margin-left:10px;background:var(--s-a4);border:1px solid #2f6b2f;color:var(--g-t5);padding:5px 14px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.d2d-err button:hover{background:#107c10;border-color:#107c10;color:#fff}
/* View switcher — same control family as the store's. */
.d2d-fb{margin:0 0 12px}.d2d-fb:empty{display:none}
.d2d-views{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap;justify-content:flex-end}
.d2d-views button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:5px 13px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.d2d-views button:hover{border-color:#3a3b40;color:var(--t-body)}
.d2d-views button.on{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-vtools{display:none;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.d2d-vtools.on{display:flex}
.d2d-vfilters{display:flex;gap:6px;flex-wrap:wrap}
.d2d-vfilters button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:5px 11px;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit}
.d2d-vfilters button.on.yes{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-vfilters button.on.no{color:#ff9a9a;border-color:#6b2f2f;background:#321616}
.d2d-vfilters button.on.unconfirmed{color:#ffcf7a;border-color:#6b5a2f;background:var(--s-a33)}
.d2d-vsort{display:flex;align-items:center;gap:7px;color:var(--t-m5);font-size:11px;margin-left:auto}
.d2d-vsort select{background:var(--s-a4);border:1px solid #2c2d31;color:var(--t-body);padding:5px 9px;font:inherit;border-radius:4px}
.d2d-grid{display:grid;gap:var(--gg,14px);margin:0 0 18px}.d2d-grid .d2d-ghead{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:14px 0 10px;padding:10px 0 2px;border-top:1px solid #2a2d33;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--t-mute)}.d2d-ghead small{font-size:11px;color:var(--t-m8);letter-spacing:0}.d2d-grid .d2d-ghead:first-child{margin-top:0;padding-top:0;border-top:0}.d2d-grid .d2d-ghead b{color:var(--t-body2);font-weight:700}.d2d-grid .d2d-ghead i{width:9px;height:9px;border-radius:2px;border:2px solid #555}.d2d-grid .d2d-ghead.st-yes i{border-color:#2eea5a}.d2d-grid .d2d-ghead.st-no i{border-color:#ff3d3d}.d2d-grid .d2d-ghead.st-unconfirmed i{border-color:#ffb020}.d2d-grid .d2d-ghead.st-variant i{border-color:#b160ff}
.d2d-grid.icon{grid-template-columns:repeat(auto-fill,minmax(var(--gz,132px),1fr))}
.d2d-grid.portrait{grid-template-columns:repeat(auto-fill,minmax(var(--gz,148px),1fr))}
.d2d-tile{display:flex;flex-direction:column;gap:7px;min-width:0;text-decoration:none}
.d2d-tile .art{width:100%;background:var(--s-a9);border:1px solid #26272b;border-radius:var(--gr,8px);overflow:hidden;display:block}
.d2d-grid.icon .art{aspect-ratio:1/1}
.d2d-grid.portrait .art{aspect-ratio:2/3}
.d2d-tile .art img{width:100%;height:100%;object-fit:contain;display:block}
.d2d-tile .nm{font-size:12px;color:var(--t-body2);line-height:1.35;height:2.7em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.d2d-tile .d2d-chip{align-self:flex-start}
.d2d-tw{display:flex;flex-direction:column;gap:6px;min-width:0}
.d2d-tile-buy{display:flex;align-items:center;justify-content:center;min-height:28px}
.d2d-cf{display:none;margin:0 0 18px}
.d2d-cf.on{display:flex;flex-direction:column}
#d2d-cf-canvas{width:100%;height:340px;display:block;position:relative}
.d2d-cfcap{text-align:center;font-size:13px;color:var(--t-body2);margin-top:8px;display:flex;gap:9px;align-items:center;justify-content:center}

.d2d-src{font-size:11px;color:var(--t-m5);white-space:nowrap}
.d2d-src-link{color:#66bfff;text-decoration:none}
.d2d-src-link:hover{text-decoration:underline}
.d2d-proof{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #35536b;border-radius:50%;color:#66bfff;text-decoration:none;font-size:13px}
.d2d-proof:hover{background:#152534;border-color:#66bfff;color:#9dd6ff}
.d2d-verified{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:26px;height:26px;padding:0 5px;box-sizing:border-box;border:1px solid #3d7a9a;border-radius:14px;background:#102431;color:#68d7ff;font-weight:800;cursor:help;box-shadow:0 0 10px rgba(66,190,235,.14)}
.d2d-verified small{font-size:9px;line-height:1;color:#a8e9ff}
.d2d-proof-file{grid-column:1/-1;color:var(--t-mute);font:12px inherit}.d2d-proofzone.need,.d2d-chips2.need{outline:2px solid #ff6b6b;box-shadow:0 0 12px rgba(255,80,80,.55);border-radius:8px}.d2d-proof-help{grid-column:1/-1;color:var(--t-m64);font-size:11px}
.d2d-extra-pills{display:inline-flex;gap:8px;flex-wrap:wrap;margin:0}.d2d-extra-pills button{border:1px solid #30343a;background:var(--s-a64);color:var(--t-m65);border-radius:18px;padding:7px 13px;font:700 12px inherit;cursor:pointer}.d2d-extra-pills button.on{border-color:#9cf048;background:#102b16;color:var(--g-t5)}.d2d-extra-pills button[data-filter="varies"].on{color:#c7a4ff;border-color:#5a3f8a;background:#241a36;box-shadow:0 0 0 1px rgba(199,164,255,.18)}.d2d-extra-pills select,.d2d-online-report-state{border:1px solid #30343a;background:var(--s-a64);color:var(--t-p80);border-radius:18px;padding:7px 30px 7px 13px;font:700 12px inherit;max-width:100%}
.d2d-proof-queue{border:1px solid #315022;background:var(--s-a170);margin:0 0 18px}.d2d-proof-queue summary{padding:12px 16px;color:var(--g-t5);font-weight:700;cursor:pointer}.d2d-mod-ph{display:inline-block}.d2d-mod-preview.multi{display:flex;flex-wrap:wrap;gap:3px;width:90px}.d2d-mod-preview.multi .d2d-mod-ph img{width:42px;height:32px;object-fit:contain;background:#000;border-radius:3px}.d2d-mod-row{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:10px 16px;border-top:1px solid #293029}.d2d-mod-row img{width:84px;height:58px;object-fit:cover}.d2d-mod-actions{display:flex;gap:7px}.d2d-mod-actions button,.d2d-offline-report{border:1px solid #3d6833;background:#143119;color:var(--g-t5);padding:8px 11px;font:700 12px inherit;cursor:pointer}.d2d-mod-actions .reject{border-color:#703535;background:#351616;color:#ff9a9a}.d2d-mod-reply{grid-column:1/-1;display:flex;flex-direction:column;gap:7px}.d2d-mod-reply textarea{width:100%;box-sizing:border-box;background:var(--s-deep);color:var(--t-body);border:1px solid #3d6833;border-radius:4px;padding:8px;font:13px inherit;resize:vertical}
.d2d-mod-change{display:inline-block;margin-top:5px;padding:3px 7px;border:1px solid #53606a;border-radius:3px;background:var(--s-a94);color:var(--t-p47);font-size:11px;font-weight:700}.d2d-mod-change.new{border-color:#39753d;color:var(--g-t5)}.d2d-mod-change.correction{border-color:#9a6d25;color:#ffc866}.d2d-mod-change.proof{border-color:#3d4a55;color:var(--t-m45)}.d2d-mod-change.proof .to{color:var(--t-p47)}.d2d-mod-change .from{color:var(--t-m45)}.d2d-mod-change .to{color:#fff}
.d2d-game-open{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;border:0;background:none;padding:0;color:#c9f88a;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.d2d-game-open:hover{text-decoration:underline;color:#fff}
.d2d-game-arrow{flex:none;color:#596168!important;text-decoration:none;font-size:12px;line-height:1}.d2d-game-arrow:hover{color:var(--g-t5)!important}
.d2d-info-ov{position:fixed;inset:0;z-index:100100;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto;box-sizing:border-box}
.d2d-info-modal{width:min(720px,100%);max-height:min(90vh,100%);overflow:auto;overscroll-behavior:contain;background:var(--s-a4);border:1px solid #34373b;box-shadow:0 18px 70px #000;padding:18px;box-sizing:border-box}
.d2d-info-hero{height:230px;margin:-18px -18px 18px;background:var(--s-a62) center/cover no-repeat;border-bottom:1px solid #34373b}
.d2d-info-shots{display:flex;gap:9px;overflow-x:auto;margin:18px -18px 0;padding:0 18px 18px;scrollbar-width:thin}.d2d-info-shots:empty{display:none}.d2d-info-shots a{flex:none}.d2d-info-shots img{display:block;width:220px;height:auto;aspect-ratio:16/9;object-fit:contain;border:1px solid #34373b;background:var(--s-a62);border-radius:6px}
.d2d-info-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:15px}.d2d-info-head h2{margin:0;color:var(--t-p2);font-size:17px;line-height:1.35}.d2d-info-x{margin-left:auto;border:0;background:none;color:var(--t-m7);font-size:20px;cursor:pointer}
.d2d-info-grid{display:grid;grid-template-columns:92px 1fr;gap:10px 12px;font-size:12px;line-height:1.5}.d2d-info-grid dt{color:var(--t-m66)}.d2d-info-grid dd{margin:0;color:var(--t-p81);overflow-wrap:anywhere}
.d2d-correct{display:inline-flex;margin-top:18px;background:#16321c;border:1px solid #2f6b2f;color:var(--g-t5);padding:8px 12px;text-decoration:none;font-size:12px;font-weight:700}.d2d-correct:hover{background:#107c10;color:#fff}
.d2d-info-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.d2d-info-link{display:inline-flex;align-items:center;background:var(--s-a171);border:1px solid #394047;color:var(--t-p12);padding:8px 12px;text-decoration:none;font-size:12px;font-weight:700}.d2d-info-link:hover{border-color:#9cf048;color:var(--g-t5)}.d2d-info-aff{width:100%;margin-top:0;color:var(--t-m46);font-size:10px}.d2d-amz{width:100%;display:flex;flex-direction:column;gap:6px}.d2d-amz details{width:100%;border:1px solid #2c3136;border-radius:6px;background:var(--s-a172)}.d2d-amz summary{cursor:pointer;list-style:none;padding:7px 10px;display:flex;align-items:center;gap:8px}.d2d-amz summary::-webkit-details-marker{display:none}.d2d-amz summary::before{content:'';width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #747b81;transform:rotate(-90deg);transition:transform .15s}.d2d-amz details[open] summary::before{transform:rotate(0)}.d2d-amz details>div{padding:0 10px 9px}@media(max-width:640px){.d2d-amz{grid-template-columns:1fr}}.d2d-amz h4{margin:0;font-size:12px;font-weight:800;color:var(--t-p12);letter-spacing:.2px;display:inline-flex;align-items:center;gap:4px}.d2d-amz h4 small{font-weight:600;color:var(--t-m46);margin-left:6px}.d2d-amz ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.d2d-amz li a{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--t-p43);font-size:12px;line-height:1.35;padding:5px 8px;border:1px solid #2c3136;background:var(--s-a173);border-radius:4px}.d2d-amz li a:hover{border-color:#9cf048;color:var(--g-t5)}.d2d-amz li a .t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.d2d-amz .tag{flex:none;font-size:9px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;padding:1px 5px;border-radius:999px;border:1px solid #394047;color:var(--t-mute)}.d2d-amz .tag.disc{color:var(--g-t5);border-color:#2f6b2f}.d2d-amz .tag.code{color:#38bdf8;border-color:#245a73}.d2d-amz .tag.ed{color:#c7a4ff;border-color:#5a3f8a}.d2d-amz .more{font-size:11px;color:var(--t-mute);text-decoration:none}.d2d-amz .more:hover{color:var(--g-t5)}
.d2d-corrections{border:1px solid #3b3020;background:var(--s-a174);margin:0 0 18px}
.d2d-corrections summary{padding:12px 16px;color:#ffcf70;font-weight:700;cursor:pointer}
.d2d-corrections ul{margin:0;padding:0 16px 12px 34px;color:var(--t-mid);font-size:12px}
.d2d-corrections li{padding:5px 0}.d2d-corrections b{color:var(--t-body2)}
.d2d-log>.bd>ul>li{margin:0 0 12px}.d2d-log>.bd>ul>li>time{display:block;color:var(--t-m5);margin-bottom:5px}.d2d-log>.bd>ul>li>ul{margin:0;padding-left:22px}.d2d-log>.bd>ul>li>ul>li{padding:3px 0}
.d2d-sources{border:1px solid #2b3034;background:var(--s-a175);margin:0 0 18px}
.d2d-sources summary{padding:12px 16px;color:var(--t-p44);font-weight:700;cursor:pointer}
.d2d-sources table{width:100%;border-collapse:collapse;font-size:12px}
.d2d-sources th,.d2d-sources td{padding:8px 14px;border-top:1px solid #292c30;text-align:left}
.d2d-sources th{color:var(--t-m67)}.d2d-sources a{color:#66bfff;text-decoration:none}
.d2d-sources a:hover{text-decoration:underline}
.d2d-ico{width:32px;height:32px;object-fit:contain;border-radius:5px;background:var(--s-a9);flex:none}
.d2d-gcell{display:flex;align-items:center;gap:10px;min-width:0}.d2d-vtog{flex:none;width:20px;height:20px;border-radius:6px;border:1px solid #5a3f8a;background:#241a36;color:#c7a4ff;font-size:11px;line-height:1;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease}.d2d-vtog[aria-expanded="false"]{transform:rotate(-90deg)}.d2d-tbl tr.d2d-vrow td{background:var(--s-a95);font-size:12px;padding-top:6px;padding-bottom:6px;color:var(--t-mute);border-bottom:1px solid #1f2126}.d2d-tbl tr.d2d-vrow[hidden]{display:none}.d2d-vrow .d2d-vcell{display:flex;align-items:center;gap:8px;min-width:0;padding-left:44px}.d2d-vrow .d2d-vcell .arrow{color:#5a3f8a;font-size:14px;flex:none}.d2d-vrow .d2d-vcell b{color:var(--t-p82);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d2d-vrow .d2d-vcell .st{flex:none;font-size:9px;font-weight:800;letter-spacing:.4px;padding:1px 6px;border-radius:999px;border:1px solid #3a3b40;color:var(--t-mid)}.d2d-vrow .d2d-vcell .st.confirmed{color:var(--g-t5);border-color:#2f6b2f}.d2d-vrow .d2d-vcell .st.reported{color:#ffcf7a;border-color:#6b5a2f}.d2d-vrow .d2d-vcell small{color:var(--t-m11);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d2d-vrow .inh{color:#3a3d44}.d2d-tbl tr.d2d-vgroup td{padding-top:9px;padding-bottom:5px;border-bottom:0}.d2d-vcount{margin-left:auto;flex:none;font-size:10px;font-weight:700;letter-spacing:.3px;color:#c7a4ff;border:1px solid #5a3f8a;background:#241a36;border-radius:999px;padding:2px 8px}.d2d-tbl tr.d2d-vbase td{background:var(--s-a176);color:var(--t-body)}.d2d-vbase .d2d-vcell b{color:var(--t-p7)}body.theme-light .d2d-tbl tr.d2d-vrow td{background:#f4f4f6;color:#555}body.theme-light .d2d-vrow .d2d-vcell b{color:#222}
.d2d-gcell a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d2d-lr{display:inline-flex;align-items:center;flex:none;padding:2px 6px;border:1px solid #d73372;border-radius:999px;background:#2c0d1c;color:#ff83b2;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.d2d-online-tag{display:inline-flex;align-items:center;flex:none;padding:2px 6px;border:1px solid #507035;border-radius:999px;background:var(--s-a96);color:#b8e98b;font-size:9px;font-weight:800;white-space:nowrap}.d2d-online-tag.warn{border-color:#8a6a1f;background:#2b2010;color:#ffcf7a}.d2d-online-tag.dead{border-color:#7a2a2a;background:var(--s-a41);color:#ff9a9a}
.d2d-gcell .d2d-game-open{flex:0 1 auto;min-width:5em}.d2d-gcell .d2d-online-tag{display:inline-block;flex:0 100 auto;min-width:0;max-width:45%;overflow:hidden;text-overflow:ellipsis}
.d2d-plat{font-size:11px;color:var(--t-m5);white-space:nowrap}

.d2d-tbl td.d2d-note-c{color:var(--t-m5);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d2d-trends{margin:0 0 16px;background:var(--s-a4);border:1px solid #26272b;padding:12px 14px}
.d2d-trend-fold{margin:0 0 16px;border:1px solid #2d3339;background:var(--s-a63)}.d2d-trend-fold>summary{cursor:pointer;list-style:none;padding:13px 16px;color:var(--t-p46);font-weight:700}.d2d-trend-fold>summary::-webkit-details-marker{display:none}.d2d-trend-fold>summary::before{content:'\25B6';display:inline-block;margin-right:9px;color:var(--g-t5);font-size:10px;transition:transform .18s}.d2d-trend-fold[open]>summary::before{transform:rotate(90deg)}.d2d-trend-fold .d2d-trends{margin:0;border:0;border-top:1px solid #282d32}
.d2d-trends h3{margin:0 0 8px;font-size:12px;color:var(--t-m5);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.d2d-trends div.t{font-size:13px;line-height:1.8;color:var(--t-body)}
.d2d-trends b.y{color:var(--g-t5)}
.d2d-trends b.n{color:#ff9a9a}
.d2d-trends .cav{margin-top:10px;font-size:11px;color:var(--t-m11)}
.d2d-trow{display:flex;align-items:center;gap:12px;padding:7px 6px;border-bottom:1px solid #292b30;transition:background-color .12s ease}
.d2d-trow:hover{background:var(--s-a177);cursor:pointer}
.d2d-trow:last-of-type{border-bottom:0}
.d2d-tlogo{flex:none;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--mbg,#1e2024);color:var(--mfg,#8a9096);font-size:12px;font-weight:700}
.d2d-tlogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:5px;padding:2px;box-sizing:border-box}
.d2d-tname{flex:1 1 auto;min-width:0;font-size:13px;color:var(--t-body2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.d2d-tcount{flex:none;font-size:12px;color:var(--t-mute)}
.d2d-tcount b.y{color:var(--g-t5)}
.d2d-tcount b.n{color:#ff9a9a}





.d2d-tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;table-layout:fixed}
.d2d-tbl col.c-game{width:auto}
.d2d-tbl col.c-status{width:46px}
.d2d-tbl col.c-buy{width:112px}.d2d-tbl th:nth-child(3),.d2d-tbl td:nth-child(3){white-space:nowrap}
.d2d-tbl col.c-xpa{width:44px}
.d2d-tbl col.c-rating{width:40px}
.d2d-tbl th.d2d-rt-h{color:#f5c518;font-size:14px;padding-left:2px;padding-right:2px}
.d2d-tbl td.d2d-rt{padding-left:2px;padding-right:2px;font-variant-numeric:tabular-nums;color:var(--t-body2)}
.d2d-tbl col.c-plat{width:58px}
.d2d-tbl col.c-players{width:58px}
.d2d-tbl col.c-proof{width:44px}
.d2d-tbl col.c-verified{width:52px}
.d2d-tbl col.c-info{width:44px}
.d2d-tbl col.c-delisted{width:46px}
.d2d-tbl col.c-year{width:72px}
.d2d-tbl col.c-added{width:112px}
.d2d-tbl td:last-child{white-space:nowrap}
.d2d-tbl td{overflow:hidden;text-overflow:ellipsis}
.d2d-tbl th:not(:first-child),.d2d-tbl td:not(:first-child){text-align:center}
.d2d-tbl th:nth-child(10),.d2d-tbl td:nth-child(10){padding-left:4px;padding-right:4px;text-overflow:clip}.d2d-tbl th:nth-child(9),.d2d-tbl td:nth-child(9){padding-left:4px;padding-right:4px;text-overflow:clip}
#d2d-fhs{display:none}
.d2d-gp{display:inline-block;font-size:10px;font-weight:700;white-space:nowrap}.d2d-gp.yes{color:var(--g-t5)}.d2d-gp.no{color:#596068}
@media(max-width:720px){
.d2d-page{padding:14px 6px 48px}
.d2d-page h1{font-size:20px}
.d2d-head{flex-direction:column;align-items:flex-start;gap:10px}
.d2d-legend{width:100%}
.d2d-trends,.d2d-card,.d2d-warn{width:100%;box-sizing:border-box}
.d2d-trow{gap:9px}
.d2d-tname{font-size:12px}
.d2d-tcount{font-size:11px}
.d2d-meta{flex-direction:column}
.d2d-vd{gap:6px}
.d2d-vd .go{margin-left:0;width:100%}
.d2d-twrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.d2d-tbl{min-width:780px;table-layout:fixed}
.d2d-tbl th:first-child,.d2d-tbl td:first-child{z-index:3;background:var(--s-a178);box-shadow:8px 0 12px -8px rgba(0,0,0,.85)}.d2d-twrap.hs .d2d-tbl th:first-child,.d2d-twrap.hs .d2d-tbl td:first-child,#d2d-fhs .d2d-tbl th:first-child{position:sticky;left:0}.d2d-tbl thead th:first-child{z-index:52;background-color:var(--s-a97)}.d2d-tbl tr.d2d-vrow td:first-child{background:var(--s-a95)}
.d2d-tbl th:first-child,.d2d-tbl th:nth-child(2){white-space:nowrap}
.d2d-gcell a{display:block;min-width:0}
.d2d-ico{width:26px;height:26px}
.d2d-tbl td,.d2d-tbl th{padding:8px 6px}
/* No blur on the Buy pill inside the table on a phone (2026-09-09).
   backdrop-filter gave the pill its own composited layer with its own backdrop
   root, which Chrome paints ABOVE the frozen Game column: panning the table
   sideways with a finger dragged the Amazon and eBay pills OVER the game name.
   A scripted scrollLeft never reproduces it -- the compositor drives that pan.
   Scoped to .d2d-tbl for WEIGHT, not reach: the base .d2d-buy rule is later in
   the sheet and a media query adds no specificity, so a bare .d2d-buy here
   loses on source order (measured live). Grid tiles keep their blur. */
.d2d-tbl .d2d-buy{backdrop-filter:none;-webkit-backdrop-filter:none}
.d2d-chip{padding:2px 7px;font-size:10px}
.d2d-grid.icon,.d2d-grid.portrait{grid-template-columns:repeat(3,1fr);gap:8px}
.d2d-log time{display:block;margin-bottom:2px}
.d2d-tile .nm{font-size:11px}
#d2d-cf-canvas{height:240px}
.d2d-pies{gap:14px;grid-template-columns:1fr}
.d2d-ylegend{column-count:2}
/* Frozen first column, sized. These must live in the LAST mobile block:
   an identical set earlier in the sheet was silently undone by
   `.d2d-tbl{min-width:780px}` above and a base `col.c-game{width:auto}`,
   because a media query carries no extra weight and source order wins.
   Measured before the move: a 50vw request rendered as 232px of a 390px
   screen (59%). table-layout:fixed is what makes the colgroup width
   binding; the table stays wider than the viewport and keeps scrolling. */
.d2d-tbl col.c-game{width:50vw}
.d2d-tbl th:first-child,.d2d-tbl td:first-child{max-width:50vw;box-sizing:border-box}
.d2d-tbl td:first-child .d2d-gcell{max-width:calc(50vw - 22px)}
.d2d-tbl td:first-child .d2d-vcell{max-width:calc(50vw - 22px);padding-left:22px}
}

.d2d-tbl th{text-align:left;padding:8px 10px;color:var(--t-m5);font-weight:600;border-bottom:2px solid #34363b;font-size:12px;white-space:nowrap}
.d2d-tbl thead th{position:sticky;top:0;z-index:50;background-color:var(--s-a97);background-image:linear-gradient(var(--d2d-head),var(--d2d-head));border-top:2px solid #54e83c;border-bottom:2px solid #54e83c;box-shadow:0 -5px 9px -4px rgba(80,255,60,.75),0 5px 9px -4px rgba(80,255,60,.75),inset 0 1px 0 rgba(177,255,154,.3),inset 0 -1px 0 rgba(177,255,154,.3)}
/* Frozen header row on mobile.
   .d2d-twrap sets overflow-x:auto so the wide table can be swiped sideways.
   Per spec, setting ONE axis to a non-visible value computes the other to
   auto as well, so the wrapper becomes a scroll container -- and a sticky
   thead resolves against its nearest scrolling ancestor, not the viewport.
   The wrapper is as tall as the table (measured: 2407px), so it never scrolls
   vertically; the PAGE does. The header therefore had nothing to stick to and
   scrolled away with the rows, no matter what `top` it was given.
   Bounding the wrapper's height (the 2026-09-05 fix) made it a nested
   vertical scroller, which had two faults: the rows scrolled before the
   filters had left the screen, and the pager + share box + footer below the
   wrapper (257px) let the PAGE keep scrolling, taking the wrapper -- and the
   header pinned to its top edge -- off screen.
   The page is the only vertical scroller again, and the clone of the thead
   lives in #d2d-fhs: a position:STICKY strip that is a sibling of the
   wrapper, so the compositor pins it with no JavaScript at all. The
   position:fixed clone it replaces (2026-09-06) was placed by a rAF scroll
   handler, and a fling on Android runs on the compositor thread while the
   main thread lags -- so the header simply was not painted for the whole
   fling, which is what a member's screenshot caught. JS now only mirrors the
   wrapper's scrollLeft, a gesture that cannot happen during a vertical fling.
   The strip is as tall as the thead and the wrapper carries the matching
   negative margin-top, so it costs no layout height and sits exactly over the
   real header at rest. Both numbers are set by _d2dFreezeHead(). */
@media (max-width:720px){
#d2d-tblbox{position:relative}
#d2d-fhs{position:sticky;top:0;z-index:60;overflow:hidden;display:none}
#d2d-fhs.on{display:block}
#d2d-fhs table.d2d-tbl{min-width:0;margin:0;border-collapse:separate;border-spacing:0}
#d2d-fhs thead th{position:static}
}
.d2d-tbl thead th:first-child{border-left:2px solid #54e83c;box-shadow:-5px 0 9px -4px rgba(80,255,60,.75),0 -5px 9px -4px rgba(80,255,60,.75),0 5px 9px -4px rgba(80,255,60,.75),inset 0 1px 0 rgba(177,255,154,.3),inset 0 -1px 0 rgba(177,255,154,.3)}
.d2d-tbl thead th:last-child{border-right:2px solid #54e83c;box-shadow:5px 0 9px -4px rgba(80,255,60,.75),0 -5px 9px -4px rgba(80,255,60,.75),0 5px 9px -4px rgba(80,255,60,.75),inset 0 1px 0 rgba(177,255,154,.3),inset 0 -1px 0 rgba(177,255,154,.3)}
.d2d-tbl th.sortable{cursor:pointer;user-select:none}
.d2d-tbl th.sortable:hover{color:var(--t-body2)}
.d2d-tbl td{padding:8px 10px;border-bottom:1px solid #303238;color:var(--t-body);vertical-align:middle;transition:background-color .12s ease}
.d2d-tbl tbody tr:hover td{background-color:rgba(75,88,92,.28)}.d2d-tbl tbody tr[data-ri],.d2d-tbl tbody tr.d2d-vrow{cursor:pointer}
.d2d-tbl td a{color:var(--g-t5);text-decoration:none}
.d2d-tbl td a:hover{text-decoration:underline}
.d2d-affbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 10px;padding:8px 12px;border-radius:10px;border:1px solid rgba(120,220,110,.25);background:linear-gradient(135deg,rgba(40,120,50,.18),rgba(10,40,20,.18))}
/* eBay Partner Network panel (game page, hardware modal, D2D info modal) */
.xct-ebay{margin-top:8px;padding:10px 12px;border:1px solid #1f3d1f;border-radius:8px;background:var(--s-a179)}
.xct-ebay-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.xct-ebay-mk{font-weight:700;color:var(--t-hi)}
.xct-ebay select.ebay-cc{background:var(--s-a180);color:var(--t-p32);border:1px solid #2c4a2c;border-radius:6px;padding:3px 6px;font-size:12px}
.xct-ebay-from{margin-top:6px;font-size:13px;color:var(--t-p32)}
.xct-ebay-from b{color:#7cfc6b}
.xct-ebay-asof{color:var(--t-m34);font-size:11px}
.xct-ebay-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:8px}
.xct-ebay-it{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;gap:2px 8px;align-items:center;padding:6px;border:1px solid #223322;border-radius:6px;background:var(--s-a98);color:var(--t-body2);text-decoration:none}
.xct-ebay-it:hover{border-color:#16c60c}
.xct-ebay-it img,.xct-ebay-noimg{grid-row:1/3;width:44px;height:44px;object-fit:contain;background:#000;border-radius:4px}
.xct-ebay-t{font-size:11px;line-height:1.25;max-height:2.5em;overflow:hidden}
.xct-ebay-p{font-size:12px;font-weight:700;color:#7cfc6b}
.xct-ebay-p em{font-style:normal;font-weight:400;color:var(--t-m34);font-size:10px}
.xct-ebay-btn{display:inline-block;margin-top:9px;padding:6px 14px;border-radius:999px;border:1px solid #16c60c;color:#7cfc6b;font-size:12px;font-weight:600;text-decoration:none}
.xct-ebay-btn:hover{background:rgba(22,198,12,.14)}
.xct-ebay-disc{font-size:11px;color:var(--t-m34);margin:2px 0 4px}
.d2d-ebay{flex:0 0 100%;margin:4px 0 2px}
.d2d-ebay-h{font-weight:700;color:var(--t-hi);font-size:13px}
body.theme-light .xct-ebay{background:#f4f9f4;border-color:#bfe0bf}
body.theme-light .xct-ebay-it{background:#fff;border-color:#d6e6d6;color:#222}
body.theme-light .xct-ebay-mk,body.theme-light .d2d-ebay-h{color:#1a1a1a}
body.theme-light .xct-ebay-from{color:#333}
body.theme-light .xct-ebay-from b,body.theme-light .xct-ebay-p,body.theme-light .xct-ebay-btn{color:#107c10}
body.theme-light .xct-ebay select.ebay-cc{background:#fff;color:#222;border-color:#bfe0bf}
/* eBay chip in LIST rows: Store physical cell, /games rows + cards,
   hardware list + cards, and beside the D2D Amazon Buy button. */
.eb-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;border:1px solid #2c4a2c;background:var(--s-a98);color:#7cfc6b!important;font-size:10px;font-weight:700;line-height:1.6;text-decoration:none!important;white-space:nowrap;vertical-align:middle}
.eb-chip:hover{border-color:#16c60c;background:rgba(22,198,12,.14);text-decoration:none!important}
.eb-chip .eb-l{font-weight:700}
.eb-chip .eb-p{color:var(--t-p32);font-weight:600}
/* Side by side, never stacked: the Buy column is the densest cell on the
   row and a wrapped chip added a whole line to every row. Both controls
   shrink instead, and .d2d-buy drops its 104px cap so the pair fits. */
.d2d-buy-w{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:nowrap}
.d2d-buy-w .eb-chip{padding:4px 7px;font-size:10px;flex:0 0 auto}
/* Buy pills outside Disc to Digital (2026-09-05): the same icon buttons
   on every list row / card / game page; a shell that resolved to nothing
   (no physical release) collapses so the column stays quiet. */
.aff-pills{display:inline-flex;align-items:center;justify-content:center;gap:5px;vertical-align:middle;min-height:28px}
.aff-pills.aff-none{min-height:0}
/* Five-star meter: grey stars with a gold overlay clipped to --p (avg/5). Game page Rating row + Store modal. */
.gp-stars{position:relative;display:inline-block;color:#4a4f57;letter-spacing:1px;line-height:1;vertical-align:-1px}
.gp-stars .gp-stars-on{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;width:var(--p,0%);color:#f5c518}
.aff-cell{text-align:center;padding-right:6px}
.card-badges .aff-pills{margin-left:auto}
.card-badges .aff-pills .d2d-ib .d2d-buy,.card-badges .aff-pills .d2d-ib .d2d-ebtn{width:40px;min-width:40px;max-width:40px;height:24px}
.gp-hdr-info .aff-pills{margin:8px 0 2px;justify-content:flex-start}
/* Digital key row (2026-10-05): Eneba + Loaded + Gameseal searches under the Buy pills. */
.gp-keys{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 2px}
.gp-keys-l{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--t-dim)}
.gp-key{display:inline-flex;align-items:baseline;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;line-height:1.2}
.gp-key small{font-size:10px;font-weight:600;color:#c9b8ff}
.gp-key-enb{border-color:rgba(160,120,255,.55)}.gp-key-ld{border-color:rgba(120,220,140,.5)}.gp-key-gs{border-color:rgba(255,186,48,.6)}
.gp-key:hover{background:rgba(255,255,255,.14);border-color:#fff}
.gp-keys-s{font-size:10.5px;color:var(--t-mute)}
body.theme-light .gp-key{background:#fff;border-color:#cfd6dd;color:#111}
body.theme-light .gp-key small{color:#5b3cc4}
.card-badges .eb-chip{font-size:9px;padding:1px 6px}
body.theme-light .eb-chip{background:#fff;border-color:#bfe0bf;color:#107c10!important}
body.theme-light .eb-chip .eb-p{color:#333}
.d2d-ib{position:relative;display:inline-flex;flex:0 0 auto}
.d2d-ib .d2d-buy,.d2d-ib .d2d-ebtn{width:46px;min-width:46px;max-width:46px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0}
.d2d-ib .d2d-buy .amz-smile{width:26px;height:10px}
.d2d-ib .d2d-buy .lbl,.d2d-ib .d2d-buy .flg,.d2d-ib .d2d-buy .n{display:none}
/* #206 (2026-09-06): prominent Buy for hardware & accessories. Amazon
   pays well on hardware, so these carry a full label and sit as their own
   row rather than a 40px icon lost among value/rarity badges. */
.aff-prom{gap:6px;flex-wrap:wrap;min-height:0}
.card-badges .aff-pills.aff-prom{margin-left:0;width:100%;margin-top:7px;justify-content:flex-start}
.aff-cell .aff-prom{justify-content:center}
.aff-prom .d2d-ib .d2d-buy,.aff-prom .d2d-ib .d2d-ebtn{width:auto;min-width:0;max-width:none;height:30px;padding:0 11px;gap:6px}
.aff-prom .d2d-ib .d2d-buy .amz-smile{width:24px;height:9px}
.aff-prom .d2d-ib .d2d-buy .lbl,.aff-prom .d2d-ib .d2d-buy .flg,.aff-prom .d2d-ib .d2d-buy .n{display:inline}
.aff-prom .d2d-buy .lbl,.aff-prom .d2d-ebtn .lbl{display:inline;font-weight:800;font-size:11.5px;letter-spacing:.01em;white-space:nowrap}
.aff-prom .d2d-ebtn .lbl{color:#0b1220}
body.theme-light .aff-prom .d2d-ebtn .lbl{color:#0b1220}
/* Same halo as the Amazon pill (0 0 14px): its dark shadow vanished on the
   dark theme, so the white pill read smaller than the green one beside it
   (owner request 2026-09-06). Light theme keeps a dark halo of equal spread. */
.d2d-ebtn{position:relative;overflow:hidden;border-radius:999px;cursor:pointer;line-height:1;border:1px solid rgba(0,0,0,.14);background:linear-gradient(135deg,#ffffff,#eef1f5);box-shadow:0 0 14px rgba(255,255,255,.28),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -6px 12px rgba(120,130,145,.22);text-decoration:none!important}
body.theme-light .d2d-ebtn{box-shadow:0 0 14px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -6px 12px rgba(120,130,145,.22)}
.d2d-ebtn::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0) 60%);pointer-events:none}
.d2d-ebtn::after{content:"";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(115deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:rotate(12deg);transition:left .5s ease;pointer-events:none}
.d2d-ebtn:hover{filter:brightness(1.04);border-color:rgba(0,0,0,.2);box-shadow:0 0 16px rgba(255,255,255,.35),inset 0 1px 0 rgba(255,255,255,.98)}
.d2d-ebtn:hover::after{left:120%}
.d2d-ebtn .eb-wm{position:relative;display:block;width:34px;height:auto;object-fit:contain}
/* The pills sit inside rows and cards whose generic image rules
   (.list-view .lv-row img, #pdc-grid .vg-card img, .entity-list .ent-row img,
   .lib-card img) force a square, a dark background and a radius on every img
   in them, which drew a dark box inside the white eBay pill (Store list Buy
   column, 2026-09-06). The wordmark and the flag badge keep their own size and
   stay transparent everywhere. */
.d2d-ebtn .eb-wm{width:34px!important;height:auto!important;max-width:none!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;flex-shrink:0}
.d2d-ib .d2d-fbadge img{width:15px!important;height:11px!important;background:transparent!important;border-radius:0!important}
.d2d-ebtn .eb-wm i{font-style:normal}
/* Bottom-LEFT, not right: the Amazon button is the first control in the
   cell, so its left edge has the cell padding to sit in, while its right
   edge is 5px from the eBay button and a badge there overlapped it. */
.d2d-ib .d2d-fbadge{position:absolute;left:-4px;bottom:-4px;z-index:2;display:inline-flex;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1.5px rgba(10,14,10,.92),0 1px 3px rgba(0,0,0,.6);pointer-events:none}
.d2d-ib .d2d-fbadge img{width:15px;height:11px;display:block;object-fit:cover}
/* Roadmap #190: thank a helper with a nominal amount of Core. */
.htx-btn{background:var(--s-a181);border:1px solid #3d6833;color:#c8ff94;border-radius:999px;padding:2px 9px;font:700 10px inherit;cursor:pointer;white-space:nowrap}
.htx-btn:hover{border-color:#9cf048;background:var(--s-a182)}
.htx-done{display:inline-block;color:var(--t-m68);font-size:10px;font-weight:700;white-space:nowrap}
body.theme-light .htx-btn{background:#eef7e8;border-color:#bfe0bf;color:#1f6b1f}
.tip-btn{font-size:11px;padding:4px 10px;line-height:1.2}
.tip-btn.tip-done{background:transparent;border-color:#2c3a28;color:var(--t-m68);cursor:default}
/* Roadmap #173: navigation customizer. `nav-user-hidden` is a CLASS, never
   a style write, so restoring a tab can never reveal one the site itself
   is hiding for another reason (signed out, not Pro, admin only). */
/* Not scoped to `.tabs`: in top/bottom/win layouts toggleTabGroup portals the
   open .tab-menu to <body> (it is position:fixed), so a `.tabs`-scoped rule
   stopped hiding those items there (roadmap #236 — hiding only worked in the
   sidebar). nav-user-hidden is only ever set on real nav tabs, so a global
   rule is safe. */
.tab.nav-user-hidden{display:none!important}
.nav-cust-grp{margin:0 0 12px}
.nav-cust-h{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--t-m5);margin:0 0 6px}
.nav-cust-row{display:flex;align-items:center;gap:9px;padding:4px 0;border-top:1px solid #1e2126}
.nav-cust-lbl{flex:1;color:var(--t-body2);font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-cust-hide{display:inline-flex;align-items:center;gap:5px;color:var(--t-m5);font-size:11px;cursor:pointer}
.nav-cust-lock{color:#5d646c;font-size:10px;font-style:italic}
body.theme-light .nav-cust-lbl{color:#222}
/* Verified eBay ACCOUNT badge (identity), distinct from .eb-chip above
   (an affiliate link). Blue, so it never reads as a buy button. */
.ebay-chip{display:inline-block;margin-left:4px;padding:1px 7px;border-radius:3px;font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--t-p83)!important;background:linear-gradient(90deg,#0b3a6b,#1668c4,#7fc0ff,#1668c4,#0b3a6b);background-size:200% 100%;box-shadow:0 0 0 1px rgba(150,200,255,.35) inset;text-decoration:none!important;vertical-align:middle;white-space:nowrap}
.ebay-chip:hover{background-position:100% 0;text-decoration:none!important}
body.theme-light .ebay-chip{color:#fff!important}
.d2d-affnote{font-size:12px;color:#c9e6c0;line-height:1.45}.d2d-affnote b{color:var(--g-t5)}
.d2d-cc{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t-m4);white-space:nowrap;flex-wrap:wrap;max-width:100%;min-width:0}
.d2d-flag{width:20px;height:15px;border-radius:2px;vertical-align:-2px;object-fit:cover;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.d2d-cc-flag{display:inline-flex;align-items:center;min-width:20px}.d2d-buy .flg .d2d-flag{width:18px;height:13px;vertical-align:-1px}
.d2d-cc select{background:var(--s-a65);border:1px solid #2f5a2f;border-radius:8px;color:#e6ffe0;padding:5px 8px;font-size:13px;max-width:100%;min-width:0}
.d2d-tbl td.d2d-buy-c{text-align:center;padding-left:4px;padding-right:4px}
.d2d-buy{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px 9px;width:100%;max-width:104px;box-sizing:border-box;border-radius:999px;border:1px solid rgba(150,240,130,.55);background:linear-gradient(135deg,rgba(46,170,72,.62),rgba(8,92,40,.62));box-shadow:0 0 14px rgba(80,255,60,.35),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -7px 12px rgba(0,60,20,.4);backdrop-filter:blur(6px) saturate(150%);-webkit-backdrop-filter:blur(6px) saturate(150%);color:var(--t-p84)!important;font-weight:800;font-size:12px;letter-spacing:.02em;text-decoration:none!important;white-space:nowrap;position:relative;overflow:hidden;cursor:pointer;line-height:1;font-family:inherit}
.d2d-buy::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 55%);pointer-events:none}
.d2d-buy::after{content:"";position:absolute;top:-60%;left:-40%;width:40%;height:220%;background:linear-gradient(115deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:rotate(12deg);transition:left .5s ease;pointer-events:none}
.d2d-buy:hover{filter:brightness(1.12);box-shadow:0 0 20px rgba(80,255,60,.65),inset 0 1px 0 rgba(255,255,255,.55)}
.d2d-buy:hover::after{left:120%}
.d2d-buy .amz-w{font-weight:900;font-size:11.5px;letter-spacing:-.02em;text-transform:lowercase;position:relative}
.d2d-buy .amz-smile{width:24px;height:9px;position:relative}
.d2d-buy .lbl{position:relative;text-shadow:0 1px 2px rgba(0,0,0,.45)}.d2d-buy .flg{position:relative;font-size:13px;line-height:1;margin-left:-1px}.d2d-buy.fb{max-width:124px}.d2d-buy .n{position:relative;background:rgba(0,0,0,.35);border-radius:999px;padding:2px 6px;font-size:10px}
/* Secondary control next to the Buy button (the Compare-copies toggle).
   It used to mean "this link is a search, not a product page", but the
   Buy button became search-only on 2026-09-11, so EVERY Buy button was
   rendering in this muted grey with no glow -- the site's main earning
   call to action, de-emphasised, on the page that carries ~97% of all
   affiliate impressions. The Buy buttons are green again; this style now
   belongs to genuinely secondary controls only. */
.d2d-buy.search{background:linear-gradient(135deg,rgba(90,110,100,.42),rgba(40,60,50,.38));border-color:rgba(180,200,180,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.2);color:var(--t-p85)!important}
.d2d-buy.search:hover{box-shadow:0 0 10px rgba(160,200,160,.3)}
.d2d-buy-modal{max-width:640px}.d2d-buy-sub{color:var(--t-m4);font-size:13px;margin:4px 0 10px}
.d2d-buy-list{list-style:none;margin:0;padding:0}.d2d-buy-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #26292e}
.d2d-buy-list li .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--t-p48);font-size:13px}
.d2d-buy-list .tag{font-size:10px;font-weight:800;border-radius:4px;padding:2px 6px;background:#1f3a2a;color:var(--g-t5)}.d2d-buy-list .tag.code{background:#3a2f1f;color:#ffc98a}.d2d-buy-list .tag.ed{background:var(--s-a184);color:#9ecbff}
.d2d-buy-others{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--t-m4)}
.d2d-buy-ebay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--t-m4)}
.d2d-buy-oth{color:#c9e6c0;text-decoration:none;border:1px solid #2f5a2f;border-radius:999px;padding:3px 9px}.d2d-buy-oth b{color:var(--g-t5)}
.d2d-tbl th.d2d-buy-h{color:var(--g-t5)}
.d2d-counts .v,.xb .v{color:#c084fc}.d2d-bars i.v{background:#c084fc}
.d2d-chip,.d2d-bool{display:inline-flex;width:22px;height:22px;box-sizing:border-box;align-items:center;justify-content:center;border-radius:50%;font-size:14px;line-height:1;font-weight:800;border:1px solid}
.d2d-chip.yes{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-chip.no{color:#ff9a9a;border-color:#6b2f2f;background:#321616}
.d2d-chip.unconfirmed{color:#ffcf7a;border-color:#6b5a2f;background:var(--s-a33)}
.d2d-chip.retest{font-size:13px;color:#5eead4;border-color:#1f5e57;background:#0f2e2b}
.d2d-chips button.on.retest,.d2d-vd button.on.retest,.d2d-vfilters button.on.retest{color:#5eead4;border-color:#1f5e57;background:#0f2e2b}
.d2d-dd-panel label.retest{color:#5eead4}.d2d-glegend .retest i,.d2d-ghead.st-retest i{border-color:#14b8a6}
.d2d-tile.st-retest .art{border-color:#14b8a6;box-shadow:0 0 0 var(--gs,3px) #14b8a6,0 0 14px rgba(20,184,166,.55)}
.d2d-counts .r b,.xb .r,.d2d-dispute b.retest{color:#5eead4}.d2d-bars i.r{background:#2dd4bf}
.d2d-optins{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 12px;font-size:12px;color:var(--t-m4)}
.d2d-optins .lb{color:#5eead4;font-weight:700}.d2d-optin{display:inline-flex;align-items:center;gap:5px;border:1px solid #1f5e57;border-radius:999px;padding:2px 9px;background:#0f2e2b;color:var(--t-p48)}
.d2d-optin b{color:#5eead4;font-weight:700}.d2d-optin small{color:var(--t-m5)}
.d2d-optin button{background:none;border:0;color:#ff9a9a;cursor:pointer;font:700 11px inherit;padding:0 0 0 2px}
.d2d-optin-add{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.d2d-optin-add input{background:var(--s-a4);border:1px solid #2a2d33;color:var(--t-body2);border-radius:6px;padding:4px 8px;font:12px inherit;max-width:100%}
.d2d-optin-add button{background:#0f2e2b;border:1px solid #1f5e57;color:#5eead4;border-radius:6px;padding:4px 10px;font:700 12px inherit;cursor:pointer}
.d2d-chip.varies{margin-left:3px;font-size:13px;font-weight:800;color:#c7a4ff;border-color:#5a3f8a;background:#241a36}.d2d-chip.variant{font-size:13px;font-weight:800;color:#c7a4ff;border-color:#5a3f8a;background:#241a36}.d2d-by{display:inline-flex;align-items:center;gap:6px;color:var(--g-t5);text-decoration:none;vertical-align:middle;max-width:100%}.d2d-by:hover{text-decoration:underline}.d2d-by img{width:18px;height:18px;border-radius:50%;object-fit:cover;background:#000;flex:none}.d2d-by .xm{font-size:9px;font-weight:800;letter-spacing:.3px;color:var(--g-t5);border:1px solid #2f6b2f;border-radius:999px;padding:0 5px;line-height:14px}.d2d-by-x{color:var(--t-p49)}.d2d-by-x .xm{color:var(--t-p49);border-color:#4a4f55}.d2d-stw{position:relative;display:inline-flex}.d2d-stw .d2d-chip.varies{position:absolute;top:-6px;right:-9px;width:15px;height:15px;margin:0;font-size:10px;border-width:1px;box-shadow:0 0 0 2px #0f1013}
.d2d-vars{margin:12px 0 0;padding:10px 12px;border:1px solid #2a2b30;border-radius:10px;background:var(--s-a4)}
.d2d-vars h3{margin:0 0 4px;font-size:13px;color:var(--t-hi)}.d2d-vars>small{display:block;color:var(--t-m5);font-size:11px;line-height:1.5;margin-bottom:6px}
.d2d-var{display:flex;gap:8px;align-items:flex-start;padding:7px 0;border-top:1px solid #1f2024;font-size:12px;line-height:1.5;color:var(--t-p8)}.d2d-var:first-of-type{border-top:0}
.d2d-var .d2d-chip{flex:none;margin-top:2px}.d2d-var small{color:var(--t-m5)}
.d2d-var .d2d-var-rm{margin-left:auto;flex:none;background:var(--s-a99);border:1px solid #6b2f2f;color:#ff9a9a;padding:3px 9px;border-radius:6px;font:700 11px inherit;cursor:pointer}.d2d-var .d2d-var-rm:hover{background:#3a1a1a}.d2d-var .d2d-var-rm:disabled{opacity:.5;cursor:default}.d2d-var .st{font-size:9px;font-weight:800;letter-spacing:.4px;padding:1px 6px;border-radius:999px;border:1px solid #3a3b40;color:var(--t-mid);margin-left:6px;vertical-align:middle}
.d2d-var .st.confirmed{color:var(--g-t5);border-color:#2f6b2f}.d2d-var .st.reported{color:#ffcf7a;border-color:#6b5a2f}
.d2d-mod-filter{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.d2d-mod-filter button{background:var(--s-a4);border:1px solid #26272b;color:var(--t-m5);padding:5px 11px;border-radius:999px;font:600 12px inherit;cursor:pointer}.d2d-mod-filter button b{color:var(--t-body2);margin-left:3px}.d2d-mod-filter button.on{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}.d2d-mod-bulk{margin-left:auto;display:inline-flex;gap:6px}.d2d-mod-filter button.bulk{color:#c8ff94;border-color:#2f6b2f;background:#16321c}.d2d-mod-filter button.bulk:disabled{opacity:.5;cursor:wait}.d2d-mod-filter button.bulk.rej{color:#ff9a9a;border-color:#703535;background:#351616}.d2d-mod-noacct{color:#e0b45c}.d2d-mod-filter button:hover{border-color:#3a3b40;color:var(--t-body)}.d2d-mod-row[hidden],.d2d-mod-group[hidden]{display:none}.d2d-mod-view{display:inline-flex;gap:6px;margin-left:6px;padding-left:8px;border-left:1px solid #26272b}.d2d-mod-group{display:flex;align-items:center;gap:10px;padding:9px 16px;margin-top:6px;border-top:1px solid #293029;background:var(--s-a4);font:700 13px inherit;color:var(--g-t5)}.d2d-mod-group .n{color:var(--t-m5);font-weight:600}.d2d-mod-group .d2d-mod-gbtn{margin-left:auto;color:#c8ff94;border:1px solid #2f6b2f;background:#16321c;padding:5px 11px;border-radius:999px;font:600 12px inherit;cursor:pointer}.d2d-mod-group .d2d-mod-gbtn b{margin-left:3px}.d2d-mod-group .d2d-mod-gbtn:disabled{opacity:.5;cursor:wait}.d2d-mod-group .d2d-mod-gbtn.rej{margin-left:0;color:#ff9a9a;border-color:#703535;background:#351616}.d2d-mod-hint{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;color:#ffb4b4;border:1px solid #6b2f2f;background:#321616}
.d2d-mod-actions button.variant{color:#c7a4ff;border-color:#5a3f8a}
.d2d-ovr-panel{margin:14px 0 0;padding:12px;border:1px solid #5a3f8a;border-radius:10px;background:var(--s-a185)}.d2d-ovr-panel h3{margin:0 0 6px;font-size:13px;color:#e0d4ff}.d2d-ovr-sub{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px}.d2d-ovr-sub span{color:#a99cc4;font-size:11.5px;flex:0 0 100%}.d2d-ovr-sub input{flex:1 1 150px;min-width:120px;background:var(--s-a100);border:1px solid #3a2d55;color:var(--t-body);border-radius:6px;padding:6px 9px;font:12px inherit}.d2d-ovr-danger{margin-top:12px;padding-top:11px;border-top:1px solid #3a2d55;display:flex;flex-direction:column;gap:7px}.d2d-ovr-danger span{font-size:11.5px;color:#a99cc4;line-height:1.5}.d2d-rm-reason{background:var(--s-a100);border:1px solid #3a2d55;color:var(--t-body);border-radius:6px;padding:6px 9px;font:12px inherit}.d2d-ovr-rm{align-self:flex-start;background:var(--s-a186);border:1px solid #6b2230;color:#e79aa6;border-radius:7px;padding:7px 13px;font:600 12px inherit;cursor:pointer}.d2d-ovr-rm:hover{background:#3a161c;border-color:#8b2c3c;color:#ffc2cb}.d2d-ovr-rm[data-armed='1']{background:#5a1220;border-color:#a83244;color:#fff}.d2d-ovr-rm[disabled]{opacity:.6;cursor:default}
.d2d-ovr-warn{margin:0 0 10px;padding:9px 11px;border-left:3px solid #ff9a9a;background:var(--s-a99);color:#f0c9c9;font-size:12px;line-height:1.55;border-radius:0 8px 8px 0}
.d2d-ovr-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.d2d-ovr-row>span{flex:0 0 96px;font-size:12px;color:var(--t-m5)}
.d2d-ovr-title-in{flex:1 1 220px;min-width:160px;background:var(--s-a65);border:1px solid #2f5a2f;border-radius:8px;color:#e6ffe0;padding:6px 8px;font:inherit;font-size:13px}
.d2d-lb-sub{color:var(--t-m4);font-size:13px;margin:4px 0 12px}.d2d-lb-wrap{overflow-x:auto}
.d2d-lb{width:100%;border-collapse:collapse;font-size:13px}.d2d-lb th,.d2d-lb td{padding:8px 10px;border-bottom:1px solid #26292e;text-align:left;white-space:nowrap}
.d2d-lb th.sortable{cursor:pointer;user-select:none;color:var(--g-t5);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.d2d-lb th.sortable:hover{color:#dfffb0}
.d2d-lb th.asc::after{content:" \25B4"}.d2d-lb th.desc::after{content:" \25BE"}
.d2d-lb td.n,.d2d-lb th[data-lbk="approved"],.d2d-lb th[data-lbk="games"],.d2d-lb th[data-lbk="pending"],.d2d-lb th[data-lbk="rank"]{text-align:right}
.d2d-lb td.who{white-space:normal;min-width:160px}.d2d-lb tr.me td{background:rgba(156,240,72,.08)}
.d2d-lb td.who .d2d-by{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--t-p48)}.d2d-lb td.who .d2d-by img{width:30px;height:30px;border-radius:50%;object-fit:contain;background:var(--s-a65);flex:0 0 30px}
.d2d-lb .medal{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:800;font-size:11px;color:#111}
.d2d-lb .medal.m1{background:#ffd54a}.d2d-lb .medal.m2{background:#cfd6dc}.d2d-lb .medal.m3{background:#d59a5c}
.d2d-qbadge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:#e5322d;color:#fff;font-size:11px;font-weight:800;line-height:1;vertical-align:1px;box-shadow:0 0 0 2px rgba(0,0,0,.35)}
.d2d-ovr-opt{display:inline-flex;gap:7px;align-items:center;background:var(--s-a4);border:1px solid #26272b;color:var(--t-body2);padding:6px 10px;border-radius:999px;cursor:pointer;font:inherit;font-size:12px}
.d2d-ovr-opt:hover{border-color:#9cf048}.d2d-ovr-opt.current{border-color:#9cf048;background:#16321c;cursor:default}.d2d-ovr-opt:disabled{opacity:.5;cursor:wait}.d2d-ovr-opt .d2d-chip{flex:none}
.d2d-ovr-row select,.d2d-ovr-note input{background:var(--s-dim);border:1px solid #333;color:var(--t-body2);border-radius:8px;padding:7px 10px;font:inherit;font-size:12px}.d2d-ovr-row select{flex:1 1 220px;min-width:0}
.d2d-ovr-apply{background:#5a3f8a;border:1px solid #7b5bb5;color:#fff;padding:7px 12px;border-radius:8px;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.d2d-ovr-apply:disabled{opacity:.5;cursor:wait}
.d2d-ovr-note{display:block;margin-top:6px;font-size:12px;color:var(--t-m5)}.d2d-ovr-note input{display:block;width:100%;box-sizing:border-box;margin-top:5px}
body.theme-light .d2d-ovr-panel{background:#f3effa;border-color:#c9b8e8}body.theme-light .d2d-ovr-panel h3{color:#3a2a5a}body.theme-light .d2d-ovr-opt{background:#fff;border-color:#d8d8dc;color:#222}body.theme-light .d2d-ovr-warn{background:#fbecec;color:#7a2a2a}
body.theme-light .d2d-vars{background:#f4f4f6;border-color:#d8d8dc}body.theme-light .d2d-var{color:#333;border-color:#e2e2e6}body.theme-light .d2d-vars h3{color:#111}
.d2d-bool.yes{color:var(--g-t5);border-color:#2f6b2f;background:#16321c}
.d2d-bool.no{color:#ff9a9a;border-color:#6b2f2f;background:#321616}
.d2d-bool.partner{color:#ffcf7a;border-color:#6b5a2f;background:#322a16;font-size:15px}
.d2d-empty{padding:26px 10px;color:var(--t-m5);font-size:13px;text-align:center}
/* ============ Start themes (Core-unlockable reskins) ============ */
/* A theme sets the ambient page background (--hub-page-bg), the greeting ink,
   and an optional tile surface treatment. Tile colours stay user-controlled;
   the ambient + treatment give each theme its identity. Palettes for auto
   tiles live in JS (_HUB_THEMES). metro = default/free = no overrides. */
/* Blades v3 (2026-08-05) — full self-contained recreation of the 2.0.6717
   five-blade dashboard: marketplace / xbox live / games / media / system.
   Sheets = one SVG (S-curved blade sheets; their path d + panel rects morph
   via CSS transitions on switch). The open blade = per-blade colourway rect
   + an HTML overlay (#hbl-content) carrying the ORIGINAL panels, buttons and
   labels lifted from the carved XUR scenes (Live/Games/Media/System exact;
   Marketplace canon — that blade was server-driven epix). Self-contained:
   nothing routes away from /start; ArrowLeft/Right switches blades,
   ArrowUp/Down moves focus, click works too. Metro hero/grid are hidden
   under this theme; the Y legend button opens the theme picker. Switch =
   350ms and open = 450ms per the XUR sound timeline. Everything sizes off
   --pw (panel width) so it stays true at 4K. */
/* Served-only, unique family. NO local() — the MS Store Convection package
   registers six faces all named "Convection" (Regular/Bold/Condensed/Medium/
   Italic/ExtraBold), so local('Convection') could resolve to the wrong cut and
   render as the wrong font. Forcing our exact Conv.ttf (the regular weight)
   under a private family name makes every machine render identically. */
@font-face{font-family:'XCTConvection';src:url('/blades/convection.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
#start.hub-th-blades{--hub-page-bg:radial-gradient(120% 100% at 50% 40%,#141613,#000 82%);min-height:96vh;padding:0}
#start.hub-th-blades .hub-hero,#start.hub-th-blades .hub-grid,#start.hub-th-blades .hub-empty{display:none}
#hub-bl-chrome{position:absolute;inset:-40px 0 0;z-index:1;pointer-events:none}
#hbl-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
#hbl-svg path{stroke:rgba(56,60,54,.30);stroke-width:1;transition:d .35s cubic-bezier(.33,0,.2,1)}
#hbl-svg rect{transition:x .35s cubic-bezier(.33,0,.2,1),width .35s cubic-bezier(.33,0,.2,1)}
/* drifting light sheen across the panel (the dash's white_shine_panel) */
#hbl-sheen{transform-box:fill-box;will-change:transform;animation:hblSheen 14s ease-in-out infinite}
/* the warm luminous cloud + emanating pulse (screen-blended so the sampled
   golds ADD light over the panel gradient like the dash's bloom, instead of
   a near-invisible alpha wash) */
#hbl-bloom{mix-blend-mode:screen;transform-box:fill-box;transform-origin:center;will-change:transform,opacity;animation:hblBloom 9s ease-in-out infinite}
@keyframes hblBloom{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}
#hbl-pulse{mix-blend-mode:screen;transform-box:fill-box;transform-origin:center;will-change:transform,opacity;animation:hblPulse 5.5s ease-out infinite}
@keyframes hblPulse{0%{transform:scale(.22);opacity:0}18%{opacity:.95}100%{transform:scale(1.6);opacity:0}}
@keyframes hblSheen{0%{transform:translateX(0);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(var(--shx,300px));opacity:0}}
/* subtle ambient breathing on the page glow behind the blades */
#start.hub-th-blades::before{animation:hblAmbient 26s ease-in-out infinite}
@keyframes hblAmbient{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
#hbl-svg .hbl-sL{filter:drop-shadow(10px 2px 12px rgba(0,0,0,.52))}
#hbl-svg .hbl-sR{filter:drop-shadow(-10px 2px 12px rgba(0,0,0,.52))}
#hbl-svg .hbl-pback{filter:drop-shadow(0 10px 30px rgba(0,0,0,.5));stroke:rgba(40,30,10,.35)}
#hbl-svg path.hov{filter:brightness(1.05)}
/* click/hover targets + vertical labels over the sheet paths */
.hbl-hit{position:absolute;top:0;bottom:8px;pointer-events:auto;cursor:pointer;z-index:2;transition:left .35s cubic-bezier(.33,0,.2,1)}
.hbl-hit:focus-visible{outline:2px solid #fff;outline-offset:-3px}
#hub-bl-chrome .hbl-hit b{writing-mode:vertical-rl;display:block;margin:0 auto;padding-top:clamp(110px,20vh,300px);font-family:'XCTConvection','Segoe UI',Inter,sans-serif!important;font-weight:400;font-size:clamp(18px,3.25vh,31px);letter-spacing:.025em;color:#4a4d46;text-shadow:0 1px 0 rgba(255,255,255,.6);text-transform:lowercase;white-space:nowrap}
/* panel content overlay — the recreated blade UI; sizes off --pw.
   The #hbl-content * rule is deliberate: the site's global element rules
   (mono look) beat INHERITED family, so every descendant gets Convection
   explicitly at id specificity. */
#hbl-content{position:absolute;pointer-events:auto;z-index:1;color:var(--bink,#3F2A08);transition:left .35s cubic-bezier(.33,0,.2,1),width .35s cubic-bezier(.33,0,.2,1)}
#hbl-content,#hbl-content *{font-family:'XCTConvection','Segoe UI',Inter,sans-serif!important}
#hbl-content.hbl-sw .hbl-pc{opacity:0;transform:translateX(-1.5%)}
.hbl-pc{position:absolute;inset:0;transition:opacity .16s ease,transform .16s ease;animation:hblPcIn .22s ease}
@keyframes hblPcIn{from{opacity:0;transform:translateX(1.5%)}to{opacity:1;transform:none}}
.hbl-title{position:absolute;left:8.5%;top:7%;font-weight:400;font-size:calc(var(--pw)*0.038);color:var(--btitle,#fff);text-shadow:0 2px 3px rgba(0,0,0,.34);letter-spacing:0}
/* Themes button in the header band, top-right. The Metro hero (and its
   themes button) is hidden under Blades, and the legend Y sits below the
   fold on a tall or narrow window, so the picker needs a visible door. */
.hbl-thbtn{position:absolute;right:5%;top:6.2%;display:inline-flex;align-items:center;gap:calc(var(--pw)*0.012);height:max(32px,calc(var(--pw)*0.052));padding:0 max(12px,calc(var(--pw)*0.022)) 0 max(5px,calc(var(--pw)*0.009));border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.28));border:2px solid rgba(40,25,0,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 2px 6px rgba(0,0,0,.2);color:var(--bink,#3F2A08);font-size:max(13px,calc(var(--pw)*0.026));line-height:1;cursor:pointer;box-sizing:border-box;z-index:2}
.hbl-thbtn:hover{background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.42))}
.hbl-thbtn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.hbl-thy{width:max(22px,calc(var(--pw)*0.034));height:max(22px,calc(var(--pw)*0.034));flex:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:max(11px,calc(var(--pw)*0.018));text-shadow:0 1px 1px rgba(0,0,0,.4);background:radial-gradient(circle at 35% 30%,#F2DC6A,#D7B31A 70%,#A98B0E);box-shadow:inset 0 2px 3px rgba(255,255,255,.4),inset 0 -3px 5px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.35)}
.hbl-left{position:absolute;left:8.5%;top:13%;width:43%;bottom:27%;overflow-y:auto;scrollbar-width:none}
.hbl-left::-webkit-scrollbar{display:none}
.hbl-meta{position:absolute;left:52%;right:5%;top:18.5%;bottom:26%;overflow:hidden}
/* Gold-header LIVE gamercard (matches the real 6717 dash: gold name bar +
   person glyph, then pic + Rep / Gamerscore / Zone rows). */
.hbl-card{border:2px solid rgba(46,28,2,.5);border-radius:calc(var(--pw)*0.006);overflow:hidden;box-shadow:0 3px 7px rgba(0,0,0,.22);margin-bottom:calc(var(--pw)*0.012);box-sizing:border-box}
.hbl-ghdr{background:linear-gradient(180deg,#e7d66d,#c8ac3f);color:#2a2205;font-size:calc(var(--pw)*0.023);padding:calc(var(--pw)*0.004) calc(var(--pw)*0.012);position:relative;border-bottom:2px solid rgba(60,45,10,.42);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hbl-ghdr .hbl-who{position:absolute;right:calc(var(--pw)*0.009);top:50%;transform:translateY(-50%);width:calc(var(--pw)*0.024);height:calc(var(--pw)*0.024);opacity:.5}
.hbl-ghdr .hbl-who svg{width:100%;height:100%;fill:#2a2205}
.hbl-gbody{background:linear-gradient(180deg,#eef3e6 0,#cfe0c2 100%);display:flex;padding:calc(var(--pw)*0.011);gap:calc(var(--pw)*0.013);align-items:center}
.hbl-gbody .hbl-gpicimg,.hbl-gbody .hbl-gpic{width:calc(var(--pw)*0.095);height:calc(var(--pw)*0.095)}
.hbl-grows{flex:1;min-width:0;font-size:calc(var(--pw)*0.021);color:#1c2a12}
.hbl-grow{display:flex;justify-content:space-between;align-items:center;line-height:1.44;white-space:nowrap;gap:calc(var(--pw)*0.01)}
.hbl-grow .g{font-weight:700}
.hbl-stars{letter-spacing:1px;color:#7f8a6f}
.hbl-card .hbl-ch{font-weight:600;font-size:calc(var(--pw)*0.025);margin-bottom:calc(var(--pw)*0.012)}
.hbl-crow{display:flex;align-items:center;gap:calc(var(--pw)*0.016)}
.hbl-crow span{font-weight:600;font-size:calc(var(--pw)*0.024)}
/* default gamerpic — our own generated organic green weave (layered conic +
   radial gradients), evoking the maze-y placeholder without copying it */
.hbl-gpic{width:calc(var(--pw)*0.085);height:calc(var(--pw)*0.085);flex:none;border:2px solid rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,50,0,.3);background-color:#249016;background-image:repeating-conic-gradient(from 20deg at 34% 40%,#3EB524 0deg 26deg,#1C7810 26deg 52deg),repeating-radial-gradient(circle at 66% 62%,#4CC72E 0,#1C7810 7%,#3EB524 13%,#1C7810 20%),radial-gradient(circle at 40% 35%,rgba(255,255,255,.35),transparent 45%);background-blend-mode:overlay,multiply,screen}
.hbl-gname{font-weight:400;font-size:calc(var(--pw)*0.027)}
.hbl-gsub{font-weight:400;font-size:calc(var(--pw)*0.019);opacity:.75}
.hbl-item{display:flex;align-items:center;gap:calc(var(--pw)*0.016);min-height:calc(var(--pw)*0.080);padding:calc(var(--pw)*0.008) calc(var(--pw)*0.010);border-top:2px solid rgba(70,43,4,.36);font-weight:400;font-size:calc(var(--pw)*0.033);line-height:1.02;cursor:pointer;box-sizing:border-box}
.hbl-item:first-child{border-top-color:rgba(40,25,0,0)}
.hbl-item.fc{background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.34));border:2px solid rgba(40,25,0,.45);border-radius:calc(var(--pw)*0.007);box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 2px 8px rgba(0,0,0,.18)}
.hbl-item.fc+.hbl-item{border-top-color:rgba(40,25,0,0)}
.hbl-ic{width:calc(var(--pw)*0.052);height:calc(var(--pw)*0.052);flex:none;display:inline-flex}
.hbl-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hbl-ad{margin-top:calc(var(--pw)*0.016);border-radius:calc(var(--pw)*0.008);background:radial-gradient(120% 90% at 18% 50%,#3a4a2c 0,#2b2b2b 30%,#161616 82%);border:2px solid rgba(255,255,255,.45);padding:calc(var(--pw)*0.015) calc(var(--pw)*0.012);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.35);position:relative;overflow:hidden}
/* glowing concentric rings on the left, our own CSS — repeating ring gradient
   plus a soft green bloom behind it */
.hbl-ad::before{content:'';position:absolute;left:calc(var(--pw)*-0.055);top:50%;transform:translateY(-50%);width:calc(var(--pw)*0.20);height:calc(var(--pw)*0.20);border-radius:50%;background:repeating-radial-gradient(circle at 62% 50%,rgba(141,198,63,.85) 0,rgba(141,198,63,.85) calc(var(--pw)*0.004),rgba(141,198,63,0) calc(var(--pw)*0.005),rgba(141,198,63,0) calc(var(--pw)*0.017));filter:drop-shadow(0 0 6px rgba(141,198,63,.55))}
.hbl-ad::after{content:'';position:absolute;left:calc(var(--pw)*0.01);top:50%;transform:translateY(-50%);width:calc(var(--pw)*0.14);height:calc(var(--pw)*0.14);border-radius:50%;background:radial-gradient(circle,rgba(141,198,63,.28),rgba(141,198,63,0) 62%)}
.hbl-adimg{position:relative;height:calc(var(--pw)*0.075);width:auto;filter:drop-shadow(0 0 10px rgba(0,0,0,.45))}
/* small profile weave used as a list icon (e.g. Sign In on the Marketplace blade) */
.hbl-gpic-sm{width:calc(var(--pw)*0.052);height:calc(var(--pw)*0.052);border-width:1px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
/* real gamerpic inside the signed-in card — same footprint as the weave */
.hbl-pfp{display:inline-flex;flex:none}
.hbl-gpicimg{width:calc(var(--pw)*0.085);height:calc(var(--pw)*0.085);flex:none;object-fit:cover;border:2px solid rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(0,0,0,.3),inset 0 0 0 1px rgba(0,50,0,.3);background:#249016}
/* original blade item icons (extracted dash art) */
.hbl-icimg{width:calc(var(--pw)*0.052);height:calc(var(--pw)*0.052);flex:none;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.hbl-mlimg360{display:block;margin:0 auto;width:52%;max-width:380px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}
/* Marketplace right-panel Xbox LIVE banner — framed glass sitting next to the
   descriptive paragraph, rings on the left, logo at the lower-right. */
.hbl-mban{float:right;width:46%;margin:0 0 2% 4%;aspect-ratio:1/0.78;border-radius:calc(var(--pw)*0.008);background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(255,255,255,.42));border:2px solid rgba(255,255,255,.55);box-shadow:0 3px 10px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.hbl-mban::before{content:'';position:absolute;left:calc(var(--pw)*-0.055);top:50%;transform:translateY(-50%);width:calc(var(--pw)*0.20);height:calc(var(--pw)*0.20);border-radius:50%;background:repeating-radial-gradient(circle at 62% 50%,rgba(141,198,63,.85) 0,rgba(141,198,63,.85) calc(var(--pw)*0.004),rgba(141,198,63,0) calc(var(--pw)*0.005),rgba(141,198,63,0) calc(var(--pw)*0.017));filter:drop-shadow(0 0 6px rgba(141,198,63,.55))}
.hbl-mban::after{content:'';position:absolute;left:calc(var(--pw)*0.01);top:50%;transform:translateY(-50%);width:calc(var(--pw)*0.14);height:calc(var(--pw)*0.14);border-radius:50%;background:radial-gradient(circle,rgba(141,198,63,.28),rgba(141,198,63,0) 62%)}
.hbl-mban .hbl-adimg{position:relative;height:calc(var(--pw)*0.075);width:auto;filter:drop-shadow(0 0 10px rgba(0,0,0,.45))}
/* When the right meta has a floated banner, keep the body text in the left
   column rather than wrapping underneath it. */
.hbl-meta-ban .hbl-mbody{max-width:50%;float:left;clear:left;margin-right:4%}
.hbl-mlogo{text-align:center;font-weight:800;line-height:1.04;letter-spacing:.06em;text-transform:uppercase;margin:calc(var(--pw)*0.008) 0 calc(var(--pw)*0.02)}
.hbl-mlimg{display:block;margin:0 auto;width:48%;max-width:460px;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}
.hbl-mlone{display:block;font-size:calc(var(--pw)*0.040);color:transparent;-webkit-text-stroke:calc(var(--pw)*0.0018) var(--bink);opacity:.8}
/* two-tone wordmark as our own type: green word + grey numerals */
.hbl-ml360{display:flex;align-items:baseline;justify-content:center;gap:calc(var(--pw)*0.012);letter-spacing:.01em}
.hbl-ml360x{font-weight:800;font-size:calc(var(--pw)*0.052);color:#92C83D;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.hbl-ml360n{font-weight:600;font-size:calc(var(--pw)*0.052);color:#B9BEB6;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.hbl-mhead{font-weight:400;font-size:calc(var(--pw)*0.033);margin-bottom:calc(var(--pw)*0.012)}
.hbl-mbody{font-weight:400;font-size:calc(var(--pw)*0.034);line-height:1.24;max-width:30ch;white-space:pre-line}
.hbl-tray2{position:absolute;left:8.5%;right:6%;top:73%;height:calc(var(--pw)*0.054);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.25));border:2px solid rgba(40,25,0,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);display:flex;align-items:center;gap:calc(var(--pw)*0.014);padding:0 calc(var(--pw)*0.006);font-weight:400;font-size:calc(var(--pw)*0.029);cursor:pointer;box-sizing:border-box}
.hbl-tray2 .hbl-ic{width:calc(var(--pw)*0.038);height:calc(var(--pw)*0.038);border-radius:50%;background:rgba(255,255,255,.5);border:1.5px solid rgba(40,25,0,.35);align-items:center;justify-content:center;padding:calc(var(--pw)*0.007)}
.hbl-leg{position:absolute;left:1.6%;right:1.6%;top:82%;bottom:1.4%;border-radius:calc(var(--pw)*0.01);background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.hbl-lbn{position:absolute;width:calc(var(--pw)*0.028);height:calc(var(--pw)*0.028);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:calc(var(--pw)*0.015);text-shadow:0 1px 1px rgba(0,0,0,.4);box-shadow:inset 0 2px 3px rgba(255,255,255,.4),inset 0 -3px 5px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.35);cursor:pointer;border:0;padding:0}
.hbl-ly{left:4.8%;top:9%;background:radial-gradient(circle at 35% 30%,#F2DC6A,#D7B31A 70%,#A98B0E)}
.hbl-lx{left:4.8%;bottom:10%;background:radial-gradient(circle at 35% 30%,#7FA8E8,#2A6FD6 70%,#1C4E9E)}
.hbl-lb{right:4.8%;top:9%;background:radial-gradient(circle at 35% 30%,#F09A8A,#C62F1C 70%,#9C2413)}
.hbl-la{right:4.8%;bottom:10%;background:radial-gradient(circle at 35% 30%,#B9E070,#61A416 70%,#4C8410)}
.hbl-lsel{position:absolute;right:10.2%;bottom:15%;font-size:calc(var(--pw)*0.019);font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* controller/player indicator, bottom-left of the legend (our own SVG) */
.hbl-pad{position:absolute;left:2.6%;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:calc(var(--pw)*0.006)}
.hbl-pad svg{width:calc(var(--pw)*0.040);height:calc(var(--pw)*0.040);fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hbl-pad b{font-weight:700;font-size:calc(var(--pw)*0.017);color:rgba(255,255,255,.9);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hbl-mute{position:absolute;left:50%;transform:translateX(-50%);bottom:18%;pointer-events:auto;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.4);color:#fff;width:calc(var(--pw)*0.022);height:calc(var(--pw)*0.022);border-radius:0;font-size:calc(var(--pw)*0.013);cursor:pointer;line-height:1;padding:0}
.hbl-mute.off{opacity:.45;text-decoration:line-through}
/* entry: the 27-frame blade open */
#start.hub-th-blades.hbl-enter #hbl-gpanel{transform-box:fill-box;transform-origin:left center;animation:hblOpen .45s cubic-bezier(.33,0,.2,1)}
#start.hub-th-blades.hbl-enter #hbl-content{transform-origin:left center;animation:hblOpen .45s cubic-bezier(.33,0,.2,1)}
#start.hub-th-blades.hbl-enter #hbl-svg .hbl-slv,#start.hub-th-blades.hbl-enter .hbl-hit{animation:hblSlv .45s ease}
@keyframes hblOpen{from{transform:scaleX(.05);opacity:.55}to{transform:scaleX(1);opacity:1}}
@keyframes hblSlv{from{opacity:0}60%{opacity:0}to{opacity:1}}
/* narrow: _hblLayout adds .hbl-narrow — panel-only, no sheets */
#hub-bl-chrome.hbl-narrow .hbl-slv,#hub-bl-chrome.hbl-narrow .hbl-hit{display:none}
@media (prefers-reduced-motion:reduce){
#hbl-svg path,#hbl-svg rect,#hbl-content,.hbl-hit,.hbl-pc{transition:none;animation:none}
#start.hub-th-blades.hbl-enter #hbl-gpanel,#start.hub-th-blades.hbl-enter #hbl-content,#start.hub-th-blades.hbl-enter #hbl-svg .hbl-slv,#start.hub-th-blades.hbl-enter .hbl-hit{animation:none}
}
/* Noir — OLED pure black, hairline-bordered tiles, big thin white numerals. */
#start.hub-th-noir{--hub-page-bg:#000}
#start.hub-th-noir .hub-gt{color:var(--t-p87);font-weight:100}
#start.hub-th-noir .hub-inner{box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
#start.hub-th-noir .hub-inner{filter:saturate(.55) brightness(.82)}
/* Synthwave — neon vapor over deep violet, glowing greeting. */
#start.hub-th-synthwave{--hub-page-bg:linear-gradient(180deg,#1b0b34 0%,#360a4d 46%,#10061f 100%)}
#start.hub-th-synthwave .hub-gt{color:#ff74d0;text-shadow:0 0 22px rgba(255,64,180,.55)}
#start.hub-th-synthwave .hub-inner{box-shadow:0 0 0 1px rgba(255,110,199,.18),0 6px 26px -10px rgba(180,38,255,.5)}
/* Aurora — cool animated gradient behind deep navy. */
#start.hub-th-aurora{--hub-page-bg:linear-gradient(125deg,#04101f 0%,#062033 25%,#0a2f3a 50%,#0a1b3a 75%,#04101f 100%);background-size:200% 200%}
#start.hub-th-aurora::before{background-size:220% 220%;animation:hubAurora 22s ease infinite}
#start.hub-th-aurora .hub-gt{color:#e4f7ff}
#start.hub-th-aurora .hub-inner{box-shadow:inset 0 0 0 1px rgba(120,220,255,.12)}
@keyframes hubAurora{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
/* Nebula — cosmic depth, jewel tones, gradient greeting. */
#start.hub-th-nebula{--hub-page-bg:radial-gradient(90% 70% at 28% 12%,#33205e 0%,#160a34 40%,#070316 78%,#030109 100%)}
#start.hub-th-nebula .hub-gt{background:linear-gradient(90deg,#b98bff,#63c6ff 55%,#ff7ac0);-webkit-background-clip:text;background-clip:text;color:transparent}
#start.hub-th-nebula .hub-inner{box-shadow:0 0 0 1px rgba(157,78,221,.2),0 8px 30px -12px rgba(123,92,255,.5)}
/* Theme picker drawer */
.hub-th-ov{position:fixed;inset:0;background:rgba(5,6,7,.9);backdrop-filter:blur(10px);z-index:100062;display:flex;align-items:stretch;justify-content:center}
.hub-th-panel{width:min(880px,96vw);margin:4vh auto;display:flex;flex-direction:column;max-height:92vh}
.hub-th-head{display:flex;align-items:baseline;justify-content:space-between;padding:6px 4px 12px}
.hub-th-head b{font-family:'Segoe UI Light','Segoe UI',Inter,sans-serif;font-weight:200;font-size:34px;color:#fff}
.hub-th-head .hub-th-bal{font-size:13px;color:var(--g-t5)}
.hub-th-head button{background:none;border:1px solid #444;color:var(--t-mid);width:34px;height:34px;font-size:15px;cursor:pointer}
.hub-th-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;overflow-y:auto;padding:4px}
.hub-th-card{border:1px solid #26272b;background:var(--s-a9);overflow:hidden;display:flex;flex-direction:column}
.hub-th-card.on{border-color:#9cf048}
.hub-th-prev{aspect-ratio:16/9;max-width:100%;position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:4px;padding:12px;box-sizing:border-box}
/* A theme with a real screenshot shows that instead of its swatches: the
   full 16:9 frame, scaled to the box, never cropped. */
.hub-th-prev.shot{display:block;padding:0}
.hub-th-shot{display:block;width:100%;height:100%;object-fit:contain}
.hub-th-prev i{display:block;border-radius:0}
.hub-th-meta{padding:10px 12px;display:flex;align-items:center;gap:8px}
.hub-th-meta b{font-size:14px;color:var(--t-p2);flex:1}
.hub-th-price{font-size:12px;color:var(--g-t5);white-space:nowrap}
.hub-th-btn{background:transparent;border:1px solid #2f6b2f;color:var(--g-t5);padding:5px 12px;font-size:12px;cursor:pointer}
.hub-th-btn:hover{background:#107c10;border-color:#107c10;color:#fff}
.hub-th-btn[disabled]{opacity:.45;cursor:default}
.hub-th-btn.owned{border-color:#3a3a3a;color:var(--t-m5)}
/* ---- responsive ---- */
@media (max-width:768px){
#start{padding:2px 2px 40px;min-height:70vh}
.hub-hero{margin:6px 2px 14px}
.hub-hero-right{align-items:flex-start}
.hub-date{display:none}
.hub-gal{margin:2vh auto}
.hub-gal-head b{font-size:26px}
}
/* ---- reduced motion ---- */
@media (prefers-reduced-motion:reduce){
.hub-flip{transition:none}
.hub-grid.editing .hub-tile{animation:none}
.hub-grid.entering .hub-tile{animation:none}
.hub-tile{transition:none}
}
