/* Generated by scripts/build-styles.mjs — edit the source stylesheets, not this file. */

/* collector-design.css */
/* HoloTap collector experience: real application surfaces, September 2026.
   Keep navigation and data contracts; replace the hierarchy, scale and composition. */
:root{--bg:#06080D;--bg-2:#04070C;--surface:#0E1218;--raised:#161C25;--raised-2:#1E2630;--line:#222B36;--line-2:#2E3947;--text:#F5F7FB;--muted:#AEB8C6;--dim:#8A96A6;--accent:#7CF2D4;--accent-ink:#06080D;--violet:#C6B6FF;--display:var(--font);--header:80px;--shadow-1:none;--r:12px;--r-lg:16px}
html,body{background:var(--bg)!important;color:var(--text)}
body{background-image:none!important}
h1,h2,h3{font-family:var(--font);font-weight:600;text-wrap:balance}
button,a,input,select{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.btn{min-height:44px;padding:11px 18px;border-radius:9px;box-shadow:none;font-size:14px;font-weight:550;line-height:1.4;white-space:normal;gap:9px;transition:transform .18s var(--ease),background .18s,border-color .18s}
.btn.primary{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;box-shadow:none}
.btn.primary:hover{background:#b4eadf;box-shadow:0 5px 20px #72bda416}
.btn:active{transform:scale(.975)}.btn.ghost{background:transparent;border-color:transparent}
.btn.lg{min-height:50px;font-size:15px;padding:13px 22px}
.btn.pill{border-radius:999px}.btn.pill.on{background:#e1e4de;color:#1b2420;border-color:transparent}
.header{height:var(--header);padding:0 clamp(20px,3vw,48px);gap:30px;background:#131518ee;backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.header .brand{font-size:24px;letter-spacing:-1px;gap:9px;white-space:nowrap}.header .brand span{background:none;color:var(--text);display:inline}
.brand img{filter:none;width:31px;height:35px;object-fit:contain}
.nav{gap:4px}.nav a{font-size:14px;padding:0 13px;border-radius:0;height:var(--header);position:relative;font-weight:500}
.nav a[aria-current=page]{background:none}.nav a[aria-current=page]:after{content:'';position:absolute;bottom:0;height:2px;left:13px;right:13px;background:var(--accent)}
.header-actions{gap:12px;flex:initial}.desktop-membership{font-size:13px;color:var(--muted)}
.header .search-btn{min-width:44px;width:44px;max-width:44px;padding:0;justify-content:center;border:0;background:transparent}.header .search-btn span,.header .search-btn kbd{display:none}
.header .icon-btn{border:0;background:transparent;width:44px;height:44px}.header .sell-cta{white-space:nowrap}
.main{max-width:1440px;padding:34px clamp(20px,3vw,48px) 72px}
.label{font-size:11px;letter-spacing:.13em;font-weight:600;line-height:1.6;color:var(--muted)}
.section-head{gap:20px;align-items:end;margin-bottom:24px}.section-head h2{font-size:32px;line-height:1.16;letter-spacing:-1px;margin-top:8px}.section-head a{flex-shrink:0}
.collector-landing{gap:64px}.collector-stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:30px;min-height:560px;align-items:center;margin-bottom:0}
.stage-story{padding:28px 0 36px;min-width:0;position:relative;z-index:1}.stage-story h1{font-size:clamp(48px,5.4vw,78px);line-height:1.02;letter-spacing:-.055em;margin:22px 0 24px;font-weight:550}
.stage-story h1 em{font-style:normal;color:#a9c8c3}.stage-story>p{color:var(--muted);font-size:16px;line-height:1.7;max-width:39ch}
.stage-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.stage-note{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.8;color:var(--muted);margin-top:26px}.stage-note a{color:var(--text);text-decoration:underline;text-underline-offset:4px}.connection-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;flex:none}
.stage-display{position:relative;align-self:stretch;min-height:560px;background:radial-gradient(ellipse at 48% 45%,#3e4c5066 0%,#26262f55 46%,transparent 72%);border-radius:28px;isolation:isolate}
.stage-display:before{content:'';position:absolute;inset:10% 7% 17%;border:1px solid #9cafaa21;border-radius:50%;transform:rotate(-18deg);pointer-events:none;z-index:-1}.stage-edition{position:absolute;top:18px;left:20px;color:#a8b6b3;letter-spacing:.18em;font-size:10px;z-index:2}
.stage-display .holo-product-experience{margin:0;border:0;padding:30px 12px 70px;background:none;display:block;min-height:540px}.stage-display .holo-product-object{position:relative}.stage-display .holo-product-canvas{height:440px;min-height:0;background:transparent}.stage-display .editorial-object-caption{padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.09em}.stage-display .editorial-object-caption small{display:block;letter-spacing:0;font-size:11px;color:var(--muted);margin-top:3px}.stage-display .holo-product-actions{display:flex;position:static;gap:8px;margin:0}.stage-display .holo-product-actions button{min-width:44px;min-height:44px;border:1px solid var(--line);background:#24282b;border-radius:50%;padding:12px}.stage-display .holo-product-actions svg{width:18px;height:18px}
.stage-studio{position:absolute;bottom:12px;left:30px;right:30px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;color:var(--muted);border-top:1px solid var(--line);font-size:13px}
.collector-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:0;margin-top:4px}
.collector-tools>a{display:flex;align-items:center;gap:16px;color:var(--text);min-height:110px;padding:22px;transition:background .2s}.collector-tools>a:hover{background:#ffffff05}.collector-tools>a+a{border-left:1px solid var(--line)}.collector-tools>a>span:nth-child(2){flex:1;min-width:0}.collector-tools b{font-size:16px;font-weight:550;display:block}.collector-tools small{font-size:12px;color:var(--muted);line-height:1.6;display:block;margin-top:6px}.tool-symbol{width:48px;height:48px;flex:none;border-radius:13px;display:grid;place-items:center;background:#a9c8c30d;color:var(--accent);overflow:hidden}.tool-symbol img{width:100%;height:100%;object-fit:cover}
.collector-membership{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;background:#22272a;border:1px solid #d0dfd51c;border-radius:18px;padding:30px 36px;margin-top:40px}.membership-number{font-size:100px;line-height:1;letter-spacing:-8px;font-weight:450;color:var(--accent);white-space:nowrap}.membership-number>span{font-size:44px;letter-spacing:-3px}.collector-membership h2{font-size:26px;letter-spacing:-.8px;line-height:1.2;margin:7px 0 10px}.collector-membership p{font-size:14px;line-height:1.7;color:#c2c7ca;max-width:67ch}.collector-membership small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:8px}.collector-membership>.btn{white-space:nowrap}
.market-invitation{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:12px 0}.market-invitation h2{font-size:clamp(32px,3.8vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:16px 0}.market-invitation p{color:var(--muted);font-size:16px;line-height:1.8;max-width:43ch;margin:0 0 24px}.invitation-steps>a{display:grid;grid-template-columns:30px 1fr 24px;gap:7px 14px;color:var(--text);border-bottom:1px solid var(--line);padding:25px 0;align-items:center}.invitation-steps>a>span{grid-row:1/3;font-size:12px;color:var(--accent)}.invitation-steps b{font-weight:550;font-size:18px}.invitation-steps small{grid-column:2;font-size:13px;color:var(--muted);line-height:1.6}.invitation-steps svg{grid-column:3;grid-row:1/3}
.hardware-objects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.hardware-object{display:block;color:var(--text);min-width:0}.hardware-object>div{position:relative;aspect-ratio:1.1;overflow:hidden;background:var(--surface);border-radius:12px}.hardware-object img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.hardware-object:hover img{transform:scale(1.035)}.hardware-object>div>span{position:absolute;right:16px;bottom:16px;background:#15191acc;border:1px solid var(--line);padding:12px;border-radius:50%}.hardware-object h3{font-size:20px;margin:18px 0 7px}.hardware-object p{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:12px}.hardware-object>b{font-size:14px;font-weight:550;color:var(--accent)}.hardware-dispatch{font-size:12px;color:var(--muted);margin-top:22px;line-height:1.7}
.community-invitation{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:35px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:46px 0}.community-invitation>img{width:85px;max-height:110px;object-fit:contain}.community-invitation h2{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:10px 0}.community-invitation p{font-size:15px;line-height:1.8;max-width:60ch;color:var(--muted)}
/* Signed-in Home: the collection leads; real posts, stories and people follow. */
.collector-home>.collector-tools{margin-bottom:56px}.community-heading{align-items:end;margin-bottom:28px;gap:20px}.community-heading h2{font-size:34px;letter-spacing:-1px;line-height:1.15;margin-top:9px}.feed-layout{grid-template-columns:minmax(0,1.6fr) minmax(280px,.85fr);gap:44px}.stream{min-width:0}.stories{padding-bottom:24px;gap:20px}.story{width:70px;flex:none}.story small{white-space:normal;overflow-wrap:anywhere;line-height:1.4;min-height:32px;font-size:12px}.person{gap:12px;align-items:start;padding:15px 0}.person-link{min-width:0;align-items:center}.person .who b{white-space:normal;overflow:visible;line-height:1.4;font-size:14px}.person .who small{white-space:normal;line-height:1.6}.person .btn{flex:none;padding:9px 12px}.feed-aside{gap:28px}.feed-aside .card{border-radius:0;background:none;border:0;border-top:1px solid var(--line);padding:24px 0}.feed-aside h3{font-size:18px;font-weight:550}.post{border-radius:14px;border:1px solid var(--line);box-shadow:none;background:#1a1d21;margin-bottom:24px}.post-head{padding:20px;gap:12px}.post-head .who b,.post-head .who small{white-space:normal;line-height:1.5;overflow-wrap:anywhere}.post-body{padding:22px}.post-body>p{font-size:16px;line-height:1.75}.post-media{background:radial-gradient(ellipse at 50% 48%,#44534d55,#1b2025 73%)}.post-media img{max-height:480px;object-fit:contain;padding:24px}.post-actions{flex-wrap:wrap;gap:10px}.composer{border-radius:12px;padding:17px;gap:12px;min-height:64px;margin-bottom:24px}
/* Market: a single destination selector, single toolbar, single result set. */
.collector-market{display:block}.market-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:12px 0 34px}.market-heading h1{font-size:clamp(42px,5vw,66px);letter-spacing:-.045em;line-height:1.05;margin:13px 0 15px}.market-heading p{font-size:15px;color:var(--muted);line-height:1.7}.market-heading-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:end;flex:none}
.market-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);gap:12px}.market-destination{display:flex;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);border-radius:12px;padding:18px;min-height:94px;background:#1a1d21;min-width:0;transition:background .2s,border-color .2s}.market-destination>span:first-child{color:var(--muted);flex:none}.market-destination>span:nth-child(2){flex:1;min-width:0}.market-destination b,.market-hardware b{display:block;font-size:15px;font-weight:550;line-height:1.5}.market-destination small,.market-hardware small{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.5}.market-destination i{font-style:normal;font-size:12px;color:var(--muted)}.market-destination.on{border-color:#92c1b8;background:#25302f}.market-destination.on>span:first-child,.market-destination.on i{color:var(--accent)}.market-hardware{color:var(--text);display:flex;align-items:center;gap:13px;padding:12px;border-radius:12px;background:#25242b;border:1px solid #bbb0db26;min-width:0}.market-hardware img{width:58px;height:66px;object-fit:cover;border-radius:6px}.market-hardware>span{flex:1;min-width:0}.market-hardware svg{flex:none}
.market-rule{font-size:12px;line-height:1.8;color:var(--muted);margin:16px 0 29px}.market-rule b{font-weight:500;color:#c7cfce}.market-rule a{margin-left:8px;display:inline-block}
.market-controls{display:grid;grid-template-columns:minmax(200px,1fr) 185px 185px auto;gap:12px;border-top:1px solid var(--line);padding-top:26px}.market-controls .input-wrap{height:50px;background:#1b1f23;border:1px solid var(--line);border-radius:9px}.market-controls .input-wrap input{font-size:15px;min-width:0}.market-controls .input{min-height:50px;background:#1b1f23;font-size:13px}.market-controls>.btn{min-height:50px;white-space:nowrap}
.market-refine{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;padding:25px;background:#1c2024;border:1px solid var(--line);border-radius:12px;margin-top:16px}.market-refine[hidden]{display:none}.market-refine fieldset{border:0;min-width:0}.market-refine legend{font-size:14px;font-weight:550;margin-bottom:18px}.condition-options{display:flex;flex-wrap:wrap;gap:10px}.condition-options label{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px}.market-refine input[type=checkbox]{appearance:auto;accent-color:var(--accent);width:18px;height:18px;flex:none}.market-refine .price-range{display:grid;grid-template-columns:1fr 1fr;gap:14px}.price-range label>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.market-refine .input{width:100%;min-width:0}.nfc-only{display:flex;gap:10px;align-items:center;font-size:13px;min-height:44px;margin-top:12px}
.market-results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:22px 0 26px}.market-results-heading>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.market-results-heading>span{font-size:12px;color:var(--muted);flex:none}.collector-market .market-main{gap:20px}.collector-market .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.tile{border:0;border-radius:12px;background:transparent;box-shadow:none;animation:none}.tile:hover{box-shadow:none;transform:translateY(-3px)}.tile .art{aspect-ratio:.88;padding:25px 24px 48px;background:radial-gradient(ellipse at 50% 30%,#36433e70,#21272d 70%);border:1px solid #ffffff10;border-radius:12px}.tile .art img{height:100%;width:100%;object-fit:contain;box-shadow:none;filter:drop-shadow(0 15px 15px #0007);transition:transform .4s var(--ease)}.tile:hover .art img{transform:translateY(-4px) rotate(-2deg)}.tile .art .tags{top:auto;bottom:12px;left:12px;right:12px;gap:6px}.tile .art .tags .chip{font-size:10px;max-width:100%;line-height:1.5;background:#171e22e8}.tile .art .heart{width:44px;height:44px;border-radius:50%;right:10px;top:10px}.tile .body{padding:16px 1px 18px;gap:7px}.tile .name{font-size:16px;line-height:1.45;white-space:normal;overflow:visible;font-weight:550;letter-spacing:-.3px}.tile .meta{font-size:12px;line-height:1.65;white-space:normal;overflow:visible;color:var(--muted)}.tile .price b{font-size:24px;font-weight:550;line-height:1.2}.tile .price-row{margin-top:9px;gap:10px}.tile .foot{font-size:12px;line-height:1.5;gap:12px;margin-top:10px;padding-top:12px}.tile .foot>span{min-width:0;overflow-wrap:anywhere}.tile .foot>span:last-child{flex-shrink:0}.tile .price-row>.chip{font-size:10px;padding:5px 7px}.tile .price .label{font-size:10px}.market-main>.grid>.skel.tile{min-height:350px;background:linear-gradient(100deg,#20252a,#272e34,#20252a)}
.market-entry{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:30px 44px;background:#1b1f23}.entry-case img{width:230px;border-radius:10px}.market-entry h2{font-size:34px;line-height:1.15;letter-spacing:-1px;margin:14px 0}.market-entry p{font-size:15px;line-height:1.8;color:var(--muted);max-width:52ch;margin-bottom:24px}
/* Shared sheets and text retain their functions with less cramped geometry. */
.sheet-body{padding:28px}.sheet-body h2{line-height:1.2}.input{font-size:16px;min-height:46px}.field{gap:8px}.detail .info{gap:24px}.detail h2{line-height:1.2;overflow-wrap:anywhere}.detail .kv{gap:16px}.detail .kv>div{line-height:1.6;gap:8px}.empty{border-style:solid;padding:40px 25px}.empty p{line-height:1.8;margin:12px 0 22px}.notice{line-height:1.7}.landing .foot{gap:24px;border-top:1px solid var(--line);padding-top:32px}.foot nav{gap:20px;flex-wrap:wrap;line-height:2}
@media(max-width:1200px){.header{gap:20px}.header .desktop-membership{display:none}.nav a{padding:0 9px}.header .desktop-shop{display:none}.stage-story h1{font-size:60px}.market-destinations{grid-template-columns:repeat(3,minmax(0,1fr))}.market-hardware{grid-column:1/-1;min-height:68px;padding:8px 18px}.market-hardware img{width:46px;height:48px}.market-hardware small{display:inline;margin-left:10px}.market-hardware b{display:inline}.collector-membership{gap:22px;padding:28px}.membership-number{font-size:85px}}
@media(max-width:900px){.main{padding:24px 24px 100px}.header{--header:68px;padding:0 24px}.header .nav{display:none}.collector-stage{gap:10px;min-height:0;grid-template-columns:1fr 1fr}.stage-story h1{font-size:44px}.stage-story>p{font-size:15px}.stage-display{min-height:490px}.stage-display .holo-product-experience{min-height:490px;padding:35px 0 60px}.stage-display .holo-product-canvas{height:350px}.stage-display .editorial-object-caption{padding:0 8px;letter-spacing:0}.stage-actions{gap:8px}.stage-actions .btn{font-size:13px;padding:12px 15px}.stage-note a{flex-basis:100%;margin-left:16px}.collector-tools>a{padding:18px 12px;gap:10px}.collector-tools small{font-size:11px}.collector-tools b{font-size:14px}.collector-tools>a>svg{display:none}.tool-symbol{width:38px;height:42px}.collector-membership{grid-template-columns:100px minmax(0,1fr)}.collector-membership>.btn{grid-column:2;justify-self:start}.market-invitation{gap:35px}.market-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.market-search{grid-column:1/-1}.market-heading{align-items:start}.market-heading-actions{max-width:170px}.market-heading-actions .btn{width:100%}.collector-market .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.market-entry{grid-template-columns:170px 1fr;padding:28px;gap:25px}.market-entry h2{font-size:30px}.feed-layout{grid-template-columns:minmax(0,1fr)}.feed-aside{display:grid;grid-template-columns:1fr 1fr;gap:26px}.community-invitation{grid-template-columns:70px minmax(0,1fr);gap:25px}.community-invitation>.btn{grid-column:2;justify-self:start}.hardware-objects{gap:18px}.hardware-object h3{font-size:16px}.hardware-object p{font-size:12px}}
@media(max-width:600px){.header{padding:0 18px;gap:12px;--header:64px}.header .brand{font-size:22px}.header .brand span{display:inline}.header .header-actions{gap:7px}.header .sell-cta{display:none}.header.public-header .btn{font-size:12px;padding:10px 12px}.main{padding:18px 18px 100px}.collector-landing{gap:42px}.collector-stage{grid-template-columns:1fr;gap:0}.stage-story{padding:20px 0 8px}.stage-story h1{font-size:52px;line-height:1.02;margin:18px 0}.stage-story>p{font-size:15px;line-height:1.75;max-width:36ch}.stage-actions{margin-top:23px}.stage-actions .btn{font-size:14px;min-height:48px}.stage-note{margin-top:20px;font-size:11px}.stage-note a{flex-basis:auto;margin-left:0}.stage-display{min-height:420px;margin-top:18px}.stage-display .holo-product-experience{min-height:400px;padding:24px 0 60px}.stage-display .holo-product-canvas{height:295px}.stage-display .editorial-object-caption{padding:0 22px;font-size:10px}.stage-display .editorial-object-caption small{font-size:10px}.stage-edition{font-size:10px;top:8px;left:22px}.stage-studio{bottom:5px;left:22px;right:22px;font-size:12px}.collector-tools{grid-template-columns:1fr}.collector-tools>a{min-height:86px;padding:16px 4px;gap:16px}.collector-tools>a+a{border-left:0;border-top:1px solid var(--line)}.collector-tools b{font-size:16px}.collector-tools small{font-size:12px}.collector-tools>a>svg{display:block}.tool-symbol{width:48px;height:48px}.market-invitation{grid-template-columns:1fr;gap:15px}.market-invitation h2{font-size:34px;letter-spacing:-1.3px}.market-invitation p{font-size:15px}.invitation-steps>a{padding:20px 0}.invitation-steps b{font-size:16px}.collector-membership{grid-template-columns:70px minmax(0,1fr);gap:18px;padding:24px 20px;margin-top:30px;align-items:start}.membership-number{font-size:68px;letter-spacing:-5px}.membership-number>span{font-size:28px;letter-spacing:-1px}.collector-membership h2{font-size:24px}.collector-membership p{font-size:13px}.collector-membership .label{font-size:10px}.collector-membership>.btn{grid-column:1/-1;width:100%;justify-self:stretch}.collector-membership small{font-size:11px;line-height:1.7}.hardware-objects{grid-template-columns:1fr;gap:28px}.hardware-object>div{aspect-ratio:1.4}.hardware-object h3{font-size:22px}.hardware-object p{font-size:14px}.section-head h2{font-size:30px}.section-head>.btn{font-size:12px;padding:10px}.hardware-collection .section-head{align-items:center}.community-invitation{grid-template-columns:44px minmax(0,1fr);gap:18px;padding:30px 0}.community-invitation>img{width:44px}.community-invitation h2{font-size:26px}.community-invitation p{font-size:14px}.community-heading{flex-direction:column;align-items:start;gap:18px}.community-heading h2{font-size:28px}.collector-home>.collector-tools{margin-bottom:36px}.feed-aside{grid-template-columns:1fr}.post-head,.post-body{padding:17px}.post-media img{padding:18px;max-height:390px}.market-heading{flex-direction:column;gap:23px;margin:15px 0 24px}.market-heading h1{font-size:48px;margin:12px 0}.market-heading p{font-size:14px}.market-heading-actions{max-width:none;justify-content:start;flex-wrap:nowrap;width:100%}.market-heading-actions .btn{width:auto;flex:1;font-size:13px;padding:11px 12px}.market-destinations{gap:8px}.market-destination{padding:12px 7px;min-height:80px;display:block;text-align:center}.market-destination>span:first-child,.market-destination i{display:none}.market-destination b{font-size:12px}.market-destination small{font-size:10px;line-height:1.5;margin-top:5px}.market-hardware{padding:10px 12px;gap:12px;min-height:70px}.market-hardware b{display:block;font-size:14px}.market-hardware small{display:block;font-size:11px;margin:4px 0 0}.market-rule{font-size:11px;line-height:1.85;margin:15px 0 23px}.market-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding-top:22px}.market-search{grid-column:1/-1}.market-controls>.btn{grid-column:1/-1;min-height:44px;justify-self:start}.market-controls .input{font-size:12px;padding:10px;min-width:0}.market-controls .input-wrap input{font-size:16px}.market-results-heading{margin:20px 0;align-items:start;flex-direction:column;gap:12px}.market-results-heading .btn{font-size:12px;min-height:44px;padding:10px 14px}.market-refine{grid-template-columns:1fr;padding:18px;gap:24px}.condition-options{gap:8px}.condition-options label{font-size:12px;padding:10px}.collector-market .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.tile .art{padding:28px 12px 42px;aspect-ratio:.72}.tile .name{font-size:15px;line-height:1.45;letter-spacing:-.2px}.tile .meta{font-size:11px;line-height:1.6}.tile .body{padding-top:14px}.tile .art .tags{left:8px;right:6px;bottom:8px}.tile .art .tags .chip{font-size:10px;padding:4px 6px}.tile .art .heart{width:44px;height:44px;right:5px;top:5px}.tile .price b{font-size:22px}.tile .foot{font-size:11px;flex-wrap:wrap;gap:6px}.tile .price-row>.chip{font-size:10px}.market-entry{grid-template-columns:1fr;padding:24px;gap:22px}.entry-case{display:flex;justify-content:center}.entry-case img{width:180px}.market-entry h2{font-size:30px}.market-entry p{font-size:14px}.market-entry .row{gap:10px}.market-entry .btn{flex:1;font-size:13px}.market-entry .label{font-size:10px}.tabs{background:#171b1ef5;border-color:var(--line)}.tabs a.lens i{background:var(--accent);box-shadow:none}.tabs a.lens{color:var(--accent)}.sheet-body{padding:24px 18px}.sheet-body h2{font-size:24px}.landing .foot nav{gap:16px}.foot{font-size:12px}}
@media(max-width:350px){.header{padding:0 14px}.header .brand{font-size:20px;gap:6px}.header .brand img{width:25px;height:29px}.header.public-header .btn{font-size:11px;padding:9px}.main{padding-left:15px;padding-right:15px}.stage-story h1{font-size:44px}.stage-actions .btn{font-size:12px;padding:12px 15px}.market-heading h1{font-size:44px}.market-heading-actions .btn{font-size:12px}.market-destination b{font-size:11px}.market-destination small{font-size:10px}.market-destinations{gap:6px}.collector-membership{padding:20px 16px;grid-template-columns:62px minmax(0,1fr);gap:14px}.membership-number{font-size:60px}.collector-membership h2{font-size:22px}.collector-market .grid{gap:18px 12px}.tile .price-row{display:block}.tile .price-row>.chip{margin-top:8px;display:inline-flex}.tile .name{font-size:14px}.hardware-collection .section-head{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tile:hover,.tile:hover .art img,.hardware-object:hover img{transform:none}.btn:active{transform:none}}

/* Keep the object and both first actions within a useful mobile opening. */
@media(max-width:600px){.stage-story h1{font-size:clamp(36px,11vw,43px)}.stage-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stage-actions .btn{padding:12px 10px;font-size:13px;min-width:0}.stage-note{margin-top:16px}.stage-story>p{font-size:14px}}
/* Account access belongs to the product, with the form first on small screens. */
.auth-page{padding-top:34px}.collector-auth{max-width:1160px;min-height:640px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.auth-world{position:relative;overflow:hidden;border-radius:24px;background:#1b2024;min-height:610px;display:flex;flex-direction:column;justify-content:space-between;padding:38px}.auth-world-copy{z-index:1}.auth-world h2{font-family:var(--font);font-size:clamp(28px,3.2vw,44px);line-height:1.12;letter-spacing:-1.8px;margin:20px 0 16px}.auth-world p{font-size:14px;line-height:1.7;color:var(--muted)}.auth-case{margin:-28px -38px -24px;flex:1;min-height:280px;display:grid;place-items:center;overflow:hidden}.auth-case img{width:100%;max-width:430px;aspect-ratio:1;object-fit:cover;mix-blend-mode:lighten}.auth-world-note{position:relative;font-size:10px;letter-spacing:2px;color:#b0b8bf}.auth-form-wrap{width:100%;max-width:400px;margin:0 auto;display:flex;flex-direction:column;gap:30px}.auth-form-wrap .brand{font-size:22px}.collector-auth .auth-card{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;gap:20px}.collector-auth .auth-card h1{font-size:34px;letter-spacing:-1.3px;line-height:1.15;font-weight:600;margin:0}.collector-auth .auth-card>p{line-height:1.65;margin:0}.auth-input-wrap{position:relative;display:block}.auth-input-wrap input{width:100%;min-height:54px;font-size:16px;background:#1b1e22;border:1px solid #3b4147;border-radius:10px}.auth-input-wrap:has(.password-toggle) input{padding-right:68px}.password-toggle{position:absolute;right:6px;top:5px;min-width:52px;min-height:44px;font-size:12px;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--text)}.auth-browse{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);min-height:44px;align-self:flex-start}.auth-feedback{padding:12px 14px;border-left:2px solid var(--red);background:#ef8b8b09;color:var(--text)!important}.auth-feedback[hidden]{display:none}
@media(max-width:760px){.auth-page{padding-top:26px}.collector-auth{display:flex;min-height:0}.auth-world{display:none}.auth-form-wrap{max-width:430px;gap:26px}.collector-auth .auth-card h1{font-size:32px}.auth-form-wrap .brand.big img{width:32px;height:32px}}
.tile{position:relative}.tile>.tile-link{display:flex;flex-direction:column;height:100%;min-width:0;border-radius:inherit}.tile>.heart{position:absolute;right:10px;top:10px;z-index:2;min-height:44px;min-width:44px}.tile>.tile-link:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
/* Signed-in Home is a collector feed, not a landing page. */
.collector-home .home-command{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:24px}.home-command h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:0 0 5px}.home-command>div>span{font-size:13px;color:var(--muted)}.home-command nav{display:flex;align-items:center;gap:10px}.home-command-link{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 13px;font-size:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.membership-command{color:var(--violet);border-color:#bdb2e738}.home-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.home-quick-actions>a{display:flex;align-items:center;gap:12px;min-height:82px;padding:15px 18px;background:linear-gradient(110deg,#24292d,#1c2025);border:1px solid #505a622e;border-radius:14px;transition:transform .18s,border-color .18s}.home-quick-actions>a:hover{transform:translateY(-2px);border-color:#9ce1d36b}.home-quick-actions a>span:not(.quick-icon){flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.home-quick-actions b{font-size:14px;font-weight:600}.home-quick-actions small{font-size:12px;color:var(--muted)}.quick-icon{height:42px;width:42px;display:grid;place-items:center;background:#9ce1d30b;color:var(--accent);border-radius:12px;flex:none}.home-quick-actions>a:nth-child(2) .quick-icon{color:var(--violet);background:#bdb2e70c}
.collector-home .feed-layout{grid-template-columns:minmax(0,1fr) 310px;gap:36px;align-items:start;max-width:1120px;margin:0 auto}.collector-home .stream{gap:18px;min-width:0}.feed-switch{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);min-height:54px;margin-bottom:0}.feed-switch>button{position:relative;font-size:16px;min-height:54px;color:var(--muted);font-weight:600;cursor:pointer}.feed-switch>button.on{color:var(--text)}.feed-switch>button.on:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.feed-switch>a{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted)}.feed-count{background:var(--red);color:#15171b;padding:2px 6px;border-radius:20px}.collector-home .stories{border:0;background:none;padding:8px 0 0;margin:0;min-height:98px;gap:18px}.collector-home .story .ring{width:66px;height:66px}.collector-home .story small{max-width:80px;line-height:1.5}.collector-home .composer{border:1px solid #41484f70;border-radius:14px;min-height:64px;margin-bottom:4px;padding:13px 16px;background:var(--surface)}.collector-home .post{border:1px solid #41484f70;border-radius:18px;overflow:hidden;background:#191d21}.collector-home .post-head{padding:16px 18px;min-height:74px}.collector-home .post-head .who b{font-size:14px}.collector-home .post-head .who small{font-size:12px;margin-top:4px}.collector-home .post-media{height:auto;max-height:490px;aspect-ratio:1.18;background:radial-gradient(ellipse at 50% 40%,#384046,#1b2024 74%);padding:24px;cursor:pointer}.collector-home .post-media>img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 18px 16px #0006);border-radius:6px}.collector-home .post-body{padding:20px;gap:16px}.collector-home .post-body h3{font-size:20px;line-height:1.3;letter-spacing:-.4px}.collector-home .post-actions{padding-top:12px;border-top:1px solid var(--line);gap:8px}.collector-home .post-actions .btn{border:0;background:transparent;font-size:12px;padding:10px 12px;min-height:44px}.collector-home .post-actions [data-open-card]{background:var(--accent);color:#10231f;margin-left:auto;order:4}.collector-home .feed-aside{display:flex;flex-direction:column;gap:24px;min-width:0}.collector-home .feed-aside>.card{background:transparent;border:0;padding:0}.collector-home .feed-aside h3{font-size:15px}.collector-home .people-list .person{flex-wrap:wrap;gap:8px;padding:12px 0}.collector-home .person-link{flex:1;min-width:140px}.collector-home .who{min-width:0}.collector-home .who b{white-space:normal;overflow-wrap:anywhere}.collector-home .person .btn{min-height:36px}.home-member-card{display:flex;flex-direction:column;gap:18px;background:linear-gradient(140deg,#2d293b,#1e242b 80%);border:1px solid #bdb2e736;border-radius:18px;padding:24px;transition:transform .2s,border-color .2s}.home-member-card:hover{border-color:#bdb2e782;transform:translateY(-2px)}.home-member-card .label{font-size:10px;line-height:1.6;letter-spacing:1.3px;color:#d2c9ef}.member-zero{display:flex;align-items:center;gap:14px;font-size:64px;line-height:1;font-weight:650;letter-spacing:-4px;margin:18px 0}.member-zero small{font-size:13px;letter-spacing:0;line-height:1.6;max-width:8ch;font-weight:500;color:#ddd7e9}.home-member-card p{font-size:13px;line-height:1.6;color:#cccbd4;margin:0}.home-member-footer{display:flex;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid #bdb2e72b;color:#e4dcf6;font-size:13px}.home-member-card>small{font-size:10px;line-height:1.6;color:#b1abbc;margin-top:-7px}.collection-sidecar{padding-bottom:22px;border-bottom:1px solid var(--line)}.collection-sidecar .section-head{align-items:center;gap:12px}.collection-sidecar h2{font-size:15px}.collection-sidecar .section-head>a{font-size:11px;display:flex;gap:5px;align-items:center}.sidecar-product{height:310px;border-radius:16px;overflow:hidden;background:#1b2024}.sidecar-product [data-holo-product-viewer]{height:310px!important;min-height:0!important}.sidecar-product .product-viewer{height:310px!important;min-height:0!important}.sidecar-product .product-viewer-caption,.sidecar-product .product-viewer-controls{display:none}.collection-sidecar>p{font-size:12px;color:var(--muted);margin:14px 0;line-height:1.6}.sidecar-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-top:10px}.sidecar-actions .btn{font-size:11px;padding:10px;min-height:44px}.sidecar-card{display:block}.sidecar-card .holo{height:300px;width:100%;background:#1b2024;border-radius:16px;overflow:hidden}.sidecar-card .holo>img{width:100%;height:100%;object-fit:contain;padding:20px}.sidecar-card>span{display:flex;flex-direction:column;gap:7px;padding:15px 0}.sidecar-card b{font-size:15px}.sidecar-card small{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
@media(max-width:1050px){.collector-home .feed-layout{grid-template-columns:minmax(0,1fr) 275px;gap:24px}.home-command nav{gap:6px}.home-command-link{padding:0 10px}.home-member-card{padding:20px}.home-quick-actions>a{padding:14px 12px;gap:10px}.home-quick-actions b{font-size:13px}.home-quick-actions>a>svg{display:none}}
@media(max-width:760px){.collector-home .home-command{flex-direction:column;align-items:stretch;gap:17px;margin-bottom:16px}.home-command>div{display:flex;justify-content:space-between;align-items:center;gap:14px}.home-command h1{font-size:28px;margin:0}.home-command>div>span{font-size:11px}.home-command nav{display:grid;grid-template-columns:1fr 1fr auto;gap:7px}.home-command-link{justify-content:center;padding:0 10px;font-size:12px}.home-command nav .btn{font-size:12px;padding:10px}.home-command nav .btn>svg{display:none}.home-quick-actions{gap:7px;margin-bottom:18px}.home-quick-actions>a{flex-direction:column;align-items:flex-start;padding:12px;min-height:110px;gap:8px}.home-quick-actions .quick-icon{width:30px;height:30px;border-radius:8px}.home-quick-actions b{font-size:11px;line-height:1.4}.home-quick-actions small{font-size:10px}.collector-home .feed-layout{display:flex;flex-direction:column;gap:24px}.collector-home .stream{width:100%}.collector-home .feed-aside{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px}.collector-home .feed-aside>.card{grid-column:1/-1}.feed-switch{gap:22px}.feed-switch>button{font-size:15px}.feed-switch>a{font-size:11px;gap:5px}.collector-home .post-media{padding:20px;aspect-ratio:1}.collector-home .post-body{padding:16px}.collector-home .post-actions{flex-wrap:wrap;gap:4px}.collector-home .post-actions .btn{font-size:11px;padding:8px 10px}.collector-home .post-actions .btn svg{width:16px;height:16px}.home-member-card{padding:18px}.member-zero{font-size:48px;letter-spacing:-3px;flex-direction:column;align-items:flex-start;gap:8px}.member-zero small{max-width:none;font-size:11px}.home-member-card p{font-size:11px}.home-member-footer{font-size:11px}.sidecar-product,.sidecar-product [data-holo-product-viewer],.sidecar-product .product-viewer{height:220px!important}.collection-sidecar .section-head{align-items:flex-start;flex-direction:column;gap:6px}.collection-sidecar h2{font-size:13px}}
@media(max-width:370px){.home-command-link{font-size:11px;gap:6px}.home-command-link svg{width:16px}.home-quick-actions>a{padding:10px}.collector-home .feed-aside{grid-template-columns:1fr}.member-zero{flex-direction:row;align-items:center}.collector-home .post-actions .btn{padding:8px}.feed-switch{gap:16px}}
@media(prefers-reduced-motion:reduce){.home-quick-actions>a,.home-member-card{transition:none}.home-quick-actions>a:hover,.home-member-card:hover{transform:none}}
.checkout-review{display:flex;flex-direction:column;gap:20px;padding:32px 24px 22px}.checkout-review>h2{font-size:32px;letter-spacing:-1px;margin:0}.checkout-review>.label{font-size:10px;letter-spacing:1.5px;margin-right:25px}.checkout-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}.checkout-card .holo{height:175px;border-radius:12px;overflow:hidden;background:#20272b}.checkout-card .holo>img{height:100%;width:100%;object-fit:contain;padding:10px}.checkout-card h3{font-size:18px;line-height:1.4;overflow-wrap:anywhere;margin:0 0 8px}.checkout-card p,.checkout-card span{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0}.checkout-subtotal{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.checkout-subtotal b{font-size:24px;font-variant-numeric:tabular-nums}.checkout-explanation{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.checkout-slide{--slide:0px;position:relative;height:64px;border:1px solid #9ce1d348;border-radius:14px;background:linear-gradient(100deg,#9ce1d319,#9ce1d306);overflow:hidden}.slide-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-left:40px;font-size:14px;color:#c3eade;pointer-events:none}.slide-handle{height:50px;width:54px;position:absolute;top:6px;left:6px;display:grid;place-items:center;border-radius:10px;background:var(--accent);color:#10231f;transform:translateX(var(--slide));touch-action:none;cursor:grab;transition:transform .28s cubic-bezier(.2,.7,.2,1)}.checkout-slide.dragging .slide-handle{transition:none;cursor:grabbing}.checkout-slide.opening{opacity:.55}.checkout-alternative{min-height:44px;border:0;background:transparent;font-size:13px;margin-top:-10px}.checkout-feedback{margin:0;min-height:20px;font-size:13px;line-height:1.6}.checkout-feedback:empty{display:none}.sidecar-product .holo-product-experience{min-height:310px;padding:0 0 40px}.sidecar-product .holo-product-canvas{height:240px}.sidecar-product .editorial-object-caption{bottom:8px;padding:0 8px;font-size:10px;gap:6px}.sidecar-product .holo-product-controls{display:none}
@media(max-width:600px){.checkout-review{padding:28px 16px 18px;gap:17px}.checkout-card{grid-template-columns:100px minmax(0,1fr);gap:15px}.checkout-card .holo{height:150px}.sidecar-product .holo-product-experience{min-height:220px}.sidecar-product .holo-product-canvas{height:175px}.sidecar-product .editorial-object-caption{display:none}}
@media(prefers-reduced-motion:reduce){.slide-handle{transition:none}}
.boot-placeholder{min-height:100dvh;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:var(--muted);font-size:13px}.boot-placeholder img{object-fit:contain}.boot-progress{width:100px;height:2px;background:#9ce1d32a;position:relative;overflow:hidden;border-radius:2px}.boot-progress:after{content:'';position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:boot-progress 1.3s ease-in-out infinite}@keyframes boot-progress{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.boot-progress:after{animation:none;transform:none;opacity:.4}}
.sidecar-product .holo-product-experience{display:block;position:relative;grid-template-columns:none;grid-template-areas:none;margin:0;border:0;border-radius:16px;background:transparent;padding:0;overflow:hidden}.sidecar-product .holo-product-object{width:100%;min-width:0}.sidecar-product .holo-product-canvas{width:100%;height:240px;min-height:0;border-radius:0}.sidecar-product .editorial-object-caption{position:static;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;min-height:60px;letter-spacing:.5px;font-size:10px}.sidecar-product .editorial-object-caption>span{min-width:0;line-height:1.6}.sidecar-product .editorial-object-caption small{display:block;font-size:10px;letter-spacing:0;color:var(--muted)}.sidecar-product .holo-product-actions{gap:4px;flex-wrap:nowrap}.sidecar-product .holo-product-actions button{width:44px;height:44px;min-width:44px;padding:12px;border-radius:50%;background:#262d31}.sidecar-product .holo-product-actions svg{width:18px;height:18px}
@media(max-width:600px){.sidecar-product .holo-product-canvas{height:175px}.sidecar-product .editorial-object-caption{display:flex;padding:0 8px;min-height:44px}.sidecar-product .editorial-object-caption>span{display:none}.sidecar-product .holo-product-actions{margin:auto}}
.collector-home .home-command{margin-bottom:18px}.home-quick-actions>a{min-height:60px;padding:10px 14px}.home-quick-actions{margin-bottom:20px}.home-quick-actions .quick-icon{width:32px;height:32px}.collector-home .stories-empty{min-height:0;padding:0;margin:0}.collector-home .stories-empty .story{display:flex;align-items:center;gap:12px;width:auto;padding:6px 0;min-height:54px}.collector-home .stories-empty .ring{width:40px;height:40px;padding:0;background:none;border:0}.collector-home .stories-empty .avatar{width:40px;height:40px}.collector-home .stories-empty small{min-height:0;max-width:none;font-size:13px;margin:0}.collector-home .stories-empty .plus{width:18px;height:18px;font-size:13px}.collector-home .stream>.section-head{margin:0;min-height:36px;gap:14px}.collector-home .stream>.section-head h2{font-size:18px;letter-spacing:-.4px;line-height:1.3}.collector-home .stream>.section-head a{font-size:12px}.collector-home .composer{margin:0}.collector-home .composer .grow{text-align:left}.collector-home .post{margin:0}
@media(max-width:760px){.home-quick-actions>a{min-height:62px;padding:10px;gap:8px;flex-direction:row;align-items:center}.home-quick-actions small{display:none}.home-quick-actions .quick-icon{width:24px;height:30px;background:none}.home-quick-actions b{font-size:10px}.home-quick-actions .quick-icon svg{width:19px}.collector-home .home-command{margin-bottom:12px}.home-quick-actions{margin-bottom:12px}}

@media(max-width:540px){html.v5 .home-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}html.v5 .home-quick-actions>a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:80px;padding:10px 5px;text-align:center}html.v5 .home-quick-actions .quick-icon{width:27px;height:27px;margin:0}html.v5 .home-quick-actions>a>span:not(.quick-icon){width:100%;min-width:0}html.v5 .home-quick-actions b{font-size:12px;line-height:1.35;overflow-wrap:normal;word-break:normal}html.v5 .home-quick-actions>a>svg{display:none}html.v5 .home-command-link svg{flex-shrink:0}html.v5 .collector-home .feed-switch{gap:0}html.v5 .collector-home .feed-switch>a{font-size:11px;gap:6px}}

.vault-inspect-controls{display:flex;justify-content:center;gap:10px;margin-top:10px;flex-wrap:wrap}.vault-inspect-controls .btn[aria-pressed="true"]{background:var(--accent);color:#102923}.vault-inspect-controls .btn{min-width:76px;min-height:42px}

.shared-card-view{padding:35px 25px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.shared-card-view h2{font-size:24px;line-height:1.3;margin:0;padding:0 12px}.shared-card-view .holo{width:min(270px,85%);aspect-ratio:63/88}.shared-card-view .holo>img{width:100%;height:100%;object-fit:contain}.shared-card-view p{margin:0;font-size:14px}.shared-card-view>.muted{font-size:12px;line-height:1.6}.post-media:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}

.collector-detail .stage{background:radial-gradient(ellipse at 55% 35%,#354148,#1b2025 72%);padding:55px 30px 28px;gap:17px;min-height:480px}.collector-detail .stage .holo{width:min(340px,90%)}.card-inspection-controls{position:relative;z-index:1;display:flex;gap:8px;justify-content:center}.card-inspection-controls .btn{min-width:76px;font-size:12px;min-height:42px}.card-inspection-controls [aria-pressed=true]{background:#d0e8e2;color:#152821}.collector-detail .stage .hint{font-size:10px;line-height:1.7;letter-spacing:.3px;text-transform:none;text-align:center}.card-back-note{font-size:11px;color:var(--muted);line-height:1.5;text-align:center}.collector-detail .info{padding:38px 28px 25px;gap:21px}.collector-detail .info h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;padding-right:20px}.collector-detail .stats{padding:0;gap:15px}.collector-detail .stats .stat{background:transparent;border:0;border-radius:0;padding:0}.collector-detail .stats .stat b{font-size:32px;letter-spacing:-1px}.collector-detail .kv{font-size:12px;gap:13px;border-top:1px solid var(--line);padding-top:18px}.collector-detail .notice{font-size:12px;line-height:1.65;padding:15px;border-radius:12px;background:#ffffff04}.collector-detail .seller{flex-wrap:wrap;gap:10px;font-size:12px}.collector-detail .seller .grow{min-width:0}.card-offer-panel{border:1px solid var(--line);border-radius:13px;overflow:hidden}.card-offer-panel summary{display:flex;align-items:center;gap:10px;list-style:none;padding:16px;cursor:pointer;font-size:14px}.card-offer-panel summary>svg:last-child{margin-left:auto}.card-offer-panel[open] summary>svg:last-child{transform:rotate(45deg)}.card-offer-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:5px 16px 18px}.card-offer-fields p,.card-offer-fields>.btn{grid-column:1/-1}.card-offer-fields p{font-size:11px;line-height:1.65;color:var(--muted);margin:0}.card-offer-fields .field{min-width:0}.card-offer-fields .input{min-width:0;width:100%;font-size:16px}.card-offer-note{font-size:11px;color:var(--muted);line-height:1.6;margin:0}.collector-detail .similar{grid-column:1/-1}
/* The card is the whole point of this sheet, and it was the one thing you could
   not see. The stage stretched to the full height of the details beside it and
   centred the card in that, so a listing opened on several hundred pixels of
   empty ground with the card below the fold. It sits at the top of its column
   now and stays there while the details scroll past it. */
@media(min-width:821px){.collector-detail .stage{align-self:start;position:sticky;top:0;justify-content:flex-start}}
/* Keep both inspection controls inside short desktop sheets. */
@media(min-width:821px) and (max-height:760px){.collector-detail .stage{min-height:0;padding-top:30px;padding-bottom:22px}.collector-detail .stage .holo{width:min(340px,90%,calc((100svh - 210px)*.7159))}}
@media(min-width:821px) and (max-height:480px){.collector-detail .stage{position:relative}.collector-detail .stage .holo{width:min(240px,90%)}}
@media(max-width:600px){.collector-detail .stage{min-height:390px;padding:42px 25px 24px}.collector-detail .stage .holo{width:205px}.collector-detail .info{padding:25px 20px;gap:18px}.collector-detail .info h2{font-size:26px}.collector-detail .stats .stat b{font-size:28px}.card-offer-fields{grid-template-columns:1fr}.collector-detail .seller>.grow{display:none}.collector-detail .seller>a{flex:1;text-align:center}.collector-detail .info>.stack>.row>.btn.primary{font-size:14px;padding:14px 12px}.collector-detail .kv{grid-template-columns:1fr 1fr}}

/* Local HoloTap product artwork; motion never gates navigation or data. */
.holo-boot{gap:24px;background:radial-gradient(ellipse at 30% 25%,#14272a88,transparent 55%),radial-gradient(ellipse at 75% 80%,#24203166,transparent 55%),#101416}
.loading-brand{display:flex;align-items:center;gap:10px;font-size:28px;line-height:36px;font-weight:600;letter-spacing:-.8px}
.loading-brand img{object-fit:contain}.holo-boot>p{font-size:16px;line-height:24px;color:#a4b7bd}
.holo-loading-art{position:relative;width:240px;height:258px;display:grid;place-items:center;perspective:800px;margin:12px auto 24px;pointer-events:none}
.loading-plane{position:absolute;width:165px;height:220px;border-radius:17px;border:1px solid #365253;background:#162225}
.plane-back{transform:translate(28px,-9px) rotate(9deg);background:#1b1923;border-color:#443451}
.plane-mid{transform:translate(-20px,3px) rotate(-12deg)}
.loading-product{width:215px;height:230px;border-radius:20px;background:#101518;border:1px solid #527173;overflow:hidden;transform:rotateY(-12deg) rotateZ(-3deg);animation:holo-loading-lift 3s ease-in-out infinite alternate;box-shadow:0 18px 35px #0004}
.loading-product img{width:100%;height:100%;object-fit:contain;display:block}
.loading-light{position:absolute;bottom:-14px;height:3px;width:84px;border-radius:3px;background:#263638;overflow:hidden}
.loading-light:after{content:"";display:block;width:32px;height:3px;border-radius:3px;background:#86c8ba;animation:holo-loading-light 1.5s ease-in-out infinite alternate}
.route-loading{text-align:center;min-height:340px}.route-loading>.skel{display:none}.route-loading .holo-loading-art{zoom:.7}.route-loading p{margin-top:12px}
@keyframes holo-loading-lift{from{transform:translateY(4px) rotateY(-12deg) rotateZ(-3deg)}to{transform:translateY(-5px) rotateY(-4deg) rotateZ(-3deg)}}
@keyframes holo-loading-light{from{transform:translateX(0);opacity:.45}to{transform:translateX(52px);opacity:1}}
@media(prefers-reduced-motion:reduce){.loading-product,.loading-light:after{animation:none}}

/* Light is limited to navigation chrome; content remains on a solid surface. */
.header{background:linear-gradient(120deg,#243432e8,#1b1c25ed 58%,#192326ed);backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%);box-shadow:inset 0 1px #d7fff01c,0 6px 24px #0002}
.app>.tabs{background:linear-gradient(140deg,#233430f5,#1b1d28f5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px #dcfff221,0 -6px 28px #0002}

/* ---------------------------------------------------------------------------
   HoloTap glass.

   The same material as the app, expressed for the web: one tint, one blur, one
   bright top edge, in one place, so a panel cannot be glass on one screen and a
   grey box on the next. Glass needs three things to read as glass - a rounded
   inset shape, a lit edge, and something behind it to refract - so it is spent
   on chrome that floats, never stretched across a flat full-width bar.

   The tint is near-neutral on purpose: the colour should come through the glass
   from the content behind it, not from the glass itself.
--------------------------------------------------------------------------- */
:root{
 --glass-tint:rgba(255,255,255,.06);
 --glass-ground:rgba(14,18,24,.62);
 --glass-blur:blur(22px) saturate(140%);
 --glass-edge:inset 0 1px 0 rgba(255,255,255,.14);
 --glass-lift:0 10px 30px rgba(0,0,0,.34);
 --glass-line:1px solid rgba(255,255,255,.10);
 --glass-r:20px;
}
.glass{
 background:linear-gradient(var(--glass-tint),var(--glass-tint)),var(--glass-ground);
 backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
 border:var(--glass-line);border-radius:var(--glass-r);
 box-shadow:var(--glass-edge),var(--glass-lift);
}
/* No backdrop-filter (older Safari, or the user asked for less transparency):
   fall back to a solid surface rather than a washed-out translucent one. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass{background:var(--raised)}
}
@media (prefers-reduced-transparency:reduce){
 .glass,.header,.app>.tabs{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--raised)}
}

.header{
 background:linear-gradient(var(--glass-tint),var(--glass-tint)),rgba(14,18,24,.72);
 backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
 border-bottom:var(--glass-line);box-shadow:var(--glass-edge),0 6px 24px rgba(0,0,0,.22)
}
/* The dock floats clear of the screen edges, exactly as it does in the app. */
.app>.tabs{
 left:10px;right:10px;bottom:calc(6px + env(safe-area-inset-bottom));
 height:auto;padding:7px 4px 5px;border-radius:30px;border:var(--glass-line);border-top:var(--glass-line);
 background:linear-gradient(var(--glass-tint),var(--glass-tint)),rgba(14,18,24,.70);
 backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
 box-shadow:var(--glass-edge),0 8px 26px rgba(0,0,0,.42)
}
/* A sheet reads as glass only when it clears the edges it floats over. */
.sheet{
 box-sizing:border-box;max-width:calc(100% - 16px);
 margin:0 0 calc(8px + env(safe-area-inset-bottom));border-radius:30px;
 background:linear-gradient(var(--glass-tint),var(--glass-tint)),rgba(14,18,24,.80);
 backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
 border:var(--glass-line);box-shadow:var(--glass-edge),0 -10px 40px rgba(0,0,0,.45)
}

/* Match statistics and the league rail are chrome, so they take the material. */
.gd-stats{background:var(--raised);border:var(--glass-line);box-shadow:var(--glass-edge)}
.gd-leagues{padding:0;border-radius:0;background:transparent;border:0;box-shadow:none}
.gd-leagues button{background:transparent;border:0;border-radius:16px}
.gd-leagues button[aria-pressed="true"]{background:rgba(124,242,212,.16);color:var(--text)}
/* The membership line sits with the fee it refers to, not in its own banner. */
.fee-waiver{display:block;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);color:var(--text)}
/* What the seller actually paid, stated next to the plans it is about. */
.fee-history{margin:0;padding:14px 16px;border-radius:16px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:14px;line-height:1.55}

/* The rest of the chrome, on the same material as the app: the things that
   float over content or sit above it and get typed into. Content surfaces —
   cards, posts, tables, reading text — deliberately stay solid, because glass
   under a paragraph is what made this look muddy before. */
.gd-composer{
 background:linear-gradient(var(--glass-tint),var(--glass-tint)),var(--glass-ground);
 backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);
 border:var(--glass-line);box-shadow:var(--glass-edge)
}
/* In the flow, so the shape without the per-frame cost. */
.search-btn,.composer,.gd-tabs{background:var(--raised);border:var(--glass-line);box-shadow:var(--glass-edge)}
.search-btn,.composer{border-radius:16px}
.gd-composer{border-radius:22px;margin:0 8px 8px}
.gd-tabs{border-radius:17px;padding:4px}
.gd-tabs button{background:transparent;border:0}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .gd-composer{background:var(--raised)}
}

/* --- the seller's record ---------------------------------------------------
   A row of facts, not a badge. Nothing here is styled to read as an
   endorsement: no seals, no colour that says "approved". */
.shopfront{padding:18px 20px;border:1px solid var(--line,#2b383a);border-radius:18px}
.shopfront-stats{display:flex;flex-wrap:wrap;gap:26px;margin:0}
.shopfront-stat{display:grid;gap:3px;min-width:0}
.shopfront-stat dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.shopfront-stat dd{margin:0;font-size:18px;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums}
.shopfront-stat small{font-size:11px;line-height:1.5;color:var(--muted);max-width:30ch}
.shopfront-note{font-size:12px;line-height:1.6;margin-top:12px}
@media (max-width:520px){.shopfront-stats{gap:18px}.shopfront-stat dd{font-size:16px}}

/* A collector's page is a shopfront, so it opens like one: who they are, what
   their record is, then what they have for sale — each part separated by space
   rather than by another box. */
.profile-head{gap:var(--s-5);align-items:center;padding-bottom:var(--s-2)}
.profile-head h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.2px}
.profile-head .who>.muted{font-size:14px;line-height:1.6;max-width:56ch;margin-top:var(--s-1)}
.shopfront{padding:var(--s-5);border-radius:18px;background:var(--surface)}
.shopfront-stats{gap:var(--s-6)}
.shopfront-stat dd{font-size:20px;letter-spacing:-.4px}
.shelf-row{gap:var(--s-4);padding-bottom:var(--s-2)}
@media(max-width:560px){
 .profile-head{gap:var(--s-4)}
 .shopfront{padding:var(--s-4)}
 .shopfront-stats{gap:var(--s-5)}
}

/* First collection: one clear action and an original HoloTap holder, no invented inventory. */
.vault-first{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#172127,#11151c 65%);margin-top:24px}
.vault-first-copy{min-width:0}.vault-first h2{font-size:clamp(28px,3.4vw,42px);line-height:1.12;letter-spacing:-.035em;margin:14px 0 18px;max-width:14ch}
.vault-first p{color:var(--muted);line-height:1.65;max-width:48ch;margin:0}
.vault-first ol{list-style:none;counter-reset:first-step;display:grid;gap:20px;padding:0;margin:28px 0}
.vault-first li{counter-increment:first-step;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:12px;row-gap:5px}
.vault-first li:before{content:counter(first-step,decimal-leading-zero);grid-row:1/3;color:var(--accent);font-size:12px;line-height:24px;font-variant-numeric:tabular-nums}
.vault-first li b{font-size:15px;line-height:24px;font-weight:600}.vault-first li span{font-size:13px;line-height:1.55;color:var(--muted)}
.vault-first-actions{display:flex;flex-wrap:wrap;gap:12px}.vault-first-actions .btn{min-height:48px;white-space:normal;text-align:center}.vault-first-app{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-size:13px;color:var(--muted)}
.vault-first figure{min-width:0;margin:0;align-self:center}.vault-first img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:20px}.vault-first figcaption{margin-top:12px;text-align:center;color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:680px){.vault-first{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 20px}.vault-first figure{max-width:240px;justify-self:center;grid-row:1}.vault-first h2{max-width:16ch}.vault-first-actions{flex-direction:column}.vault-first-actions .btn{width:100%}}

/* Core destinations stay visible; secondary destinations share one compact disclosure. */
.header-actions{margin-left:auto;flex-shrink:0}
.header .nav{min-width:0;flex-shrink:0}
.nav-more{position:relative;align-self:stretch}
.nav-more summary{display:flex;align-items:center;gap:6px;min-height:44px;height:100%;padding:0 13px;font-size:14px;color:var(--muted);cursor:pointer;list-style:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary:focus-visible{outline:3px solid var(--accent);outline-offset:-4px}
.nav-more[open] summary{color:var(--text)}
.nav-more-menu{position:absolute;top:calc(100% - 6px);right:0;width:210px;padding:8px;border:1px solid var(--line-2);border-radius:14px;background:var(--raised);box-shadow:0 16px 40px #0005;z-index:60;animation:navMenuIn .16s var(--ease)}
.nav .nav-more-menu a{height:auto;min-height:48px;padding:12px 14px;border-radius:8px;white-space:normal}
.nav .nav-more-menu a:hover,.nav .nav-more-menu a[aria-current=page]{background:var(--raised-2)}
.nav .nav-more-menu a[aria-current=page]:after{display:none}
@keyframes navMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:901px) and (max-width:1150px){.header{gap:16px}.header .sell-cta{display:none}.header .nav{gap:0}.header .nav a{padding-inline:8px}.nav-more summary{padding-inline:8px}.header .header-actions{gap:6px}}
@media(prefers-reduced-motion:reduce){.nav-more-menu{animation:none}}

/* The sample is a display-only object; it never enters a collector's inventory. */
.vault-demo{width:100%}.vault-demo-stage{position:relative;width:100%;height:360px;isolation:isolate}
.vault-first .vault-demo-stage>img{height:100%;aspect-ratio:63/88;object-fit:contain;border-radius:0}
.vault-demo .vault-inspect-controls{display:flex;justify-content:center;gap:12px;margin-top:12px}
.vault-demo [aria-pressed="true"]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
@media(max-width:680px){.vault-first .vault-demo{max-width:320px}.vault-demo-stage{height:300px}}

.vault-demo-stage.holo-3d-live>img{visibility:hidden}

/* Keep the sticky viewer inside the product row, never over recommendations. */
.collector-detail>.card-view-column{min-width:0;position:relative;align-self:stretch;background:var(--bg-2);border-right:1px solid var(--line)}
.collector-detail>.card-view-column>.stage{border-right:0}
.collector-detail>.info,.collector-detail>.similar{min-width:0}
.collector-detail>.similar{position:relative;background:var(--bg-2);isolation:isolate}
@media(max-width:820px){.collector-detail>.card-view-column{border-right:0}.collector-detail>.card-view-column>.stage{position:relative;top:auto}}

/* A scrolled product viewer must never paint into the recommendation rail. */
.collector-detail>.card-view-column{overflow:clip}
.collector-detail>.similar{z-index:2;border-top:1px solid var(--line);padding-top:24px}
/* Also support already-loaded market modules from before the column wrapper. */
.collector-detail>.stage{position:relative;top:auto;align-self:stretch}

/* Task-based account navigation; no stacked walls of links. */
.account-directory{display:grid;gap:20px}.account-group{border-bottom:1px solid var(--border, #30383b)}.account-group summary{cursor:pointer;min-height:56px;padding:18px 4px;font-size:18px;font-weight:700}.account-group .menu{margin-bottom:18px}.account-directory small{display:block;white-space:normal}.account-directory a,.account-directory button{min-height:54px}.account-directory [hidden]{display:none!important}

/* Separate checkout recovery copy from its actions, including wrapped buttons. */
.membership-checkout-notice{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:20px 24px}
.membership-checkout-notice>b{display:block;color:var(--text);line-height:1.4}
.membership-checkout-notice>p{margin:0;max-width:82ch;line-height:1.6}
.membership-checkout-notice>.row{gap:12px;margin-top:4px}
.membership-checkout-notice .btn{min-height:44px;white-space:normal;text-align:center}
@media(max-width:600px){.membership-checkout-notice{padding:20px;gap:12px}.membership-checkout-notice>.row{align-items:stretch}.membership-checkout-notice .btn{flex:1 1 100%;width:100%}}

/* entrance.css */
.entrance-open{overflow:hidden}.holo-entrance{position:fixed;inset:0;z-index:1000;overflow:auto;min-height:100dvh;background:#131518;color:#f1f1ec;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:96px max(28px,7vw) 56px;gap:6vw;font-family:var(--font);isolation:isolate;transition:opacity .38s ease,transform .38s cubic-bezier(.2,.7,.2,1)}
.holo-entrance:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 25% 47%,#6ac6b914,transparent 50%),radial-gradient(ellipse at 67% 80%,#a18bea10,transparent 50%)}
.entrance-brand{position:absolute;top:max(28px,env(safe-area-inset-top));left:max(28px,7vw);right:max(28px,7vw);display:flex;align-items:center;gap:10px;font-size:22px;font-weight:650;letter-spacing:-.7px}.entrance-brand img{object-fit:contain}.entrance-brand small{margin-left:auto;font-size:10px;letter-spacing:2px;color:#aeb5bc;font-weight:500}
.entrance-stage{height:min(62vh,580px);min-height:350px;position:relative;display:grid;place-items:center;perspective:1100px}.entrance-slab{width:clamp(180px,20vw,268px);aspect-ratio:5/7;position:relative;transform-style:preserve-3d;transform:rotateX(5deg) rotateY(-18deg) rotateZ(-8deg);animation:entrance-reveal 1.2s cubic-bezier(.18,.8,.24,1) both}
.entrance-slab-face,.entrance-slab-back{position:absolute;inset:0;border-radius:22px;border:2px solid #b2d1cd70;background:linear-gradient(145deg,#313b4070,#172127ea 50%,#27333ada);box-shadow:inset 0 0 0 7px #ffffff09,inset 0 0 0 9px #e7fcf820,0 28px 55px #0005;backface-visibility:hidden;overflow:hidden}.entrance-slab-face{transform:translateZ(10px);display:grid;place-items:center}.entrance-slab-face img{width:65%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 12px 16px #0005)}.entrance-slab-face>span{position:absolute;bottom:22px;left:0;right:0;text-align:center;letter-spacing:6px;font-size:10px;color:#c8d7d8}.entrance-slab-back{transform:translateZ(-9px);background:#253239}.entrance-slab-edge{position:absolute;top:18px;bottom:18px;right:-8px;width:20px;transform:rotateY(90deg);background:linear-gradient(90deg,#ceeee836,#5d828168,#e5fff36b);border-radius:4px}
.entrance-foil{position:absolute;inset:-80%;background:linear-gradient(115deg,transparent 40%,#bcf6e015 46%,#a6cde53b 49%,#e1c0fc24 52%,transparent 57%);transform:translateX(70%);animation:entrance-light 1.8s .4s ease-out both;pointer-events:none}.entrance-shadow{position:absolute;bottom:6%;left:18%;right:18%;height:22px;background:#0008;filter:blur(24px);border-radius:50%;transform:rotate(-8deg)}.entrance-orbit{position:absolute;width:100%;aspect-ratio:1;border:1px solid #b9ddd912;border-radius:50%;transform:rotateX(62deg) rotateZ(-20deg);pointer-events:none}.orbit-two{width:122%;transform:rotateX(65deg) rotateZ(22deg);border-color:#cdbfea0d}
.entrance-copy{position:relative;max-width:550px;animation:entrance-copy-in .8s .12s both}.entrance-eyebrow{font-size:10px;letter-spacing:2px;color:#b4bcc3;line-height:1.6;margin:0 0 20px}.entrance-copy h1{font-size:clamp(40px,4.8vw,72px);line-height:1.04;font-weight:600;letter-spacing:-.055em;margin:0 0 24px}.entrance-copy>p:not(.entrance-eyebrow){font-size:16px;line-height:1.7;color:#b0b8bf;margin:0 0 32px}.entrance-enter{min-height:58px;padding:0 26px;border:1px solid #b4e7da;border-radius:12px;background:#b4e7da;color:#10231f;display:inline-flex;align-items:center;justify-content:space-between;gap:48px;font-size:15px;font-weight:650;cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}.entrance-enter:hover{background:#c3f1e6;box-shadow:0 8px 24px #b4e7da14;transform:translateY(-2px)}.entrance-enter:active{transform:scale(.98)}.entrance-enter:focus-visible{outline:3px solid #bdb2e7;outline-offset:5px}.entrance-enter:disabled{opacity:.8;cursor:wait}.entrance-enter span{font-size:22px;font-weight:400}.entrance-status{display:block;min-height:24px;margin-top:14px;font-size:12px;color:#b0b8bf}.holo-entrance.is-leaving{opacity:0;transform:scale(1.025);pointer-events:none}
@keyframes entrance-reveal{from{opacity:0;transform:translateY(36px) rotateX(12deg) rotateY(-50deg) rotateZ(-12deg)}to{opacity:1;transform:rotateX(5deg) rotateY(-18deg) rotateZ(-8deg)}}@keyframes entrance-light{from{transform:translateX(-65%)}to{transform:translateX(70%)}}@keyframes entrance-copy-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.holo-entrance{display:flex;flex-direction:column;gap:0;padding:76px 24px 24px;justify-content:center}.entrance-brand{top:max(22px,env(safe-area-inset-top));left:24px;right:24px;font-size:18px}.entrance-brand small{font-size:10px;letter-spacing:1px;max-width:110px;text-align:right;line-height:1.7}.entrance-stage{width:100%;height:35dvh;min-height:230px;max-height:330px;flex-shrink:0}.entrance-slab{width:148px}.entrance-slab-face img{width:66%}.entrance-slab-face>span{font-size:10px;bottom:18px}.entrance-orbit{width:85%}.orbit-two{width:105%}.entrance-copy{width:100%;max-width:450px;text-align:center}.entrance-eyebrow{font-size:10px;letter-spacing:1.3px;margin:8px 0 12px}.entrance-copy h1{font-size:clamp(35px,10vw,46px);margin-bottom:16px}.entrance-copy>p:not(.entrance-eyebrow){font-size:14px;margin-bottom:20px;max-width:26ch;margin-left:auto;margin-right:auto}.entrance-enter{width:100%;max-width:340px;min-height:54px}.entrance-status{margin-top:10px;min-height:18px}.entrance-shadow{bottom:8%}}
@media(max-height:640px) and (max-width:700px){.entrance-stage{min-height:180px;height:180px}.entrance-slab{width:114px}.holo-entrance{justify-content:flex-start}.entrance-copy h1{font-size:32px}.entrance-copy>p:not(.entrance-eyebrow){margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.holo-entrance,.entrance-slab,.entrance-copy,.entrance-foil,.entrance-enter{animation:none;transition:none}.entrance-foil{opacity:.2}.entrance-enter:hover{transform:none}}

/* tips.css */
/* Tip cards: one short lesson where it matters, dismissed once. */
.tip-card{display:grid;gap:6px;padding:12px 14px;margin:8px 0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--raised)}
.tip-head{display:flex;align-items:center;gap:10px}.tip-head b{flex:1;font-size:var(--fs-body);font-weight:700;color:var(--ink)}
.tip-symbol{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:rgba(124,242,212,.14);color:var(--accent)}
.tip-close{font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.tip-close:hover{background:var(--surface)}
.tip-card p{margin:0;font-size:var(--fs-small);color:var(--muted)}
.tip-action{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-small);font-weight:700;color:var(--accent);text-decoration:none;min-height:32px}

/* setup.css */
/* Finish setting up: one card, a progress line of segments, the next step. */
.setup-card{display:grid;gap:10px;padding:14px 16px;border-radius:var(--radius-card,18px);background:var(--surface-raised,rgba(255,255,255,.04));border:1px solid var(--border,rgba(255,255,255,.08))}
.setup-head{display:flex;align-items:center;gap:10px}
.setup-head b{flex:1;font-size:15px}
.setup-count{font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.setup-track{display:flex;gap:4px}
.setup-track i{flex:1;height:4px;border-radius:999px;background:var(--border,rgba(255,255,255,.1))}
.setup-track i.done{background:var(--accent,#7fefd0)}
.setup-step{display:flex;align-items:center;gap:10px;min-height:44px;color:inherit;text-decoration:none}
.setup-text{display:grid;gap:2px;flex:1;min-width:0}
.setup-text b{font-size:14px}
.setup-text small{color:var(--muted);font-size:13px}
.setup-action{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:700;color:var(--accent,#7fefd0);white-space:nowrap}

/* art-loading.css */
/* A card photo still on its way: the frame shimmers until the photo paints. */
.art.art-pending{overflow:hidden}
.art.art-pending::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);transform:translateX(-100%);animation:shimmer 1.4s infinite}
.art img{transition:opacity .25s ease}
.art.art-pending img{opacity:0}
@media (prefers-reduced-motion:reduce){.art.art-pending::before{animation:none;background:rgba(255,255,255,.03);transform:none}.art img{transition:none}}

/* phone-clarity.css */
/* Phone widths: one control per job.
   Game Day: the five-day strip already has Today, so the extra Today button
   goes and the typed date becomes a calendar button over the native picker.
   Market: Filters & sort becomes an icon button with its active count. */
.gd-date-icon{display:none}
.photo-refine-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700;line-height:1}
@media (max-width:600px){
 .gd-day-navigation .gd-today{display:none}
 .gd-day-navigation .gd-date{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--raised);color:var(--text)}
 .gd-day-navigation .gd-date .gd-date-icon{display:grid;place-items:center;pointer-events:none}
 .gd-day-navigation .gd-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
 .photo-market-controls .photo-refine{flex:none;width:48px;min-width:48px;padding:0;justify-content:center;position:relative}
 .photo-market-controls .photo-refine .photo-refine-label{display:none}
 .photo-market-controls .photo-refine .photo-refine-count{position:absolute;top:-6px;right:-6px;margin:0}
}

/* join.css */
/* The invite landing: one calm card, the code large, two clear doors. */
.join-page{max-width:640px;margin:0 auto}.join-hero{display:grid;gap:14px;padding:28px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--raised)}
.join-hero .label{display:inline-flex;align-items:center;gap:6px}.join-hero h1{margin:0;font-family:var(--display);font-size:var(--fs-hero);letter-spacing:-1px}
.join-lead{margin:0;font-size:var(--fs-body);color:var(--muted)}.join-lead b{color:var(--ink)}
.join-code{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.join-code code{font-family:var(--display);font-size:32px;font-weight:800;letter-spacing:.35em;color:var(--ink)}
.join-actions{display:flex;gap:10px;flex-wrap:wrap}.join-fine{margin:0;font-size:var(--fs-micro)}.join-app{margin:0;font-size:var(--fs-small)}

/* rooms.css */
.collector-rooms{max-width:1400px;padding-bottom:36px}.rooms-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 25px}.rooms-heading h1{font-size:clamp(29px,4vw,49px);font-weight:550;letter-spacing:-.055em;line-height:1.1;margin:10px 0}.rooms-heading p{color:var(--muted);margin:0}.rooms-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.rooms-room-label{display:grid;gap:6px;max-width:330px;flex:1}.rooms-room-label>span{font-size:12px;color:var(--muted)}.rooms-room-label select{width:100%;min-width:0}.rooms-motion{white-space:nowrap}.rooms-space{position:relative;overflow:hidden;border:1px solid var(--line,#293331);border-radius:22px;background:#080c12;isolation:isolate}.rooms-canvas{width:100%;height:clamp(390px,62vh,720px);overflow:hidden}.rooms-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y}.rooms-stage-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;pointer-events:none;padding:35px 22px 19px;background:linear-gradient(transparent,rgba(8,12,18,.91));color:#dce6e3;font-size:11px}.rooms-stage-caption span:first-child{font-size:15px;font-weight:600}.rooms-stage-caption span:last-child{color:#a2b2af}.rooms-status{min-height:36px;display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px;padding:8px 3px}.rooms-introduction{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 2px 23px}.rooms-introduction p{font-size:15px;color:var(--muted);margin:0;max-width:650px}.rooms-collection{border-top:1px solid var(--line,#293331);padding-top:21px}.rooms-source-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.rooms-sources{display:flex;gap:4px;flex-wrap:wrap}.rooms-sources button{appearance:none;background:transparent;border:1px solid transparent;color:var(--muted);font:inherit;font-size:13px;border-radius:30px;padding:10px 16px;cursor:pointer;min-height:44px}.rooms-sources button[aria-pressed=true]{background:var(--accent,#81d8bf);color:#09221c}.rooms-pagination{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.rooms-pagination button{min-width:44px;min-height:44px}.rooms-records-note{color:var(--muted);font-size:12px;margin:13px 0}.rooms-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.rooms-card{display:flex;align-items:center;gap:13px;min-width:0;border:1px solid var(--line,#293331);border-radius:15px;padding:14px;color:inherit;text-decoration:none;background:var(--raised,#151c19);transition:border-color .16s}.rooms-card:hover{border-color:var(--accent,#81d8bf)}.rooms-card-art{width:57px;height:80px;display:grid;place-items:center;flex-shrink:0}.rooms-card-art img{width:100%;height:100%;object-fit:contain;border-radius:4px}.rooms-card>span:nth-child(2){min-width:0;flex:1}.rooms-card b,.rooms-card small,.rooms-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rooms-card b{font-size:14px;font-weight:600}.rooms-card small{font-size:11px;color:var(--muted);margin:5px 0 9px}.rooms-card strong{font-size:12px;font-weight:500;color:var(--accent,#81d8bf)}.rooms-card>svg{flex-shrink:0}.rooms-empty{grid-column:1/-1;border:1px dashed var(--line,#293331);border-radius:15px;padding:24px}.rooms-empty h2{font-size:20px;letter-spacing:-.03em;margin:0 0 7px}.rooms-empty p{font-size:13px;color:var(--muted);margin:0 0 15px}.rooms-footnote{font-size:11px;line-height:1.7;color:var(--muted);margin:23px 0 0;max-width:820px}.collector-rooms :focus-visible{outline:2px solid var(--accent,#81d8bf);outline-offset:4px}.collector-rooms [hidden]{display:none!important}
@media(max-width:780px){.rooms-heading{align-items:flex-start;gap:16px}.rooms-heading>.btn{font-size:12px;padding:10px}.rooms-canvas{height:clamp(345px,52vh,550px)}.rooms-stage-caption{align-items:flex-start;flex-direction:column;gap:5px;padding:28px 16px 16px}.rooms-card-list{grid-template-columns:1fr}.rooms-card-art{width:44px;height:63px}.rooms-card{padding:12px}.rooms-introduction{align-items:flex-start}.rooms-introduction>.btn{flex-shrink:0}}
@media(max-width:430px){.rooms-heading{display:block;margin-bottom:21px}.rooms-heading>.btn{margin-top:17px}.rooms-heading h1{max-width:310px}.rooms-toolbar{gap:9px}.rooms-motion{font-size:11px;padding:11px 9px}.rooms-space{border-radius:15px}.rooms-canvas{height:350px}.rooms-introduction{display:grid;gap:11px}.rooms-introduction>.btn{justify-self:start}.rooms-source-row{align-items:flex-start;gap:6px}.rooms-sources{gap:0;flex-wrap:nowrap}.rooms-sources button{padding:10px 9px;font-size:12px}.rooms-pagination{gap:0}.rooms-pagination button{min-width:34px;width:34px;padding:6px}.rooms-records-note{line-height:1.6}.rooms-card-list{gap:9px}}
@media(prefers-reduced-motion:reduce){.rooms-card{transition:none}}

.rooms-picker{position:relative;flex:1;max-width:390px;z-index:3}.rooms-picker summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--raised);font-size:14px}.rooms-picker summary::-webkit-details-marker{display:none}.rooms-picker[open] summary{border-color:var(--accent)}.rooms-options{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:min(420px,60vh);overflow:auto;padding:7px;border:1px solid var(--line);border-radius:17px;background:var(--surface,#141921);box-shadow:0 16px 45px #0007;animation:rooms-menu-in .18s ease-out}.rooms-options button{display:block;width:100%;text-align:left;color:var(--text,#f1f5f4);background:none;border:0;border-radius:11px;min-height:58px;padding:12px;font:inherit;cursor:pointer}.rooms-options button[aria-pressed=true],.rooms-options button:hover{background:var(--raised,#202932)}.rooms-options b{display:block;font-weight:600;font-size:14px;line-height:1.5}.rooms-options small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:3px}.rooms-brand-stage{margin:6px 0 22px;position:relative;border-radius:20px;overflow:hidden;max-width:700px;border:1px solid var(--line)}.rooms-brand-stage img{display:block;width:100%;height:auto}.rooms-brand-stage figcaption{padding:13px 18px;background:var(--raised);color:var(--muted);font-size:13px;line-height:1.6}@keyframes rooms-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.rooms-options{animation:none}}

.rooms-pulse{display:flex;align-items:center;gap:9px;margin:13px 0 0;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:var(--raised);font-size:14px;font-weight:600;color:var(--text,#f1f5f4)}
.rooms-pulse a{margin-left:auto;flex-shrink:0;color:var(--accent,#81d8bf);font-weight:600;font-size:13px}
.rooms-pulse-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}
.rooms-pulse-dot.live{background:var(--accent,#81d8bf);box-shadow:0 0 0 4px #81d8bf24}
.rooms-introduction-copy{min-width:0;flex:1;display:grid;gap:10px}
.rooms-signals{display:flex;flex-wrap:wrap;gap:7px}
.rooms-signal{padding:5px 11px;border:1px solid var(--line);border-radius:14px;font-size:12px;color:var(--muted);white-space:nowrap}
.rooms-signal.live{border-color:var(--accent,#81d8bf);color:var(--text,#f1f5f4)}
.rooms-signal.attention{border-color:var(--control-outline,#708694);color:var(--text,#f1f5f4)}
.rooms-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;align-items:center}
.rooms-actions .btn{gap:8px}
.rooms-count{min-width:20px;padding:1px 6px;border-radius:10px;background:var(--raised,#202932);font-size:11px;font-weight:600;line-height:17px;text-align:center}
.rooms-count.live{background:var(--accent,#81d8bf);color:#09221c}
.rooms-options button{position:relative;padding-right:46px}
.rooms-mark{position:absolute;top:50%;right:12px;transform:translateY(-50%);min-width:22px;padding:2px 7px;border-radius:11px;background:var(--raised,#202932);border:1px solid var(--line);font-size:11px;font-style:normal;font-weight:600;line-height:17px;text-align:center;color:var(--text,#f1f5f4)}
.rooms-mark.live{background:var(--accent,#81d8bf);border-color:var(--accent,#81d8bf);color:#09221c}
.rooms-mark[hidden]{display:none}
@media(max-width:780px){.rooms-introduction{display:grid;gap:13px}.rooms-actions{width:100%}.rooms-actions .btn{flex:1;justify-content:center;min-width:0}.rooms-pulse{font-size:13px;flex-wrap:wrap}.rooms-pulse a{margin-left:0}}

/* Coaching sits below the scene so it cannot cover a card or trap a gesture. */
.rooms-guide-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;color:var(--muted);font-size:13px;flex-wrap:wrap}
.rooms-guide{display:flex;align-items:center;gap:28px;justify-content:space-between;margin:14px 0;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,var(--raised,#1c2426),var(--surface,#15191e));animation:rooms-menu-in .2s ease-out}
.rooms-guide-copy{min-width:0;max-width:620px}.rooms-guide h2{margin:8px 0;font-size:20px;line-height:1.35;letter-spacing:-.025em}.rooms-guide p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}.rooms-guide-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:900px){.rooms-guide{display:grid;gap:18px;padding:18px}.rooms-guide-buttons .btn{flex:1;min-height:44px}.rooms-guide-entry .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){.rooms-guide{animation:none}}

.rooms-experience{scroll-margin-top:92px}.rooms-experience[data-guided=true]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,310px);gap:16px;align-items:stretch}.rooms-experience[data-guided=true] .rooms-canvas{height:clamp(330px,57vh,570px)}.rooms-experience[data-guided=true] .rooms-guide{margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:24px;padding:22px}.rooms-experience[data-guided=true] .rooms-guide-buttons{gap:8px}.rooms-experience[data-guided=true] .rooms-guide-buttons .btn{min-height:44px;flex:1}.rooms-experience[data-guided=true] .rooms-guide-buttons [data-room-guide-close]{order:3;flex-basis:100%}.rooms-experience[data-guided=true] .rooms-stage-caption{flex-direction:column;align-items:flex-start;gap:5px}
@media(max-width:1050px){.rooms-experience[data-guided=true]{grid-template-columns:minmax(0,1fr)}.rooms-experience[data-guided=true] .rooms-guide{gap:14px;padding:18px}.rooms-experience[data-guided=true] .rooms-canvas{height:clamp(230px,33vh,360px)}.rooms-experience[data-guided=true] .rooms-guide-buttons [data-room-guide-close]{order:0;flex-basis:auto}}

.rooms-experience[data-guided=true] .rooms-guide-buttons .btn{min-width:0;padding-inline:12px;white-space:nowrap}
@media(max-width:450px){.rooms-experience[data-guided=true] .rooms-guide-buttons .btn{font-size:12px;padding-inline:10px}}

/* operations.css */
.ops{max-width:1120px}
.ops-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:8px 0 26px}
.ops-head h1{font-size:clamp(27px,3.4vw,42px);font-weight:550;letter-spacing:-.05em;line-height:1.1;margin:10px 0 8px}
.ops-head p{color:var(--muted);margin:0;max-width:620px;font-size:15px}
.ops-note{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 14px}
.ops-note.error{color:var(--danger,var(--red));padding:13px 15px;border:1px solid var(--danger,var(--red));border-radius:13px}
.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-bottom:34px}
.ops-tile{border:1px solid var(--line);border-radius:16px;padding:17px;background:var(--raised);display:grid;gap:5px}
.ops-tile span{font-size:12px;color:var(--muted);letter-spacing:.02em}
.ops-tile b{font-size:30px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.15}
.ops-tile small{font-size:11px;color:var(--muted);line-height:1.6}
.ops-section{border-top:1px solid var(--line);padding-top:22px;margin-bottom:32px}
.ops-section h2{font-size:20px;font-weight:600;letter-spacing:-.03em;margin:0 0 8px}
.ops-scroll{overflow-x:auto}
.ops-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;min-width:640px}
.ops-table th,.ops-table td{text-align:right;padding:11px 13px;border-bottom:1px solid var(--line);white-space:nowrap}
.ops-table thead th{text-align:right;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.03em}
.ops-table th:first-child,.ops-table thead th:first-child{text-align:left}
.ops-table tbody th{font-weight:600}
.ops-empty{color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:14px;padding:20px;margin:0}
.ops-funnel{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ops-funnel li{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--raised)}
.ops-funnel span{font-size:14px;z-index:1}
.ops-funnel b{font-size:15px;font-variant-numeric:tabular-nums;z-index:1}
.ops-funnel i{position:absolute;inset:0 auto 0 0;width:calc(var(--share,0)*1%);background:var(--accent,#81d8bf);opacity:.13}
.ops-checks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ops-checks li{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border:1px solid var(--line);border-radius:13px}
.ops-checks li.ready{border-color:var(--accent,#81d8bf)}
.ops-checks li>svg{flex-shrink:0;margin-top:2px;color:var(--muted)}
.ops-checks li.ready>svg{color:var(--accent,#81d8bf)}
.ops-checks b{display:block;font-size:14px;font-weight:600}
.ops-checks small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:3px}
.ops-footnote{font-size:11px;line-height:1.7;color:var(--muted);max-width:820px;margin:26px 0 0}
@media(max-width:700px){.ops-head{display:block}.ops-head>.btn{margin-top:16px}.ops-tile b{font-size:24px}}

.vault-digest{border:1px solid var(--line);border-radius:18px;padding:17px 19px;margin:0 0 22px;background:var(--raised);display:grid;gap:13px}
.vault-digest-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.vault-digest-head>div{min-width:0;display:grid;gap:4px}
.vault-digest-head b{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.4}
.vault-digest-head small{font-size:13px;color:var(--muted);line-height:1.5}
.vault-digest-head .btn{flex-shrink:0}
.vault-digest-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.vault-digest-rows li{display:flex;align-items:baseline;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;font-size:13px}
.vault-digest-rows li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.vault-digest-rows li>small{color:var(--muted);font-size:12px;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vault-digest-rows li>b{font-variant-numeric:tabular-nums;flex-shrink:0}
.vault-digest-rows.compare li>b{color:var(--accent,#81d8bf)}
.vault-digest-note{margin:0;font-size:11px;line-height:1.7;color:var(--muted)}
@media(max-width:640px){.vault-digest-head{display:grid}.vault-digest-rows li{flex-wrap:wrap;gap:4px 10px}.vault-digest-rows li>small{flex-basis:100%;white-space:normal}}

/* stories.css */
.story-create-sheet{max-width:520px!important}.story-create{padding:28px;display:grid;gap:16px}.story-create header{padding-right:34px}.story-create h2{font-size:24px;line-height:1.2;letter-spacing:-.7px;margin:7px 0 10px}.story-create header p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}.story-photo-preview{position:relative;min-height:220px;height:clamp(220px,32vh,320px);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:radial-gradient(ellipse at 25% 5%,#2b4548,transparent 65%),radial-gradient(ellipse at 100% 100%,#393047,transparent 70%),#171b20;display:grid;place-items:center}.story-photo-preview>img{height:100%;width:100%;object-fit:contain;position:absolute;inset:0}.story-photo-preview>[hidden],.story-photo-empty[hidden]{display:none}.story-photo-empty{display:flex;align-items:center;flex-direction:column;gap:13px;max-width:28ch;padding:25px;text-align:center}.story-photo-empty svg{color:var(--accent)}.story-photo-empty b{font-size:18px}.story-photo-empty span{font-size:13px;line-height:1.5;color:var(--muted)}.story-photo-author{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:30px 16px 14px;background:linear-gradient(transparent,#0e1315e8);pointer-events:none}.story-photo-author .avatar{width:30px;height:30px;font-size:11px}.story-photo-author>span{font-size:12px;line-height:1.4;min-width:0;overflow-wrap:anywhere}.story-photo-author small{display:block;font-size:10px;color:#c0c8ca}.story-photo-actions{display:flex;gap:10px;flex-wrap:wrap}.story-photo-actions .btn{flex:1;white-space:nowrap}.story-create .field{margin:0}.story-create .field>span{display:flex;justify-content:space-between;gap:10px}.story-create .field small{font-weight:400;color:var(--muted)}.story-create textarea{min-height:70px;resize:vertical;font-size:16px;line-height:1.5}.story-create-feedback{font-size:13px;line-height:1.45;color:var(--muted);margin:0;min-height:0}.story-create-feedback:empty{display:none}.story-create footer{display:flex;gap:16px;align-items:center;justify-content:space-between}.story-create footer>span{font-size:11px;color:var(--muted);max-width:22ch;line-height:1.5}.story-create footer button{flex-shrink:0}
/* Photo-led viewer: the stage grows inside the safe viewport; controls never sit on captions. */
.story-backdrop{background:#06090ce8;backdrop-filter:blur(14px)}
.story-sheet{width:min(470px,100%)!important;max-width:470px!important;background:#111619!important;overflow:hidden!important;border-color:#ffffff20!important}
.story-sheet>.close{z-index:6;top:26px;right:15px;width:44px;height:44px;background:#ffffff0c;border:0}
.story-screen{display:flex;flex-direction:column;height:min(830px,calc(100dvh - 48px));min-height:320px;overflow:hidden;padding:13px 12px 12px;box-sizing:border-box;gap:0}
.story-progress{display:flex;gap:4px;flex-shrink:0;padding:0 2px}
.story-progress>span{height:3px;flex:1;background:#ffffff30;overflow:hidden;border-radius:3px}.story-progress>span.complete{background:#f1faf6}.story-progress i{display:block;height:100%;width:100%;background:#f1faf6;transform-origin:left;transform:scaleX(0)}
.story-author{display:flex;align-items:center;gap:6px;padding:10px 46px 10px 1px;flex-shrink:0;min-height:64px;box-sizing:border-box}
.story-profile{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-align:left;border:0;background:none;color:var(--text);padding:0;min-height:44px}
.story-author .avatar{width:38px;height:38px;flex-shrink:0}.story-author .who{flex:1;min-width:0}.story-author b{font-size:14px;line-height:1.4;display:block;overflow-wrap:anywhere}.story-author small{display:block;font-size:11px;line-height:1.4;color:#b7c2c7;margin-top:2px}.story-author .icon-btn{border:0;background:transparent;width:44px;height:44px}
.story-stage{position:relative;display:flex;flex:1;min-height:130px;background:radial-gradient(ellipse at 15% 10%,#29424760,transparent 60%),radial-gradient(ellipse at 90% 95%,#55466d40,transparent 65%),#0c1013;border-radius:12px;overflow:hidden;isolation:isolate}
.story-photo{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.story-photo>img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.story-photo>.story-mark{width:90px;height:90px;opacity:.65}.story-photo>.card-placeholder{padding:26px;text-align:center}
.story-tap{position:absolute;top:0;bottom:0;width:50%;background:transparent;border:0;z-index:1;border-radius:0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.story-tap-prev{left:0}.story-tap-next{right:0}.story-tap:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.story-footer{flex-shrink:0;padding:12px 3px 0;display:grid;gap:12px}.story-caption{overflow:auto;max-height:18dvh;overscroll-behavior:contain}.story-caption:empty{display:none}.story-caption h2{font-size:16px;line-height:1.4;margin:0 0 5px;letter-spacing:-.2px;overflow-wrap:anywhere}.story-caption p{font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;color:#ebf1ef}
.story-actions{display:flex;gap:8px;align-items:stretch}.story-reply{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:46px;padding:9px 13px;background:#ffffff07;border:1px solid #ffffff26;border-radius:24px;color:#e1eae7;font-size:13px;text-align:left}.story-reply>span{flex:1;min-width:0;overflow-wrap:anywhere}.story-reply>svg{flex-shrink:0}.story-actions .btn{font-size:12px;min-height:46px;border-radius:24px;white-space:normal;padding:9px 13px;line-height:1.4}
.story-navigation{display:flex;gap:10px;align-items:center;min-height:44px;color:var(--muted);font-size:11px}.story-navigation>.icon-btn{height:44px;width:44px;background:transparent;border:0}.story-hint{flex:1;min-width:0;line-height:1.4}.story-position{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}
.story-photo-wait{display:none;position:absolute;inset:0;background:linear-gradient(110deg,#17232855,#7ebca026,#17232855);background-size:250% 100%;animation:story-breathe 1.5s ease-in-out infinite}.story-stage.loading .story-photo-wait{display:block}.story-photo-error{position:absolute;inset:0;z-index:3;background:#11181aed;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;font-size:14px}.story-photo-error[hidden]{display:none}
.story-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 28px;gap:12px}.story-empty h2{font-size:22px;line-height:1.3;margin:0}.story-empty p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.story-empty-mark{color:var(--accent);margin-bottom:8px}.story-loading-art{width:150px;aspect-ratio:63/88;border-radius:14px;border:1px solid #9bd8c737;background:linear-gradient(130deg,#20433c,#29323a,#383249);animation:story-breathe 1.6s ease-in-out infinite}
.story-delete-panel{position:absolute;left:12px;right:12px;bottom:12px;z-index:7;padding:22px;border-radius:20px;background:#242b2f;border:1px solid #ffffff20;box-shadow:0 -10px 60px #0009;animation:story-appear .24s ease-out}.story-delete-panel h2{font-size:18px;margin:0 0 9px}.story-delete-panel p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 18px}.story-delete-panel .row{gap:10px;flex-wrap:wrap}.story-delete-panel .btn{flex:1}.story-delete-panel .danger{color:#ff8e9a;background:#51242d}
.story-create-sheet{animation:story-appear .3s cubic-bezier(.2,.8,.2,1)}@keyframes story-appear{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes story-breathe{0%,100%{opacity:.45;background-position:100% 50%}50%{opacity:1;background-position:0% 50%}}
@media(max-width:540px){.story-create{padding:24px 18px}.story-create h2{font-size:22px}.story-create footer{gap:10px}.story-create footer button{white-space:normal}.story-backdrop{padding:0!important;align-items:stretch!important}.story-sheet{width:100%!important;max-width:none!important;max-height:100dvh!important;border:0!important;border-radius:0!important}.story-screen{height:100dvh;max-height:100dvh;padding-top:calc(9px + env(safe-area-inset-top,0px));padding-bottom:calc(7px + env(safe-area-inset-bottom,0px));padding-inline:9px}.story-sheet>.close{top:calc(22px + env(safe-area-inset-top,0px));right:12px}.story-author{padding-block:10px}.story-footer{padding-inline:4px;gap:9px}.story-navigation{gap:7px}.story-caption{max-height:16dvh}}
@media(prefers-reduced-motion:reduce){.story-create-sheet,.story-delete-panel,.story-loading-art,.story-photo-wait{animation:none}.story-photo-wait{opacity:.6}}


/* Keep the add badge independent of legacy .story/.ring rules. */
html.v5 .collector-home .stories{align-items:center}
html.v5 .story-add{appearance:none;background:none;border:0;color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:76px;min-height:88px;padding:6px;cursor:pointer;font:inherit;border-radius:12px;transition:background .18s,transform .18s}
html.v5 .story-add:hover{background:#ffffff08}html.v5 .story-add:active{transform:scale(.96)}html.v5 .story-add:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html.v5 .story-add-avatar{position:relative;display:block;width:48px;height:48px;flex-shrink:0}
html.v5 .story-add-avatar>.avatar{display:flex;width:48px;height:48px;border-radius:50%;overflow:hidden}
html.v5 .story-add-badge{position:absolute;display:grid;place-items:center;right:-3px;bottom:-3px;width:23px;height:23px;box-sizing:border-box;border:3px solid #131518;border-radius:50%;background:var(--accent);color:#102923;pointer-events:none}
html.v5 .story-add-badge>svg{display:block;width:13px;height:13px;stroke-width:2.5}
html.v5 .story-add-label{font-size:12px;line-height:1.4;white-space:nowrap}
html.v5 .collector-home .stories-empty{min-height:0;padding:6px 0;margin:0}
html.v5 .stories-empty .story-add{flex-direction:row;justify-content:flex-start;gap:14px;min-height:64px;padding:8px 5px;min-width:140px}
html.v5 .stories-empty .story-add-label{font-size:13px}
@media(prefers-reduced-motion:reduce){html.v5 .story-add{transition:none}}

/* The avatar opens an active story; the adjacent name remains the profile link. */
html.v5 .post-author-avatar{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:50%;position:relative;background:none;cursor:pointer}
html.v5 .post-author-avatar .avatar{width:36px;height:36px;flex:none}
html.v5 .post-author-avatar.has-story:before{content:'';position:absolute;inset:0;border:2px solid transparent;border-radius:50%;background:linear-gradient(140deg,#b8ded5,#b7a2e0) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}

/* Story gestures manipulate only the photo surface. Captions remain scrollable. */
.story-screen{will-change:transform;background:#090c0e}
.story-stage{background:#0b0e10;border-radius:8px}
.story-caption:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.story-backdrop{backdrop-filter:none;background:#030608f2}
@media(prefers-reduced-motion:reduce){.story-screen{will-change:auto}}

/* shop.css */
.hardware-shop{padding-bottom:110px}.hardware-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}.hardware-header h1{font-size:clamp(30px,3.8vw,46px);line-height:1.12;letter-spacing:-1.5px;margin:9px 0 0}.hardware-header>.row{flex-shrink:0}.hardware-bag-button>span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border-radius:50%;background:var(--accent);color:#102923;font-size:11px}.hardware-editorial{display:grid;grid-template-columns:1fr 1fr;border-radius:26px;background:radial-gradient(ellipse at 94% 9%,#303448,transparent 70%),#1b2023;border:1px solid #ffffff0e;overflow:hidden;min-height:420px;margin-bottom:32px}.hardware-editorial-copy{padding:38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hardware-eyebrow{font-size:10px;letter-spacing:1.6px;color:#bddad6;line-height:1.5}.hardware-editorial h2{font-size:clamp(33px,4.1vw,52px);font-weight:650;line-height:1.06;letter-spacing:-1.9px;margin:19px 0}.hardware-editorial-copy>p{font-size:15px;line-height:1.65;color:#b4bec4;max-width:39ch;margin:0 0 24px}.hardware-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.hardware-shipping{display:flex;align-items:flex-start;gap:10px;color:#a7b4ba;max-width:44ch;font-size:11px;line-height:1.55;margin-top:28px}.hardware-shipping svg{flex-shrink:0;margin-top:1px}.hardware-editorial-model{min-width:0;display:grid;place-items:center;padding:15px;position:relative;isolation:isolate}.hardware-editorial-model [data-holo-product-viewer]{width:100%;height:100%;min-height:350px}.hardware-editorial-model .product-experience{display:block!important;width:100%;padding:0!important;background:none!important;border:0!important;box-shadow:none!important}.hardware-editorial-model .product-experience-copy,.hardware-editorial-model .product-experience-footer,.hardware-editorial-model .product-experience-title,.hardware-editorial-model .product-experience-description{display:none!important}.hardware-editorial-model .product-experience-visual{min-height:350px!important;border:0!important;background:transparent!important}.hardware-categories{display:flex;gap:6px;overflow-x:auto;padding:5px 0 16px;margin-bottom:10px;scrollbar-width:none}.hardware-categories button{appearance:none;background:transparent;border:1px solid transparent;border-radius:30px;color:var(--muted);white-space:nowrap;cursor:pointer;padding:11px 18px;font:500 13px/1.4 var(--font);transition:background .18s,color .18s,transform .18s}.hardware-categories button:hover{background:#ffffff08;color:var(--ink)}.hardware-categories button.selected{background:#d2eee7;color:#122823}.hardware-grid-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;scroll-margin-top:100px}.hardware-grid-heading>div{display:flex;align-items:baseline;gap:12px}.hardware-grid-heading h2{font-size:22px;line-height:1.3;letter-spacing:-.6px;margin:0}.hardware-grid-heading span,.hardware-grid-heading>a{font-size:12px;color:var(--muted)}.hardware-grid-heading>a{display:flex;align-items:center;gap:8px}.hardware-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px}.hardware-card{min-width:0;display:flex;flex-direction:column;border:0;background:transparent}.hardware-card-art{appearance:none;position:relative;aspect-ratio:1/1;width:100%;border:1px solid #ffffff09;border-radius:18px;overflow:hidden;background:#202326;cursor:pointer;padding:0;isolation:isolate}.hardware-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.hardware-card-art:hover .hardware-photo{transform:scale(1.055)}.hardware-inspect{position:absolute;bottom:13px;right:13px;display:flex;align-items:center;gap:8px;padding:8px 11px;background:#111619f2;border:1px solid #ffffff18;border-radius:30px;font-size:11px;color:#e8eeed;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.hardware-card-art:hover .hardware-inspect,.hardware-card-art:focus-visible .hardware-inspect{opacity:1;transform:none}.hardware-card-copy{padding:17px 1px 4px;display:flex;flex-direction:column;flex:1;gap:7px}.hardware-category{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#9eaeb8}.hardware-title{text-align:left;background:none;border:0;color:inherit;padding:0;cursor:pointer}.hardware-title h3{font:600 16px/1.35 var(--font);letter-spacing:-.3px;margin:0;overflow-wrap:anywhere}.hardware-card-copy>p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 9px}.hardware-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:8px}.hardware-price{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.hardware-price b{font-size:18px;font-weight:650}.hardware-price s{font-size:12px;color:var(--muted)}.hardware-add{display:flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:8px 12px;background:#d2eee7;color:#122823;border:0;border-radius:10px;font:600 12px/1.4 var(--font);cursor:pointer;transition:transform .15s,background .15s}.hardware-add:hover{background:#b5e7db}.hardware-add:active{transform:scale(.95)}.hardware-add:disabled{opacity:.5;cursor:default}.hardware-in-bag{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--accent);margin-top:3px}.hardware-kit-art{position:relative;width:100%;height:100%;background:radial-gradient(ellipse at 70% 10%,#3c4b4c,transparent),#1c2228;overflow:hidden}.hardware-kit-art img{position:absolute;width:60%;height:65%;object-fit:cover;border:1px solid #ffffff12;border-radius:12px;box-shadow:0 12px 30px #0005;top:18%;left:20%}.hardware-kit-art img:first-child{left:-8%;top:28%;transform:rotate(-15deg)}.hardware-kit-art img:last-child{left:51%;top:25%;transform:rotate(13deg)}.hardware-kit-art img:nth-child(2){z-index:1}.hardware-care-art{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:radial-gradient(ellipse at 20% 20%,#30484a,transparent),#1c2228;color:#c5e6df;padding:20px;text-align:center}.hardware-care-art b{font-size:12px;letter-spacing:2px}.hardware-care-art span{font-size:11px;line-height:1.5;max-width:24ch;color:var(--muted)}.hardware-mystery-art{position:relative;height:100%;min-height:150px;background:radial-gradient(ellipse at 70% 10%,#36334a,transparent),#1c2228}.hardware-mystery-art>div{position:absolute;inset:0}.hardware-mystery-art>span{position:absolute;bottom:18px;left:20px;font-size:15px;font-weight:650;color:#e8e5f0;pointer-events:none}.hardware-membership{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center;margin-top:55px;padding:35px;background:linear-gradient(125deg,#202d31,#282433);border:1px solid #ffffff0c;border-radius:24px}.hardware-membership h2{font-size:30px;letter-spacing:-.9px;line-height:1.15;margin:14px 0}.hardware-membership p{font-size:13px;line-height:1.65;color:#bcc5cc;margin:0 0 20px;max-width:47ch}.hardware-member-kit{position:relative;height:230px}.hardware-member-kit img{width:46%;position:absolute;top:10%;left:28%;border-radius:12px;border:1px solid #ffffff20;box-shadow:0 20px 35px #0004}.hardware-member-kit img:first-child{left:0;top:25%;transform:rotate(-13deg)}.hardware-member-kit img:last-child{left:55%;top:20%;transform:rotate(12deg)}.hardware-bag-dock{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:35;width:min(480px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#cfefe6;color:#112921;border:1px solid #ffffff80;border-radius:18px;box-shadow:0 15px 50px #0005;padding:17px 20px;cursor:pointer;animation:bag-reveal .25s ease-out}.hardware-bag-dock>span,.hardware-bag-dock>strong{display:flex;align-items:center;gap:10px}.hardware-bag-dock b{font-size:14px}.hardware-bag-dock small{font-size:12px;opacity:.7}.hardware-detail-sheet{max-width:870px!important}.hardware-detail{display:grid;grid-template-columns:1fr 1fr;gap:0}.hardware-detail-art{aspect-ratio:1/1;align-self:center;min-width:0;margin:28px;border-radius:18px;overflow:hidden}.hardware-detail-copy{display:flex;flex-direction:column;gap:15px;padding:40px 28px 30px 0}.hardware-detail-copy h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0;padding-right:22px}.hardware-detail-copy h3{font-size:13px;margin:4px 0 0}.hardware-detail-copy p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.hardware-detail-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.hardware-detail-copy li{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5}.hardware-detail-copy li svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.hardware-detail-shipping{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:15px}.hardware-detail-shipping svg{flex-shrink:0}.hardware-bag-content{padding:30px 24px}.hardware-bag-content header{padding-right:30px}.hardware-bag-content h2{font-size:26px;letter-spacing:-.6px;margin:10px 0 25px}.hardware-bag-content h2 small{font-size:15px;font-weight:400;color:var(--muted)}.hardware-bag-lines{display:grid;gap:20px}.hardware-bag-line{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:13px;align-items:start}.hardware-bag-art{width:74px;height:90px;overflow:hidden;border-radius:10px}.hardware-bag-line>div:nth-child(2)>b{display:block;font-size:13px;line-height:1.4}.hardware-bag-line>div:nth-child(2)>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.hardware-bag-line>strong{font-size:13px;padding-top:2px}.hardware-quantity{display:flex;gap:10px;align-items:center;margin-top:12px}.hardware-quantity button{display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff07;width:34px;height:34px;cursor:pointer;color:var(--ink);font-size:18px}.hardware-quantity output{font-size:13px;min-width:18px;text-align:center}.hardware-bag-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:16px}.hardware-bag-note,.hardware-bag-feedback{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0}.hardware-bag-feedback:empty{display:none}.hardware-bag-content>.btn{margin-top:10px;min-height:46px}.hardware-bag-empty{text-align:center;padding:30px 10px}.hardware-bag-empty>svg{color:var(--accent)}.hardware-bag-empty h3{font-size:20px;line-height:1.3;margin:20px 0 12px}.hardware-bag-empty p{font-size:13px;color:var(--muted)}@keyframes bag-reveal{from{opacity:0;bottom:12px}to{opacity:1;bottom:25px}}@media(max-width:900px){.hardware-editorial-copy{padding:25px}.hardware-editorial h2{font-size:40px}.hardware-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hardware-header h1{font-size:34px}.hardware-header{align-items:center}.hardware-membership{padding:25px}.hardware-member-kit{height:190px}}@media(max-width:600px){.hardware-header{align-items:flex-start;gap:12px;margin-bottom:23px}.hardware-header h1{font-size:28px;letter-spacing:-1px}.hardware-header .label{font-size:10px}.hardware-header>.row>a{padding:9px 11px;min-height:44px}.hardware-header>.row>a span{display:none}.hardware-header .btn{padding:9px 10px;font-size:12px;gap:6px}.hardware-editorial{display:flex;flex-direction:column-reverse;min-height:0;border-radius:20px;margin-bottom:23px}.hardware-editorial-model{height:240px;padding:0 20px}.hardware-editorial-model [data-holo-product-viewer]{min-height:0;height:240px}.hardware-editorial-model .product-experience-visual{min-height:220px!important}.hardware-editorial-copy{padding:24px}.hardware-editorial h2{font-size:34px;line-height:1.08;margin:14px 0}.hardware-editorial-copy>p{font-size:13px;line-height:1.6;margin-bottom:19px}.hardware-hero-actions .btn{font-size:12px;padding:10px 12px;min-height:42px}.hardware-shipping{font-size:10px;margin-top:18px}.hardware-categories button{padding:9px 14px;font-size:12px}.hardware-grid-heading h2{font-size:18px}.hardware-grid-heading>div{gap:8px}.hardware-grid-heading span,.hardware-grid-heading>a{font-size:10px}.hardware-grid{gap:25px 13px}.hardware-card-art{border-radius:13px}.hardware-inspect{display:none}.hardware-card-copy{padding:12px 0 0;gap:6px}.hardware-category{font-size:10px;letter-spacing:.7px}.hardware-title h3{font-size:14px;line-height:1.4}.hardware-card-copy>p{display:none}.hardware-card-bottom{align-items:flex-start;flex-direction:column;gap:9px}.hardware-add{width:100%;min-height:40px}.hardware-price b{font-size:16px}.hardware-price s{font-size:10px}.hardware-membership{grid-template-columns:1fr;padding:24px;margin-top:38px}.hardware-membership h2{font-size:26px}.hardware-member-kit{display:none}.hardware-bag-dock{bottom:86px;padding:14px 16px;animation:none}.hardware-detail{grid-template-columns:1fr}.hardware-detail-art{width:min(250px,75%);margin:38px auto 0}.hardware-detail-copy{padding:25px 22px}.hardware-detail-copy h2{font-size:24px}.hardware-bag-content{padding:28px 18px}.hardware-bag-line{grid-template-columns:60px minmax(0,1fr) auto;gap:10px}.hardware-bag-art{width:60px;height:80px}.hardware-quantity button{width:38px;height:38px}.hardware-bag-line>strong{font-size:12px}.hardware-care-art{padding:13px;gap:9px}.hardware-care-art>svg{width:30px;height:30px}.hardware-care-art b{font-size:10px}.hardware-care-art span{font-size:10px}.hardware-kit-art img{border-radius:8px}}
@media(prefers-reduced-motion:reduce){.hardware-photo,.hardware-categories button,.hardware-add,.hardware-inspect{transition:none}.hardware-bag-dock{animation:none}}

html.v5 .hardware-editorial-model .holo-product-experience{display:block;grid-template-columns:none;padding:0;background:transparent;border:0;box-shadow:none;width:100%;margin:0}
html.v5 .hardware-editorial-model .holo-product-object{min-height:310px;height:340px;margin:0;border:0;background:transparent}
html.v5 .hardware-editorial-model .holo-product-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0}
html.v5 .hardware-editorial-model .editorial-object-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px 10px}
html.v5 .hardware-editorial-model .editorial-object-caption>span{font-size:10px;letter-spacing:1px;color:#a8b9bf}
html.v5 .hardware-editorial-model .editorial-object-caption small{display:block;font-size:10px;letter-spacing:0;margin-top:4px}
html.v5 .hardware-editorial-model .holo-product-actions{display:flex;gap:8px;margin:0}
html.v5 .hardware-editorial-model .holo-product-actions button{width:36px;height:36px;min-height:36px;padding:8px;border-radius:50%;background:#ffffff05;color:#c1d4d4;border:1px solid #ffffff20}
html.v5 .hardware-editorial-model .holo-product-actions svg{width:18px;height:18px}
@media(max-width:600px){html.v5 .hardware-editorial-model .holo-product-object{height:205px;min-height:205px}html.v5 .hardware-editorial-model .editorial-object-caption{padding-bottom:0}html.v5 .hardware-editorial-model .editorial-object-caption>span{font-size:10px}html.v5 .hardware-editorial-model .holo-product-actions button{width:30px;height:30px;min-height:30px;padding:5px}}

.hardware-care-prototype{position:relative;width:100%;height:100%}.hardware-care-prototype small{position:absolute;bottom:10px;left:10px;padding:5px 8px;font-size:10px;line-height:1.2;border-radius:6px;background:#141b21ee;color:#d3e0df}

/* The add-to-bag flight: a clone above the page, so nothing in the grid moves. */
.hardware-flight{border-radius:12px;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.35);will-change:transform,opacity}
.hardware-bag-credit{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:16px 0}.hardware-bag-credit label{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--ink);font-size:14px;line-height:1.5;font-weight:600;cursor:pointer}.hardware-bag-credit label span{min-width:0;overflow-wrap:anywhere}.hardware-bag-credit input{flex:none;width:20px;height:20px;accent-color:var(--accent);margin:0}.hardware-bag-credit p{color:var(--muted);font-size:12px;line-height:1.6;margin:6px 0}.hardware-bag-credit p>span{display:block;margin-top:4px}.hardware-bag-credit .btn,.hardware-bag-credit>a{min-height:44px;display:inline-flex;align-items:center}
@media (prefers-reduced-motion:reduce){.hardware-flight{display:none}}

/* Hardware grid — the same spacing and hierarchy as the card market, with a
   square frame because a case and a sticker sheet are square, not 5:7. */
.hardware-grid{gap:var(--s-7) var(--s-5)}
.hardware-card-art{border-radius:16px;border-color:var(--line);background:var(--raised);
 transition:transform var(--fast) var(--ease),border-color var(--fast)}
.hardware-card:hover .hardware-card-art{transform:translateY(-3px);border-color:var(--line-2)}
.hardware-card-copy{padding-top:var(--s-3)}
.hardware-card-copy h3{font-size:16px;letter-spacing:-.2px;margin-top:2px}
.hardware-card-copy p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:5px}
.hardware-card-bottom{margin-top:var(--s-3);align-items:center;gap:var(--s-3)}
.hardware-price b{font-size:18px;font-weight:700;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.hardware-price s{font-size:12px;color:var(--dim);margin-left:7px}
.hardware-category{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--dim);font-weight:700}
@media(max-width:760px){.hardware-grid{gap:var(--s-6) var(--s-3)}}
@media(prefers-reduced-motion:reduce){
 .hardware-card-art,.hardware-card:hover .hardware-card-art{transition:none;transform:none}
}

/* Optional inspection uses the existing HoloTap models; checkout remains independent. */
.hardware-detail-visual{min-width:0;align-self:start;padding-bottom:20px}.hardware-inspect-toggle{display:flex;margin:0 auto;min-height:44px}.hardware-detail-art.hardware-detail-3d{aspect-ratio:auto;margin:28px 16px 16px;width:auto;min-height:320px}.hardware-detail-3d .holo-product-experience{display:flex;flex-direction:column;gap:14px;margin:0;padding:14px;border-radius:16px;background:var(--raised);width:100%;box-sizing:border-box}.hardware-detail-3d .holo-product-object,.hardware-detail-3d .holo-product-panel{width:100%;min-width:0}.hardware-detail-3d .holo-product-canvas{height:260px}.hardware-detail-3d .holo-product-panel{gap:14px}.hardware-detail-3d .holo-product-description{min-height:0}.hardware-detail-3d .holo-product-description h3{font-size:18px;line-height:1.4}.hardware-detail-3d .holo-product-description p{font-size:13px;line-height:1.65}.hardware-detail-3d [data-house-route]{display:none}.hardware-detail-3d .holo-product-steps button{font-size:12px;padding:10px}.hardware-detail-3d .holo-product-hint{font-size:11px;margin-top:0}.hardware-detail-3d .holo-product-actions{gap:8px}.hardware-detail-3d .holo-product-actions button{min-height:44px}
@media(max-width:600px){.hardware-detail-art.hardware-detail-3d{margin:38px 14px 14px}.hardware-detail-3d .holo-product-canvas{height:240px}.hardware-inspect-toggle{margin-top:16px}.hardware-detail-visual{padding-bottom:0}}

/* shell inline */
html,body{background:#06080D;color:#F5F7FB;margin:0}#app{min-height:100vh}

/* orders-help.css */
.order-page,.help-page{max-width:1050px}.order-back{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-bottom:16px}.order-nav,.order-nav nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-nav{justify-content:space-between;margin:24px 0}.order-list{display:grid;gap:12px}.order-row{width:100%;display:flex;align-items:center;gap:18px;padding:20px;background:var(--raised);border:1px solid var(--line);border-radius:18px;color:var(--ink);text-align:left;cursor:pointer;transition:background .18s,transform .18s}.order-row:hover{background:var(--raised-2);transform:translateY(-2px)}.order-image{width:62px;height:80px;border-radius:10px;display:grid;place-items:center;overflow:hidden;flex-shrink:0;background:#233638;color:var(--accent)}.order-image img{width:100%;height:100%;object-fit:contain}.order-summary{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.order-summary small{font-size:10px;letter-spacing:1px;color:var(--muted)}.order-summary b{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.order-summary>span,.order-summary em{font-size:12px;line-height:1.4;color:var(--muted);font-style:normal}.order-summary em:empty{display:none}.order-summary em{color:var(--accent)}.order-price{display:flex;align-items:center;gap:15px;font-variant-numeric:tabular-nums;font-weight:600}.order-help{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--line);margin-top:30px}.order-help>div{display:flex;gap:13px;align-items:center}.order-help b,.order-help small{display:block;line-height:1.5}.order-help b{font-size:14px}.order-help small{font-size:12px;color:var(--muted);margin-top:4px}.order-empty{text-align:center;padding:60px 24px;background:var(--raised);border-radius:22px}.order-empty>svg{color:var(--accent)}.order-empty h2{font-size:26px;margin:22px 0 12px}.order-empty p{max-width:48ch;margin:0 auto 24px;color:var(--muted);line-height:1.6;font-size:14px}.order-detail{padding:35px 25px 26px}.order-detail h2{font-size:26px;line-height:1.25;letter-spacing:-.7px;margin:14px 25px 10px 0}.order-reference{overflow-wrap:anywhere;color:var(--muted);font-size:11px;line-height:1.5}.order-total{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:24px 0}.order-total>b{font-size:24px}.order-progress{list-style:none;display:flex;flex-direction:column;margin:25px 0;padding:0;gap:18px}.order-progress li{display:flex;align-items:center;gap:12px;color:var(--muted)}.order-progress li>span{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:11px}.order-progress b{font-size:13px;font-weight:500}.order-progress .done{color:var(--ink)}.order-progress .done>span{background:var(--accent);color:#102823;border-color:transparent}.order-detail>.muted,.order-tracking p{font-size:13px;line-height:1.6}.order-tracking{padding:20px;background:#203233;border-radius:15px;display:flex;flex-direction:column;gap:13px;margin:22px 0}.order-tracking>b{overflow-wrap:anywhere;font-size:16px;letter-spacing:.5px}.order-tracking small{font-size:11px;color:var(--muted)}.order-tracking p{margin:0;color:var(--muted)}.order-address{margin:20px 0}.order-address summary{cursor:pointer;padding:12px 0;font-size:13px}.order-address p{font-size:13px;line-height:1.7;color:var(--muted)}.order-ship{border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:grid;gap:15px}.order-ship h3{margin:0;font-size:16px}.order-ship p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.order-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.help-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:25px 0 35px}.help-shortcuts>a{position:relative;display:flex;flex-direction:column;gap:14px;padding:22px;background:var(--raised);border:1px solid var(--line);border-radius:18px}.help-shortcuts>a>svg:first-child{color:var(--accent)}.help-shortcuts>a>svg:last-child{position:absolute;right:17px;top:25px;color:var(--muted)}.help-shortcuts b{font-size:15px;line-height:1.4}.help-shortcuts span{font-size:12px;line-height:1.5;color:var(--muted)}.help-faq h2,.help-contact h2,.help-ai h2{font-size:24px;line-height:1.3;letter-spacing:-.6px;margin:14px 0 20px}.help-faq details{border-bottom:1px solid var(--line)}.help-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-size:14px;line-height:1.5}.help-faq summary svg{flex-shrink:0}.help-faq details[open] summary svg{transform:rotate(45deg)}.help-faq details p{font-size:13px;line-height:1.7;color:var(--muted);max-width:75ch;margin:0 0 20px}.help-contact,.help-ai{margin-top:35px;padding:30px;background:var(--raised);border:1px solid var(--line);border-radius:20px}.help-contact>p,.help-ai>p,.help-ai .notice>p{font-size:13px;line-height:1.7;color:var(--muted)}.help-contact form,.help-ai form{display:grid;gap:18px;margin-top:25px}.help-contact textarea,.help-ai textarea{min-height:115px;resize:vertical}.help-email-status{display:grid;gap:12px;font-size:12px;color:var(--muted);line-height:1.6;margin:0}.help-email-status:empty{display:none}.help-ai header{display:flex;align-items:center;justify-content:space-between;gap:14px}.help-conversation{display:grid;gap:12px}.help-conversation p{padding:15px;border-radius:14px;background:var(--raised-2);margin:0;display:grid;gap:8px;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.help-conversation b{font-size:10px;color:var(--accent)}.help-conversation .question{margin-left:25px;background:#253638}.help-conversation .answer{margin-right:25px}
@media(max-width:600px){.order-page .page-head{align-items:flex-start}.order-nav>.btn{margin-left:auto}.order-row{padding:14px;gap:12px}.order-image{width:48px;height:65px}.order-summary b{font-size:13px}.order-price{font-size:12px;gap:6px}.order-price svg{display:none}.order-help{align-items:flex-start;flex-direction:column}.order-help>.btn{width:100%}.order-empty{padding:35px 20px}.order-empty h2{font-size:22px}.help-shortcuts{grid-template-columns:1fr;gap:10px}.help-shortcuts>a{display:grid;grid-template-columns:25px 1fr;gap:5px 14px;padding:18px 38px 18px 18px}.help-shortcuts>a>svg:first-child{grid-row:span 2;align-self:center}.help-shortcuts span{grid-column:2}.help-shortcuts>a>svg:last-child{top:28px}.help-contact,.help-ai{padding:22px 18px}.order-actions .btn{flex:1;white-space:nowrap}.order-detail{padding:32px 20px 24px}.help-ai header{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.order-row{transition:none}.order-row:hover{transform:none}}

.order-product-photos{position:relative;background:#1a2025;width:82px;height:90px}.order-product-photos img{object-fit:cover}.order-product-photos.multiple{display:grid;grid-template-columns:1fr 1fr;gap:2px}.order-product-photos small{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);border-radius:5px;padding:3px 5px;background:#13191ee6;color:#d8e7e4;font-size:10px;white-space:nowrap}.order-detail-products{display:grid;gap:12px;margin:25px 0}.order-detail-products>div{display:flex;align-items:center;gap:15px}.order-detail-products>div>span{width:74px;height:80px;border-radius:11px;background:#223436;display:grid;place-items:center;overflow:hidden;color:var(--accent);flex-shrink:0}.order-detail-products img{width:100%;height:100%;object-fit:cover}.order-detail-products b{font-size:14px;line-height:1.5}.order-detail-products small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.order-card-photo{width:150px;height:210px;margin:25px auto 20px;display:grid;place-items:center;filter:drop-shadow(0 15px 18px #0004)}.order-card-photo img{max-width:100%;max-height:100%;object-fit:contain;border-radius:7px}@media(max-width:600px){.order-product-photos{width:60px;height:74px}.order-detail-products>div>span{width:65px;height:74px}}

/* Where the seller's money is, on the order it came from. */
.order-money{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.order-money b{color:var(--text)}
.order-money.paid b{color:var(--accent)}
.order-money.held b{color:var(--red)}
.order-money a{margin-left:4px;white-space:nowrap}
.order-timeline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:24px 0}.order-timeline h3{font-size:18px;line-height:1.4}.order-timeline>.muted{font-size:13px;line-height:1.65;margin:10px 0 20px}.order-timeline ol{list-style:none;padding:0;margin:0}.order-timeline li{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:0 0 24px;align-items:start}.order-timeline li:last-child{padding-bottom:0}.order-timeline li:not(:last-child):before{content:'';position:absolute;left:13px;top:30px;bottom:4px;border-left:1px solid var(--line-2)}.order-event-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);color:var(--muted);font-size:14px}.order-timeline .is-complete .order-event-mark{background:var(--accent);color:var(--accent-ink);border-color:transparent}.order-timeline .is-attention .order-event-mark{border-color:var(--red);color:var(--red)}.order-timeline b{font-size:14px;line-height:1.6;display:block}.order-timeline li p{font-size:13px;line-height:1.65;color:var(--muted);margin:6px 0 0;overflow-wrap:anywhere}.order-timeline time{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:8px}.order-event-state{font-size:10px;line-height:1.5;padding:5px 0;color:var(--muted)}@media(max-width:480px){.order-timeline li{grid-template-columns:28px minmax(0,1fr)}.order-event-state{grid-column:2;padding:0;margin-top:-6px}.order-timeline li{gap:6px 12px}}

/* Order inbox: quiet rows lead to a dedicated receipt; actions live on that receipt. */
.order-page{max-width:1120px;padding-top:36px}
.order-page .page-head{align-items:center}
.order-page .page-head h1{font-size:clamp(38px,4vw,60px);line-height:1.04;letter-spacing:-2px;margin:12px 0}
.order-page .page-head p{font-size:15px;line-height:1.6;max-width:38ch}
.order-nav{gap:14px;margin:28px 0 10px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.order-nav nav{gap:3px;padding:4px;background:var(--raised);border-radius:15px;flex-wrap:nowrap}
.order-nav nav .btn{border:0;background:transparent;min-height:42px;font-size:13px;padding:10px 17px;border-radius:11px}
.order-nav nav .btn.on{background:var(--raised-2);color:var(--ink);box-shadow:0 3px 8px #0002}
.order-search{display:flex;gap:10px;align-items:center;flex:1;min-width:220px;border:1px solid var(--line);border-radius:14px;min-height:49px;padding:0 15px;color:var(--muted)}
.order-search input{min-width:0;width:100%;background:transparent;border:0;outline:0;color:var(--ink);font:inherit;font-size:14px;padding:13px 0}
.order-search:focus-within{border-color:var(--accent)}
.order-search:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.order-list{gap:0}.order-row{border:0;border-radius:0;border-bottom:1px solid var(--line);background:transparent;padding:22px 8px;gap:22px}
.order-row:hover{background:var(--raised);transform:none;border-radius:16px}
.order-image{width:72px;height:100px;background:var(--raised);border-radius:12px}
.order-summary b{font-size:18px;font-weight:650;letter-spacing:-.25px}.order-summary small{font-size:10px;letter-spacing:1.5px}
.order-price{font-size:18px}.order-summary>span{font-size:13px}.order-summary em{font-size:12px}
.order-detail{padding:38px 28px 28px}.order-detail h2{font-size:30px;font-weight:700}.order-card-photo{width:170px;height:235px;margin:20px auto 30px}
.order-tracking,.order-image,.order-detail-products>div>span,.help-conversation .question{background:var(--raised)}
.order-total{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.order-total>b{font-size:32px;letter-spacing:-1px}
.order-timeline{border:0;margin:20px 0;padding:10px 0}.order-timeline h3{font-size:20px}
.order-empty{background:transparent}.order-help{padding:24px 0}
@media(max-width:600px){
 .order-page{padding-top:20px}.order-page .page-head h1{font-size:40px;letter-spacing:-1.5px}.order-page .page-head>.btn{font-size:12px;min-height:44px}
 .order-nav nav{flex:1}.order-nav nav .btn{flex:1;padding:10px 11px}.order-search{order:3;flex-basis:100%;min-width:0}
 .order-nav>.btn{font-size:12px;margin-left:0;padding:10px}
 .order-row{padding:20px 0;gap:14px}.order-summary b{font-size:16px;line-height:1.35}.order-price{font-size:15px}.order-image{width:60px;height:84px}
 .order-summary small{font-size:10px}.order-summary em{font-size:11px}.order-detail{padding:32px 20px 24px}.order-detail h2{font-size:26px}
}

/* Support gives the reader one task at a time; drafts survive section changes. */
.help-page{max-width:1050px;padding-top:36px}.help-page .page-head{align-items:center;gap:28px}
.help-page h1{font-size:clamp(38px,4vw,58px);line-height:1.06;letter-spacing:-2px;margin:12px 0}
.help-page .page-head p{font-size:15px;line-height:1.6;color:var(--muted);max-width:38ch}
.help-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding:0 0 16px;margin:32px 0 22px}
.help-tabs .btn{border:0;background:transparent;border-radius:13px;color:var(--muted);min-height:46px}
.help-tabs .btn.on{background:var(--raised-2);color:var(--ink)}
.help-shortcuts{gap:10px;margin:0 0 30px}
.help-shortcuts>a{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 16px 20px 0}
.help-shortcuts>a>svg:first-child{color:var(--muted)}.help-shortcuts b{font-size:16px}
.help-pane[hidden]{display:none}.help-contact,.help-ai{background:transparent;border:0;border-radius:0;margin:0;padding:4px 0}
.help-faq h2,.help-contact h2,.help-ai h2{font-size:24px;font-weight:700}
.help-faq summary{font-size:16px;font-weight:600;padding:24px 0}.help-faq details p{font-size:15px;line-height:1.65}
.help-ai .notice{background:var(--raised);border-radius:20px;padding:22px}.help-contact form{max-width:700px}.help-ai form{max-width:760px}
@media(max-width:600px){.help-page{padding-top:20px}.help-page .page-head{align-items:flex-start;flex-direction:column;gap:16px}.help-page h1{font-size:40px;letter-spacing:-1.4px}.help-page .page-head>.btn{width:100%}.help-tabs{margin-top:26px}.help-tabs .btn{flex:1;padding:10px 8px;font-size:13px}.help-shortcuts{gap:0}.help-shortcuts>a{padding:17px 32px 17px 0}.help-shortcuts>a>svg:last-child{right:0}.help-faq summary{font-size:15px}.help-contact,.help-ai{padding:0}.help-ai header{align-items:center}}

.order-status-filter{display:grid;gap:6px;font-size:12px;color:var(--muted)}.order-status-filter select{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);padding:8px 12px;font:inherit;font-size:14px}@media(max-width:560px){.order-status-filter{width:100%}}

/* Receipt details stay inside the order flow, with long values wrapping. */
.order-receipt{display:flex;flex-direction:column;gap:20px;min-width:0;padding:16px}
.order-receipt>[data-receipt-back]{align-self:flex-start;padding-left:0}
.order-receipt header{display:grid;gap:10px;padding-right:24px}
.order-receipt h2,.order-receipt p{margin:0;overflow-wrap:anywhere}
.order-receipt header p,.order-receipt-notes{color:var(--muted);font-size:14px;line-height:1.55}
.order-receipt-lines{margin:22px 0;display:grid;gap:0}
.order-receipt-lines>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.order-receipt-lines dt,.order-receipt-lines dd{margin:0;overflow-wrap:anywhere;line-height:1.5;font-size:14px}
.order-receipt-lines dt{color:var(--muted)}
.order-receipt-lines dd{text-align:right;font-variant-numeric:tabular-nums}
.order-receipt-notes{display:grid;gap:10px}
.order-receipt-actions{display:flex;flex-wrap:wrap;gap:10px}
.order-receipt-feedback:empty{display:none}
@media(max-width:360px){.order-receipt-lines>div{grid-template-columns:1fr;gap:5px}.order-receipt-lines dd{text-align:left}.order-receipt-actions .btn{width:100%}}

/* trades.css */
.trades-page{max-width:1080px}.trade-nav,.trade-actions,.trade-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.trade-nav{margin-bottom:26px}.trade-nav [data-trades-refresh]{margin-left:auto}.trades-heading,.trade-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:22px 0 28px}.trades-heading h1,.trade-detail-heading h1{font-size:clamp(32px,4vw,50px);line-height:1.08;letter-spacing:-.045em;margin:10px 0}.trades-heading p{max-width:490px;color:var(--muted);line-height:1.65}.trade-filters{margin-bottom:24px}.trade-list{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface,var(--raised))}.trade-row{display:flex;align-items:center;gap:20px;padding:22px;color:inherit;border-bottom:1px solid var(--line);transition:background .18s}.trade-row:last-child{border-bottom:0}.trade-row:hover{background:var(--raised-2)}.trade-row-pair{display:flex;align-items:center;gap:10px;flex-shrink:0}.trade-row-pair>span{display:grid;place-items:center;width:54px;height:75px;background:#070b10;border:1px solid var(--line);border-radius:7px;overflow:hidden}.trade-row-pair img{width:100%;height:100%;object-fit:contain}.trade-row-copy{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.trade-row-copy>b{font-size:16px}.trade-row-copy>span{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-row-copy small,.trade-small{color:var(--muted);font-size:12px;line-height:1.7}.trade-small{margin:20px 0}.trade-expiry{color:var(--accent);font-size:12px;line-height:1.6;margin:0}.trade-detail-heading .trade-expiry{margin-top:-2px}.trade-empty{text-align:center;padding:64px 26px;border:1px dashed var(--line);border-radius:22px;background:var(--raised);margin:22px 0}.trade-empty>span{display:inline-grid;place-items:center;width:76px;height:76px;border:1px solid var(--line);border-radius:22px;color:var(--accent);margin-bottom:12px}.trade-empty p{max-width:430px;margin:12px auto 24px;line-height:1.7;color:var(--muted)}.trade-pair{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:20px;align-items:center;margin:28px 0}.trade-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(150deg,#18232a,#10171d 70%);min-width:0}.trade-card>.label{display:block;margin-bottom:22px}.trade-card-art{display:grid;place-items:center;aspect-ratio:3/4;max-height:310px;max-width:245px;margin:0 auto 22px;filter:drop-shadow(0 16px 16px #0007)}.trade-card-art img{width:100%;height:100%;max-height:310px;object-fit:contain;border-radius:8px}.trade-card-copy h3{font-size:18px;line-height:1.35;margin:0 0 8px}.trade-card-copy p{font-size:13px;line-height:1.55;color:var(--muted);min-height:22px}.trade-card-copy small{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted)}.trade-exchange{display:grid;place-items:center;color:var(--accent);background:var(--raised);border:1px solid var(--line);height:52px;width:52px;border-radius:50%}.trade-promise{display:flex;align-items:flex-start;gap:16px;background:#15231f;border:1px solid #304b40;border-radius:16px;padding:20px;margin:20px 0}.trade-promise>svg{flex-shrink:0;margin-top:3px;color:var(--accent)}.trade-promise p{margin:0;font-size:14px;line-height:1.7}.trade-promise.complete{border-color:#56816f}.trade-actions{margin:20px 0}.trade-note{border-left:2px solid var(--accent);padding:12px 20px;margin:24px 0;white-space:pre-wrap;line-height:1.6;color:var(--muted)}.trade-shipments{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.trade-shipment{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0;background:var(--raised)}.trade-shipment>span:not(.label),.trade-shipment small{font-size:12px;color:var(--muted);line-height:1.6}.trade-tracking{overflow-wrap:anywhere}.trade-shipment a{font-size:13px;color:var(--accent)}.trade-photo-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.trade-photo-details summary{cursor:pointer;font-weight:600}.trade-evidence{display:flex;gap:10px;overflow:auto;margin:16px 0}.trade-evidence img{width:110px;height:150px;object-fit:contain;background:#070b10;border:1px solid var(--line);border-radius:8px}.trade-loading{padding:60px;text-align:center}.trade-loading .skel{display:block;max-width:500px;height:260px;margin:auto}.trade-compose h2,.trade-action-form h2{font-size:30px;letter-spacing:-.025em;margin:10px 0 16px}.trade-compose>p,.trade-action-form>p{line-height:1.7}.trade-picker{display:grid;gap:10px;margin:26px 0}.trade-pick{display:flex;align-items:center;text-align:left;gap:16px;width:100%;padding:12px;background:var(--raised);border:1px solid var(--line);border-radius:14px;color:inherit;cursor:pointer}.trade-pick:hover,.trade-pick:focus-visible{border-color:var(--accent)}.trade-pick>span:first-child{width:52px;height:72px;flex-shrink:0}.trade-pick img{width:100%;height:100%;object-fit:contain}.trade-pick>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:8px}.trade-pick small{font-size:12px;color:var(--muted)}.compose-pair{gap:12px;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr)}.compose-pair .trade-exchange{width:40px;height:40px}.trade-card.compact{padding:14px;border-radius:14px}.trade-card.compact .trade-card-art{height:170px;aspect-ratio:auto;margin-bottom:14px}.trade-card.compact .trade-card-art img{max-height:170px}.trade-card.compact h3{font-size:15px}.trade-card.compact p{font-size:12px}.trade-confirm{display:flex;align-items:flex-start;gap:12px;margin:20px 0;padding:18px;background:var(--raised);border:1px solid var(--line);border-radius:12px;font-size:13px;line-height:1.65}.trade-confirm input{flex-shrink:0;margin-top:4px;width:18px;height:18px;accent-color:var(--accent)}.trade-action-form>.field{display:block;margin:18px 0}.trade-action-card{max-width:280px;margin:22px auto}.trade-message{display:flex;flex-direction:column;gap:12px;background:#15231f;border:1px solid #304b40;padding:16px;border-radius:14px;max-width:340px;margin-bottom:10px;color:inherit}.trade-message-pair{display:grid;grid-template-columns:1fr 24px 1fr;align-items:center;gap:12px}.trade-message-pair>span{display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center}.trade-message img{width:64px;height:86px;object-fit:contain}.trade-message b{font-size:12px;line-height:1.5}.trade-message>span:not(.label){font-size:12px}.trade-message strong{display:flex;align-items:center;gap:8px;color:var(--accent);font-size:13px}.card-trade-entry{justify-content:center}.trade-action-form [hidden]{display:none!important}
@media(max-width:620px){.trades-heading,.trade-detail-heading{align-items:flex-start;flex-direction:column;gap:10px}.trade-nav{gap:4px}.trade-nav .btn{padding:8px 10px}.trade-row{padding:16px 12px;gap:12px;flex-wrap:wrap}.trade-row-pair{gap:6px}.trade-row-pair>span{width:40px;height:56px}.trade-row-copy{min-width:150px}.trade-row>.chip{margin-left:auto}.trade-row>svg{display:none}.trade-pair{gap:8px;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)}.trade-card{padding:12px;border-radius:14px}.trade-card>.label{font-size:10px;letter-spacing:.12em;margin-bottom:14px}.trade-card-art{max-height:220px;margin-bottom:14px}.trade-card-art img{max-height:220px}.trade-card-copy h3{font-size:14px}.trade-card-copy p,.trade-card-copy small{font-size:11px}.trade-card-copy .chip{font-size:10px}.trade-exchange{width:32px;height:32px}.trade-exchange svg{width:20px}.trade-shipments{grid-template-columns:1fr}.trade-actions>.btn{flex:1;min-width:140px}.trade-card.compact .trade-card-art{height:135px}.trade-promise{padding:16px;gap:12px}.trade-promise p{font-size:13px}.trade-empty{padding:40px 20px}.trade-message{max-width:290px}.trade-loading{padding:32px 0}}

/* Grid items must shrink with the compact comparison frame. */
.trade-card-art{min-height:0}.trade-card-art img{display:block;min-height:0}.trade-card.compact .trade-card-art img{height:100%;max-height:100%;min-height:0}

.trade-shipping-cost{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--raised);margin:22px 0}.trade-shipping-cost>svg{flex-shrink:0;color:var(--accent);margin-top:2px}.trade-shipping-cost b{font-size:15px;line-height:1.5}.trade-shipping-cost p{font-size:14px;line-height:1.6;margin:7px 0;color:var(--text)}.trade-shipping-cost small{display:block;font-size:12px;line-height:1.7;color:var(--muted)}.trade-progress{display:flex;gap:12px;padding:0;list-style:none;margin:24px 0}.trade-progress li{flex:1;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;font-size:12px;line-height:1.5;color:var(--muted)}.trade-progress li>span:first-child{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--raised)}.trade-progress li.done>span:first-child{background:var(--accent);border-color:var(--accent);color:#10231f}.trade-compose-step{animation:trade-step-in .24s cubic-bezier(.2,.7,.3,1) both}.trade-compose-step>.field{display:block;margin:20px 0}.trade-pick>span:nth-child(2){min-width:0;overflow-wrap:anywhere}.trade-card-copy h3{overflow-wrap:anywhere}.trade-compose-step .trade-pair{margin-top:20px}.trade-compose-step .trade-card.compact .trade-card-art{height:150px}
@keyframes trade-step-in{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.trade-compose-step{animation:none}}
.trade-compare-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.trade-compare-tabs button{flex-shrink:0;min-height:44px}
.trade-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.trade-compare-card{min-width:0;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);display:grid;align-content:start;gap:12px}
.trade-compare-card h3{overflow-wrap:anywhere}
.trade-compare-photo{display:grid;gap:10px;min-width:0;font-size:13px}
.trade-compare-photo img{display:block;object-fit:contain;width:100%;height:320px;border-radius:12px;background:var(--bg)}
.trade-compare-missing{min-height:200px;display:grid;place-content:center;color:var(--muted);text-align:center;padding:16px}
@media(max-width:600px){.trade-comparison-grid{grid-template-columns:1fr}.trade-compare-photo img{height:300px}.trade-compare-missing{min-height:100px}}

/* market-photo.css */
.collector-market.photo-market{max-width:1200px;margin:auto}.photo-market-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 16px}.photo-market-heading h1{font-size:34px;letter-spacing:-1.2px;font-weight:650}.photo-market-heading .btn{font-size:12px;min-height:42px;border-radius:8px;padding:10px 15px}.photo-market-links{display:flex;align-items:center;gap:22px;padding:0 0 20px;font-size:12px}.photo-market-links a{display:flex;gap:7px;align-items:center;color:var(--muted)}.photo-market-links a:first-child{color:var(--text)}.photo-market-links span{flex:1}.photo-market-controls{display:grid;grid-template-columns:minmax(0,1fr) auto 165px;gap:10px;align-items:center}.photo-market-controls .input-wrap{height:46px;min-width:0;background:transparent;border:1px solid var(--line-2);border-radius:8px}.photo-market-controls input{min-width:0;font-size:15px}.photo-market-controls>.btn{height:46px;border-radius:8px;gap:7px;min-width:96px}.photo-sort .input{height:46px;font-size:12px;width:100%;padding:10px;border-radius:8px}.photo-market-browse{display:flex;align-items:center;gap:22px;margin:14px 0 21px;min-height:37px;font-size:12px}.photo-market-browse select{max-width:160px;min-height:40px;font-size:12px;cursor:pointer;padding-right:20px}.photo-market-browse>button{display:flex;align-items:center;gap:7px;min-height:40px;color:var(--muted)}.photo-market-browse>button.selected{color:var(--accent)}.photo-market-browse>span{margin-left:auto;color:var(--dim);font-size:11px;white-space:nowrap}.photo-market-browse .photo-clear{font-size:11px}.photo-market .photo-market-refine{border-radius:8px;margin:0 0 25px;background:var(--surface)}.photo-market-kind{display:grid;gap:8px;margin-top:15px;font-size:12px}.photo-market .photo-market-kind .input{font-size:13px}.collector-market.photo-market .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:21px 12px}.photo-market .market-photo-tile{background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;transform:none;animation:none}.photo-market .market-photo-tile .tile-link{border-radius:4px}.photo-market .market-photo-tile .art{padding:0;aspect-ratio:1;border:0;border-radius:4px;background:#13171a;overflow:hidden}.photo-market .market-photo-tile .art img{padding:8px;max-width:100%;max-height:100%;border-radius:0;object-fit:contain;filter:none;box-shadow:none;transform:none;transition:none}.photo-market .market-photo-tile:hover .art img{transform:none}.photo-market .market-photo-tile .body{padding:10px 0 0;gap:4px}.market-photo-tile .photo-price{display:flex;align-items:baseline;justify-content:space-between;gap:6px;font-size:13px}.market-photo-tile .photo-price>b{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.4}.market-photo-tile .photo-price>span{font-size:10px;color:var(--muted);text-align:right}.photo-market .market-photo-tile .name{font-size:13px;font-weight:450;line-height:1.45;letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.photo-market .market-photo-tile .meta{font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-photo-tile .photo-seller{font-size:10px;line-height:1.5;color:var(--dim);margin-top:3px}.photo-market .market-photo-tile>.heart{display:grid;place-items:center;position:absolute;top:7px;right:7px;width:38px;min-width:38px;height:38px;min-height:38px;background:#15191cd9;border:0;border-radius:50%;color:white}.photo-market .market-photo-tile>.heart.on svg{stroke:var(--red);fill:var(--red)}.photo-nfc{position:absolute;bottom:8px;left:8px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#18261ee8;color:#b9dfc4}.photo-market-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;gap:13px}.photo-market-empty h2{font-size:24px}.photo-market-empty p{color:var(--muted);font-size:13px;line-height:1.7}.photo-market .market-main>.grid>.skel.tile{border-radius:4px;min-height:0;aspect-ratio:1}.photo-market button:focus-visible,.photo-market a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){.collector-market.photo-market .grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header .header-actions>.desktop-shop,.header .header-actions>.desktop-membership{display:none}}
@media(max-width:760px){.header .header-actions>.sell-cta{display:none}.header .header-actions>.search-btn{flex:none;width:40px;max-width:40px;padding:10px}.header .header-actions>.search-btn span,.header .header-actions>.search-btn kbd{display:none}.header .header-actions{gap:8px}.header .brand{margin-right:auto}.header .brand span{display:inline}.photo-market-heading{margin:0 0 12px}.photo-market-heading h1{font-size:28px;letter-spacing:-.9px}.photo-market-heading .btn{min-height:40px;padding:9px 12px;font-size:11px}.photo-market-links{font-size:11px;gap:17px;padding-bottom:18px;flex-wrap:wrap}.photo-market-links span{display:none}.photo-market-links a:nth-last-child(2){margin-left:auto}.photo-market-controls{grid-template-columns:minmax(0,1fr) auto;gap:9px}.photo-market-controls .market-search{grid-column:1/-1}.photo-market-controls .input-wrap input{font-size:16px}.photo-market-controls>.btn{min-width:90px;justify-self:start;height:40px;min-height:40px;font-size:12px}.photo-sort{justify-self:end;width:150px}.photo-sort .input{height:40px;min-height:40px;background:transparent;border:0;text-align:right;font-size:11px;padding-right:0}.photo-market-browse{margin:7px 0 15px;gap:17px;min-height:44px}.photo-market-browse select{max-width:115px;font-size:11px;padding-right:2px;min-height:44px}.photo-market-browse>button{font-size:11px;min-height:44px;gap:5px}.photo-market-browse>span{font-size:10px}.photo-market-browse .photo-clear{font-size:10px}.collector-market.photo-market .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}.photo-market .market-photo-tile .art{aspect-ratio:1}.photo-market .market-photo-tile .body{padding-top:8px;gap:3px}.market-photo-tile .photo-price{flex-wrap:wrap;gap:1px 8px}.market-photo-tile .photo-price>b{font-size:14px}.market-photo-tile .photo-price>span{font-size:10px}.photo-market .market-photo-tile .name{font-size:12px;line-height:1.45}.photo-market .market-photo-tile .meta{font-size:10px}.photo-market .market-photo-tile>.heart{top:4px;right:4px;width:40px;min-width:40px;height:40px;min-height:40px}.market-photo-tile .photo-seller{font-size:10px}.photo-nfc{left:6px;bottom:6px;width:23px;height:23px}.photo-market .photo-market-refine{padding:16px}.photo-market .photo-market-refine .input{font-size:16px}.tabs a[href="/gameday"] span{white-space:nowrap;font-size:10px}.tabs a[href="/gameday"][aria-current=page]{color:var(--accent)}}
@media(max-width:350px){.photo-market-links{gap:13px;font-size:10px}.photo-market-browse{gap:12px}.photo-market-browse select{max-width:95px}.header .brand span{font-size:20px}.header .header-actions{gap:5px}.header .icon-btn{width:36px;height:36px}.header .header-actions>.search-btn{width:36px;max-width:36px}}

/* The market board — StockX's above-the-fold answer: what is the cheapest ask, how
   many asks there are, where this one sits, and what anyone actually paid. */
.market-board{display:grid;gap:10px}
.market-board .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin:0}
.market-board .stat{min-width:0;padding:12px 14px;border-radius:14px;background:var(--card,var(--surface));border:1px solid var(--line,var(--line))}
.market-board .stat .label{display:block;font-size:11px;line-height:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#8A97A3)}
.market-board .stat b{display:block;font-size:22px;line-height:28px;font-variant-numeric:tabular-nums;margin-top:2px}
.market-board .stat.hero b{font-size:28px;line-height:34px}
.market-board .stat small{display:block;font-size:12px;line-height:17px;color:var(--muted,#8A97A3);margin-top:2px}
.market-board .stat small.up{color:var(--green,#5BD6A8)}
.market-board .stat small.down{color:var(--amber,#E4B363)}
.market-board .stat.spark{display:flex;flex-direction:column;justify-content:center;gap:4px}
.market-board .stat.spark svg{color:var(--green,#5BD6A8)}
.market-board .stat.spark svg.down{color:var(--red,#E4695E)}
/* The ask ladder: every other price for the same card, cheapest first. */
.ask-ladder{border:1px solid var(--line,var(--line));border-radius:14px;overflow:hidden;background:var(--card,var(--surface))}
.ask-ladder>summary{padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.ask-ladder>summary::-webkit-details-marker{display:none}
.ask-ladder>summary::after{content:'▾';float:right;color:var(--muted,#8A97A3)}
.ask-ladder[open]>summary::after{content:'▴'}
.ask-ladder>div{display:grid;gap:1px;background:var(--line,var(--line))}
.ask-row{position:relative;display:flex;align-items:baseline;gap:10px;width:100%;padding:11px 14px;border:0;background:var(--card,var(--surface));color:inherit;text-align:left;cursor:pointer;overflow:hidden}
.ask-row[disabled]{cursor:default}
.ask-row.is-this{background:rgba(124,242,212,.09)}
.ask-bar{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(124,242,212,.16),rgba(124,242,212,0))}
.ask-row b,.ask-row small{position:relative}
.ask-row b{font-size:15px;font-variant-numeric:tabular-nums;min-width:76px}
.ask-row small{font-size:12px;color:var(--muted,#8A97A3)}
.market-board .board-note{margin:0;font-size:11px;line-height:16px;color:var(--muted,#8A97A3)}
@media(max-width:520px){.market-board .stat.hero b{font-size:24px;line-height:30px}.ask-row b{min-width:66px}}
@media(prefers-reduced-motion:reduce){.ask-bar{transition:none}}

/* Cards that are playing right now, at the top of the vault. */
.vault-live{margin:0 0 16px;padding:14px;border-radius:18px;border:1px solid rgba(124,242,212,.28);background:linear-gradient(180deg,rgba(124,242,212,.09),rgba(13,17,24,.55))}
.vault-live-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.vault-live-head b{display:block;font-size:15px;line-height:21px;color:var(--text,#F3F6F7)}
.vault-live-head small{display:block;font-size:12px;line-height:17px;color:var(--muted,#8A97A3)}
.vault-live-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.vault-live-card{flex:0 0 auto;width:198px;display:grid;gap:3px;padding:11px 13px;border-radius:14px;background:var(--card,var(--surface));border:1px solid var(--line,var(--line));text-decoration:none;color:inherit}
.vault-live-card.live{border-color:rgba(228,105,94,.5)}
.vault-live-badge{display:flex;align-items:center;gap:5px;font-size:10px;line-height:14px;font-weight:800;letter-spacing:.7px;color:var(--muted,#8A97A3)}
.vault-live-card.live .vault-live-badge{color:var(--red,#E4695E)}
.vault-live-badge i{width:7px;height:7px;border-radius:4px;background:currentColor;animation:vaultLivePulse 1.8s ease-in-out infinite}
.vault-live-card b{font-size:14px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vault-live-card small{font-size:12px;line-height:17px;color:var(--muted,#8A97A3);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes vaultLivePulse{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.vault-live-badge i{animation:none}}

/* --- card finish and market motion -----------------------------------------
   The sheen is a gradient on a transform, never a filter or a blur: it
   composites on the GPU and costs the scroll nothing. Only tiles the motion
   plan chose carry .is-live, so the number of running animations is capped no
   matter how long the grid is. */
.market-photo-tile .art{position:relative;overflow:hidden}
/* soft-light, not screen. A card photo is letterboxed inside a square tile, so
   a screen-blended sheen lit up the empty space around it as grey bars — the
   foil appeared to leak out of the card. soft-light leaves black black, so the
   sheen only travels across the card itself. */
.tile-sheen{position:absolute;inset:-18%;pointer-events:none;background:var(--sheen,none);
 mix-blend-mode:soft-light;opacity:.85;transform:translate3d(-38%,0,0)}
.tile-sheen.is-live{animation:tile-sweep var(--sheen-ms,2600ms) cubic-bezier(.45,0,.55,1) infinite}
@keyframes tile-sweep{
 0%{transform:translate3d(-42%,0,0)}
 50%{transform:translate3d(42%,0,0)}
 100%{transform:translate3d(-42%,0,0)}
}
/* A finish is a printing, so it is labelled like one: quiet, factual, and only
   when the seller actually selected that printing in the catalog.

   Bottom RIGHT, because the NFC badge already owns the bottom left and the two
   were landing on top of each other. And it never takes a click: it sits inside
   the tile's link, and a label is not a target. */
.tile-finish{position:absolute;right:8px;bottom:8px;z-index:2;pointer-events:none;
 max-width:calc(100% - 46px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 padding:3px 8px;border-radius:7px;
 font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
 color:#fff;background:rgba(12,14,18,.72)}
.market-photo-tile[data-finish="flat"] .tile-finish{display:none}

/* Cached grids reattach on navigation and refresh. A CSS entrance restarts
   then, hiding already-loaded card photos. Route and press motion handle
   deliberate transitions; keep the cards themselves continuously visible. */
.market-photo-tile.is-entering{animation:none}
.market-photo-tile .tile-link{transition:transform 130ms cubic-bezier(.4,0,.2,1)}
.market-photo-tile .tile-link:active{transform:scale(.975)}
.market-photo-tile.is-sold .art{opacity:.55;filter:saturate(.35);transition:opacity 300ms,filter 300ms}

/* Everything above is decoration. Someone who has asked for less motion keeps
   the finish and loses the movement — the card still reads as foil. */
@media (prefers-reduced-motion:reduce){
 .tile-sheen.is-live{animation:none}
 .market-photo-tile.is-entering{animation:none}
 .market-photo-tile .tile-link{transition:none}
}

/* --- the seller's condition photos -----------------------------------------
   Each shot carries the name of the guide it was taken against, so "the edges"
   is a photo of the edges rather than the third picture along. Nothing here is
   styled as a seal or a grade — the note below the strip says what they are. */
.condition-summary{font-size:12px;line-height:1.6}
.condition-strip{display:flex;gap:10px;overflow-x:auto;padding:10px 0;scrollbar-width:thin}
.condition-shot{flex:0 0 104px;display:grid;gap:5px;padding:4px;border:1px solid var(--line,#2b383a);border-radius:10px;background:transparent;color:inherit;text-align:center}
.condition-shot img{width:100%;height:128px;object-fit:contain;border-radius:6px;background:#0d1214}
.condition-shot span{font-size:10px;line-height:1.4;color:var(--muted);letter-spacing:.02em}
.condition-note{font-size:11px;line-height:1.6;margin-top:4px;max-width:46ch}

/* ===========================================================================
   MARKET GRID — 2026 redesign
   ===========================================================================
   Taken from how StockX and GOAT lay out a product grid, in HoloTap's own dark
   palette rather than their white one.

   The three things that were wrong, and what each one costs a shop:

   1. The artwork sat in a SQUARE frame. A trading card is 5:7, so every tile
      threw away roughly a quarter of its height on empty space and drew the
      card smaller than it needed to be. In a shop, the product is the page.
   2. Five columns of 13px type. Dense enough to read as a spreadsheet of
      inventory rather than a shelf of things someone wants.
   3. The price — the number a buyer is actually here for — was the same size
      as everything around it.

   So: fewer, larger columns; the frame matched to the shape of a card; the
   price given the weight it earns; and everything else stepped down to make
   room for it. */

.collector-market.photo-market .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 20px}
.market-photo-tile .art{aspect-ratio:5/7;border-radius:12px;background:var(--raised);
 transition:transform var(--fast) var(--ease)}
.market-photo-tile .tile-link{border-radius:12px}
.market-photo-tile:hover .art{transform:translateY(-3px)}
.market-photo-tile .art>img{width:100%;height:100%;object-fit:contain;padding:10px}

/* The price leads, the condition sits beside it as a quiet micro-label, and the
   name and set step down from there. One clear reading order per tile. */
.market-photo-tile .body{padding-top:11px}
.market-photo-tile .photo-price{align-items:baseline;gap:10px;font-size:16px}
.market-photo-tile .photo-price b{font-size:16px;font-weight:700;letter-spacing:-.3px;
 font-variant-numeric:tabular-nums;color:var(--text)}
.market-photo-tile .photo-price span{font-size:10px;font-weight:600;letter-spacing:.06em;
 text-transform:uppercase;color:var(--dim);white-space:nowrap}
.market-photo-tile .name{font-size:14px;font-weight:550;line-height:1.4;margin-top:5px;color:var(--text)}
.market-photo-tile .meta{font-size:11px;color:var(--muted);margin-top:3px}
.market-photo-tile .photo-seller{font-size:11px;margin-top:6px}

/* Breathing room around the grid itself, and a heading that reads as a page
   title rather than a row label. */
.photo-market-heading h1{font-family:var(--display);font-size:clamp(30px,4vw,44px);letter-spacing:-1.6px}
.photo-market .market-main{margin-top:6px}
.photo-market-browse{padding-bottom:4px}

@media(max-width:1100px){
 .collector-market.photo-market .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
}
@media(max-width:760px){
 .collector-market.photo-market .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}
 .market-photo-tile .photo-price,.market-photo-tile .photo-price b{font-size:16px}
 .market-photo-tile .art>img{padding:7px}
}
@media(max-width:420px){
 .collector-market.photo-market .grid{gap:22px 12px}
 .market-photo-tile .name{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .market-photo-tile .art,.market-photo-tile:hover .art{transition:none;transform:none}
}

/* Reading order inside a tile.
   The markup order is price, name, set, seller — which puts the number first
   and the thing being sold second. Every marketplace worth copying does the
   opposite: you recognise the card, then you look at what it costs. Flexbox
   `order` fixes the reading order without touching the markup, so the price
   stays first in the DOM for anything reading the tile aloud. */
.market-photo-tile .body{display:flex;flex-direction:column;padding-top:12px;gap:0}
.market-photo-tile .name{order:1;margin:0;font-size:14px;line-height:1.35;color:var(--text)}
.market-photo-tile .meta{order:2;margin-top:3px;font-size:11px;color:var(--dim)}
.market-photo-tile .photo-price{order:3;margin-top:9px}
.market-photo-tile .photo-seller{order:4;margin-top:7px;padding-top:7px;
 border-top:1px solid var(--line);color:var(--dim)}

/* The condition is a fact about the goods, not a caption on the price. It gets
   its own weight instead of being the faint grey thing squeezed beside a number
   twice its size. */
.market-photo-tile .photo-price span{font-size:11px;font-weight:600;letter-spacing:.04em;
 text-transform:none;color:var(--muted)}

/* Less frame, more card. A 10px inset around a card that is already inside a
   tile reads as a picture in a box; the card should nearly fill its frame. */
.market-photo-tile .art{background:#0F141B;border:1px solid var(--line)}
.market-photo-tile .art>img{padding:4px}
.market-photo-tile:hover .art{border-color:var(--line-2)}

/* The save control belongs on the artwork, not floating beside it. */
.market-photo-tile .heart{top:10px;right:10px;width:34px;height:34px;border-radius:999px;
 background:rgba(8,11,16,.66);border:1px solid rgba(255,255,255,.1);color:var(--text)}
.market-photo-tile .heart.on{color:var(--accent);border-color:rgba(124,242,212,.45)}

/* The row of destinations under the title is navigation, so it should read as
   navigation rather than as four pieces of small print. */
.photo-market-links{display:flex;align-items:center;gap:var(--s-5);margin:var(--s-3) 0 var(--s-5);
 font-size:13px}
.photo-market-links a{color:var(--muted)}
.photo-market-links a:hover{color:var(--text)}
.photo-market-links span{flex:1}

/* The sales behind the number. One line per settled sale, read down. */
.sold-comps{display:grid;gap:6px;padding:12px 14px;margin-top:10px}
.sold-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.sold-head b{font-size:14px}
.sold-head small,.sold-more{font-size:11px;color:var(--dim)}
.sold-list{list-style:none;margin:0;padding:0}
.sold-list li{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line)}
.sold-list li:last-child{border-bottom:0}
.sold-list b{font-size:15px}
.sold-list span{font-size:13px}
.sold-list small{font-size:12px;color:var(--muted);text-align:right}
@media(max-width:420px){.sold-list li{grid-template-columns:70px 1fr;grid-template-rows:auto auto}.sold-list small{grid-column:2;text-align:left}}

.market-photo-tile>.seller-profile,.collector-detail .seller-profile{display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;border-top:0;padding-top:0;min-width:0}
.seller-profile .avatar{flex:0 0 28px;width:28px;height:28px;min-width:28px;border-radius:50%;overflow:hidden}.seller-profile .avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.seller-profile>span:last-child{min-width:0;overflow-wrap:anywhere}.seller-profile b{font-weight:500}
.market-photo-tile>.seller-profile:hover{color:var(--accent)}

/* game-day.css */
.game-day{--gd-ground:#101719;--gd-panel:#162023;--gd-line:#30403f;max-width:1200px;margin:auto;padding-bottom:30px}.gd-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 28px}.gd-heading h1{font-size:clamp(36px,5vw,58px);line-height:1.05;letter-spacing:-2.5px;margin:8px 0 12px}.gd-heading h1 span{color:var(--accent)}.gd-heading p{color:var(--muted);line-height:1.6}.gd-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.gd-toolbar{display:flex;align-items:center;gap:10px;margin:0 0 12px}.gd-leagues{display:flex;gap:5px;background:var(--gd-ground);border:1px solid var(--gd-line);border-radius:14px;padding:4px}.gd-leagues button{min-height:42px;padding:8px 21px;border-radius:10px;font-weight:700;font-size:12px;color:var(--muted)}.gd-leagues [aria-pressed=true]{background:#bbecdc;color:#13241f}.gd-date{margin-left:auto;min-width:0}.gd-date input{padding:12px;border:1px solid var(--gd-line);border-radius:12px;min-height:48px;font-size:14px;background:var(--gd-ground);max-width:180px}.gd-toolbar>.icon-btn{height:48px;width:48px}.gd-feed-note{font-size:12px;line-height:1.6;color:var(--muted);min-height:24px;margin-bottom:20px}.gd-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:24px;align-items:start}.gd-schedule{min-width:0;position:sticky;top:88px}.gd-schedule-heading{display:flex;align-items:center;gap:10px;justify-content:space-between;margin:0 0 14px}.gd-schedule-heading h2{font-size:14px}.gd-schedule-heading>span{color:var(--dim);font-size:12px}.gd-event-list{display:grid;gap:10px;max-height:calc(100dvh - 180px);overflow-y:auto;padding:3px;scrollbar-width:thin}.gd-event{width:100%;text-align:left;padding:14px;border-radius:15px;background:#12191c;border:1px solid #2b383a;color:var(--text)}.gd-event.selected{border-color:#aadfcd;background:#1b2a28;box-shadow:inset 3px 0 #b3e7d7}.gd-event-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:11px;color:var(--muted);font-size:10px}.gd-event-meta b{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.gd-event-team{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;font-size:13px;font-weight:600}.gd-event-team b{font-size:18px;font-variant-numeric:tabular-nums}.gd-schedule-empty{padding:18px 0;color:var(--muted);line-height:1.65;font-size:13px}.gd-schedule-empty h3{color:var(--text);margin-bottom:7px}.gd-schedule-empty button{margin-top:13px}.gd-event-room{min-width:0}.gd-scoreboard{border:1px solid #35433f;border-radius:24px;padding:24px 28px;background:linear-gradient(120deg,#26332d,#141e20 65%);overflow:hidden}.gd-match-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:11px;color:#b0bcb7}.gd-match-meta>b{text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:7px}.gd-match-meta i{width:6px;height:6px;border-radius:50%;background:currentColor}.game-day .live{color:#b7efd3}.gd-match{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;text-align:center;gap:24px;padding:26px 12px 16px}.gd-match-team{display:grid;justify-items:center;gap:10px;min-width:0}.gd-team-mark{width:57px;height:57px;display:grid;place-items:center;background:#d5e5da;color:#25362b;border-radius:18px;font-size:15px;font-weight:800;letter-spacing:-.05em;box-shadow:0 3px 0 #819c8d}.gd-match-team:last-child .gd-team-mark{background:#bfcbdc;color:#243146;box-shadow:0 3px 0 #6b7f93}.gd-match-team h2{font-size:15px;line-height:1.4;font-weight:600;min-height:21px}.gd-match-team strong{font-size:clamp(46px,6vw,68px);font-weight:650;letter-spacing:-3px;line-height:1.1;font-variant-numeric:tabular-nums}.gd-versus{color:#718680;font-size:24px;margin-top:62px}.gd-game-clock{text-align:center;font-size:12px;color:#d0ddd5;min-height:18px;margin:5px 0 16px}.gd-scoreboard>small{display:block;text-align:center;color:#a8b7af;font-size:10px;line-height:1.55;border-top:1px solid #3b4c44;padding-top:14px}.gd-room-error{color:var(--red);font-size:12px;line-height:1.6}.gd-room-error:not(:empty){padding:12px 0}.gd-cards{margin:20px 0}.gd-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.gd-section-heading h2{font-size:15px}.gd-section-heading p{color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px;max-width:48ch}.gd-section-heading .btn{flex-shrink:0}.gd-card-rail{display:flex;gap:10px;overflow-x:auto;padding:3px 3px 6px;scroll-snap-type:x proximity;scrollbar-width:thin}.gd-player-card{min-width:230px;max-width:310px;flex:1;display:flex;align-items:center;gap:11px;border:1px solid #334440;border-radius:14px;padding:10px;background:#182320;color:var(--text);scroll-snap-align:start}.gd-player-card>span:first-child{width:41px;height:57px;flex:none;overflow:hidden;border-radius:4px;transform:rotate(-4deg);border:1px solid #83998a}.gd-player-card img{width:100%;height:100%;object-fit:contain;background:#101612}.gd-player-card>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.gd-player-card b{font-size:12px}.gd-player-card small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}.gd-player-card em{color:#bbe3ce;font-size:10px;font-style:normal}.gd-card-empty{font-size:12px;color:var(--dim);padding:6px 0}.gd-linker{padding:18px;background:var(--gd-ground);border:1px solid var(--gd-line);border-radius:16px;margin-top:14px}.gd-linker>p{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:14px}.gd-linker form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gd-linker form>.btn{grid-column:1/-1;justify-self:start}.gd-linker .input{font-size:16px;width:100%}.gd-player-choice{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;width:100%;text-align:left;border-bottom:1px solid var(--gd-line)}.gd-player-choice>span:first-child{display:grid;gap:5px}.gd-player-choice b{font-size:13px}.gd-player-choice small{font-size:11px;color:var(--muted)}.gd-player-choice>span:last-child{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--accent);font-size:11px}.gd-community{border:1px solid var(--gd-line);background:var(--gd-ground);border-radius:22px;overflow:hidden}.gd-tabs{display:flex;border-bottom:1px solid var(--gd-line);padding:6px 15px 0;gap:7px;background:#17201f}.gd-tabs button{flex:1;min-height:52px;color:var(--muted);font-size:13px;font-weight:650;border-bottom:3px solid transparent}.gd-tabs [aria-selected=true]{color:#dcefe3;border-color:#bbe8d5}.gd-notice{font-size:13px;color:var(--red);line-height:1.6}.gd-notice:not(:empty){padding:15px 22px 0}.gd-panel{outline-offset:-3px;border-radius:0}.gd-chat-log{height:320px;overflow-y:auto;overscroll-behavior:contain;padding:22px;scrollbar-width:thin}.gd-message{display:flex;align-items:start;gap:11px;margin-bottom:22px}.gd-message:last-child{margin-bottom:0}.gd-message>.avatar,.gd-message>a{flex:none}.gd-message-content{min-width:0;flex:1}.gd-message-content>div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:5px}.gd-message-content a{color:var(--text);font-size:12px;font-weight:650}.gd-message time{font-size:10px;color:var(--dim)}.gd-message p{font-size:13px;color:#d0dcd6;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.gd-message-actions{position:relative;flex:none}.gd-message-actions summary{list-style:none;display:grid;place-items:center;width:32px;height:32px;color:var(--dim);cursor:pointer}.gd-message-actions summary::-webkit-details-marker{display:none}.gd-message-actions>div{position:absolute;right:0;top:32px;width:152px;padding:5px;border:1px solid #495a53;border-radius:10px;background:#202d28;box-shadow:0 8px 24px #0005;z-index:4}.gd-message-actions button{min-height:42px;width:100%;text-align:left;padding:10px;font-size:12px}.gd-chat-empty{display:flex;justify-content:center;flex-direction:column;min-height:230px;max-width:32ch;margin:auto;text-align:center;gap:10px}.gd-chat-empty p{font-size:13px;line-height:1.7;color:var(--muted)}.gd-composer{padding:16px 22px 20px;border-top:1px solid var(--gd-line)}.gd-composer textarea{display:block;width:100%;min-height:58px;max-height:140px;resize:vertical;font-size:16px;line-height:1.6;border:1px solid #3f5249;padding:12px;border-radius:12px;background:#17221e}.gd-composer>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:11px}.gd-composer small{font-size:10px;color:var(--dim);max-width:33ch;line-height:1.6}.gd-composer .btn{min-height:44px;gap:10px}.gd-confirm{padding:20px;margin:18px 22px;border:1px solid #697b70;border-radius:14px;background:#202c26;display:grid;gap:13px}.gd-confirm p{font-size:12px;line-height:1.6;color:var(--muted)}.gd-confirm .row{flex-wrap:wrap}.gd-poll,.gd-trivia{padding:28px}.gd-poll h2,.gd-trivia>h2{font-size:22px;margin:8px 0 10px;line-height:1.25}.gd-poll>p,.gd-trivia>p{color:var(--muted);font-size:13px;line-height:1.6}.gd-poll-options{display:grid;gap:12px;margin:26px 0 20px}
/* Said once, under the options, when voting has shut at first pitch. */
.gd-poll-closed{font-size:13px;line-height:1.6;color:var(--warn,#f0c987);margin-top:4px}.gd-poll-options button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden;border:1px solid #42564b;border-radius:14px;min-height:76px;padding:17px;text-align:left;isolation:isolate}.gd-vote-fill{position:absolute;left:0;top:0;bottom:0;background:#273d31;z-index:-1}.gd-poll-options button>span:not(.gd-vote-fill){display:flex;gap:12px;align-items:center}.gd-poll-options b{font-size:14px}.gd-poll-options strong{display:grid;gap:3px;text-align:right;font-size:20px;font-variant-numeric:tabular-nums}.gd-poll-options strong small{font-size:10px;color:var(--muted);font-weight:400}.gd-poll-options [aria-pressed=true]{border-color:#c0e7d4}.gd-poll>small,.gd-trivia>small{font-size:11px;color:var(--muted);line-height:1.6}.gd-trivia-list{display:grid;gap:25px;margin:26px 0}.gd-question{display:flex;align-items:start;gap:16px;border-top:1px solid var(--gd-line);padding-top:24px}.gd-question-number{font-variant-numeric:tabular-nums;color:#96b7a5;font-size:11px;padding-top:3px;flex:none}.gd-question>div:last-child{flex:1;min-width:0}.gd-question h3{font-size:15px;line-height:1.6;margin-bottom:14px}.gd-answer-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.gd-answer-options button{padding:12px;border:1px solid #3f5147;border-radius:11px;text-align:left;font-size:12px;line-height:1.55;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:10px}.gd-answer-options .correct{border-color:#b2dcca;background:#294035;color:#daf5e3}.gd-answer-options .incorrect{border-color:#b58680;background:#352522}.gd-answer-result{margin-top:13px;line-height:1.7;font-size:12px;color:#c1d8ca}.gd-empty{display:grid;justify-items:center;align-content:center;gap:15px;min-height:370px;padding:35px;text-align:center;border:1px solid var(--gd-line);border-radius:24px;background:var(--gd-ground)}.gd-empty>span{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#24352b;color:#bbdfc9}.gd-empty p{max-width:35ch;font-size:13px;line-height:1.8;color:var(--muted)}.gd-error{color:var(--red)!important}.game-day button:disabled{opacity:.5;cursor:default}.game-day button:focus-visible,.game-day a:focus-visible{outline:2px solid #bbebd7;outline-offset:3px}.game-day button:active:not(:disabled){transform:translateY(1px)}.home-game-day{display:flex;align-items:center;gap:16px;padding:18px 20px;margin-bottom:24px;background:#1b2924;border:1px solid #3d5548;border-radius:18px;color:var(--text)}.home-game-day>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#bde8d4;color:#233c2d}.home-game-day>div{flex:1}.home-game-day b{display:block;font-size:16px}.home-game-day small{display:block;color:#b8cdc0;font-size:12px;margin-top:4px}.player-game .player-game-day{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #36483f;color:#bee8d4;padding-top:13px;margin-top:15px;font-size:12px;font-weight:650}.gd-live-trivia{padding:26px 28px;border-bottom:1px solid var(--gd-line);display:grid;gap:10px}.gd-live-trivia.open{background:#16241f}.gd-live-trivia .gd-trivia-list{margin:8px 0 0}.gd-live-trivia .gd-question:first-child{border-top:0;padding-top:0}.gd-live-trivia .gd-question h3{margin-bottom:10px}.gd-fine{font-size:11px;line-height:1.7;color:var(--muted);font-variant-numeric:tabular-nums}.gd-live-trivia>.label{color:#bbe8d5}
@media(max-width:760px){.game-day{padding-bottom:18px}.gd-heading{margin:4px 0 23px;align-items:start;gap:12px}.gd-heading .btn{padding:10px;font-size:11px;min-height:42px}.gd-heading .btn svg{display:none}.gd-heading p{font-size:13px;max-width:30ch}.gd-heading h1{font-size:40px;letter-spacing:-2px}.gd-heading .label{font-size:10px}.gd-toolbar{flex-wrap:wrap;gap:8px}.gd-leagues{flex:1 0 100%}.gd-leagues button{flex:1;padding:8px 13px}.gd-date{margin-left:0;flex:1}.gd-date input{max-width:none;width:100%;font-size:16px}.gd-toolbar>.icon-btn{width:46px;height:46px}.gd-feed-note{font-size:11px;margin:7px 0 18px}.gd-layout{display:flex;flex-direction:column;gap:17px}.gd-schedule{position:static;width:100%}.gd-schedule-heading{margin-bottom:8px}.gd-schedule-heading h2{font-size:12px}.gd-event-list{display:flex;overflow-x:auto;overflow-y:visible;max-height:none;margin:0 -3px;padding:3px 3px 9px;scroll-snap-type:x proximity;scrollbar-width:none}.gd-event{flex:0 0 145px;padding:12px;scroll-snap-align:start}.gd-event-team{font-size:12px}.gd-event-team b{font-size:16px}.gd-event.selected{box-shadow:inset 0 -3px #b3e7d7}.gd-event-room{width:100%}.gd-scoreboard{padding:20px 17px 16px;border-radius:20px}.gd-match-meta{align-items:start;font-size:10px;gap:12px}.gd-match-meta>span{max-width:65%;text-align:right;line-height:1.7}.gd-match{gap:9px;padding:20px 0 10px}.gd-match-team h2{font-size:12px;min-height:34px;line-height:1.4}.gd-match-team strong{font-size:48px}.gd-team-mark{width:47px;height:47px;font-size:12px;border-radius:14px}.gd-game-clock{font-size:10px}.gd-scoreboard>small{font-size:10px}.gd-section-heading{align-items:start;gap:12px}.gd-section-heading h2{font-size:13px}.gd-section-heading p{font-size:10px;max-width:29ch}.gd-section-heading .btn{padding:8px;min-height:40px;font-size:10px;gap:4px}.gd-card-empty{font-size:11px}.gd-cards{margin:17px 0}.gd-community{border-radius:18px}.gd-tabs{padding:0 10px}.gd-tabs button{min-height:49px}.gd-chat-log{height:285px;padding:18px 15px}.gd-message{gap:9px;margin-bottom:19px}.gd-message-content>div{gap:5px}.gd-message time{font-size:10px}.gd-message p{font-size:12px}.gd-message-actions summary{width:28px;height:32px}.gd-composer{padding:14px}.gd-composer>div{gap:10px}.gd-composer small{max-width:24ch;font-size:10px}.gd-confirm{margin:15px;padding:15px}.gd-poll,.gd-trivia{padding:22px 18px}.gd-live-trivia{padding:18px 15px}.gd-live-trivia .gd-answer-options{grid-template-columns:1fr}.gd-poll h2,.gd-trivia>h2{font-size:20px}.gd-poll-options b{font-size:12px}.gd-question{gap:10px}.gd-answer-options{grid-template-columns:1fr}.gd-question h3{font-size:14px}.gd-empty{min-height:300px;padding:28px 20px}.gd-linker{padding:14px}.gd-linker form{grid-template-columns:1fr}.home-game-day{padding:16px;margin-bottom:20px;gap:12px}.home-game-day small{font-size:11px}.home-game-day b{font-size:15px}}
@media(max-width:370px){.gd-leagues{flex-basis:100%}.gd-leagues button{padding-left:12px;padding-right:12px}.gd-heading-actions{gap:6px}.gd-heading .btn{padding:9px 10px;font-size:11px;min-height:44px}.gd-section-heading .btn{max-width:95px;white-space:normal}.gd-match-team strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){.game-day *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.gd-chat-update{padding:15px 22px 0;font-size:10px;color:var(--dim);line-height:1.5}

/* Put the score and conversation first; cards stay one tap away. */
.game-day{max-width:1040px}
.gd-heading{margin:3px 0 16px;gap:16px}
.gd-heading h1{font-size:32px;line-height:1.15;letter-spacing:-1px;margin:0 0 5px}
.gd-heading p{font-size:13px;line-height:1.5;margin:0}
.gd-heading .btn{min-height:44px}
.game-day .gd-hub-navigation{margin-bottom:15px;gap:25px}
.gd-toolbar{gap:8px;flex-wrap:wrap}
.gd-day-navigation{display:flex;align-items:center;gap:5px;margin-left:auto}
.gd-day-navigation .icon-btn{width:44px;min-width:44px;min-height:44px;font-size:24px;line-height:1}
.gd-today{min-height:44px;padding:8px;font-size:12px;font-weight:600}
.gd-date{margin:0}.gd-date input{padding:8px;min-height:44px;max-width:150px;font-size:13px;border-color:transparent;background:transparent}
.gd-feed-note{font-size:11px;min-height:0;margin:0 0 12px}.gd-feed-note:empty{display:none}
.gd-layout{grid-template-columns:210px minmax(0,1fr);gap:18px}
.gd-event-list{gap:7px}.gd-event{padding:12px;border-radius:12px;background:transparent}
.gd-scoreboard{padding:14px 17px;border-radius:15px;background:var(--gd-ground);border-color:var(--gd-line)}
.gd-match-meta{gap:10px;font-size:11px}.gd-match-meta>span{line-height:1.4}
.gd-match{display:grid;grid-template-columns:1fr;gap:7px;padding:13px 0 10px;text-align:left}
.gd-match-team{display:grid;grid-template-columns:35px minmax(0,1fr) auto;gap:10px;align-items:center;justify-items:start}
.gd-team-mark,.gd-match-team:last-child .gd-team-mark{width:35px;height:32px;border-radius:8px;font-size:10px;letter-spacing:0;background:#263530;color:#d7e5df;box-shadow:none}
.gd-match-team h2{font-size:15px;line-height:1.4;min-height:0;margin:0}
.gd-match-team strong{font-size:30px;line-height:1.15;letter-spacing:-.5px;justify-self:end}
.gd-scoreboard>small{padding-top:8px;font-size:10px;text-align:left;border-color:var(--gd-line);line-height:1.5}
.gd-community{margin-top:13px;border-radius:15px;background:transparent}
.gd-tabs{padding:0 10px;background:transparent;gap:5px}.gd-tabs button{min-height:45px}
.gd-chat-update{padding:12px 17px 0;font-size:10px}
.gd-chat-log{height:320px;padding:15px 17px}.gd-message{margin-bottom:18px}.gd-message p{font-size:14px;line-height:1.65}.gd-message-content a{font-size:12px}.gd-message-actions summary{width:36px;height:36px}
.gd-chat-empty{min-height:180px;gap:6px}.gd-chat-empty p{line-height:1.5}
.gd-composer{padding:12px 15px}.gd-composer textarea{min-height:48px;line-height:1.4;padding:11px}.gd-composer>div{margin-top:8px}.gd-composer small:empty{display:none}.gd-composer .btn{margin-left:auto}
.gd-cards{margin:10px 0 18px;border-top:1px solid var(--gd-line);padding-top:5px}
.gd-section-heading{margin:0;gap:12px}.gd-card-toggle{display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--muted);text-align:left}.gd-card-toggle>span{font-size:16px;margin-left:6px}
.gd-section-heading .btn{font-size:12px;min-height:44px;gap:5px}.gd-card-note{font-size:11px;line-height:1.6;color:var(--muted);margin:7px 0 12px}.gd-find-player{display:flex;align-items:center;gap:9px;min-height:44px;font-size:12px;color:var(--accent);text-align:left}
.gd-poll,.gd-trivia{padding:20px}.gd-poll h2,.gd-trivia>h2{font-size:20px}.gd-poll-options{margin:18px 0 13px;gap:9px}.gd-poll-options button{min-height:60px;padding:13px}.gd-poll-options strong{font-size:20px}.gd-trivia-list{margin:18px 0;gap:18px}.gd-question{padding-top:17px}
.gd-empty{min-height:230px;padding:25px;border-radius:15px}.gd-empty>span{width:43px;height:43px;border-radius:12px}.gd-empty p{line-height:1.6}
@media(max-width:760px){
 .gd-heading{margin-bottom:12px;align-items:center}.gd-heading h1{font-size:28px;letter-spacing:-.8px}.gd-heading p{font-size:12px}.gd-heading .btn{display:inline-flex;font-size:11px;padding:8px;min-height:44px}.gd-heading .btn svg{display:block;width:16px}
 .game-day .gd-hub-navigation{gap:22px;margin-bottom:12px}.game-day .gd-hub-navigation button{min-height:44px;font-size:13px}.game-day .gd-hub-navigation>a{font-size:11px}
 .gd-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 44px}.gd-toolbar>.icon-btn{grid-column:2;grid-row:1}.gd-leagues{grid-column:1;min-width:0;flex-basis:100%;border-radius:11px;padding:2px}.gd-leagues button{min-width:0;min-height:44px;padding:7px 8px}.gd-day-navigation{grid-column:1/-1;margin-left:0;flex:1;justify-content:space-between;gap:2px}.gd-date{flex:0 1 auto}.gd-date input{max-width:150px;font-size:14px;width:100%}.gd-day-navigation .icon-btn{width:44px}.gd-toolbar>.icon-btn{width:44px;min-height:44px}
 .gd-layout{gap:11px}.gd-event-list{gap:8px;padding-bottom:7px}.gd-event{flex-basis:144px;padding:10px}.gd-event-meta{margin-bottom:7px}.gd-event-team{margin-top:5px}.gd-event-team b{font-size:18px}.gd-schedule-heading{margin-bottom:5px}
 .gd-scoreboard{padding:12px 14px;border-radius:13px}.gd-match-meta{font-size:10px}.gd-match-meta>span{max-width:72%}.gd-match{gap:6px;padding:9px 0}.gd-match-team{grid-template-columns:32px minmax(0,1fr) auto;gap:9px}.gd-team-mark,.gd-match-team:last-child .gd-team-mark{width:32px;height:30px}.gd-match-team h2{font-size:14px;min-height:0}.gd-match-team strong{font-size:28px}.gd-scoreboard>small{font-size:10px;padding-top:7px}
 .gd-chat-log{height:300px;padding:14px}.gd-chat-update{padding-left:14px}.gd-message p{font-size:14px}.gd-composer{padding:11px}.gd-cards{margin-top:9px}.gd-section-heading .btn{max-width:none;white-space:nowrap;font-size:11px}.gd-card-toggle{font-size:12px}.gd-poll,.gd-trivia{padding:18px 15px}.gd-poll-options b{font-size:14px}
}
@media(max-width:370px){.gd-heading .btn{display:inline-flex}.gd-day-navigation .icon-btn{width:44px}.gd-date input{max-width:137px;padding-left:3px;padding-right:3px}.gd-today{padding:5px;font-size:11px}.gd-match-team strong{font-size:26px}}

/* Stable-size team artwork, short navigation feedback, and owned player cards. */
.gd-brand{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-bottom:5px}.gd-brand img{object-fit:contain}
.gd-team-mark{position:relative;overflow:hidden;flex:none}.gd-team-mark img{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;opacity:0}.gd-team-mark.logo-loaded img{opacity:1}.gd-team-mark.logo-loaded>span{visibility:hidden}
.gd-event-team>.gd-team-mark{width:24px;height:24px;min-width:24px;font-size:10px;border-radius:6px}.gd-event-team>span:nth-child(2){flex:1}.gd-event-team{gap:7px}
.gd-scoreboard{animation:none}.gd-opening{min-height:110px;padding:15px;margin-top:12px}.gd-opening>span{display:none}
@keyframes gd-score-arrive{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.gdp-owned-collection{margin:6px 0 24px}.gdp-owned-collection h2{font-size:22px;letter-spacing:-.5px}.gdp-owned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.gdp-owned-card{min-width:0;padding-bottom:16px;border-bottom:1px solid var(--line)}.gdp-owned-card>a{display:flex;align-items:center;gap:12px;color:var(--text)}.gdp-owned-card>a>span{width:72px;height:101px;flex:none;display:block}.gdp-owned-card img{width:100%;height:100%;object-fit:contain;border-radius:6px}.gdp-owned-card>a>b{font-size:13px;line-height:1.5}.gdp-owned-link{display:grid;gap:4px;margin-top:9px}.gdp-owned-link>button{display:grid;text-align:left;gap:4px;min-height:44px;font-size:13px}.gdp-owned-link small{font-size:11px;color:var(--muted)}.gdp-owned-game{color:var(--accent);position:relative;padding-right:20px}.gdp-owned-game svg{position:absolute;right:0;top:12px}.gdp-connect-card{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--accent);margin-top:6px}
@media(max-width:760px){.gdp-owned-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 13px}.gdp-owned-card>a{flex-direction:column;align-items:flex-start;gap:8px}.gdp-owned-card>a>span{width:100%;height:150px}.gdp-owned-card img{object-position:left}.gdp-owned-collection h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.gd-scoreboard{animation:none}}

/* Score feed: compact matchups, one deliberate entry into a game, and readable type. */
.game-day{--gd-ground:#0e1318;--gd-panel:#161c22;--gd-line:#2a333c;max-width:1160px}
.gd-heading{padding:4px 0 18px;align-items:center;margin:0;overflow:visible}
.gd-heading>div{min-width:0;overflow:visible}.gd-heading h1{line-height:1.3;font-size:32px;font-weight:750;padding:2px 0;letter-spacing:-1px;overflow:visible}.gd-heading p{color:#9ba6b2;font-size:13px;line-height:1.6}.gd-brand{margin-bottom:3px}
.game-day .gd-hub-navigation{gap:28px;align-items:stretch;border-bottom:0;margin-bottom:18px}.game-day .gd-hub-navigation button{min-height:48px;font-size:15px;padding-block:10px;line-height:1.5}
.gd-toolbar{display:flex;align-items:center;gap:12px}.gd-leagues{background:transparent;border:0;box-shadow:none;padding:0;gap:7px}.gd-leagues button{border-radius:9px;background:var(--gd-panel);min-height:44px;padding:10px 21px;font-size:13px}.gd-leagues [aria-pressed=true]{color:#91d7da;background:#203239}
.gd-date-strip{display:flex;gap:6px;max-width:540px;margin:6px 0 19px}.gd-date-strip button{flex:1;min-height:64px;border-radius:11px;display:grid;place-content:center;gap:4px;color:#a6b0bd}.gd-date-strip button small{font-size:11px;line-height:16px}.gd-date-strip button b{font-size:20px;line-height:27px;color:var(--text);font-variant-numeric:tabular-nums}.gd-date-strip [aria-pressed=true]{background:#203239}.gd-date-strip [aria-pressed=true] b,.gd-date-strip [aria-pressed=true] small{color:#91d7da}
.gd-feed-note{font-size:11px;color:#8e9aaa;line-height:18px}.gd-layout{display:block}.gd-schedule{position:static}.gd-schedule-heading{display:none}.gd-event-list{display:block;padding:0;max-height:none;overflow:visible}.gd-game-group{margin:0 0 24px}.gd-group-title{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;line-height:21px;color:#a3afbb;margin:0;padding:10px 0}.gd-group-title>span{font-size:11px;font-weight:400;color:#8e9aaa}.game-day .live{color:#91d7da}
.gd-game-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;border-top:1px solid var(--gd-line)}
.gd-event{display:flex;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--gd-line);border-radius:0;background:transparent;padding:16px 6px;box-shadow:none;min-width:0;transition:background 150ms ease,transform 150ms ease}.gd-event:hover{background:#182128}.gd-event.selected{box-shadow:none;border-color:var(--gd-line);background:#1b292f}.gd-event-teams{flex:1;min-width:0;display:grid;gap:10px}.gd-event-team{margin:0;font-size:14px;line-height:21px;gap:10px}.gd-event-team>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere;white-space:normal}.gd-event-team b{font-size:22px;line-height:30px;min-width:32px;text-align:right}.gd-event-status{width:86px;flex:none;display:grid;justify-items:end;gap:5px;text-align:right}.gd-event-status>b{font-size:10px;letter-spacing:.4px;text-transform:uppercase;line-height:16px;color:#a2aebb}.gd-event-status>small{font-size:11px;line-height:17px;color:#9faab7}.gd-join{display:flex;gap:7px;color:#8593a4;margin-top:4px}
.gd-event .gd-team-mark{flex:none;width:33px;height:33px;background:transparent!important;box-shadow:none!important;border:0}.gd-event-room{display:none}.gd-room-open .gd-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px}.gd-room-open .gd-schedule{position:sticky;top:92px}.gd-room-open .gd-event-list{max-height:calc(100dvh - 170px);overflow-y:auto;scrollbar-width:thin;padding-right:5px}.gd-room-open .gd-game-group>div{grid-template-columns:1fr}.gd-room-open .gd-event{padding:12px 4px;gap:10px}.gd-room-open .gd-event-team{font-size:12px;gap:7px}.gd-room-open .gd-event-status{width:66px}.gd-room-open .gd-event-room{display:block}.gd-back{min-height:44px;font-size:13px;font-weight:600;color:#9ddfe0;margin-bottom:8px;padding:8px 0}
.gd-scoreboard{border-radius:18px;background:var(--gd-panel);border:1px solid var(--gd-line);padding:17px}.gd-match-meta{justify-content:center;gap:10px;color:#9faab7}.gd-match{grid-template-columns:1fr 1fr;gap:22px;padding:18px 0 12px;text-align:center}.gd-match-team{display:flex;flex-direction:column;gap:7px}.gd-match-team .gd-team-mark,.gd-match-team:last-child .gd-team-mark{width:48px;height:48px;background:transparent;box-shadow:none}.gd-match-team .gd-team-mark img{width:42px;height:42px}.gd-match-team h2{font-size:14px;line-height:21px;min-height:21px}.gd-match-team strong{font-size:44px;line-height:52px;font-weight:700;letter-spacing:-1px}.gd-scoreboard>small{font-size:10px;line-height:17px;border:0;padding-top:4px;color:#8e9aaa;text-align:center}
.gd-community{border:0;border-radius:0;background:transparent;margin-top:14px}
/* The room panel drew a wall and then set every tab's text against it: Live,
   Cards, Stats, Poll and Trivia all rendered edge to edge at 840px wide, so a
   question number sat on the border. The inset belongs here, once, rather than
   on each tab's own content — except the conversation, which manages its own
   because the log scrolls and the composer is a full-bleed bar that has to
   reach the panel edges to sit flush at the bottom. */
.gd-panel{padding-inline:24px}
.gd-panel:has(.gd-chat-log){padding-inline:0}
@media(max-width:760px){.gd-panel{padding-inline:16px}}.gd-tabs{padding:0;border-bottom:1px solid var(--gd-line);gap:0}.gd-tabs button{min-height:48px;border-bottom-width:2px;font-size:14px}.gd-tabs [aria-selected=true]{color:#b4e5e5;border-color:#91d7da}.gd-chat-log{height:min(52dvh,430px);padding:20px 24px}
/* A conversation reads as a column, not as a band stretched across the room.
   Each row is held to a readable measure and centred, so a two-word message
   does not sit alone at the far left of a 740px panel. */
.gd-chat-log>*{max-width:64ch;margin-inline:auto}.gd-message p{font-size:15px;line-height:24px;color:#d4dce5}.gd-message-content a{font-size:13px;line-height:20px}.gd-message time{font-size:11px;line-height:18px}.gd-chat-update{padding:13px 2px 0;color:#8290a0}/* The composer stays at the bottom of the room instead of scrolling away up
   the page: on a busy game you had to scroll past the whole conversation to
   reach the box you wanted to type in. */
.gd-composer{border-color:var(--gd-line);position:sticky;bottom:0;z-index:2;background:var(--gd-panel);padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px))}
.gd-composer>*,.gd-composer textarea{max-width:64ch;margin-inline:auto}.gd-composer textarea{background:var(--gd-panel);border-color:var(--gd-line);border-radius:18px;min-height:48px;font-size:16px;line-height:24px}.gd-poll,.gd-trivia{padding:22px 0}.gd-poll-options button{background:var(--gd-panel);border-color:var(--gd-line)}.gd-vote-fill{background:#25434b}.gd-answer-options button{border-color:var(--gd-line)}.gd-cards{margin:12px 0 18px;border-color:var(--gd-line)}.gd-player-card{background:var(--gd-panel);border-color:var(--gd-line)}
@media(max-width:880px){.gd-game-group>div{grid-template-columns:1fr}.gd-room-open .gd-layout{display:block}.gd-room-open .gd-schedule{display:none}.gd-room-open .gd-toolbar,.gd-room-open .gd-date-strip,.gd-room-open>.gd-feed-note{display:none}.gd-room-open .gd-event-room{display:block}}
@media(max-width:760px){.gd-heading h1{font-size:28px;line-height:38px}.gd-heading{padding:0 0 12px}.game-day .gd-hub-navigation{gap:24px;margin-bottom:14px}.gd-toolbar{display:flex;flex-wrap:wrap;gap:8px}.gd-leagues{flex:1;display:flex}.gd-leagues button{flex:1;padding:8px 12px}.gd-day-navigation{order:3;width:100%;justify-content:space-between;margin:0}.gd-date-strip{max-width:none;margin-top:0}.gd-event{padding:14px 0}.gd-event-team{font-size:14px}.gd-event-status{width:77px}.gd-match-team h2{font-size:13px;line-height:20px}.gd-chat-log{height:310px}.gd-chat-update{font-size:11px}.gd-message p{font-size:15px}.gd-composer{padding:13px 0}.gd-back{margin:0 0 8px}.gd-community{border-radius:0}.gd-room-open .gd-game-group>div{border:0}}
@media(prefers-reduced-motion:reduce){.gd-event{transition:none}}

@media(max-width:880px){.game-day:has(.gd-room-open) .gd-brand,.game-day:has(.gd-room-open) .gd-heading p,.game-day:has(.gd-room-open) .gd-hub-navigation{display:none}.game-day:has(.gd-room-open) .gd-heading{padding-bottom:0}.gd-room-open .gd-match{padding-top:10px}.gd-room-open .gd-match-team strong{font-size:34px;line-height:45px}}
/* A game room keeps the matchup close to the live conversation. */
.gd-live-filter{margin-left:auto;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:22px;font-size:12px;white-space:nowrap}.gd-live-filter i{width:6px;height:6px;border-radius:50%;background:#83d3bc}.gd-live-filter[aria-pressed=true]{border-color:#40756b;background:#203b35;color:#b7ead9}
.gd-sticky-room{position:sticky;top:76px;z-index:4;background:var(--bg,#101416);padding-bottom:10px;border-bottom:1px solid var(--border,#30383a)}
.gd-live-scoreboard{padding:14px 16px 8px!important;border-radius:16px!important}.gd-score-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:8px 0}.gd-score-side{display:flex;align-items:center;gap:10px;min-width:0}.gd-score-side>span:not(.gd-team-mark){font-size:14px;font-weight:700;min-width:0;overflow-wrap:anywhere}.gd-score-side strong{margin-left:auto;font-size:32px;line-height:1.2;letter-spacing:-1px;font-variant-numeric:tabular-nums}.gd-live-scoreboard small{display:block;font-size:10px;color:var(--muted);line-height:1.5}.gd-connection{display:flex;align-items:center;gap:6px;padding:7px 16px 0;font-size:11px;line-height:16px;color:var(--muted)}.gd-connection i{width:5px;height:5px;border-radius:50%;background:#9caaa7}.gd-connection.connected i{background:#83d3bc}
.gd-quick-poll{padding:14px;background:var(--surface,#1a2124);border:1px solid var(--border,#30383a);border-radius:16px;margin:0 0 14px}.gd-quick-poll>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gd-quick-poll small{color:var(--muted);font-size:11px}.gd-quick-poll>div:first-child button{margin-left:auto;background:transparent;color:#9fddca;font-size:12px;min-height:40px;padding:0 8px}.gd-quick-poll h3{font-size:15px;line-height:22px;margin:0 0 10px;letter-spacing:0}.gd-quick-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.gd-quick-options button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:10px 12px;background:var(--bg,#101416);border:1px solid var(--border,#30383a);border-radius:12px;color:var(--text,#f3f6f5);text-align:left}.gd-quick-options button b{font-size:12px;line-height:18px;overflow-wrap:anywhere}.gd-quick-options button span{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.gd-quick-options button[aria-pressed=true]{border-color:#83d3bc;background:#203b35}
.gd-panel .gd-new-messages{display:block;margin:8px auto;min-height:44px;padding:10px 18px;background:#a7e3d0;color:#10221c;border-radius:24px;font-size:13px;font-weight:650}.gd-panel .gd-new-messages[hidden]{display:none}.gd-score-moment{display:flex;align-items:center;gap:8px;margin:10px 0;padding:10px 14px;border-radius:12px;background:#203b35;color:#b7ead9;font-size:12px;line-height:18px;animation:gd-moment-in .22s ease-out}.gd-chat-log{scroll-behavior:auto;overscroll-behavior:contain}.gd-quick-options button{transition:background .18s,border-color .18s,transform .18s}.gd-quick-options button:active{transform:scale(.97)}
@keyframes gd-moment-in{from{opacity:.3;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:700px){.gd-sticky-room{top:0}.gd-room-open .gd-event-room{overflow:visible}.gd-score-line{gap:20px}.gd-score-side{gap:6px}.gd-score-side strong{font-size:28px}.gd-live-scoreboard{padding:10px 12px 6px!important}.gd-room-open .gd-chat-log{min-height:160px;max-height:45dvh}.gd-room-open .gd-heading{margin:0}.gd-quick-poll{padding:10px}.gd-quick-options button{padding:8px}.gd-quick-options button b{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gd-score-moment{animation:none}.gd-quick-options button{transition:none}}
.gd-feed-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.gd-feed-toolbar .gd-feed-note{margin:0}.gd-room-open>.gd-toolbar,.gd-room-open>.gd-date-strip,.gd-room-open>.gd-feed-note{display:none}.game-day:has(.gd-room-open)>.gd-hub-navigation{display:none}.game-day:has(.gd-room-open)>.gd-heading{margin-bottom:18px;padding-bottom:0}.game-day:has(.gd-room-open)>.gd-heading h1{font-size:24px;line-height:32px}.game-day:has(.gd-room-open)>.gd-heading p{display:none}.gd-room-open .gd-layout{margin-top:0}

/* Live delivery — a message you just sent is on screen before the server answers,
   and says plainly whether it landed. */
.gd-message.sending{opacity:1}
.gd-message.failed .gd-message-content p{color:#FFC6BE}
.gd-sending{font-size:11px;color:var(--muted,#8A97A3)}
.gd-retry{appearance:none;border:0;border-radius:8px;padding:3px 8px;min-height:24px;font:700 11px/1 inherit;color:#FFAAA0;background:#3A2225;cursor:pointer}
.gd-retry:hover{background:#4A2A2E}
.gd-retry:focus-visible{outline:2px solid #FFAAA0;outline-offset:2px}
/* A score that counts up and flashes reads as the game moving, not a page refresh. */
.gd-score-value{font-variant-numeric:tabular-nums;transition:color .25s ease,text-shadow .25s ease}
.gd-score-value.gd-score-pop{color:var(--accent);text-shadow:0 0 18px rgba(124,242,212,.55);animation:gdScorePop 1.2s cubic-bezier(.2,.8,.2,1)}
@keyframes gdScorePop{0%{transform:scale(1)}22%{transform:scale(1.12)}100%{transform:scale(1)}}
/* Your cards in this game — the connection stated on entry, not hidden behind a toggle. */
.gd-owned{margin:0 0 12px;padding:12px;border-radius:16px;background:linear-gradient(180deg,rgba(124,242,212,.09),rgba(13,17,24,.6));border:1px solid rgba(124,242,212,.28)}
.gd-owned-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:10px}
.gd-owned-head b{font-size:14px;line-height:20px;color:#F3F6F7}
.gd-owned-head small{font-size:12px;line-height:18px;color:#8A97A3}
.gd-owned-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.gd-owned-card{display:flex;align-items:center;gap:9px;flex:0 0 auto;max-width:220px;padding:8px 12px 8px 8px;border-radius:13px;background:var(--surface);border:1px solid var(--line);text-decoration:none}
.gd-owned-card.linked{border-color:rgba(124,242,212,.45)}
.gd-owned-card>span:first-child{width:34px;height:47px;border-radius:6px;overflow:hidden;flex:0 0 auto;display:block}
.gd-owned-card>span:first-child img{width:100%;height:100%;object-fit:cover}
.gd-owned-card b{display:block;font-size:13px;line-height:17px;color:#F3F6F7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.gd-owned-card small{display:block;font-size:11px;line-height:15px;color:#8A97A3;margin-top:1px}
/* Fan pulse as a sentiment market: a bar, a percentage, a delta. Never odds, never a payout. */
.gd-market-options{display:grid;gap:8px;margin:12px 0}
.gd-market-options button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:#F3F6F7;cursor:pointer;overflow:hidden;text-align:left}
.gd-market-options button.mine{border-color:rgba(124,242,212,.55)}
.gd-market-options button[disabled]{cursor:default;opacity:.8}
.gd-market-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(124,242,212,.24),rgba(47,127,214,.16));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.gd-market-label,.gd-market-figure{position:relative;display:flex;align-items:center;gap:6px;min-width:0}
.gd-market-label b{font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-market-figure{flex-direction:column;align-items:flex-end;gap:1px;flex:0 0 auto}
.gd-market-figure strong{font-size:16px;line-height:22px;font-variant-numeric:tabular-nums}
.gd-market-figure small{font-size:11px;line-height:15px;color:#8A97A3;font-variant-numeric:tabular-nums}
.gd-market-note{display:block;margin-top:4px;font-size:11px;line-height:16px;color:#8A97A3}
@media(prefers-reduced-motion:reduce){.gd-score-value.gd-score-pop{animation:none}.gd-market-fill{transition:none}}

/* A collection-aware scoreboard. Each game is one clear tap target. */
.game-day{--gd-panel:#151b22;--gd-line:#2a333d}
.gd-game-group>div{border:0;gap:12px;align-items:start}
.game-day .gd-event{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:0;background:var(--gd-panel);border:1px solid var(--gd-line);border-radius:18px;padding:16px;text-align:left;min-width:0;transition:background 160ms ease,transform 160ms ease,border-color 160ms ease}
.game-day .gd-event:hover{background:#1b242d;border-color:#42616a}
.game-day .gd-event:active{transform:scale(.985)}
.gd-event-team{min-height:44px;line-height:1.5}.gd-event-team>span:nth-child(2){overflow-wrap:anywhere;font-size:14px}.gd-event-team b{font-size:20px;font-variant-numeric:tabular-nums}
.gd-owned-match{grid-column:1/-1;display:flex;align-items:center;gap:4px;border-top:1px solid var(--gd-line);padding-top:12px;margin-top:12px;color:#9dddda;font-size:12px;line-height:18px}
.gd-owned-match>span:not(.gd-owned-thumb){flex:1;margin-left:8px}.gd-owned-thumb{display:block;width:23px;height:32px;flex:none}.gd-owned-thumb img{width:100%;height:100%;object-fit:contain;border-radius:3px}
.gd-hub-navigation>a{min-height:44px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.listing-payout-step{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface,#161c22);border:1px solid var(--line);border-radius:14px}.listing-payout-step>div{flex:1;min-width:0}.listing-payout-step p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:5px}.listing-payout-step .btn{flex:none}
@media(max-width:600px){.gd-game-group>div{grid-template-columns:1fr}.game-day .gd-hub-navigation{gap:18px;overflow-x:auto;scrollbar-width:none}.listing-payout-step{align-items:stretch;flex-direction:column}.gd-heading h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.game-day .gd-event{transition:none}.game-day .gd-event:active{transform:none}}

/* Match room: a readable scoreboard, then your collection and conversation. */
.game-day{--gd-ground:#151b21;--gd-line:#303a42;--gd-green:#a8e0d7}
.gd-arena-scoreboard{padding:20px 26px 14px!important;background:radial-gradient(ellipse at 50% 0%,#23423e70,transparent 72%),#151b21!important;border-radius:22px!important}
.gd-arena-match{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:16px;margin:23px 0 12px}
.gd-arena-side{display:grid;justify-items:center;gap:10px;text-align:center;min-width:0}
.gd-arena-side .gd-team-mark{width:56px!important;height:56px!important;border-radius:16px!important}
.gd-team-mark.has-logo{background:#e8edeb!important;padding:4px;overflow:hidden}.gd-team-mark img{width:100%;height:100%;object-fit:contain}
.gd-arena-name{font-size:15px;font-weight:650;line-height:1.4;min-height:42px;display:grid;align-items:center;max-width:20ch}
.gd-arena-scoreboard .gd-score-value{font-size:52px;line-height:1.05;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.gd-arena-divider{align-self:end;margin-bottom:4px;color:#7f939c;font-size:32px}
.gd-arena-venue{font-size:11px;color:var(--muted);text-align:center;line-height:1.6;margin:8px 0}
.gd-arena-scoreboard>small{text-align:center!important;margin-top:10px}
.gd-room-error:empty,.gd-notice:empty,[data-gd-moment]:empty,[data-gd-owned]:empty{display:none}
.gd-community{border:1px solid var(--gd-line);border-radius:20px;overflow:hidden;background:#13181e}
.gd-tabs{gap:5px;padding:5px 8px;background:#1c232a}.gd-tabs button{min-height:48px;border:0!important;border-radius:12px}.gd-tabs button[aria-selected="true"]{background:#304641;color:#e6f5ef}
.gd-chat-log{min-height:300px;max-height:48vh;padding:20px}.gd-message{gap:12px}.gd-message p{font-size:14px;line-height:1.6}
.gd-composer{background:#1c232a;padding:14px 18px}.gd-composer textarea{font-size:16px;line-height:1.5;min-height:48px;border-radius:12px}
.gd-chat-empty{min-height:230px;display:grid;align-content:center;justify-items:center;gap:9px}.gd-chat-empty p{max-width:32ch;text-align:center;line-height:1.6}
.gd-event.selected{border-color:#83cfc0;background:#1e2d2f!important}.gd-event-team>span:not(.gd-team-mark){font-size:13px;line-height:1.4}
.gd-connection{margin:9px 0 14px}.gd-owned{margin:14px 0 18px}.gd-cards{margin-top:18px}
@media(max-width:600px){.gd-arena-scoreboard{padding:16px!important}.gd-arena-match{gap:10px;margin-top:18px}.gd-arena-name{font-size:13px}.gd-arena-scoreboard .gd-score-value{font-size:44px}.gd-arena-side .gd-team-mark{width:46px!important;height:46px!important}.gd-chat-log{max-height:42vh}.gd-community{border-radius:16px}}

.gd-source-credit{display:flex;flex-direction:column;gap:6px;line-height:1.6;font-size:12px;padding-block:8px}.gd-source-credit a{color:var(--accent,#85d3c4);text-underline-offset:3px}.gd-reported-goals{margin-block:12px;padding:14px;border:1px solid var(--border,#354044);border-radius:16px}.gd-reported-goals summary{cursor:pointer;min-height:44px}.gd-reported-goals>div{display:flex;gap:14px;padding-block:6px;font-size:13px;line-height:1.5}.gd-reported-goals b{min-width:32px}

/* Match statistics: two figures and one bar showing their share of the pair. */
.gd-stats{margin:14px 0;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);display:grid;gap:12px}
.gd-stats-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gd-stats-heading h3{margin:0;font-size:15px;font-weight:600}
.gd-stats-heading span{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-stat-row{display:grid;gap:5px}
.gd-stat-figures{display:flex;align-items:baseline;gap:10px}
.gd-stat-figures b{min-width:48px;font-size:16px;font-variant-numeric:tabular-nums}
.gd-stat-figures b:last-child{text-align:right}
.gd-stat-figures span{flex:1;text-align:center;font-size:12px;color:var(--muted)}
.gd-stat-track{display:flex;gap:2px;height:5px;border-radius:4px;overflow:hidden}
.gd-stat-track i{background:var(--action-link,currentColor);border-radius:4px}
.gd-stat-track u{background:var(--line);border-radius:4px}

/* The league rail and the filter it applies to sit on one row. */
.gd-toolbar .gd-live-filter{flex:0 0 auto}
.gd-toolbar .gd-leagues{min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}
.gd-toolbar .gd-leagues::-webkit-scrollbar{display:none}
/* Reported box scores and play timeline: opaque content under floating chrome. */
.gd-player-box,.gd-play-feed{padding:22px;display:grid;gap:22px;min-width:0}
.gd-player-box header{display:grid;gap:8px}.gd-player-box h2,.gd-play-feed h2{font-size:26px;letter-spacing:-.7px;margin:0}
.gd-player-box p,.gd-play-feed>p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}
.gd-player-box section{border:1px solid var(--line);border-radius:22px;overflow:hidden}
.gd-player-box h3{padding:16px;margin:0;font-size:14px;color:var(--accent)}
.gd-player-box article{padding:16px;border-top:1px solid var(--line);display:grid;gap:14px}
.gd-player-identity{display:flex;align-items:center;gap:12px}.gd-player-identity>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface);font-size:12px;color:var(--muted)}
.gd-player-identity>div{display:grid;gap:4px;min-width:0}.gd-player-identity b{font-size:15px;overflow-wrap:anywhere}.gd-player-identity small{font-size:12px;color:var(--muted)}
.gd-player-stat-rail{display:flex;gap:24px;overflow-x:auto;overscroll-behavior:contain;padding:2px 0 8px}.gd-player-stat-rail>div{display:grid;gap:5px;min-width:45px;flex-shrink:0}.gd-player-stat-rail strong{font-size:24px;font-variant-numeric:tabular-nums}.gd-player-stat-rail small{font-size:11px;color:var(--muted)}
.gd-play-feed article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.gd-play-feed article>div{display:grid;gap:6px;align-content:start}.gd-play-feed article p{font-size:15px;line-height:1.6;margin:0}.gd-play-feed article small{font-size:11px;color:var(--muted)}.gd-play-feed article b{font-variant-numeric:tabular-nums;font-size:20px;color:var(--accent)}
.gd-tabs{overflow-x:auto;overscroll-behavior:contain;flex-wrap:nowrap}.gd-tabs button{min-width:56px;flex:1;padding-inline:8px}
@media(max-width:600px){.gd-player-box,.gd-play-feed{padding:16px}.gd-player-box h2,.gd-play-feed h2{font-size:22px}}

/* --- the live at-bat -------------------------------------------------------
   A diamond is four rotated squares; the filled ones are the occupied bases.
   The whole section is absent when the game is not being played, so nothing
   here needs a "stale" state. */
.gd-atbat{display:grid;gap:16px;padding:20px;margin-bottom:20px;border:1px solid var(--gd-line);border-radius:18px;background:var(--gd-ground)}
.gd-atbat-now{display:flex;align-items:center;gap:22px}
.gd-diamond{position:relative;width:78px;height:78px;flex:none}
.gd-base{position:absolute;width:15px;height:15px;transform:rotate(45deg);border:1px solid #5d7068;background:transparent}
.gd-base.on{background:#bbe8d5;border-color:#bbe8d5}
.gd-base-second{top:5px;left:50%;margin-left:-7.5px}
.gd-base-third{left:5px;top:50%;margin-top:-7.5px}
.gd-base-first{right:5px;top:50%;margin-top:-7.5px}
.gd-plate{position:absolute;bottom:5px;left:50%;margin-left:-5px;width:10px;height:10px;transform:rotate(45deg);background:#718680}
.gd-atbat-readout{display:grid;gap:5px;min-width:0}
.gd-atbat-readout b{font-size:16px}
.gd-atbat-readout small{color:var(--muted);font-size:12px}
.gd-atbat-count{display:flex;align-items:center;gap:13px}
.gd-atbat-count strong{font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.gd-outs{display:flex;gap:6px}
.gd-outs i{width:10px;height:10px;border-radius:50%;border:1px solid #5d7068}
.gd-outs i.on{background:var(--red);border-color:var(--red)}
.gd-atbat-people{display:flex;gap:18px;flex-wrap:wrap;margin:0}
.gd-atbat-people div{display:grid;gap:2px}
.gd-atbat-people dt{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700}
.gd-atbat-people dd{margin:0;font-size:13px;font-weight:600}
.gd-linescore{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.gd-linescore th,.gd-linescore td{padding:5px 2px;text-align:center;font-size:12px}
.gd-linescore thead th{color:var(--muted);font-size:10px;font-weight:600}
.gd-linescore tbody th{text-align:left;font-size:11px;font-weight:700;width:44px}
.gd-linescore-total{font-weight:700;border-left:1px solid var(--gd-line)}
@media (max-width:520px){
 .gd-atbat-now{gap:14px}
 .gd-atbat-count strong{font-size:22px}
}

/* The scoreboard stays pinned while the room scrolls under it, so the panel
   below needs somewhere to start that is not behind it. Without this the first
   line of the stats or plays panel sits half under the scoreboard's edge and
   reads as a rendering fault rather than as scrolling. */
.gd-sticky-room+*{padding-top:6px}
.gd-sticky-room~.gd-community,.gd-sticky-room~.gd-player-box,.gd-sticky-room~.gd-atbat{scroll-margin-top:200px}
.gd-player-box>header,.gd-atbat{position:relative;z-index:1}
.gd-stats-attribution{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:var(--dim);max-width:52ch}

/* --- box score -------------------------------------------------------------
   A box score is a table, and a table is read by scanning a column. So: the
   player column is pinned while the figures scroll, every figure is tabular so
   digits line up, and rows alternate so the eye does not slip a line. */
.gd-box-team{padding:20px 22px 4px}
.gd-box-team h3{font-size:14px;margin-bottom:4px}
.gd-box-scroll{overflow-x:auto;margin:0 -22px 18px;padding:0 22px;scrollbar-width:thin}
.gd-box-table{border-collapse:collapse;width:100%;min-width:max-content;font-variant-numeric:tabular-nums}
.gd-box-table caption{text-align:left;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
 color:var(--muted);font-weight:700;padding:10px 0 7px}
.gd-box-table thead th{position:sticky;top:0;background:var(--gd-ground);font-size:10px;font-weight:700;
 letter-spacing:.06em;color:var(--muted);text-align:right;padding:7px 9px;white-space:nowrap;
 border-bottom:1px solid var(--gd-line)}
.gd-box-table td{text-align:right;padding:8px 9px;font-size:13px;white-space:nowrap}
.gd-box-table tbody tr:nth-child(odd){background:#ffffff06}
.gd-box-table tbody tr:hover{background:#ffffff0d}
/* The name column stays put while the numbers scroll under the thumb. */
.gd-box-player{position:sticky;left:-22px;z-index:2;text-align:left!important;background:var(--gd-ground);
 padding-right:16px!important;box-shadow:1px 0 0 var(--gd-line)}
.gd-box-table tbody .gd-box-player{background:var(--gd-panel)}
.gd-box-player span{display:flex;align-items:baseline;gap:7px;min-width:0}
.gd-box-player b{font-size:13px;font-weight:600;white-space:nowrap}
.gd-box-player small{font-size:10px;color:var(--muted);white-space:nowrap}
.gd-box-player em{display:block;font-style:normal;font-size:10px;color:var(--dim);margin-top:2px;white-space:nowrap}
.gd-box-table td span[aria-label]{color:var(--dim)}

/* --- a face for a name ------------------------------------------------------
   A box score is a wall of surnames; a face turns it into a list of people.
   HoloTap cannot licence league headshots, so the portrait falls back to the
   card you own of that player and then to the person's initials — never an
   empty frame, and never a stand-in face belonging to nobody. */
.gd-face{--gd-face:40px;inline-size:var(--gd-face);block-size:var(--gd-face);flex:0 0 auto;
 display:grid;place-items:center;overflow:hidden;border-radius:50%;
 background:var(--gd-raised,#ffffff0d);border:1px solid var(--gd-line);
 font-size:calc(var(--gd-face)*.36);font-weight:800;letter-spacing:.02em;color:var(--accent)}
/* A card is a card shape, not a circle: it is artwork, not a headshot. */
.gd-face-card{border-radius:calc(var(--gd-face)*.14)}
.gd-face img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.gd-box-player{display:table-cell}
.gd-box-player>span{display:inline-flex;align-items:baseline;gap:7px;min-width:0;vertical-align:middle}
.gd-box-player .gd-face{margin-inline-end:9px;vertical-align:middle;display:inline-grid}

/* --- game leaders -----------------------------------------------------------
   Three lines with a face, above the table. The table is for comparing; this
   answers the first question anyone asks about a game in progress. */
.gd-leaders{display:grid;gap:11px;padding:22px 22px 0}
.gd-leaders ol{list-style:none;margin:0;padding:0;border:1px solid var(--gd-line);border-radius:20px;
 overflow:hidden;background:var(--gd-panel)}
.gd-leaders li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;
 padding:13px 15px;border-block-start:1px solid var(--gd-line)}
.gd-leaders li:first-child{border-block-start:0}
.gd-leader-who{display:grid;gap:2px;min-width:0}
.gd-leader-who b{font-size:15px;font-weight:700}
.gd-leader-who small{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.gd-leader-figure{display:grid;justify-items:end;gap:1px}
.gd-leader-figure b{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.gd-leader-figure small{font-size:10px;letter-spacing:.06em;font-weight:700;color:var(--muted)}
.gd-leaders em{grid-column:2/-1;font-style:normal;font-size:12px;color:var(--muted);
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.gd-leaders{padding:16px 16px 0}.gd-leaders li{padding:12px}}

/* --- play by play ----------------------------------------------------------
   Grouped by inning or period, newest first, with the plays that changed the
   score called out — the two things anyone opening this tab is looking for. */
.gd-play-group{padding:0 22px}
.gd-play-group h3{position:sticky;top:0;z-index:1;background:var(--gd-ground);margin:0 -22px;padding:11px 22px 8px;
 font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
 border-bottom:1px solid var(--gd-line)}
.gd-play-group ol{list-style:none;margin:0;padding:0}
.gd-play{padding:13px 0;border-bottom:1px solid #ffffff0f}
.gd-play:last-child{border-bottom:0}
.gd-play p{font-size:13px;line-height:1.65;margin:0}
.gd-play-meta{display:flex;align-items:baseline;gap:14px;margin-top:5px}
.gd-play-meta small{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums}
.gd-play-meta b{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.gd-play.scoring{padding-left:13px;border-left:2px solid #bbe8d5;margin-left:-15px}
.gd-play-flag{display:inline-block;margin-bottom:5px;padding:2px 7px;border-radius:6px;background:#233d36;
 color:#b7efd3;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:640px){
 .gd-box-team{padding:16px 15px 4px}
 .gd-box-scroll{margin:0 -15px 15px;padding:0 15px}
 .gd-box-player{left:-15px}
 .gd-play-group{padding:0 15px}
 .gd-play-group h3{margin:0 -15px;padding:10px 15px 7px}
}

/* --- Game Day, 2026 --------------------------------------------------------
   Laid out the way a live scoreboard is laid out: the score is the biggest
   thing on the screen, the state of the game sits above it in small caps, and
   everything else steps down from there. Previously the score, the team names
   and the venue were all within a few pixels of each other in size, so the
   panel read as a paragraph rather than as a scoreboard. */
.gd-heading h1{font-size:clamp(30px,3.6vw,46px);letter-spacing:-1.6px;margin:var(--s-2) 0 var(--s-3)}
.gd-layout{gap:var(--s-5)}
.gd-feed-note{margin-bottom:var(--s-5)}

.gd-arena-scoreboard,.gd-scoreboard{padding:var(--s-5) var(--s-5) var(--s-4)}
.gd-match-team strong,.gd-arena-side .gd-arena-score{font-size:clamp(44px,6.5vw,72px);letter-spacing:-3.4px;
 line-height:1;font-weight:680;font-variant-numeric:tabular-nums}
.gd-arena-name,.gd-match-team h2{font-size:14px;line-height:1.35;font-weight:600;color:var(--text)}
.gd-match-meta{font-size:11px;letter-spacing:.02em}
.gd-match-meta>b{font-size:10px;letter-spacing:.1em}

/* The tab row is the room's navigation, so it reads like navigation: one clear
   selected state rather than five buttons of equal weight. */
.gd-tabs{gap:var(--s-1);padding:var(--s-1) var(--s-3) 0}
.gd-tabs button{min-height:50px;font-size:13px;font-weight:600;border-bottom-width:2px}
.gd-tabs [aria-selected=true]{font-weight:700}

/* The schedule rail: a list of games, each one a thing you can open. */
.gd-event{padding:var(--s-3) var(--s-4);border-radius:14px;transition:border-color var(--fast)}
.gd-event:hover{border-color:var(--line-2)}
.gd-event-team{font-size:13px}
.gd-event-team b{font-size:16px;font-weight:700}
.gd-event-list{gap:var(--s-2)}

@media(max-width:900px){
 .gd-arena-scoreboard,.gd-scoreboard{padding:var(--s-4)}
 .gd-tabs{padding:var(--s-1) var(--s-2) 0}
 .gd-tabs button{font-size:12px;min-height:46px}
}

/* The diamond is the thing people glance at, so it is drawn at a size you can
   read at arm's length rather than tucked in beside the text. */
.gd-diamond{width:96px;height:96px}
.gd-base{width:18px;height:18px}
.gd-base-second{top:4px;margin-left:-9px}
.gd-base-third{left:4px;margin-top:-9px}
.gd-base-first{right:4px;margin-top:-9px}
.gd-plate{bottom:4px;margin-left:-6px;width:12px;height:12px}
.gd-atbat-now{gap:26px}
.gd-atbat-readout b{font-size:16px}
.gd-atbat-count strong{font-size:34px;letter-spacing:-1.4px}
.gd-outs i{width:11px;height:11px}

/* The linescore is a scoreboard strip, not a full-width table — it reads as one
   line of a game, so it is sized to its own content. */
.gd-linescore{width:auto;min-width:min(100%,520px)}
.gd-linescore th,.gd-linescore td{padding:5px 0}
.gd-linescore thead th{font-size:10px}
.gd-linescore tbody th{width:52px;font-size:12px}
.gd-linescore-total{padding-left:12px!important}

/* The club heading inside a box score is a section title, not a caption. */
.gd-box-team h3{font-size:15px;letter-spacing:-.2px;margin-bottom:2px}
@media(max-width:560px){
 .gd-diamond{width:78px;height:78px}
 .gd-base{width:15px;height:15px}
 .gd-base-second{margin-left:-7.5px}
 .gd-base-third,.gd-base-first{margin-top:-7.5px}
 .gd-atbat-now{gap:16px}
 .gd-atbat-count strong{font-size:26px}
}

/* The room scorebar: one row — away, status, home — pinned with the pulse and
   the tabs, so the field or the chat is the first thing under it. */
.gd-scorebar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:var(--gd-panel);border:1px solid var(--gd-line);animation:none}
.gd-scorebar-side{display:flex;align-items:center;gap:8px;min-width:0}
.gd-scorebar-side.is-home{justify-content:flex-end}
.gd-scorebar .gd-team-mark{width:30px;height:30px;border-radius:9px;flex:none}
.gd-scorebar-team{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.gd-scorebar-side.is-home .gd-scorebar-team{text-align:right}
.gd-scorebar-team b{font-size:13px;font-weight:800;letter-spacing:.02em}
.gd-scorebar-team small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gd-scorebar .gd-score-value{font-size:30px;line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums;min-width:1.3ch;text-align:center}
.gd-scorebar-mid{display:flex;flex-direction:column;align-items:center;gap:2px;padding:0 8px;text-align:center}
.gd-scorebar-mid b{font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.gd-scorebar-mid b.live{color:var(--green)}
.gd-scorebar-mid b.live i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:gd-scorebar-blink 1.6s ease-in-out infinite}
.gd-scorebar-mid span{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
@keyframes gd-scorebar-blink{50%{opacity:.35}}
.gd-sticky-room{padding-bottom:6px}
.gd-sticky-room .gd-tabs{margin-top:6px}
.gd-sticky-room .gd-connection{margin:4px 0 0;font-size:11px}
.gd-sticky-room .gd-connection.connected{display:flex}
.gd-sticky-room~.gd-community{margin-top:8px}
.gd-sticky-room~.gd-community,.gd-sticky-room~.gd-player-box,.gd-sticky-room~.gd-atbat{scroll-margin-top:150px}
.gd-panel .lf{margin-top:0}
@media(max-width:600px){.gd-scorebar{padding:6px 8px;gap:6px}.gd-scorebar-team small{display:none}.gd-scorebar .gd-score-value{font-size:26px}.gd-scorebar .gd-team-mark{width:26px;height:26px}.gd-scorebar-mid{padding:0 4px}.gd-scorebar-mid span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gd-scorebar{animation:none}.gd-scorebar-mid b.live i{animation:none}}

/* Game Day live-room pass: reduce overload, keep one clear game surface visible. */
.gd-games-surface.gd-room-open .gd-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:18px}.gd-event-room{min-width:0}.gd-sticky-room{position:sticky;top:72px;z-index:5;padding:10px 10px 12px;margin:-10px -10px 12px;background:linear-gradient(180deg,rgba(15,19,21,.96),rgba(15,19,21,.86));backdrop-filter:blur(20px);border:1px solid rgba(142,255,218,.12);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.26)}.gd-sticky-room [data-gd-pulse]{margin-top:8px}.gd-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;margin-top:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:18px}.gd-tabs button{min-height:44px;border:0;border-radius:13px;font-size:12px;font-weight:800;letter-spacing:.01em;color:var(--muted);background:transparent}.gd-tabs button[hidden]{display:none}.gd-tabs [aria-selected=true]{color:#05110e;background:linear-gradient(135deg,#a8f5d2,#83c9ff 65%,#b69cff);box-shadow:0 10px 24px rgba(117,219,198,.22)}.gd-community{border:0;background:transparent;border-radius:0;overflow:visible}.gd-panel{border-radius:24px;outline-offset:3px}.gd-live-room{display:grid;gap:14px;animation:none}.gd-live-room [data-lf]{border-radius:24px;overflow:hidden}.gd-live-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.gd-live-summary button,.gd-latest-play{position:relative;overflow:hidden;min-height:88px;text-align:left;padding:14px;border:1px solid rgba(151,255,219,.13);border-radius:20px;background:linear-gradient(145deg,rgba(28,39,42,.92),rgba(13,18,20,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.06);color:var(--text)}.gd-live-summary button:before,.gd-latest-play:before{content:"";position:absolute;inset:-35% auto auto -30%;width:80%;height:90%;background:radial-gradient(circle,rgba(122,235,201,.18),transparent 58%);pointer-events:none}.gd-live-summary b{display:block;font-size:clamp(24px,4vw,36px);line-height:1;font-variant-numeric:tabular-nums}.gd-live-summary span{display:block;margin-top:7px;font-size:11px;line-height:1.35;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.gd-latest-play{width:100%;min-height:76px}.gd-owned{margin:0 0 14px;border-radius:22px;border:1px solid rgba(151,255,219,.13);background:linear-gradient(145deg,rgba(24,32,35,.88),rgba(11,15,17,.92));box-shadow:0 18px 50px rgba(0,0,0,.18)}.gd-owned-head{padding:15px 16px 6px}.gd-owned-head b{font-size:15px}.gd-owned-rail{padding:8px 12px 14px;gap:10px}.gd-owned-card{min-width:210px;border-radius:18px;background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08)}.gd-cards{margin:0}.gd-card-rail{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.gd-player-card{border-radius:20px;min-height:120px;background:linear-gradient(145deg,rgba(31,42,45,.95),rgba(15,20,23,.95));border-color:rgba(151,255,219,.13)}.gd-chat-log{height:min(52vh,520px);border-radius:22px;border:1px solid rgba(255,255,255,.07);background:rgba(5,9,10,.28)}.gd-composer{position:sticky;bottom:0;margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(15,20,22,.9);backdrop-filter:blur(18px)}.gd-scorebar{border-radius:20px;background:linear-gradient(135deg,rgba(27,39,42,.95),rgba(11,16,18,.96));border-color:rgba(151,255,219,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.gd-scorebar-side{min-width:0}.gd-scorebar-team small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gd-score-moment{border-radius:18px;margin:0 0 12px;background:linear-gradient(135deg,rgba(132,244,207,.16),rgba(156,133,255,.12));border:1px solid rgba(151,255,219,.15)}@keyframes gdRoomIn{from{opacity:.35;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:860px){.gd-games-surface.gd-room-open .gd-layout{grid-template-columns:1fr}.gd-room-open .gd-schedule{display:none}.gd-sticky-room{top:8px;margin:0 0 12px;padding:8px;border-radius:20px}.gd-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.gd-tabs::-webkit-scrollbar{display:none}.gd-tabs button{min-width:0;padding-inline:10px}.gd-live-summary{grid-template-columns:1fr 1fr 1fr;gap:7px}.gd-live-summary button{min-height:78px;padding:11px}.gd-live-summary b{font-size:22px}.gd-live-summary span{font-size:10px}.gd-chat-log{height:46vh}.gd-scorebar-team small{display:none}}@media(prefers-reduced-motion:reduce){.gd-live-room{animation:none}.gd-score-moment{transition:none}}

/* The back control had no background of its own, so it rendered as the
   browser's light default button at the top of every dark room. */
.gd-back{appearance:none;background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 2px;min-height:40px}
.gd-back:hover{color:var(--accent)}
/* Seven tabs do not fit a phone, so the row scrolls — it has to look like it
   scrolls: the last tab fades out at the edge instead of ending flush. */
@media(max-width:860px){
 .gd-tabs{-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
 .gd-tabs button{min-width:66px}
 .gd-tabs:not(:has(button:nth-child(6):not([hidden]))){-webkit-mask-image:none;mask-image:none}
}

/* A covered league whose provider gave us nothing: say so rather than showing
   three zeros and an empty field. */
.gd-stats-out{display:flex;align-items:flex-start;gap:8px;margin:0;padding:11px 13px;border-radius:14px;background:rgba(244,207,112,.09);border:1px solid rgba(244,207,112,.28);color:var(--text);font-size:13px;line-height:1.5}
.gd-stats-out svg{flex:none;margin-top:2px;color:var(--gold)}

/* Room data gaps should explain themselves without taking a full screen. */
.gd-play-feed .gd-empty,.gd-player-box .gd-empty{min-height:0;padding:20px 16px;text-align:left;align-items:flex-start;gap:8px}
.gd-play-feed .gd-empty h3,.gd-player-box .gd-empty h3{margin:0;font-size:16px;line-height:1.4}
.gd-play-feed .gd-empty p,.gd-player-box .gd-empty p{margin:0;max-width:60ch;line-height:1.55}

.gd-pulse-model{margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}

/* Keep the room score and controls below the global navigation. */
.gd-sticky-room{top:88px}
@media(max-width:900px){.gd-sticky-room{top:76px}}
@media(max-width:600px){.gd-sticky-room{top:72px}}

/* Long player names wrap inside the pinned column instead of covering statistics. */
.gd-box-table thead th{font-size:11px;line-height:18px;padding-block:10px}
.gd-box-table td{line-height:20px;padding-block:12px}
.gd-box-player b{display:block;white-space:normal;min-width:100px;max-width:170px;line-height:20px}
.gd-box-player small,.gd-box-player em{font-size:12px;line-height:18px}
.gd-box-player>span{max-width:190px;white-space:normal;flex-wrap:wrap;row-gap:3px}

/* Event-driven, brief and inline: no modal or repeating confetti over the game. */
.gd-game-moment{display:flex;align-items:flex-start;gap:14px;padding:18px;margin:16px 0;border:1px solid var(--line);border-left:3px solid var(--moment-color);border-radius:16px;background:var(--surface);animation:gd-moment-arrive .28s cubic-bezier(.2,.8,.2,1) both;isolation:isolate}
.gd-moment-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;color:var(--moment-color)}
.gd-moment-mark .gd-team-mark{width:40px;height:40px}.gd-moment-copy{min-width:0;flex:1}.gd-moment-copy .label{font-size:10px;letter-spacing:.1em;line-height:1.5;color:var(--muted)}
.gd-moment-copy strong{display:block;font-size:20px;line-height:1.25;margin-top:4px;color:var(--text);overflow-wrap:anywhere}.gd-moment-copy p{font-size:13px;line-height:1.6;margin:6px 0 0;color:var(--muted);overflow-wrap:anywhere}
.gd-game-moment>.icon-btn{width:44px;height:44px;min-width:44px;flex-shrink:0;align-self:flex-start}
@keyframes gd-moment-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.gd-game-moment,.gd-score-pop{animation:none!important;transition:none!important}}
@media(max-width:480px){.gd-game-moment{padding:14px 10px;gap:10px}.gd-moment-copy strong{font-size:18px}}

/* Linked-player filtering keeps navigation as a separate 44px action. */
.gd-player-filter-card{flex:0 0 240px;max-width:100%;min-width:0;display:grid;align-content:start;gap:4px}.gd-player-filter-card .gd-player-card{width:100%;min-width:0;min-height:44px;text-align:left;white-space:normal}.gd-player-filter-card .gd-player-card[aria-pressed=true]{border-color:var(--accent);background:var(--raised)}.gd-player-filter-card b,.gd-player-filter-card small{white-space:normal;overflow-wrap:anywhere}.gd-player-open{min-width:0;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;color:var(--accent);font-size:14px}.gd-player-filter-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;line-height:1.5}.gd-player-filter-status button{min-height:44px}.gd-owned-play{border-left:2px solid var(--accent);padding-left:12px}

.gd-owned-filter{flex:0 0 230px;max-width:100%;min-width:0;display:grid;gap:4px}.gd-owned-filter .gd-owned-card{width:100%;min-width:0;min-height:44px;text-align:left}.gd-owned-filter .gd-owned-card[aria-pressed=true]{border-color:var(--accent)}

/* One-shot, controller-gated play arrival. No CSS mount animation can replay history. */
.gd-play{position:relative;overflow:hidden}
[data-gd-play-sweep]{position:absolute;inset:0;pointer-events:none;background:var(--accent);opacity:0;transform:translateX(-100%)}
@media(prefers-reduced-motion:reduce){[data-gd-play-sweep]{display:none}.gd-play{transform:none!important}}

/* Focused game room: the scoreboard stays in view; each destination owns its scroll. */
.main:has(.gd-room-open:not([hidden])){height:calc(100dvh - 80px);min-height:0;padding:12px 24px 16px;overflow:hidden}
.game-day:has(.gd-room-open:not([hidden])){height:100%;max-width:1040px;padding:0;display:flex;flex-direction:column;animation:none}
.game-day:has(.gd-room-open:not([hidden]))>.gd-heading,.game-day:has(.gd-room-open:not([hidden]))>.gd-hub-navigation{display:none}
.game-day .gd-room-open{flex:1;min-height:0;margin:0!important;display:flex;flex-direction:column}
.game-day .gd-room-open>.gd-toolbar,.game-day .gd-room-open>.gd-date-strip,.game-day .gd-room-open>.gd-feed-note,.game-day .gd-room-open .gd-schedule{display:none}
.game-day .gd-room-open .gd-layout{display:flex;flex:1;min-height:0;gap:0}
.game-day .gd-room-open .gd-event-room{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%;overflow:hidden}
.game-day .gd-room-open .gd-back{display:flex;align-items:center;flex:none;margin:0;min-height:36px;padding:0 4px;font-size:12px}
.game-day .gd-room-open .gd-sticky-room{position:static;flex:none;padding:0;border-radius:16px 16px 0 0;box-shadow:none;background:var(--surface)}
.game-day .gd-scorebar{min-height:82px;padding:10px 16px;border-radius:14px 14px 0 0;background:linear-gradient(110deg,#152824,#101b20 55%,#172129);border-color:#344541}
.game-day .gd-scorebar .gd-score-value{font-size:var(--fs-hero);font-weight:750;letter-spacing:-1.5px}
.game-day .gd-scorebar .gd-team-mark{width:36px;height:36px;box-shadow:none}
.game-day .gd-scorebar-team small{font-size:11px;line-height:1.3}
.game-day .gd-room-open .gd-tabs{padding:0 8px;gap:4px;mask-image:none;background:#141d21;border-bottom:1px solid var(--line)}
.game-day .gd-room-open .gd-tabs button{min-height:44px;min-width:0;font-size:13px}
.game-day .gd-room-open [data-gd-connection]{padding:3px 12px;font-size:10px;background:#10191d}
.game-day .gd-room-open .gd-connection{margin:0;font-size:10px;min-height:16px}
.gd-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px;background:#10191d;border-bottom:1px solid var(--line)}
.gd-detail-tabs button{min-height:44px;border-radius:8px;font-size:12px;color:var(--muted);font-weight:650}
.gd-detail-tabs button[aria-selected=true]{background:#253b35;color:#d8f6e8;box-shadow:inset 0 0 0 1px #3d6256}
.game-day .gd-room-open .gd-community{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:0 0 16px 16px;overflow:hidden}
.game-day .gd-room-open .gd-panel{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:16px}
.game-day .gd-room-open .gd-panel[data-gd-panel=field]{display:flex;padding:10px;overflow:hidden}
.gd-field-overview{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1;min-width:0}
.game-day .gd-field-overview .gd-live-room{flex:1;min-height:80px;padding:0;display:flex;flex-direction:column;overflow:hidden}
.game-day .gd-field-overview .lf-compact{flex:1;min-height:0;padding:0;gap:5px;border-radius:12px;background:#11221e;box-shadow:none;display:flex;flex-direction:column}
.game-day .lf-compact .lf-stage,.game-day .lf-compact.is-3d .lf-stage{flex:1;min-height:0;width:100%;max-width:none;margin:0;aspect-ratio:auto!important}
.game-day .lf-compact .lf-ground{max-width:700px;margin:auto}
.game-day .lf-compact .lf-head{padding:4px 9px 7px;flex:none;flex-wrap:nowrap}
.game-day .lf-compact .lf-head h3{font-size:12px;line-height:16px}
.game-day .lf-compact .lf-eyebrow{font-size:var(--fs-micro)}
.game-day .lf-compact .lf-caption{font-size:10px;max-width:48%;padding:3px 6px}
.game-day .lf-compact .lf-toggle{top:6px;right:6px;padding:1px}
.game-day .lf-compact .lf-toggle button{min-height:36px;font-size:10px;padding:0 9px}
.game-day .lf-compact .lf-dot,.game-day .lf-compact .lf-arc-dot{animation:none}
.gd-field-unavailable{position:relative;display:flex;flex:1;min-height:100px;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:6px;padding:18px;border:1px solid #344a41;border-radius:12px;background:repeating-linear-gradient(90deg,#152820 0,#152820 12.5%,#172d24 12.5%,#172d24 25%);overflow:hidden}
.gd-field-watermark{position:absolute;right:20px;bottom:-18px;font-size:100px;font-weight:850;font-style:italic;opacity:.06;letter-spacing:-12px;pointer-events:none}
.gd-field-unavailable h3{font-size:15px}.gd-field-unavailable p{font-size:12px;color:var(--muted);max-width:40ch}
/* The whole latest-play tile is one target; no nested scroll or tiny link. */
.gd-latest-play{display:block;flex:none;min-width:0;width:100%;text-align:left;border:1px solid #35443e;border-left:3px solid #80988d;border-radius:10px;padding:12px;background:#16211e;color:var(--text);cursor:pointer}
.gd-latest-heading{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5;color:var(--muted);flex-wrap:wrap}
.gd-latest-clock{margin-left:auto;font-variant-numeric:tabular-nums}
.gd-latest-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:13px;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}
.gd-outcome{display:grid;place-items:center;width:20px;height:20px;font-size:16px;flex:none}
.game-day .gd-play.is-positive,.gd-latest-play.is-positive{border-left-color:#74d5a0;background:#15291f}.game-day .is-positive .gd-outcome,.game-day .is-positive .gd-outcome-label,.gd-latest-play.is-positive .gd-latest-copy b{color:#90e5b4}
.game-day .gd-play.is-negative,.gd-latest-play.is-negative{border-left:3px solid #ed8181;background:#2a1c20}.game-day .is-negative .gd-outcome,.game-day .is-negative .gd-outcome-label,.gd-latest-play.is-negative .gd-latest-copy b{color:#ffa5a5}
.game-day .gd-play.is-positive{border-left:3px solid #74d5a0}.game-day .gd-play{padding:12px;border-radius:8px}.game-day .gd-outcome-label{display:block;font-size:10px;letter-spacing:.03em}
.gd-collection-entry{display:flex;align-items:center;gap:8px;flex:none;min-height:38px;padding:4px 10px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:12px;text-align:left}.gd-collection-entry span{flex:1}.gd-collection-entry b{color:var(--text)}
.game-day .gd-room-open .gd-panel[data-gd-panel=chat]{display:flex;flex-direction:column;padding:0;overflow:hidden}
.game-day .gd-panel[data-gd-panel=chat] .gd-chat-log{height:auto;flex:1;min-height:0;padding:12px 16px}
.game-day .gd-panel[data-gd-panel=chat] .gd-chat-empty{min-height:100px}.game-day .gd-panel[data-gd-panel=chat] .gd-composer{flex:none;padding:10px 14px}.game-day .gd-panel[data-gd-panel=chat] [data-gd-confirm-host]:not(:empty){max-height:50%;overflow:auto}
.game-day .gd-panel[data-gd-panel=cards] .gd-cards{margin:0}.game-day .gd-panel[data-gd-panel=stats]>.gd-atbat{margin-top:0}.game-day .gd-room-open .gd-score-pop{animation:none}
@media(max-width:1099px){.main:has(.gd-room-open:not([hidden])){height:calc(100dvh - 64px - var(--tabs) - env(safe-area-inset-bottom));padding:4px 12px 8px}}
@media(min-width:601px) and (max-width:900px){.main:has(.gd-room-open:not([hidden])){height:calc(100dvh - 68px - var(--tabs) - env(safe-area-inset-bottom))}}
@media(max-width:600px){.game-day .gd-room-open .gd-back{min-height:32px}.game-day .gd-scorebar{min-height:72px;padding:8px}.game-day .gd-scorebar .gd-score-value{font-size:32px}.game-day .gd-scorebar .gd-team-mark{width:28px;height:28px}.game-day .gd-scorebar-team small{display:none}.game-day .gd-scorebar-mid{max-width:110px;font-size:10px}.game-day .gd-scorebar-side{gap:5px}.gd-detail-tabs{padding:4px}.gd-detail-tabs button{min-height:40px}.game-day .gd-room-open .gd-panel{padding:12px}.game-day .gd-room-open .gd-panel[data-gd-panel=field]{padding:7px}.gd-latest-play{padding:8px 10px}.gd-latest-copy p{font-size:12px}.game-day .lf-compact .lf-caption{display:none}}
@media(max-height:650px){.game-day .gd-room-open .gd-back{min-height:28px}.game-day .gd-scorebar{min-height:58px}.game-day .gd-room-open .gd-tabs button,.gd-detail-tabs button{min-height:36px}.gd-collection-entry{min-height:30px}.gd-latest-play{padding:6px 9px}.gd-latest-copy p{max-height:2.9em}.game-day .lf-compact .lf-head{display:none}.game-day .gd-room-open [data-gd-connection]{padding:0 12px}}
.game-day .gd-room-open .gd-panel>section,.game-day .gd-room-open .gd-panel>.lf{animation:none}
.game-day .lf-dot-goal,.game-day .lf-dot-score{fill:#90e5b4}.game-day .lf-marker.is-goal .lf-marker-art{border-color:#90e5b4}.game-day .lf-marker.is-goal .lf-marker-tag{color:#90e5b4}.game-day .lf-arc-dot.is-landing.is-score{background:#90e5b4}.game-day .lf-dot-miss,.game-day .lf-dot-missed,.game-day .lf-dot-block{stroke:#ffa5a5}
.main:has(.gd-room-open:not([hidden]))>div:has(>.game-day){height:100%;min-height:0}
.game-day .gd-field-overview>section{margin:0}.game-day .gd-field-overview .gd-live-room{margin:0}
.main:has(.gd-room-open:not([hidden])){flex:0 0 auto}
.game-day .gd-field-overview .lf-compact{margin:0}
.game-day .gd-room-open .gd-community{margin:0}
.game-day .gd-room-open .gd-tabs{margin:0;border-radius:0}
.game-day .lf-compact .lf-adjust{position:absolute;right:6px;bottom:6px;z-index:3;font-size:10px;color:#d8e7e0}
.game-day .lf-compact .lf-adjust summary{display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;list-style:none;border:1px solid #496158;border-radius:9px;background:#101b18;cursor:pointer}
.game-day .lf-compact .lf-adjust summary::-webkit-details-marker{display:none}
.game-day .lf-compact .lf-adjust .lf-steps{bottom:42px;right:0}
@media(max-height:720px){.game-day .lf-compact .lf-head{display:none}.game-day .gd-room-open [data-gd-connection]{padding:0}.game-day .gd-room-open .gd-back{min-height:28px}.game-day .gd-latest-play>button{min-height:26px}}
.game-day .gd-room-open .gd-layout{align-items:stretch}

/* Readable control rhythm on touch screens, including short phones. */
.game-day .gd-room-open .gd-tabs button,.gd-detail-tabs button,.gd-collection-entry{min-height:44px}
.game-day .gd-scorebar .gd-score-value{white-space:nowrap;flex-shrink:0}
.game-day .gd-scorebar-mid span{white-space:normal;overflow-wrap:anywhere}
.game-day .lf-compact .lf-toggle button,.game-day .lf-compact .lf-adjust summary{min-height:44px}
.game-day .gd-outcome-label{font-size:12px;font-weight:700;letter-spacing:0}
.game-day .gd-latest-play.is-positive .gd-outcome-label{color:#90e5b4}
.game-day .gd-latest-play.is-negative .gd-outcome-label{color:#ffa5a5}
@media(max-width:360px){.game-day .gd-scorebar-team{display:none}.game-day .gd-scorebar-mid{padding:0}.gd-latest-play{padding:10px}}
/* Landscape and zoom must never trap content beneath the fixed navigation. */
@media(max-height:480px){.game-day .gd-room-open .gd-panel[data-gd-panel=field]{overflow-y:auto}.gd-field-overview{flex:0 0 auto}.game-day .gd-field-overview .gd-live-room{flex:none;height:180px}}

/* Schedule header reflows before actions can squeeze the title into a column. */
.game-day .gd-heading{flex-wrap:wrap;gap:16px 24px}
.game-day .gd-heading>div:first-child{flex:1 1 220px;min-width:0}
.game-day .gd-heading-actions{flex-wrap:wrap;gap:8px}
.game-day .gd-heading-actions .btn{min-height:44px}
.game-day .gd-toolbar .gd-leagues button{flex:0 0 auto;white-space:nowrap;min-height:44px}
.game-day .gd-hub-navigation>*{flex-shrink:0}
@media(max-width:480px){
 .game-day .gd-heading{align-items:flex-start;gap:12px;padding-bottom:20px}
 .game-day .gd-heading>div:first-child{flex-basis:100%}
 .game-day .gd-heading h1{margin:8px 0;line-height:1.2;letter-spacing:-1px}
 .game-day .gd-heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .game-day .gd-heading-actions .btn{justify-content:center;padding-inline:8px}
 .game-day .gd-toolbar .gd-leagues{flex:1 1 0;min-width:0}
}
/* Landscape phones and high browser zoom need a reachable scroll fallback.
   Keep the room usable rather than letting its pinned controls crush the panel. */
@media(max-height:480px){
 .main:has(.gd-room-open:not([hidden])){overflow-y:auto;overscroll-behavior:contain}
 .game-day:has(.gd-room-open:not([hidden])){height:460px;min-height:460px}
}

/* A quiet timeline: faces, the actual play, then clock and score. */
.gd-play-people{display:flex;flex-wrap:wrap;gap:8px 14px;margin:8px 0;min-width:0}
.gd-play-people:empty{display:none}
.gd-play-person{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;font-size:12px;font-weight:650;line-height:1.4;color:var(--text)}
.gd-play-person>span:last-child{overflow-wrap:anywhere}
.gd-play-face{position:relative;display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;overflow:hidden;background:#22303b;color:#d5e1e8;font-size:10px;border:1px solid #ffffff20}
.gd-play-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;background:#22303b}
.gd-play-feed .gd-play{padding:16px 16px 16px 20px;border-inline-start:2px solid var(--line);margin:0 0 10px;background:var(--surface);border-radius:0 12px 12px 0}
.gd-play-feed .gd-play.is-positive{border-inline-start-color:#71e9a6}
.gd-play-feed .gd-play.is-negative{border-inline-start-color:#ff929b}
.gd-play-feed .gd-play p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.gd-play-meta{flex-wrap:wrap;justify-content:space-between;row-gap:6px}
.gd-play-meta b{font-size:12px}
.gd-latest-play .gd-play-people{margin:8px 0 0}

/* Reserve the toolbar while the server confirms available sports. */
.gd-leagues-loading{display:flex;align-items:center;min-height:44px;padding:0 12px;color:var(--muted);font-size:13px}

/* Room presence belongs with the live status, not in a second toolbar. */
.gd-scorebar-mid [data-gd-connection]{display:flex;justify-content:center;min-width:0}
.gd-scorebar-mid .gd-connection{justify-content:center;flex-wrap:wrap;gap:4px;padding:0;font-size:11px;line-height:16px;color:var(--accent,#82ead2)}
.gd-scorebar-mid .gd-presence-note{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gd-scorebar-mid .gd-connection i{display:none}

/* Courtside controls: the score and points picks lead; deeper tools stay secondary. */
.game-day .gd-scorebar{min-height:118px;padding:18px 22px;border-radius:24px;background:radial-gradient(ellipse at 50% -100%,#66e7c02b,transparent 75%),#101a21;border:1px solid #c0e7ef1c;box-shadow:inset 0 1px #ffffff08}
.game-day .gd-scorebar .gd-score-value{font-size:clamp(44px,5vw,72px);line-height:1.05;font-weight:800;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.game-day .gd-scorebar .gd-team-mark{width:44px;height:44px}.game-day .gd-scorebar-team b{font-size:15px;font-weight:750}.game-day .gd-scorebar-mid{font-size:12px;max-width:180px}
.gd-action-dock{padding:8px 12px;border-bottom:1px solid #ffffff0c}.gd-action-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;line-height:18px}.gd-action-heading a{display:flex;align-items:center;gap:5px;color:var(--accent);min-height:32px}
.gd-action-dock .gd-pulse-play{margin:0;padding:0;border:0;background:none}.gd-action-dock .gd-pulse-row,.gd-action-dock .gd-pulse-pick{display:flex;width:100%;gap:10px}.gd-action-dock .gd-pulse-pick>.btn{flex:1;min-height:48px;display:flex;justify-content:space-between;gap:10px;padding:10px 16px;border-radius:16px;background:linear-gradient(120deg,#173c35,#172d2c);border:1px solid #7ee9c73b;font-size:14px}.gd-action-dock .gd-pulse-pick>.is-away{background:linear-gradient(120deg,#202b4d,#16263c);border-color:#83b7ff3a}.gd-action-dock .gd-pulse-pick b{font-size:18px;white-space:nowrap}.gd-action-dock .gd-pulse-mine{min-height:44px;display:flex;align-items:center;gap:8px}
.gd-action-explore{min-height:44px;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;background:none;border:0;color:var(--muted)}
.gd-question-prompt{margin-top:8px;display:grid;gap:5px;text-align:left;width:100%;padding:12px 16px;border:1px solid #bdb1ff42;border-radius:16px;background:linear-gradient(110deg,#302542,#172329);color:var(--text)}.gd-question-prompt>span{display:flex;align-items:center;gap:6px;color:#d4c9ff;font-size:11px}.gd-question-prompt strong{font-size:14px;line-height:1.4}.gd-question-prompt small{color:var(--accent)}
.gd-moment-host{position:relative;z-index:6;flex:0 0 0;height:0}.gd-moment-host .gd-game-moment{position:absolute;top:8px;right:12px;width:min(460px,calc(100% - 24px));margin:0;border-radius:22px;background:linear-gradient(120deg,#153830fa,#111d2afa);border:1px solid #86f2ce55;box-shadow:0 18px 55px #0008,inset 0 1px #fff1;max-height:220px;overflow:auto}.gd-moment-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.gd-moment-actions button{min-height:44px;padding:7px 12px;border-radius:24px;border:1px solid #c2ede82a;background:#b9ffe610;font-size:12px;font-weight:650;color:var(--text)}.gd-moment-owned{display:block;color:#a8f1ce;margin-top:6px}.gd-game-moment.is-owned{border-color:#d0b0ff}.gd-moment-copy p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gd-game-moment.is-turnover,.gd-game-moment.is-stop{background:linear-gradient(120deg,#2b2438fa,#111d2afa)}
@media(max-width:600px){.game-day .gd-scorebar{min-height:96px;padding:12px 10px;border-radius:20px}.game-day .gd-scorebar .gd-score-value{font-size:44px}.game-day .gd-scorebar .gd-team-mark{width:32px;height:32px}.game-day .gd-scorebar-mid{max-width:112px;font-size:10px}.gd-action-dock{padding:4px 8px}.gd-action-dock .gd-pulse-pick>.btn{min-height:44px;padding:8px 12px;font-size:12px}.gd-question-prompt{display:none}.gd-moment-host .gd-game-moment{right:6px;width:calc(100% - 12px);padding:12px;gap:8px}.gd-moment-mark{display:none}.gd-moment-copy strong{font-size:18px}}
@media(max-height:640px){.game-day .gd-scorebar{min-height:76px;padding-block:7px}.game-day .gd-scorebar .gd-score-value{font-size:34px}.gd-action-heading{display:none}.gd-room-tools{display:none}}

.gd-readable-outcome{display:block;margin-bottom:7px;font-size:18px;line-height:1.3;font-weight:750;letter-spacing:-.25px;color:var(--text)}.gd-now-copy>span{font-size:14px;line-height:1.6;color:#c1ccd4}.gd-now-play.is-positive .gd-readable-outcome{color:#9aedc1}.gd-now-play.is-negative .gd-readable-outcome{color:#ffb0b5}.gd-reference-court footer small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
/* Stream mode uses compact rows; composition and history remain stable. */
.gd-chat-log .gd-message{padding:9px 12px;gap:9px;margin:0;border:0;border-bottom:1px solid #ffffff08;border-radius:0;background:transparent;box-shadow:none}.gd-chat-log .gd-message .gd-message-body{font-size:14px;line-height:1.55}.gd-chat-log .gd-message.mine{border-left:2px solid var(--accent);background:#93efce05}

.gd-official-clips{margin:16px 0;padding:16px;border:1px solid #b2cad51a;border-radius:20px;background:#111c26}.gd-official-clips header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.gd-official-clips small,.gd-official-clips p{font-size:12px;line-height:1.5;color:var(--muted)}.gd-official-clips>small{display:block;margin-top:12px}.gd-official-clips>a:not(.gd-clip-link){display:inline-flex;min-height:44px;align-items:center;color:var(--accent);font-size:13px}.gd-clip-link{display:flex;align-items:center;gap:12px;margin-top:12px;padding:8px;border-radius:14px;background:#ffffff04}.gd-clip-link img{width:108px;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.gd-clip-link>span{min-width:0;flex:1}.gd-clip-link strong{display:block;font-size:13px;line-height:1.5;color:var(--text)}.gd-clip-link small{display:block;margin-top:4px}.gd-clip-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Session catch-up sits behind one action, never above the live scoreboard. */
.gd-catchup{padding:clamp(16px,3vw,28px);max-width:780px;margin-inline:auto}
.gd-catchup header p{color:var(--muted);line-height:1.6;max-width:62ch}
.gd-catchup ol{list-style:none;margin:16px 0;padding:0}
.gd-catchup li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:8px}
.gd-catchup li h3,.gd-catchup li p{margin:0;line-height:1.5;overflow-wrap:anywhere}
.gd-catchup li small{color:var(--muted)}
.gd-catchup-owned{color:var(--accent);font-size:12px;font-weight:700}
.gd-catchup-actions{display:flex;flex-wrap:wrap;gap:10px}
.gd-connection .gd-connection-detail{display:block;font-size:11px;color:var(--muted);margin-top:2px}.gd-connection [data-gd-reconnect]{margin-left:8px}

.gd-stat-sort{min-height:44px;min-width:44px;border:0;padding:8px 4px;background:transparent;color:inherit;font:inherit;text-align:right;cursor:pointer}
.gd-stat-sort:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:-2px;border-radius:8px}
.gd-box-table th[aria-sort=ascending],.gd-box-table th[aria-sort=descending]{color:var(--accent)}

/* Quick game switching occupies the existing back row, outside the live field. */
.gd-room-switcher{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:8px}
.gd-room-switcher .gd-back{margin:0;min-height:44px}
.gd-room-switcher nav{display:flex;align-items:center;gap:3px}
.gd-room-switcher nav button{width:44px;height:44px;border-radius:50%;font-size:24px;background:var(--surface);border:1px solid var(--line);color:var(--text)}
.gd-room-switcher nav button:disabled{opacity:.35;cursor:default}
.gd-room-switcher nav span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);margin-left:6px;white-space:nowrap}

/* Clarity pass: the field is a first-class game surface on every viewport.
   Scoped specificity supersedes the older feed-first mobile hiding rules. */
.game-day.gd-clarity .gd-room-open .gd-panel[data-gd-panel=field]{display:block;overflow-y:auto;padding:16px}
.game-day.gd-clarity .gd-live-studio.gd-field-first{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);height:auto;gap:24px;align-items:start;min-height:0}
.game-day.gd-clarity .gd-field-first .gd-studio-performance{display:flex;gap:16px;min-width:0}
.game-day.gd-clarity .gd-field-first .gd-reference-court{display:flex;height:400px;min-height:400px;border-radius:18px;background:#11201e}
.game-day.gd-clarity .gd-court-heading{padding:14px;gap:12px;flex-wrap:wrap}
.game-day.gd-clarity .gd-court-heading h2{font-size:20px;line-height:1.2;letter-spacing:-.3px}
.game-day.gd-clarity .gd-field-expand{min-height:44px;padding:8px 14px;color:#091b15;background:#99f4cd;border:0;border-radius:12px;font-weight:700}
.game-day.gd-clarity .gd-reference-court footer{padding:10px 14px;font-size:12px;line-height:1.5}
.game-day.gd-clarity .gd-room-open .gd-back{min-height:44px;font-size:14px;padding-inline:8px}
.game-day.gd-clarity .gd-room-navigation{max-width:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.game-day.gd-clarity .gd-room-tools{justify-content:space-between;margin:0;padding:0 12px;gap:12px;position:relative}
.game-day.gd-clarity .gd-room-tools>button{font-size:13px;min-height:44px}
.game-day.gd-clarity .gd-room-more{margin-left:auto;position:relative}
.game-day.gd-clarity .gd-room-more>summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:44px;padding:8px;cursor:pointer;font-size:13px;color:var(--muted)}
.game-day.gd-clarity .gd-room-more>summary::-webkit-details-marker{display:none}
.game-day.gd-clarity .gd-room-more>div{position:absolute;right:0;top:100%;z-index:12;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#162126;box-shadow:0 12px 30px #0008;display:grid;gap:4px}
.game-day.gd-clarity .gd-room-more button{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:0;background:none;color:var(--text);font:inherit;font-size:14px;text-align:left;border-radius:8px}
.game-day.gd-clarity .gd-room-more button:hover{background:#ffffff0c}
.game-day.gd-clarity .gd-game-insights{border-block-start:1px solid var(--line);min-width:0}
.game-day.gd-clarity .gd-game-insights>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;color:var(--muted);font-size:14px;font-weight:600;padding:12px 4px;list-style:none}
.game-day.gd-clarity .gd-game-insights>summary::-webkit-details-marker{display:none}
.game-day.gd-clarity .gd-game-insights>summary::after{content:'+';font-size:20px}
.game-day.gd-clarity .gd-game-insights[open]>summary::after{content:'−'}
.game-day.gd-clarity .gd-game-insights>div{margin-bottom:12px}
.game-day.gd-clarity :is(.gd-room-more,.gd-game-insights)>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}
.game-day.gd-clarity .gd-field-dialog .lf>.lf-steps{position:static;justify-content:center;flex-shrink:0;align-self:center;margin:4px 0 8px}
.game-day.gd-clarity .gd-field-dialog .lf-step{min-width:44px;width:auto;padding-inline:12px;min-height:44px;font-size:15px}
.game-day.gd-clarity .gd-field-dialog .lf-toggle button{min-height:44px;font-size:12px}
.game-day.gd-clarity .gd-field-dialog .lf-layers{max-width:116px}
.game-day.gd-clarity .gd-field-dialog .lf-layers[open]{max-width:180px}
@media(max-width:900px){
 .game-day.gd-clarity .gd-live-studio.gd-field-first{grid-template-columns:minmax(0,1fr);gap:16px}
 .game-day.gd-clarity .gd-room-open .gd-panel[data-gd-panel=field]{padding:10px 0}
 .game-day.gd-clarity .gd-field-first .gd-reference-court{height:340px;min-height:340px}
 .game-day.gd-clarity .gd-field-first .gd-studio-performance{display:flex}
 .game-day.gd-clarity .gd-game-insights .gd-player-feature{min-height:0}
 .game-day.gd-clarity .gd-room-tools>button{font-size:12px;gap:5px}
}
@media(max-height:520px){
 .game-day.gd-clarity .gd-field-dialog-body{overflow-y:auto}
 .game-day.gd-clarity .gd-field-dialog .gd-live-room{min-height:320px;flex-shrink:0}
 .game-day.gd-clarity .gd-field-dialog .gd-field-player{display:none}
}

/* Experience overhaul: one score rail, three destinations, one useful game feed.
   Participation belongs with the feed, so it cannot push chat or the field offscreen. */
.game-day.gd-flow .gd-heading{gap:20px;padding-block:4px 16px}
.game-day.gd-flow .gd-heading h1{font-size:32px;line-height:1.2;letter-spacing:-1px}
.game-day.gd-flow .gd-heading p{margin-top:8px}
.game-day.gd-flow .gd-brand{display:none}
.game-day.gd-flow .gd-heading-actions .btn{background:transparent;box-shadow:none;border-color:var(--line)}
.game-day.gd-flow .gd-hub-navigation{margin-bottom:18px;border-bottom:1px solid var(--line);gap:24px}
.game-day.gd-flow .gd-hub-navigation button{border-radius:0;background:none;box-shadow:none}
.game-day.gd-flow .gd-leagues{background:none;border:0;box-shadow:none;gap:4px;padding:0}
.game-day.gd-flow .gd-leagues::before,.game-day.gd-flow .gd-leagues::after{content:none}
.game-day.gd-flow .gd-leagues button{padding-inline:16px;background:transparent;border:1px solid transparent;border-radius:12px;min-height:44px}
.game-day.gd-flow .gd-leagues button[aria-pressed=true]{color:var(--text);background:var(--surface);border-color:var(--line)}
.game-day.gd-flow .gd-date-strip{gap:4px;margin-bottom:16px}
.game-day.gd-flow .gd-date-strip button{min-height:60px;border:1px solid transparent;border-radius:12px;box-shadow:none}
.game-day.gd-flow .gd-date-strip button[aria-pressed=true]{background:var(--surface);border-color:var(--line)}
.game-day.gd-flow .gd-game-group>div{column-gap:24px;row-gap:0;border:0}
.game-day.gd-flow .gd-game-group .gd-event{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:18px 8px;box-shadow:none;min-height:112px}
.game-day.gd-flow .gd-event::before,.game-day.gd-flow .gd-event::after{content:none}
.game-day.gd-flow .gd-event:hover,.game-day.gd-flow .gd-event:focus-visible{background:var(--surface)}
.game-day.gd-flow .gd-event.is-live{box-shadow:inset 2px 0 var(--accent)}
.game-day.gd-flow .gd-event-teams{gap:12px}
.game-day.gd-flow .gd-event-team{font-size:14px;line-height:20px;font-weight:600}
.game-day.gd-flow .gd-event-team b{font-size:26px;line-height:30px;letter-spacing:-.5px}
.game-day.gd-flow .gd-event-status{gap:6px}
.game-day.gd-flow .gd-sticky-room{border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:var(--bg,#0b0f13);backdrop-filter:none;padding:0;margin:0 0 12px}
.game-day.gd-flow .gd-scorebar{min-height:96px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:14px 16px;gap:12px}
.game-day.gd-flow .gd-scorebar .gd-score-value{font-size:44px;line-height:1.1;letter-spacing:-1.8px;font-weight:750}
.game-day.gd-flow .gd-scorebar .gd-team-mark{width:38px;height:38px}
.game-day.gd-flow .gd-scorebar-team b{font-size:14px}
.game-day.gd-flow .gd-scorebar-team small{font-size:12px;line-height:18px}
.game-day.gd-flow .gd-room-navigation-wrap{display:flex;align-items:stretch;gap:8px;padding-inline:8px;position:relative}
.game-day.gd-flow .gd-room-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-width:0;margin:0;padding:0;background:none;border:0;border-radius:0;gap:0}
.game-day.gd-flow .gd-room-navigation button{min-height:48px;background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);box-shadow:none;font-size:14px;font-weight:650;padding:10px}
.game-day.gd-flow .gd-room-navigation [aria-selected=true]{background:none;box-shadow:none;border-bottom-color:var(--accent);color:var(--text)}
.game-day.gd-flow .gd-room-more{margin:0;align-self:center}
.game-day.gd-flow .gd-room-more>summary{justify-content:center;width:44px;min-height:44px;padding:8px;border-radius:10px}
.game-day.gd-flow .gd-room-more>div{min-width:224px;max-width:calc(100vw - 32px);z-index:20}
.game-day.gd-flow .gd-room-more button:disabled{opacity:.45;cursor:default}
.game-day.gd-flow .gd-reference-court{border:1px solid var(--line);background:var(--surface);box-shadow:none;border-radius:16px}
.game-day.gd-flow .gd-court-heading{padding:10px 12px}
.game-day.gd-flow .gd-court-heading h2{font-size:16px;font-weight:650}
.game-day.gd-flow .gd-field-expand{min-height:44px;color:var(--accent);background:transparent;border:0;box-shadow:none;padding:8px 10px;font-size:13px}
.game-day.gd-flow .gd-reference-court footer{font-size:12px;line-height:18px;color:var(--muted);padding:8px 12px}
/* Compact previews keep a usable stage even when team names wrap. The reported
   play summary belongs to the adjacent feed and expanded view. */
.game-day.gd-flow .gd-field-first .gd-reference-court{height:auto;min-height:0}
.game-day.gd-flow .gd-field-first .gd-reference-court .gd-live-room{flex:none;min-height:0}
.game-day.gd-flow .gd-field-first .gd-reference-court .lf.lf-compact{height:auto;flex:none}
.game-day.gd-flow .gd-field-first .gd-reference-court .lf.lf-compact .lf-stage{flex:none;height:clamp(150px,28vw,240px);min-height:140px}
.game-day.gd-flow .gd-reference-court .lf-team-legend{flex:none;padding:8px 12px;font-size:11px;gap:6px 14px}
.game-day.gd-flow .gd-reference-court footer>span{display:none}
.game-day.gd-flow .gd-reference-court footer small{font-size:11px;margin:0}
.game-day.gd-flow .gd-studio-feed{gap:12px}
.game-day.gd-flow .gd-action-dock{padding:12px 0;margin:0 0 12px;border-bottom:1px solid var(--line)}
.game-day.gd-flow .gd-action-heading{display:flex;font-size:13px;margin-bottom:8px}
.game-day.gd-flow .gd-action-heading strong{font-size:13px;font-weight:650}
.game-day.gd-flow .gd-action-dock .gd-pulse-pick>.btn{background:var(--surface);border-color:var(--line);border-radius:12px;box-shadow:none;display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-content:space-between;min-width:0;flex:1 1 0;gap:6px;white-space:normal;word-break:normal;overflow-wrap:anywhere;text-align:left}
.game-day.gd-flow .gd-question-prompt{background:var(--surface);border-color:var(--line);border-radius:12px}
.game-day.gd-flow .gd-now-feed{background:none;border:0;box-shadow:none;padding:0}
.game-day.gd-flow .gd-now-feed>header{min-height:44px;margin-bottom:4px}
.game-day.gd-flow .gd-now-feed>header button{min-height:44px}
.game-day.gd-flow .gd-now-play{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;background:none;box-shadow:none;cursor:default;text-align:left}
.game-day.gd-flow .gd-now-play.is-latest{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:4px}
.game-day.gd-flow .gd-now-play.is-positive{border-left:2px solid var(--accent);padding-left:14px}
.game-day.gd-flow .gd-now-person{min-width:0;gap:6px;align-items:center}
.game-day.gd-flow .gd-now-person>small{font-size:11px;line-height:16px;text-align:center;white-space:normal;overflow-wrap:anywhere}
.game-day.gd-flow .gd-now-person>b{font-size:10px;letter-spacing:.6px}
.game-day.gd-flow .gd-now-copy{min-width:0;display:block}
.game-day.gd-flow .gd-readable-outcome{font-size:18px;line-height:24px;letter-spacing:-.25px;margin-bottom:5px}
.game-day.gd-flow .gd-now-copy>span:not(.gd-play-actions){display:block;font-size:14px;line-height:22px;color:var(--muted);overflow-wrap:anywhere}
.game-day.gd-flow .gd-play-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:6px}
.game-day.gd-flow .gd-play-actions button{min-height:44px;padding:6px 0;display:flex;align-items:center;gap:6px;border:0;background:none;color:var(--accent);font-size:12px;font-weight:600}
.game-day.gd-flow .gd-play-actions button:last-child{color:var(--muted)}
.game-day.gd-flow .gd-conversation-peek{border:0;border-top:1px solid var(--line);border-radius:0;background:none;padding:16px 0;box-shadow:none}
.game-day.gd-flow .gd-quick-chat{border-radius:12px;background:var(--surface);border-color:var(--line);box-shadow:none}
.game-day.gd-flow .gd-game-insights{border-color:var(--line)}
.game-day.gd-flow button:focus-visible,.game-day.gd-flow summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:900px){
 .game-day.gd-flow .gd-field-first .gd-reference-court{height:auto;min-height:0}
 .game-day.gd-flow .gd-live-studio.gd-field-first{gap:14px}
 .game-day.gd-flow .gd-studio-feed{gap:12px}
 .game-day.gd-flow .gd-sticky-room{top:0}
}
@media(max-width:600px){
 .game-day.gd-flow .gd-heading{align-items:flex-start;gap:12px}
 .game-day.gd-flow .gd-heading h1{font-size:28px}
 .game-day.gd-flow .gd-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px}
 .game-day.gd-flow .gd-heading-actions .btn{min-height:44px;font-size:12px;padding:6px 10px}
 .game-day.gd-flow .gd-game-group .gd-event{padding:16px 4px;min-height:108px}
 .game-day.gd-flow .gd-scorebar{min-height:86px;padding:10px 6px;gap:8px}
 .game-day.gd-flow .gd-scorebar .gd-score-value{font-size:34px;letter-spacing:-1px}
 .game-day.gd-flow .gd-scorebar .gd-team-mark{width:28px;height:28px}
 .game-day.gd-flow .gd-scorebar-side{gap:6px;flex-wrap:wrap}
 .game-day.gd-flow .gd-scorebar-side.is-home{flex-direction:row-reverse;justify-content:flex-start}
 .game-day.gd-flow .gd-scorebar-team{display:flex;min-width:24px}
 .game-day.gd-flow .gd-scorebar-team b{font-size:11px}
 .game-day.gd-flow .gd-scorebar-team small{display:none}
 .game-day.gd-flow .gd-scorebar-mid{max-width:104px;padding:0}
 .game-day.gd-flow .gd-scorebar-mid .gd-connection{padding-inline:0;font-size:10px}
 .game-day.gd-flow .gd-room-navigation button{font-size:13px;padding-inline:6px}
 .game-day.gd-flow .gd-room-open .gd-panel[data-gd-panel=field]{padding:8px 0}
 .game-day.gd-flow .gd-question-prompt{display:grid}
}
@media(prefers-reduced-motion:reduce){.game-day.gd-flow .gd-event{transition:none;transform:none}}


/* The dialog is a sibling of .game-day in the route host. Its own class owns
   layout so normal-flow camera controls cannot fall through to canvas overlays. */
.gd-field-dialog.gd-field-focus{box-sizing:border-box;padding:calc(12px + env(safe-area-inset-top)) 16px calc(8px + env(safe-area-inset-bottom));gap:8px}
.gd-field-dialog.gd-field-focus>header{gap:12px;min-height:44px}
.gd-field-dialog.gd-field-focus h2{margin:0;font-size:20px;line-height:28px;letter-spacing:-.35px}
.gd-field-dialog.gd-field-focus>header .icon-btn{flex:none;width:44px;height:44px;font-size:24px}
.gd-field-dialog.gd-field-focus .gd-field-dialog-body{gap:8px;overflow-y:auto;overscroll-behavior:contain}
.gd-field-dialog.gd-field-focus .gd-field-match{padding:4px 8px 8px;gap:10px;min-height:52px}
.gd-field-dialog.gd-field-focus .gd-field-match b{font-size:30px}
.gd-field-dialog.gd-field-focus .gd-field-match>small{font-size:11px;line-height:16px;min-width:58px;max-width:110px}
.gd-field-dialog.gd-field-focus .gd-field-match>small>span{margin-top:0}
.gd-field-dialog.gd-field-focus .gd-live-room{flex:1 0 260px;min-height:260px;padding:0;gap:8px;overflow:visible}
.gd-field-dialog.gd-field-focus .lf{height:auto;padding:0;gap:0;border-radius:18px;overflow:hidden}
.gd-field-dialog.gd-field-focus .lf-stage{min-height:180px;width:100%;max-width:none;flex:1 0 180px;aspect-ratio:auto!important;border-radius:0}
/* Rotate the complete proportional fallback, including its position layer;
   counter-rotate identity labels so portrait phones keep names readable. */
@container lf-stage (aspect-ratio < 1){.gd-field-dialog.gd-field-focus .lf:not(.is-3d):is([data-lf-kind=gridiron],[data-lf-kind=rink],[data-lf-kind=pitch]) .lf-map{width:min(100cqh,calc(100cqw * var(--lf-aspect)));transform:translate(-50%,-50%) rotate(90deg);--lf-label-rotation:-90deg}}
.gd-field-dialog.gd-field-focus .lf-head{display:none}
.gd-field-dialog.gd-field-focus .lf-team-legend{flex:none;font-size:11px;gap:6px 12px;padding:8px 12px}
.gd-field-dialog.gd-field-focus .lf>.lf-steps{position:static;inset:auto;display:flex;flex:none;justify-content:center;align-self:stretch;gap:4px;margin:0;padding:6px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface,#141c23)}
.gd-field-dialog.gd-field-focus .lf-step{inline-size:auto;block-size:44px;min-width:44px;min-height:44px;padding:0 10px;flex:1;max-width:90px;font-size:16px}
.gd-field-dialog.gd-field-focus .lf-toggle{top:8px;right:8px;padding:0;gap:0}
.gd-field-dialog.gd-field-focus .lf-toggle button{min-height:44px;padding-inline:10px}
.gd-field-dialog.gd-field-focus .lf-layers{top:8px;left:8px;max-width:112px}
.gd-field-dialog.gd-field-focus .lf-layers[open]{max-width:180px}
.gd-field-dialog.gd-field-focus .lf-layers summary{padding-inline:12px}
.gd-field-dialog.gd-field-focus>footer{font-size:10px;line-height:16px;padding:0;color:var(--muted)}
.gd-field-dialog.gd-field-focus .gd-field-context{flex:none;border-top:1px solid var(--line)}
.gd-field-dialog.gd-field-focus .gd-field-context>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 8px;font-size:13px;color:var(--text);font-weight:600;cursor:pointer;list-style:none}
.gd-field-dialog.gd-field-focus .gd-field-context>summary::-webkit-details-marker{display:none}
.gd-field-dialog.gd-field-focus .gd-field-context>summary>span{font-size:20px}
.gd-field-dialog.gd-field-focus .gd-field-context[open]>summary>span{transform:rotate(45deg)}
.gd-field-dialog.gd-field-focus .gd-field-context>div{max-height:30dvh;overflow:auto;padding:0 8px 8px}
.gd-field-dialog.gd-field-focus .gd-field-context p{font-size:13px;line-height:20px;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}
.gd-field-dialog.gd-field-focus .gd-field-player{padding:4px 0;gap:8px;flex-wrap:wrap}
.gd-field-dialog.gd-field-focus .gd-field-player strong{font-size:15px}
.gd-field-dialog.gd-field-focus .gd-field-player dl{gap:16px}
.gd-field-dialog.gd-field-focus .gd-field-player dd{font-size:18px}
.gd-field-dialog.gd-field-focus :is(button,summary):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:360px){.gd-field-dialog.gd-field-focus{padding-inline:10px}.gd-field-dialog.gd-field-focus .gd-field-match{padding-inline:4px;gap:8px}.gd-field-dialog.gd-field-focus .gd-field-match>div{gap:5px}.gd-field-dialog.gd-field-focus .gd-field-match .gd-team-mark{display:none}.gd-field-dialog.gd-field-focus .gd-field-match>div>span{font-size:12px}.gd-field-dialog.gd-field-focus .lf-step{padding-inline:6px}}
@media(max-height:520px){.gd-field-dialog.gd-field-focus .gd-live-room{flex:none;min-height:320px}.gd-field-dialog.gd-field-focus .lf-stage{min-height:220px}}

/* Personal teams sheet: reserve the close control and keep long names/actions
   within the sheet at narrow widths and enlarged text. */
.sheet .sheet-body.gd-team-sheet{padding:24px;gap:18px}
.gd-team-sheet>h2:first-child{padding-right:48px;min-height:34px;overflow-wrap:anywhere}
.gd-team-sheet h3{margin:4px 0 0;font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.gd-team-sheet .gd-team-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;width:100%;height:auto;min-height:60px;padding:14px;white-space:normal;text-align:left;line-height:1.4}
.gd-team-copy{flex:1 1 130px;min-width:0;overflow-wrap:anywhere}
.gd-team-copy small{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}
.gd-team-action{flex:0 1 auto;max-width:100%;overflow-wrap:anywhere;color:var(--accent);font-size:14px;line-height:1.4}
.gd-team-row[aria-disabled="true"]{opacity:.65;cursor:wait}
.gd-team-row:disabled{cursor:default}
.gd-team-sheet>[data-gd-teams-refresh]{height:auto;min-height:44px;white-space:normal;line-height:1.4}

/* One reading target per play, shared with the room's recent-play feed. */
.game-day.gd-flow .gd-play-feed .gd-play-group{padding:0}
.game-day.gd-flow .gd-play-feed .gd-play-group h3{position:static;margin:0;padding:10px 0;color:var(--muted);font-size:12px;font-weight:600}
.game-day.gd-flow .gd-history-row{position:relative;list-style:none;min-width:0}
.game-day.gd-flow .gd-history-owned{display:block;color:var(--accent);font-size:11px;line-height:16px;padding-top:10px}
.game-day.gd-flow .gd-conversation-entry{display:flex;align-items:center;gap:12px;width:100%;padding:18px 0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:none;color:var(--text);text-align:left;min-height:64px;cursor:pointer}
.game-day.gd-flow .gd-conversation-entry>span{flex:1;min-width:0;display:grid;gap:5px}
.game-day.gd-flow .gd-conversation-entry strong{font-size:14px;line-height:21px;font-weight:600}
.game-day.gd-flow .gd-conversation-entry small{font-size:12px;line-height:18px;color:var(--muted)}
.game-day.gd-flow .gd-conversation-entry>svg{flex-shrink:0;color:var(--accent)}
.game-day.gd-flow .gd-conversation-entry:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.gd-recap{display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px 16px}
.gd-recap h2,.gd-recap p{margin:0;overflow-wrap:anywhere}
.gd-recap>p{color:var(--muted);font-size:14px;line-height:1.5}
.gd-recap figure{margin:6px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#08110f}
.gd-recap figure svg,.gd-recap figure img{display:block;width:100%;height:auto;max-height:62vh}
.gd-recap details{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.gd-recap summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.gd-recap .gd-recap-description{white-space:pre-line;color:var(--muted);user-select:text}
.gd-recap-actions{display:flex;flex-wrap:wrap;gap:10px}
.gd-recap [data-recap-status]:empty{display:none}
@media(max-width:360px){.gd-recap-actions .btn{width:100%}}

/* game-day-players.css */
.game-day [hidden]{display:none!important}.gd-hub-navigation{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--line);margin:0 0 28px}.gd-hub-navigation button{min-height:50px;font-size:14px;font-weight:650;color:var(--muted);border-bottom:2px solid transparent}.gd-hub-navigation button[aria-selected=true]{color:var(--text);border-color:var(--accent)}.gd-hub-navigation>a{margin-left:auto;display:flex;align-items:center;gap:7px;min-height:48px;font-size:12px;color:var(--muted)}.gdp-topline{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 25px}.gdp-topline h2{font-size:24px;letter-spacing:-.6px}.gdp-topline p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:7px}.gdp-topline .btn{flex:none;font-size:12px}.gdp-followed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gdp-followed-player{min-width:0;border:1px solid var(--gd-line);border-radius:18px;background:var(--gd-ground);overflow:hidden}.gdp-player-open{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:20px 18px}.gdp-player-mark{width:45px;height:50px;flex:none;display:grid;place-items:center;border-radius:10px 10px 16px 16px;background:#c4d4c9;color:#293d31;font-size:16px;font-weight:750;letter-spacing:-.6px}.gdp-player-open>span:nth-child(2),.gdp-search-result>span:nth-child(2){flex:1;min-width:0;display:grid;gap:6px}.gdp-player-open b{font-size:16px;line-height:1.4}.gdp-player-open small{font-size:10px;color:var(--muted);line-height:1.6}.gdp-player-open>svg{flex:none;color:var(--dim)}.gdp-inline-stats{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;margin:0 18px 18px;font-size:10px;color:var(--muted)}.gdp-inline-stats b{font-size:20px;color:var(--text);font-weight:650}.gdp-inline-stats>small{flex-basis:100%;font-size:10px;color:var(--dim)}.gdp-player-issue{font-size:12px;color:var(--muted);line-height:1.6;margin:0 18px 18px;min-height:36px}.gdp-next-game{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;text-align:left;padding:16px 18px;background:#1b2823;border-top:1px solid #35463d;font-size:12px}.gdp-next-game>span{display:grid;gap:6px;line-height:1.5}.gdp-next-game small{font-size:10px;color:var(--muted)}.gdp-next-game>b{display:flex;gap:6px;align-items:center;color:var(--accent);white-space:nowrap;font-size:10px}.gdp-followed-footer{display:flex;justify-content:space-between;align-items:center;padding:9px 18px;gap:10px;font-size:10px;color:var(--dim)}.gdp-followed-footer button{min-height:44px;font-size:11px;color:var(--text)}.gdp-feed-note{font-size:11px;color:var(--dim);line-height:1.8;margin:25px 0}.gdp-start{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:17px;padding:55px 25px;background:var(--gd-ground);border:1px solid var(--gd-line);border-radius:20px;text-align:center;min-height:345px}.gdp-start>span{display:grid;place-items:center;width:65px;height:65px;background:#24382c;border-radius:20px;color:var(--accent)}.gdp-start h2{font-size:28px;letter-spacing:-.7px}.gdp-start p{color:var(--muted);max-width:45ch;font-size:14px;line-height:1.8}.gdp-start>a{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center;min-height:44px}.gdp-search{display:flex;gap:10px;align-items:center;margin:18px 0 24px}.gdp-search .input{font-size:16px;min-height:50px;border-radius:10px}.gdp-search-name{flex:1;min-width:0}.gdp-search-name input{width:100%}.gdp-search>.btn{min-height:50px;font-size:12px}.gdp-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gdp-search-result{display:flex;align-items:center;gap:13px;text-align:left;padding:20px;border:1px solid var(--gd-line);border-radius:15px;background:var(--gd-ground);min-width:0}.gdp-search-result b{font-size:16px;line-height:1.4}.gdp-search-result small{font-size:11px;line-height:1.6;color:var(--muted)}.gdp-search-result em{display:flex;align-items:center;gap:6px;font-size:11px;font-style:normal;white-space:nowrap;color:var(--accent)}.gdp-search-intro{padding:42px 0;max-width:57ch}.gdp-search-intro h3{font-size:24px;letter-spacing:-.6px;margin-bottom:15px}.gdp-search-intro p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:17px}.gdp-search-intro small{font-size:12px;color:var(--dim);line-height:1.8;display:block}.gdp-loading,.gdp-empty-note{font-size:13px;line-height:1.7;color:var(--muted);margin:18px 0}.gdp-error{padding:15px 17px;border:1px solid #68443e;border-radius:12px;margin-bottom:18px;font-size:13px;line-height:1.8;color:#efb3a8}.gdp-error .btn{margin-left:10px}.gdp-notice{font-size:12px;color:var(--accent);margin:0 0 15px;line-height:1.7}.gdp-back{display:flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:var(--muted);margin-bottom:15px}.gdp-profile{display:flex;align-items:center;gap:20px;margin:0 0 28px}.gdp-player-mark.lg{width:72px;height:82px;font-size:26px;border-radius:13px 13px 22px 22px}.gdp-profile>div{flex:1;min-width:0}.gdp-profile h2{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:8px 0}.gdp-profile p{color:var(--muted);font-size:13px;line-height:1.6}.gdp-profile>.btn{flex:none;gap:8px;min-height:45px}.gdp-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:18px}.gdp-section-title h3{font-size:18px;letter-spacing:-.3px}.gdp-section-title>span{font-size:10px;color:var(--dim)}.gdp-performance{background:#19261f;border:1px solid #3b5042;border-radius:18px;padding:23px;margin:25px 0 30px}.gdp-performance p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:9px}.gdp-stat-values{display:flex;gap:30px;flex-wrap:wrap;margin-top:23px}.gdp-stat-values>span{display:grid;gap:6px;min-width:50px}.gdp-stat-values b{font-size:30px;font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.gdp-stat-values small{font-size:11px;color:var(--muted)}.gdp-stat-unavailable{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0 30px}.gdp-stat-unavailable b{font-size:14px}.gdp-stat-unavailable p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:9px}.gdp-games{display:grid;gap:10px}.gdp-game{display:grid;grid-template-columns:155px minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;min-width:0;text-align:left;padding:18px;border:1px solid var(--gd-line);border-radius:13px;background:var(--gd-ground)}.gdp-game>span{display:grid;gap:6px}.gdp-game>span b{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.gdp-game small{font-size:11px;color:var(--muted)}.gdp-game>strong{font-size:15px;font-weight:600;line-height:1.6}.gdp-game i{font-style:normal;font-size:16px;word-spacing:4px;margin:0 12px;color:#d6e9dd}.gdp-game em{display:flex;align-items:center;gap:7px;white-space:nowrap;font-style:normal;font-size:11px;color:var(--accent)}.gdp-participation{color:var(--dim);font-size:11px;line-height:1.8;margin:15px 0 30px}.gdp-linked-collection{padding:26px 0;border-top:1px solid var(--line)}.gdp-linked-cards{display:flex;gap:15px;overflow-x:auto;padding:4px 0 15px}.gdp-linked-cards article{flex:0 0 130px;min-width:0}.gdp-linked-cards a{display:grid;gap:10px}.gdp-linked-cards a>span{height:180px;display:flex;justify-content:center;background:var(--gd-ground);border-radius:8px;overflow:hidden}.gdp-linked-cards img{width:100%;height:100%;object-fit:contain}.gdp-linked-cards b{font-size:11px;line-height:1.6;font-weight:500}.gdp-linked-cards article>.btn{padding-left:0;font-size:10px;min-height:44px}.gdp-link-card{display:flex;align-items:end;gap:12px;margin:20px 0 14px;max-width:700px}.gdp-link-card label{display:grid;gap:9px;flex:1;min-width:0;font-size:12px}.gdp-link-card .input{font-size:16px;width:100%;min-height:48px}.gdp-link-card>.btn{min-height:48px;flex:none;font-size:12px}.gdp-linked-collection>small{display:block;color:var(--dim);font-size:11px;line-height:1.8;max-width:80ch}.gdp-team-choice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;margin:20px 0}.gdp-team-choice>span{margin-right:5px;color:var(--muted)}.gdp-team-choice .btn{font-size:12px}.gdp-team-choice [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.gdp-confirm{padding:22px;margin:0 0 25px;border:1px solid #647566;border-radius:15px;background:#25322a;display:grid;gap:13px}.gdp-confirm h3{font-size:16px}.gdp-confirm p{font-size:13px;color:var(--muted);line-height:1.7}.gdp-confirm>div{display:flex;gap:10px;flex-wrap:wrap}.gdp-confirm .btn{font-size:12px}.gdp-confirmed{margin-top:32px}.gdp-confirmed-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gdp-confirmed-players button{display:flex;align-items:center;gap:12px;padding:16px;text-align:left;border:1px solid var(--gd-line);border-radius:13px}.gdp-confirmed-players button>span:nth-child(2){flex:1;display:grid;gap:7px}.gdp-confirmed-players b{font-size:14px}.gdp-confirmed-players small{font-size:10px;color:var(--muted)}.gdp-confirmed-players em{display:flex;gap:5px;align-items:center;color:var(--accent);font-size:10px;font-style:normal}
@media(max-width:1080px){.gdp-followed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gdp-search-results{grid-template-columns:1fr}}
@media(max-width:760px){.gd-hub-navigation{gap:22px;margin-bottom:24px}.gd-hub-navigation button{font-size:12px;min-height:47px}.gd-hub-navigation>a{font-size:11px;gap:5px}.gd-hub-navigation>a svg{width:12px}.gdp-topline{gap:15px;align-items:start;margin-bottom:21px}.gdp-topline h2{font-size:22px}.gdp-topline p{font-size:12px;max-width:30ch}.gdp-topline .btn{font-size:10px;padding:10px;min-height:42px}.gdp-followed-grid{grid-template-columns:1fr}.gdp-player-open{padding:18px}.gdp-player-open b{font-size:16px}.gdp-followed-player{border-radius:16px}.gdp-next-game{min-height:69px}.gdp-start{padding:36px 20px;min-height:340px}.gdp-start h2{font-size:24px}.gdp-start p{font-size:13px}.gdp-search{flex-wrap:wrap;gap:8px}.gdp-search>label:first-child{flex:0 0 84px}.gdp-search>label:first-child select{padding-left:9px;padding-right:8px;width:100%}.gdp-search-name{flex:1}.gdp-search>.btn{margin-left:auto;min-height:43px}.gdp-search-result{padding:17px 13px;gap:10px}.gdp-search-result b{font-size:14px}.gdp-search-result small{font-size:10px}.gdp-search-result em{font-size:10px}.gdp-search-intro{padding:17px 0 30px}.gdp-search-intro h3{font-size:24px}.gdp-search-intro p{font-size:14px}.gdp-profile{gap:15px;flex-wrap:wrap;margin-bottom:20px}.gdp-player-mark.lg{width:57px;height:67px;font-size:22px}.gdp-profile h2{font-size:26px;letter-spacing:-.6px}.gdp-profile .label{font-size:10px}.gdp-profile p{font-size:12px}.gdp-profile>.btn{margin-left:72px;font-size:12px;min-height:43px}.gdp-performance{padding:20px;margin:23px 0 27px}.gdp-performance .label{font-size:10px}.gdp-performance p{font-size:11px}.gdp-stat-values{gap:25px;margin-top:18px}.gdp-stat-values b{font-size:28px}.gdp-stat-values small{font-size:10px}.gdp-section-title{gap:7px;margin-bottom:14px}.gdp-section-title h3{font-size:16px}.gdp-section-title>span{font-size:10px}.gdp-game{grid-template-columns:1fr auto;gap:12px;padding:16px}.gdp-game>span{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px}.gdp-game small{font-size:10px}.gdp-game>strong{font-size:12px}.gdp-game i{font-size:14px;word-spacing:1px;margin:0 6px}.gdp-game em{font-size:10px;gap:5px}.gdp-link-card{flex-wrap:wrap;gap:12px}.gdp-link-card label{flex-basis:100%}.gdp-link-card>.btn{min-height:43px}.gdp-confirmed-players{grid-template-columns:1fr}.gdp-confirmed-players button{padding:14px}.gdp-confirmed .gdp-section-title>span{flex-basis:100%}.gdp-error{font-size:12px}.gdp-error .btn{margin:9px 0 0}.gdp-feed-note{font-size:10px}.gdp-search-name input{padding-left:11px;padding-right:10px}}
@media(max-width:350px){.gd-hub-navigation{gap:16px}.gd-hub-navigation button{font-size:11px}.gd-hub-navigation>a{font-size:10px}.gdp-search-result em{display:none}.gdp-game em{font-size:10px}.gdp-game i{margin:0 4px}}

/* fantasy.css */
.fantasy-section{border:1px solid var(--gd-line,var(--line));border-radius:16px;background:var(--gd-ground,#151e1b);margin:0 0 28px;min-width:0;overflow:hidden}.fantasy-toggle{display:flex;align-items:center;gap:13px;padding:18px 20px;width:100%;text-align:left;min-height:76px}.fantasy-symbol{display:grid;place-items:center;flex:none;width:36px;height:40px;border-radius:9px;background:#283a2e;color:#cadbbb}.fantasy-toggle>span:nth-child(2){display:grid;gap:6px;flex:1;min-width:0}.fantasy-toggle b{font-size:16px;line-height:1.4}.fantasy-toggle small{font-size:11px;color:var(--muted);line-height:1.6}.fantasy-chevron{font-size:24px;color:var(--muted)}.fantasy-content{border-top:1px solid var(--gd-line,var(--line));padding:22px}.fantasy-content h3{font-size:22px;line-height:1.4;letter-spacing:-.4px}.fantasy-content h4{font-size:15px;margin:0 0 14px}.fantasy-content button,.fantasy-content a{min-height:44px}.fantasy-content .btn{font-size:12px;white-space:normal;line-height:1.5}.fantasy-content :is(button,a,input,select):focus-visible,.fantasy-toggle:focus-visible,.fantasy-table-scroll:focus-visible{outline:2px solid var(--accent,#c8deb9);outline-offset:3px}.fantasy-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fantasy-provider{padding:13px 15px;border:1px solid var(--line);border-radius:10px;display:grid;gap:6px;align-content:start}.fantasy-provider b{font-size:13px}.fantasy-provider span{font-size:11px;color:var(--accent)}.fantasy-provider small{font-size:11px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}.fantasy-list-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px}.fantasy-list-heading p{font-size:11px;color:var(--muted)}.fantasy-leagues{display:grid;gap:10px}.fantasy-league{display:flex;gap:15px;align-items:center;padding:17px;text-align:left;width:100%;border:1px solid var(--line);border-radius:11px;background:#17221c;min-width:0}.fantasy-league>span:nth-child(2){display:grid;gap:6px;min-width:0;flex:1}.fantasy-league b{font-size:15px;overflow-wrap:anywhere;line-height:1.5}.fantasy-league small{font-size:11px;color:var(--muted);line-height:1.5}.fantasy-league>svg{flex:none}.fantasy-league-mark{font-size:10px;letter-spacing:.04em;color:var(--accent)}.fantasy-empty{font-size:12px;line-height:1.8;color:var(--muted);margin:15px 0;max-width:68ch}.fantasy-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:22px;border:1px solid #596951;border-radius:12px;margin:15px 0 20px;background:#1c2920}.fantasy-form>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.fantasy-form p,.fantasy-form>small{grid-column:1/-1;font-size:12px;line-height:1.8;color:var(--muted)}.fantasy-form label,.fantasy-team-form label{display:grid;gap:9px;min-width:0;font-size:12px}.fantasy-form .input,.fantasy-team-form .input{width:100%;min-width:0;min-height:46px;font-size:16px;padding:10px 12px}.fantasy-form>.btn{justify-self:start;grid-column:1/-1}.fantasy-error{padding:15px;border:1px solid #725248;border-radius:10px;color:#e8b8a4;font-size:12px;line-height:1.7;margin:0 0 18px}.fantasy-error button{margin:10px 8px 0 0}.fantasy-error small{display:block;margin-top:10px}.fantasy-notice{color:var(--accent);font-size:12px;line-height:1.7;margin-bottom:16px}.fantasy-back{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);margin:0 0 15px}.fantasy-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.fantasy-detail-heading>div{min-width:0}.fantasy-detail-heading h3{overflow-wrap:anywhere;margin-top:6px}.fantasy-detail-heading>.btn{flex:none}.fantasy-detail-heading .label{font-size:10px}.fantasy-freshness{margin:20px 0 22px;padding:15px 17px;border-left:2px solid #647b55;background:#202d22;display:grid;gap:6px;font-size:11px;line-height:1.7}.fantasy-freshness b{font-size:12px}.fantasy-freshness span,.fantasy-freshness small{color:var(--muted)}.fantasy-freshness.is-stale{border-color:#d2b478;background:#30291d}.fantasy-freshness a{display:flex;align-items:center;gap:7px;justify-self:start;color:var(--accent)}.fantasy-team-form{display:flex;gap:12px;align-items:end;max-width:620px;margin:20px 0 28px}.fantasy-team-form label{flex:1}.fantasy-team-form .btn{min-height:46px;flex:none}.fantasy-matchups,.fantasy-standings,.fantasy-roster{margin-top:28px}.fantasy-matchup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fantasy-matchup{border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.fantasy-matchup>small{display:block;font-size:10px;color:var(--muted);margin-bottom:13px}.fantasy-matchup>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:7px 0}.fantasy-matchup b{font-size:12px;font-weight:500;overflow-wrap:anywhere;line-height:1.6}.fantasy-matchup strong{font-size:24px;font-variant-numeric:tabular-nums;font-weight:600;flex:none}.fantasy-table-scroll{overflow:auto;max-height:430px;border:1px solid var(--line);border-radius:10px;overscroll-behavior:contain}.fantasy-standings table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6}.fantasy-standings :is(th,td){padding:13px 15px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--line)}.fantasy-standings thead{color:var(--muted);font-size:10px}.fantasy-standings th{font-weight:500}.fantasy-standings tbody th{white-space:normal;min-width:125px;max-width:300px;overflow-wrap:anywhere}.fantasy-standings td{font-variant-numeric:tabular-nums}.fantasy-standings th small{display:block;color:var(--accent);font-size:10px}.fantasy-standings .is-your-team{background:#253528}.fantasy-roster>p{font-size:12px;color:var(--muted);line-height:1.8;max-width:70ch;margin:0 0 14px}.fantasy-roster ul{margin:0;padding:0;list-style:none;display:grid;gap:0}.fantasy-roster li{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;min-width:0}.fantasy-slot{width:45px;flex:none;color:var(--accent);font-size:11px;overflow-wrap:anywhere}.fantasy-roster li>span:nth-child(2){display:grid;gap:6px;flex:1;min-width:0}.fantasy-roster b{font-size:13px;overflow-wrap:anywhere;line-height:1.5}.fantasy-roster small{font-size:10px;color:var(--muted)}.fantasy-roster li>.btn{flex:none;font-size:11px}.fantasy-remove{border-top:1px solid var(--line);margin:27px 0 0;padding-top:17px}.fantasy-remove>button{color:var(--muted);font-size:11px}.fantasy-remove p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:10px}.fantasy-remove>div{display:flex;flex-wrap:wrap;gap:10px}.fantasy-content button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:760px){.fantasy-toggle{padding:16px;gap:11px}.fantasy-toggle small{font-size:10px}.fantasy-content{padding:16px}.fantasy-providers{grid-template-columns:1fr;gap:8px}.fantasy-provider{grid-template-columns:1fr auto;gap:5px 10px;padding:11px 12px}.fantasy-provider small{grid-column:1/-1;font-size:10px}.fantasy-form{padding:15px;gap:15px 10px}.fantasy-form h3{font-size:18px}.fantasy-form label{font-size:11px}.fantasy-form p,.fantasy-form>small{font-size:11px}.fantasy-league{padding:13px;gap:10px}.fantasy-league-mark{font-size:10px}.fantasy-league b{font-size:13px}.fantasy-league small{font-size:10px}.fantasy-detail-heading{align-items:start;flex-wrap:wrap;gap:12px}.fantasy-detail-heading h3{font-size:22px}.fantasy-matchup-grid{grid-template-columns:1fr}.fantasy-roster li{gap:10px;flex-wrap:wrap}.fantasy-roster li>.btn{margin-left:55px;min-height:44px;padding-left:0}.fantasy-roster li>span:nth-child(2){flex-basis:calc(100% - 65px)}.fantasy-team-form{flex-wrap:wrap}.fantasy-team-form label{flex-basis:100%}.fantasy-team-form>.btn{margin-left:auto}.fantasy-standings :is(th,td){padding:11px}.fantasy-content .btn{font-size:11px}}
@media(max-width:350px){.fantasy-content{padding:13px}.fantasy-form{grid-template-columns:1fr}.fantasy-form>div{flex-wrap:wrap}.fantasy-toggle{padding:14px;gap:9px}.fantasy-toggle b{font-size:15px}.fantasy-symbol{width:30px}.fantasy-league-mark{display:none}}
@media(prefers-reduced-motion:reduce){.fantasy-section *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.fantasy-roster li{padding:0}.fantasy-roster-player{display:flex;align-items:center;gap:15px;min-height:66px;padding:13px 0;text-align:left;width:100%;min-width:0}.fantasy-roster-player>span:nth-child(2){display:grid;gap:6px;min-width:0;flex:1}.fantasy-roster-player>svg{flex:none;color:var(--muted);margin-left:auto}.fantasy-roster-player:hover{background:#213026}.fantasy-roster-player:focus-visible{outline-offset:-2px!important}
@media(max-width:760px){.fantasy-roster-player{gap:10px}.fantasy-roster-player>span:nth-child(2){flex-basis:auto}.fantasy-roster li{flex-wrap:nowrap}}

.fantasy-provider-details{margin-top:20px;border-top:1px solid var(--line);padding-top:8px}.fantasy-provider-details summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;font-size:11px;color:var(--muted);list-style-position:inside}.fantasy-provider-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fantasy-provider-details .fantasy-providers{margin-top:8px}.fantasy-form>.fantasy-providers{display:grid;grid-column:1/-1;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}.fantasy-list-heading:first-child{margin-top:0}
@media(max-width:760px){.fantasy-form>.fantasy-providers{grid-template-columns:1fr}}

/* live-field.css */
/* The live field. `.lit` is the panel material; everything else is the drawing. */
.lf{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:20px;container-type:inline-size;overflow:hidden}
.lf-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:0 4px}
.lf-head>div{min-width:0}
.lf-head h3{margin:1px 0 0;font-size:14px;font-weight:700;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-eyebrow{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lf-eyebrow.is-violet{color:var(--violet)}
.lf-toggle{position:absolute;top:8px;right:8px;z-index:3;display:flex;gap:4px;padding:3px;border-radius:999px;background:rgba(6,8,13,.86);border:1px solid var(--line)}
.lf-toggle button{min-height:44px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.lf-toggle button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.lf-stage{position:relative;width:100%;max-width:640px;margin:0 auto;border-radius:14px;overflow:hidden;container:lf-stage / size}
.lf-map{position:absolute;left:50%;top:50%;width:min(100cqw,calc(100cqh * var(--lf-aspect)));aspect-ratio:var(--lf-aspect);transform:translate(-50%,-50%);container-type:inline-size}
/* The SVG and projected HTML positions share one proportional frame. WebGL
   projects directly into the stage, so its label layer uses that full frame. */
.lf.is-3d .lf-map{display:contents}
.lf:not(.is-3d) .lf-chip{transform:rotate(var(--lf-label-rotation,0deg)) scale(max(.7,var(--lf-scale,1)))}
.lf:not(.is-3d) .lf-chip:is(:hover,:focus-visible){transform:rotate(var(--lf-label-rotation,0deg)) scale(1.15)}
.lf:not(.is-3d) .lf-marker{transform:translateY(-100%) rotate(var(--lf-label-rotation,0deg)) scale(var(--lf-scale,1))}
.lf.is-3d .lf-stage{max-width:none}
.lf-ground{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.lf-ground svg{display:block;width:100%;height:100%;overflow:hidden}
.lf-layer{position:absolute;inset:0;pointer-events:none;z-index:2}
.lf-layer>*{pointer-events:auto}
.lf-dot{fill:var(--accent);stroke:var(--bg);stroke-width:1.5}
.lf-dot-shot,.lf-dot-hit{fill:none;stroke:var(--accent);stroke-width:2}
.lf-dot-shot.is-away,.lf-dot-hit.is-away{stroke:var(--blue)}
.lf-dot-hit{fill:var(--accent);stroke:var(--bg)}
.lf-dot-hit.is-away{fill:var(--blue)}
.lf-dot-goal,.lf-dot-score{fill:var(--red)}
.lf-dot-made{fill:var(--green)}
.lf-dot-miss,.lf-dot-missed,.lf-dot-block{fill:none;stroke:var(--dim);stroke-width:2}
.lf-dot.is-latest{animation:lf-pulse 1.3s ease-in-out 4;transform-box:fill-box;transform-origin:center}
@keyframes lf-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.4)}}
.lf-chip{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--text);color:var(--bg);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);transform:scale(max(.7,var(--lf-scale,1)))}
.lf-marker{position:absolute;width:44px;margin-left:-22px;transform:translateY(-100%) scale(var(--lf-scale,1));transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--text)}
.lf-marker-art{display:block;width:44px;height:62px;border-radius:5px;overflow:hidden;border:2px solid var(--dim);background:var(--surface);box-shadow:0 12px 16px rgba(2,5,10,.55)}
.lf-marker-art img,.lf-marker-art .card-placeholder{width:100%;height:100%;object-fit:cover;display:block;font-size:10px}
.lf-marker.is-mine .lf-marker-art{border-color:var(--accent)}
.lf-marker.is-atbat .lf-marker-art{border-color:var(--violet)}
.lf-marker.is-goal .lf-marker-art{border-color:var(--red)}
.lf-marker.is-made .lf-marker-art{border-color:var(--green)}
.lf-marker-tag{font-size:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 2px #000}
.lf-marker.is-mine .lf-marker-tag{color:var(--accent)}
.lf-marker.is-atbat .lf-marker-tag{color:var(--violet)}
.lf-marker.is-goal .lf-marker-tag{color:var(--red)}
.lf-arc-dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--text);transform:scale(var(--lf-scale,1));animation:lf-fly .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--lf-i) / var(--lf-n) * .8s)}
.lf-arc-dot.is-landing{width:10px;height:10px;margin:-5px 0 0 -5px;background:var(--accent);border:2px solid var(--bg)}
.lf-arc-dot.is-landing.is-score{background:var(--red)}
@keyframes lf-fly{from{opacity:0}to{opacity:1}}
.lf-caption{margin:0;padding:5px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;flex:none;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.lf-head{flex-wrap:wrap}.lf-caption{max-width:100%}}
.lf-zone-row{display:flex;gap:12px;align-items:stretch}
.lf-zone{position:relative;flex:0 0 96px;height:112px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.lf-zone-box{position:absolute;border:1.5px solid var(--muted);background-image:linear-gradient(to right,transparent calc(33.33% - .5px),rgba(169,180,195,.4) calc(33.33% - .5px),rgba(169,180,195,.4) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(169,180,195,.4) calc(66.66% - .5px),rgba(169,180,195,.4) calc(66.66% + .5px),transparent calc(66.66% + .5px)),linear-gradient(to bottom,transparent calc(33.33% - .5px),rgba(169,180,195,.4) calc(33.33% - .5px),rgba(169,180,195,.4) calc(33.33% + .5px),transparent calc(33.33% + .5px),transparent calc(66.66% - .5px),rgba(169,180,195,.4) calc(66.66% - .5px),rgba(169,180,195,.4) calc(66.66% + .5px),transparent calc(66.66% + .5px))}
.lf-pitch{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--bg);border:2px solid var(--bg);background:var(--dim)}
.lf-pitch.is-strike{background:var(--red)}.lf-pitch.is-ball{background:var(--blue)}.lf-pitch.is-foul{background:var(--muted)}.lf-pitch.is-inplay{background:var(--accent)}
.lf-pitch.is-latest{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 35%,transparent);transform:scale(1.15)}
.lf-zone-copy{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}
.lf-zone-copy strong{font-size:16px}
.lf-note{font-size:12px;color:var(--muted)}.lf-fine{font-size:11px;color:var(--dim))}
.lf-spotlight{display:flex;gap:12px;align-items:center;padding:10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--violet) 50%,transparent);background:var(--bg);text-decoration:none;color:var(--text)}
.lf-spot-art{display:block;width:40px;height:56px;border-radius:6px;overflow:hidden;border:1px solid var(--line);flex-shrink:0}
.lf-spot-art img,.lf-spot-art .card-placeholder{width:100%;height:100%;object-fit:cover;display:block;font-size:10px}
.lf-spotlight strong{display:block;font-size:13px;font-weight:600;margin-top:2px}
.lf-bench{display:flex;flex-direction:column;gap:6px}
.lf-bench-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 0;scrollbar-width:none}
.lf-bench-card{display:flex;flex-direction:column;align-items:center;gap:3px;width:56px;flex-shrink:0;text-decoration:none;color:var(--text);font-size:10px}
.lf-bench-card .lf-marker-art{width:34px;height:48px;border-width:1px;border-color:var(--line);box-shadow:none}
.lf-bench-card b{font-weight:700}.lf-bench-card small{font-size:10px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-moments{list-style:none;margin:0;padding:2px 0 0;display:flex;flex-direction:column;gap:6px}
.lf-moments li{display:flex;gap:10px;font-size:13px}
.lf-moments li span:first-child{flex:0 0 56px;font-size:11px;color:var(--dim));font-variant-numeric:tabular-nums}
.lf-moments li.is-score span:last-child{color:var(--red);font-weight:700}
.lf-moments li.is-mine span:last-child{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.lf-dot.is-latest,.lf-arc-dot{animation:none}}

/* The WebGL stage: the canvas fades in over the drawn ground once the scene is
   ready; cards then stand in the scene, so only names and chips stay in HTML. */
.lf-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;opacity:0;transition:opacity .7s ease;cursor:grab;border-radius:var(--r);touch-action:pan-y}
.lf-canvas.is-in{opacity:1}
.lf-canvas:active{cursor:grabbing}
.lf.is-3d .lf-ground{opacity:0;transition:opacity .7s ease}
/* Stage shapes match the slab at its resting angle, so the field fills the frame. */
.lf.is-3d[data-lf-kind=diamond] .lf-stage{aspect-ratio:3/2!important}
.lf.is-3d[data-lf-kind=court] .lf-stage,.lf.is-3d[data-lf-kind=rink] .lf-stage,.lf.is-3d[data-lf-kind=gridiron] .lf-stage{aspect-ratio:2/1!important}
.lf.is-3d .lf-marker-art{display:none}
.lf.is-3d .lf-marker{transform:translate(0,6px) scale(var(--lf-scale,1));transform-origin:50% 0;transition:none}
.lf.is-3d .lf-marker-tag{background:rgba(6,8,13,.82);padding:3px 7px;border-radius:999px;border:1px solid var(--line)}
.lf.is-3d .lf-chip{transition:none}
.lf-chip{text-decoration:none;cursor:pointer;transition:transform .2s}
.lf-chip:hover,.lf-chip:focus-visible{background:var(--accent);outline:none;transform:scale(1.15)}
.lf-hint{font-size:var(--fs-label);color:var(--dim);text-align:center;margin:6px 0 0}
.lf.is-3d .lf-hint{display:block}
.lf-hint{display:none}

/* A reported goal (scorer and minute, no coordinates) sits on the penalty spot, drawn hollow so nobody reads it as a location. */
.lf-dot.is-reported{fill:none;stroke:var(--green);stroke-width:2.5;stroke-dasharray:3 2}
.lf.is-3d[data-lf-kind=pitch] .lf-stage{aspect-ratio:16/9!important}

/* --- moving the field without a drag ----------------------------------------
   Turning this field used to need press-and-travel, and coming closer needed a
   wheel or two fingers. These do the same job in single taps, and the canvas
   itself takes focus and answers the arrow keys. WCAG 2.5.7 asks for exactly
   this: not a smaller drag, an alternative to dragging. */
.lf-canvas:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:-2px}
 /* Solid, not frosted. A backdrop blur over a WebGL canvas is the most
    expensive place in the app to put one: the scene repaints every frame, so
    the blurred region is re-composited every frame too — on the one screen
    already running a 3D renderer. An opaque plate reads just as well. */
.lf-steps{position:absolute;right:8px;bottom:8px;z-index:3;display:flex;gap:4px;
 padding:4px;border-radius:12px;background:#0b1016;
 border:1px solid #ffffff1f}
.lf-step{inline-size:40px;block-size:40px;display:grid;place-items:center;
 border-radius:9px;font-size:16px;line-height:1;color:#F4F6FA;background:transparent;border:0}
.lf-step:hover{background:#ffffff14}
.lf-step:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:-2px}
@media(max-width:600px){.lf-steps{right:6px;bottom:6px;gap:2px}.lf-step{inline-size:44px;block-size:44px}}
@media(prefers-reduced-motion:reduce){.lf-steps{position:static;justify-content:center;margin-top:8px;background:transparent;border:0}}

/* Faces retain the reported coordinates; the portrait never distorts the field. */
.lf-chip{width:34px;height:34px;margin:-17px 0 0 -17px;isolation:isolate;box-shadow:0 3px 10px #0006;background:#172129;color:#fff}
.lf-chip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;border-radius:50%;z-index:1;background:#172129}
.lf-chip-fallback{position:relative;font-size:10px;line-height:1;pointer-events:none}
.lf-chip:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Figures carry the silhouette; portraits are small identity badges above them. */
.lf.is-3d .lf-marker:not(.is-mine) .lf-marker-art{width:24px;height:24px;border-width:1px;box-shadow:0 2px 8px #0008}.lf.is-3d .lf-marker:not(.is-mine) .lf-marker-tag{font-size:10px;padding:2px 5px}
.lf-illustration-note{font-size:11px;line-height:1.5;color:var(--muted);margin:6px 0}

/* Screen-sized identity targets stay readable when the camera moves away. */
.lf.is-3d .lf-chip{width:44px;height:44px;min-width:44px;min-height:44px;border:2px solid var(--lf-team-primary,#8AEAC7);outline:2px solid var(--lf-team-secondary,#172129);font-size:12px;transform:translate(-50%,-100%);transform-origin:50% 100%;box-shadow:0 3px 10px #000b}.lf.is-3d .lf-chip img{width:100%;height:100%;object-fit:cover}

/* The football snapshot states what the feed actually locates. */
.lf-play-summary{padding:10px 12px;min-width:0}.lf-play-summary b{font-size:16px;color:var(--text)}.lf-play-summary b span{font-size:12px;font-weight:500;color:var(--muted);margin-left:8px}.lf-play-summary p{font-size:14px;line-height:1.5;margin:5px 0;overflow-wrap:anywhere}.lf-play-summary small{font-size:11px;color:var(--muted)}
.lf-replay{position:absolute;left:8px;bottom:8px;z-index:4;min-height:44px;border:1px solid #ffffff20;border-radius:24px;background:#152126;color:#DDFBF2;padding:0 14px;font-size:13px;font-weight:700;cursor:pointer}.lf-replay[hidden]{display:none}.lf-replay:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lf-replay:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.lf-replay{display:none}}
.lf.is-3d .lf-chip{margin:0}

/* Detail controls stay folded until requested, leaving the game unobstructed. */
.lf-layers{position:absolute;left:8px;top:8px;z-index:5;background:#102126;border:1px solid #ffffff24;border-radius:16px;color:#edf9f6;max-width:180px;font-size:14px}
.lf-layers summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 14px;font-weight:700;list-style:none}.lf-layers summary::-webkit-details-marker{display:none}
.lf-layers>div{display:grid;padding:0 8px 8px;gap:4px}.lf-layers button{display:flex;align-items:center;gap:8px;min-height:44px;text-align:left;color:inherit;background:#ffffff08;border:0;border-radius:10px;padding:8px 12px;font:inherit;cursor:pointer}.lf-layers button::before{content:'○';color:#aebfbb}.lf-layers button[aria-pressed=true]::before{content:'✓';color:#8be9c1}.lf-layers :focus-visible{outline:2px solid #8be9c1;outline-offset:2px}

.lf-adjust{position:absolute;right:8px;bottom:8px;z-index:4}.lf-adjust summary{min-height:44px;display:flex;align-items:center;padding:0 14px;border:1px solid #ffffff24;border-radius:24px;background:#102126;color:#edf9f6;cursor:pointer;font-size:14px}.lf-adjust .lf-steps{position:static;margin-top:4px}

.lf-recovery{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px;color:var(--muted);font-size:14px;line-height:1.5}
.lf-recovery button{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:24px;background:var(--panel,#152126);color:var(--text,#fff);font:inherit;font-weight:600}
.lf-recovery button:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:2px}

/* Retained plays stay readable during an outage without replaying live motion. */
.lf[data-lf-live="false"] .lf-dot.is-latest,.lf[data-lf-live="false"] .lf-arc-dot{animation:none}

.lf-team-legend{display:flex;flex:none;flex-wrap:wrap;gap:10px 20px;padding:10px 14px;color:#e3ebef;font-size:12px}.lf-team-legend span{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;overflow-wrap:anywhere}.lf-team-legend i{width:14px;height:14px;flex:none;display:inline-block;box-sizing:border-box}

.lf.is-3d .lf-chip::after{content:"";position:absolute;left:50%;top:100%;width:var(--lf-tether-length,0px);height:1px;background:#cbe5e9b3;transform-origin:left center;transform:rotate(var(--lf-tether-angle,0deg));pointer-events:none}

/* Compact field tools occupy normal flow below the canvas, never its corners.
   Open tools grow this footer, leaving player projection and hit targets intact. */
.lf-inline-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;flex:none;min-width:0;padding:8px 10px 0}
.lf-inline-controls>[data-lf-inline-replay]:empty{display:none}
.lf-inline-controls .lf-tools{min-width:0;grid-column:2}
.lf-inline-controls .lf-tools[open]{grid-column:1/-1}
.lf-inline-controls .lf-tools>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface,#152126);font-size:12px;font-weight:650;cursor:pointer;list-style:none}
.lf-inline-controls .lf-tools>summary::-webkit-details-marker{display:none}
.lf-inline-controls .lf-tools[open]>summary>span{transform:rotate(45deg)}
.lf-tools-body{display:grid;gap:10px;padding:10px 0 0}
.lf-tools-body>div:empty{display:none}
.lf.lf-compact .lf-inline-controls .lf-toggle,.lf.lf-compact .lf-inline-controls .lf-steps,.lf.lf-compact .lf-inline-controls .lf-replay{position:static;inset:auto;margin:0;box-sizing:border-box;max-width:100%}
.lf.lf-compact .lf-inline-controls .lf-replay{width:100%;min-height:44px;padding:0 10px;border-radius:12px;font-size:12px}
.lf.lf-compact .lf-inline-controls .lf-toggle{justify-self:start}
.lf.lf-compact .lf-inline-controls .lf-toggle button{min-height:44px;font-size:12px}
.lf.lf-compact .lf-inline-controls .lf-steps{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px;padding:4px}
.lf-inline-controls .lf-step{inline-size:44px;block-size:44px;flex:none}
.lf-inline-controls [data-lf-inline-layers]>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.lf-inline-controls [data-lf-inline-layers] button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#152126);color:var(--text);padding:8px;font:inherit;font-size:12px;cursor:pointer;text-align:left}
.lf-inline-controls [data-lf-inline-layers] button::before{content:'○ ';color:var(--muted)}
.lf-inline-controls [data-lf-inline-layers] button[aria-pressed=true]::before{content:'✓ ';color:var(--accent)}
.lf-inline-controls :is(button,summary):focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:-2px}

/* Without WebGL or motion, the same reported play remains available as a
   static illustrated view; no animated replay is forced by this control. */
.lf-fallback-replay{min-height:44px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:12px;font-weight:650;color:var(--text);background:var(--surface,#152126);cursor:pointer}
.lf.is-3d .lf-fallback-replay{display:none}
/* The 3D chip's team-colour ring is an outline too; keyboard focus must still read. */
.lf.is-3d .lf-chip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Keep the current play readable outside the moving field. */
.lf-readout{display:grid;gap:6px;padding:12px 14px;min-width:0;border-top:1px solid var(--line)}
.lf-readout p{margin:0;color:var(--text);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.lf-readout-facts{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--accent);font-size:13px;line-height:1.5}

.lf.lf-compact .lf-head{display:none}

/* verified.css */
.verified-mark{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--bg) 85%,transparent);border:1px solid color-mix(in srgb,var(--blue) 50%,transparent);color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.04em;z-index:2}
.verified-pill{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--blue) 35%,transparent);background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);font:inherit;text-align:left;cursor:pointer}
.verified-pill span{flex:1;min-width:0;display:flex;flex-direction:column}
.verified-pill b{font-size:13px}.verified-pill small{font-size:11px;color:var(--muted)}
.verified-pill svg:last-child{color:var(--muted)}
.verified-line{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;font-weight:600;color:var(--blue)}
.verified-sheet h2{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:20px;color:var(--text)}
.verified-sheet h2 svg{color:var(--blue)}
.verified-sheet dl{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.verified-sheet dl div{display:flex;gap:10px;font-size:14px;line-height:20px}
.verified-sheet dt{flex:0 0 64px;font-weight:700;color:var(--blue)}
.verified-sheet dd{margin:0}
.verified-sheet h3{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.verified-sheet ol{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:19px;color:var(--muted)}
.verified-sheet .muted{font-size:11px;line-height:16px}
.order-receipt{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;font-size:13px;color:var(--muted)}
.order-receipt svg{color:var(--blue)}
.order-receipt b{color:var(--text)}
.order-receipt.is-verified b{color:var(--green)}
.order-receipt.is-mismatch b{color:var(--red)}
.verified-dialog{max-width:440px;width:calc(100% - 32px);padding:22px 20px 20px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text)}
.verified-dialog::backdrop{background:rgba(3,7,12,.7)}
.verified-dialog .close{position:absolute;right:10px;top:10px}
.trade-postage{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);margin:12px 0}
.trade-postage-head{display:flex;align-items:center;gap:12px}
.trade-postage-head svg{color:var(--accent);flex-shrink:0}
.trade-postage-head b{display:block;font-size:15px}
.trade-postage-head small{display:block;color:var(--muted);font-size:12px}
.trade-postage p{margin:0;font-size:13px;line-height:19px;color:var(--muted)}
.trade-postage .btn{align-self:flex-start}
.trade-postage-theirs{color:var(--text)!important}
.trade-postage-error{color:var(--red)!important}

.fee-savings{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);margin:0 0 14px}
.fee-savings>b{font-size:24px;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.fee-savings>p{margin:0;font-size:13px;color:var(--muted)}
.fee-savings-row{display:grid;grid-template-columns:72px minmax(0,1fr) 92px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.fee-savings-row>span:first-child b{display:block;font-size:13px}
.fee-savings-row>span:first-child small{font-size:10px;color:var(--muted);font-weight:600}
.fee-savings-track{display:block;height:8px;border-radius:4px;background:var(--bg);overflow:hidden}
.fee-savings-track i{display:block;height:100%;border-radius:4px;background:var(--dim)}
.fee-savings-row.is-best{background:color-mix(in srgb,var(--accent) 8%,transparent);margin:0 -16px;padding-left:16px;padding-right:16px;border-radius:10px}
.fee-savings-row.is-best .fee-savings-track i{background:var(--accent)}
.fee-savings-row.is-best b,.fee-savings-row.is-best .fee-savings-kept{color:var(--accent)}
.fee-savings-kept{text-align:right;font-size:13px;font-weight:700}
.fee-savings-nudge{font-size:11px;color:var(--dim));padding-top:4px}
.payout-primer .label{color:var(--accent)}
.payout-stages{list-style:none;margin:6px 0;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:12px}
.payout-stages li{display:flex;gap:12px;align-items:flex-start}
.payout-stages li>span{width:32px;height:32px;border-radius:50%;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}
.payout-stages li.is-done>span{background:var(--accent);color:var(--accent-ink)}
.payout-stages b{display:block;font-size:14px}.payout-stages small{font-size:12px;color:var(--muted)}
.seller-strip{list-style:none;margin:0 0 6px;padding:0;display:flex;align-items:flex-start;gap:4px}
.seller-strip li{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;position:relative}
.seller-strip li span{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);z-index:1}
.seller-strip li.is-current span{border-color:var(--accent);border-width:2px;color:var(--accent)}
.seller-strip li.is-done span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.seller-strip li small{font-size:11px;color:var(--muted)}.seller-strip li.is-current small{color:var(--text);font-weight:700}
.seller-strip li:not(:last-child)::after{content:"";position:absolute;left:50%;right:-50%;top:12px;height:1.5px;background:var(--line)}
.seller-strip li.is-done:not(:last-child)::after{background:var(--accent)}
.seller-stage-art{position:relative;width:112px;height:112px;margin:2px auto;display:flex;align-items:center;justify-content:center}
.seller-stage-art::before{content:"";position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.seller-stage-art span{position:relative;width:84px;height:84px;border-radius:26px;display:flex;align-items:center;justify-content:center;color:var(--accent);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028)),var(--raised);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);box-shadow:0 10px 18px color-mix(in srgb,var(--accent) 22%,transparent);transform:perspective(600px) rotateX(8deg) rotateY(-8deg)}
.seller-stage-art.is-country span{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 40%,transparent)}
.seller-stage-art.is-details span{color:var(--violet);border-color:color-mix(in srgb,var(--violet) 40%,transparent)}
.seller-stage-art.is-ready span{color:var(--green)}.seller-stage-art.is-blocked span{color:var(--red)}
.seller-stage-done{position:absolute;right:10px;bottom:10px;width:24px;height:24px;border-radius:50%;background:var(--green);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}
.seller-next .label{display:block;margin:6px 0 4px}

/* Keep the current seller step and its action above explanatory details. */
.seller-journey-head>.seller-stage-art{flex:0 0 52px;width:52px;height:56px;margin:0}
.seller-journey-head>.seller-stage-art span{width:46px;height:46px;border-radius:14px}
.seller-journey-head>.seller-stage-art svg{width:24px;height:24px}
.seller-journey-head>div:last-child{flex:1;min-width:0}
.seller-next summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:13px;gap:8px}
.seller-next summary::after{content:"+";margin-left:auto;font-size:18px}
.seller-next[open] summary::after{content:"−"}
.seller-payment-sheet [data-seller-content]{display:flex;flex-direction:column;gap:16px}

/* The global margin reset must not remove native modal centering. */
.verified-dialog{position:fixed;inset:0;margin:auto;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.verified-dialog .verified-sheet h2{padding-right:38px;font-size:20px;line-height:1.35;letter-spacing:0;align-items:flex-start}
.verified-dialog .verified-sheet h2 svg{flex-shrink:0}
.verified-dialog .verified-sheet dd{min-width:0;overflow-wrap:anywhere}

/* pulse.css */
/* The pulse strip: win probability, the run, your cards in play. */
.gd-pulse{display:flex;flex-direction:column;gap:6px;padding:6px 10px;border-radius:var(--r);background:var(--raised);border:1px solid var(--line);margin-top:6px}
.gd-pulse-chart{display:block;width:100%;height:36px;margin-top:2px;overflow:visible}
.gd-pulse-chart line{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.gd-pulse-chart polyline{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.gd-pulse-chart polygon{fill:var(--accent);opacity:.14}
.gd-pulse-chart.is-away polyline{stroke:var(--violet)}.gd-pulse-chart.is-away polygon{fill:var(--violet)}
.gd-pulse-win{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
.gd-pulse-side{display:flex;flex-direction:row;align-items:baseline;gap:4px;min-width:0;font-variant-numeric:tabular-nums}
.gd-pulse-side.is-away{flex-direction:row-reverse}
.gd-pulse-side b{font-size:var(--fs-small);font-weight:800;letter-spacing:-.2px;line-height:1.1}
.gd-pulse-side small{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.gd-pulse-side.is-home b{color:var(--accent)}
.gd-pulse-side.is-away b{color:var(--violet)}
.gd-pulse-track{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(124,242,212,.28),rgba(124,242,212,.18));overflow:visible}
.gd-pulse-fill{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--violet),var(--blue));box-shadow:0 0 14px rgba(124,242,212,.45);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.gd-pulse-swing{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:var(--fs-micro);font-weight:800;padding:2px 7px;border-radius:999px;background:var(--surface);border:1px solid var(--line);animation:gd-swing 2.4s ease both}
.gd-pulse-swing.is-home{color:var(--accent)}.gd-pulse-swing.is-away{color:var(--violet)}
@keyframes gd-swing{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%,0)}80%{opacity:1}100%{opacity:0}}
.gd-pulse-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gd-pulse-pick{display:inline-flex;gap:6px;align-items:center;margin-left:auto}
.gd-pulse-run,.gd-pulse-cards,.gd-pulse-closed{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);font-weight:700;padding:3px 9px;min-height:28px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.gd-pulse-run.is-home{color:var(--accent);border-color:rgba(124,242,212,.4)}
.gd-pulse-run.is-away{color:var(--violet);border-color:rgba(198,182,255,.4)}
.gd-pulse-run.is-strong{animation:gd-glow 1.6s ease-in-out infinite alternate}
@keyframes gd-glow{from{box-shadow:0 0 0 rgba(124,242,212,0)}to{box-shadow:0 0 16px rgba(124,242,212,.5)}}
.gd-pulse-cards{color:var(--gold)}
.gd-pulse-closed{color:var(--muted);font-weight:600;margin-left:auto}
.gd-pulse-note{font-size:var(--fs-micro);color:var(--dim);margin-left:auto}
.gd-pulse.is-live .gd-pulse-fill{animation:gd-shimmer 3s linear infinite;background-size:200% 100%;background-image:linear-gradient(90deg,var(--violet) 0%,var(--blue) 45%,#fff 50%,var(--blue) 55%,var(--violet) 100%)}
@keyframes gd-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* The buzz: a card that drops in from the top for a big play. */
.gd-buzz-host{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translateX(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}
.gd-buzz{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(13,17,24,.92);border:1px solid var(--line);box-shadow:0 18px 44px rgba(2,5,10,.6);animation:gd-buzz-in .5s cubic-bezier(.2,.9,.2,1.2) both;overflow:visible}
.gd-buzz.is-out{animation:gd-buzz-out .4s ease both}
.gd-buzz.is-still{animation:none}
.gd-buzz-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(124,242,212,.14);color:var(--accent);flex:none}
.gd-buzz.is-score .gd-buzz-icon{background:rgba(125,226,166,.16);color:var(--green)}
.gd-buzz.is-mine{border-color:rgba(244,207,112,.55);box-shadow:0 18px 44px rgba(2,5,10,.6),0 0 30px rgba(244,207,112,.25)}
.gd-buzz.is-mine .gd-buzz-icon{background:rgba(244,207,112,.16);color:var(--gold)}
.gd-buzz-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.gd-buzz-copy b{font-size:var(--fs-small);font-weight:800}
.gd-buzz-copy small{font-size:var(--fs-caption);color:var(--muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@keyframes gd-buzz-in{from{opacity:0;transform:translateY(-24px) scale(.94)}to{opacity:1;transform:none}}
@keyframes gd-buzz-out{to{opacity:0;transform:translateY(-12px)}}
.gd-burst{position:absolute;inset:0;pointer-events:none}
.gd-burst i{--gd-burst-angle:0deg;--gd-burst-dur:.8;position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:2px;background:var(--gold);transform:rotate(var(--gd-burst-angle)) translateY(0);animation:gd-burst calc(var(--gd-burst-dur) * 1s) cubic-bezier(.1,.8,.3,1) both}
.gd-burst i:nth-child(odd){background:var(--accent)}
.gd-burst i:nth-child(3n){background:var(--violet)}
@keyframes gd-burst{from{opacity:1;transform:rotate(var(--gd-burst-angle)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--gd-burst-angle)) translateY(-70px) scale(.4)}}
@media (prefers-reduced-motion:reduce){.gd-pulse-fill,.gd-pulse-swing,.gd-pulse-run.is-strong,.gd-buzz,.gd-burst i{animation:none;transition:none}}

/* On a phone the strip stays one row you can swipe, so the pinned block above
   the field is a third shorter: the run, your cards and the pick never wrap. */
@media (max-width:600px){
 .gd-pulse-row{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
 .gd-pulse-row::-webkit-scrollbar{display:none}
 .gd-pulse-row>*{flex:0 0 auto}
 .gd-pulse-pick{margin-left:0}
 .gd-pulse-closed{margin-left:0}
 .gd-pulse-run,.gd-pulse-cards,.gd-pulse-closed{max-width:52vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

/* card-tilt.css */
/* Cards lean towards the pointer (card-tilt.js sets the variables). The sheen
   is the holographic H gradient, following the cursor across the face. */
.tile .art,.lf-bench-card .lf-marker-art,.sidecar-card .holo,.detail .photo,.card-tilt{--tilt-x:0deg;--tilt-y:0deg;--sheen-x:50%;--sheen-y:50%;transform-style:preserve-3d;transform:perspective(720px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .35s cubic-bezier(.2,.8,.2,1);position:relative}
.tile .art.is-tilting,.lf-bench-card .lf-marker-art.is-tilting,.sidecar-card .holo.is-tilting,.detail .photo.is-tilting,.card-tilt.is-tilting{transition:transform .08s linear}
.tile .art::before,.detail .photo::before,.card-tilt::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--sheen-x) var(--sheen-y),rgba(255,255,255,.22) 0%,rgba(124,242,212,.16) 18%,rgba(143,203,255,.12) 34%,rgba(198,182,255,.08) 48%,transparent 62%);mix-blend-mode:screen;z-index:2}
.tile .art.is-tilting::before,.detail .photo.is-tilting::before,.card-tilt.is-tilting::before{opacity:1}
.tile:hover .art{box-shadow:0 22px 40px rgba(2,5,10,.55)}
/* Buttons that feel pressed. */
.btn{transition:transform .12s ease,background .18s,border-color .18s,box-shadow .18s}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.btn.primary:hover{box-shadow:0 10px 30px rgba(124,242,212,.35)}
@media (prefers-reduced-motion:reduce){.tile .art,.lf-bench-card .lf-marker-art,.sidecar-card .holo,.detail .photo,.card-tilt{transform:none;transition:none}.btn:active{transform:none}}

/* points.css */
/* Holo Points: wallet, wheel, packs, picks. */
.pts-page{display:flex;flex-direction:column;gap:18px;max-width:720px;margin:0 auto}
.pts-hero{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:var(--r-lg);background:linear-gradient(140deg,rgba(124,242,212,.14),rgba(198,182,255,.12)),var(--raised);border:1px solid var(--line)}
.pts-streak{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:var(--fs-small);color:var(--muted)}.pts-streak b{color:var(--accent);font-weight:800}.pts-streak.is-hot b,.pts-streak.is-hot svg{color:var(--copper,#E0A66B)}.pts-streak.is-empty svg{opacity:.5}
.pts-balance{display:flex;align-items:baseline;gap:10px}
.pts-balance b{font-family:var(--display);font-size:var(--fs-hero);font-weight:800;letter-spacing:-1.5px;background:var(--holo);-webkit-background-clip:text;background-clip:text;color:transparent}
.pts-balance span{font-size:var(--fs-small);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.pts-hero p{font-size:var(--fs-caption);color:var(--dim);margin:0}
.pts-wheel-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border-radius:var(--r-lg);background:var(--raised);border:1px solid var(--line)}
.pts-wheel-stage{position:relative;width:200px;height:200px;perspective:700px}
.pts-wheel{--pts-turn:0deg;position:absolute;inset:0;border-radius:50%;transform:rotateX(28deg) rotate(var(--pts-turn));transform-style:preserve-3d;background:conic-gradient(from -12.86deg,var(--raised-2) 0 14.28%,var(--raised) 0 28.57%,var(--raised-2) 0 42.85%,var(--raised) 0 57.14%,var(--raised-2) 0 71.42%,var(--raised) 0 85.71%,var(--raised-2) 0 100%);border:6px solid var(--line-2);box-shadow:0 18px 30px rgba(2,5,10,.6),inset 0 0 0 2px rgba(124,242,212,.25),0 0 0 1px rgba(198,182,255,.25);transition:transform 4s cubic-bezier(.12,.82,.12,1)}
.pts-wheel::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(var(--accent),var(--blue),var(--violet),var(--accent));z-index:-1;filter:blur(6px);opacity:.55}
.pts-slice{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(calc(360deg / var(--pts-n) * var(--i)))}
.pts-slice b{position:absolute;left:-16px;top:-84px;width:32px;text-align:center;font-size:var(--fs-caption);font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.pts-slice.is-hit b{color:var(--accent);text-shadow:0 0 12px rgba(124,242,212,.8)}
.pts-hub{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);display:grid;place-items:center;color:var(--accent)}
.pts-pointer{position:absolute;left:50%;top:-8px;margin-left:-9px;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:18px solid var(--gold);filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.pts-wheel-copy{display:flex;flex-direction:column;gap:6px}
.pts-wheel-copy h3{font-size:var(--fs-heading);margin:0}
.pts-wheel-copy p{font-size:var(--fs-note);color:var(--muted);margin:0 0 6px}
.pts-guess,.pts-packs,.pts-picks,.pts-history{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:var(--r-lg);background:var(--raised);border:1px solid var(--line)}
.pts-guess h3{font-size:var(--fs-heading);margin:0}
.pts-guess p{font-size:var(--fs-note);color:var(--muted);margin:0}
.pts-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pts-pack{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;transition:transform .15s,border-color .15s}
.pts-pack:hover{transform:translateY(-2px);border-color:var(--accent)}
.pts-pack b{font-size:var(--fs-figure);font-weight:800;font-variant-numeric:tabular-nums}
.pts-pack span{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.pts-pack i{font-style:normal;font-size:var(--fs-micro);color:var(--green);font-weight:800}
.pts-pack em{font-style:normal;margin-top:6px;font-size:var(--fs-small);font-weight:700;color:var(--accent)}
.pts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pts-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-small)}
.pts-list li:first-child{border-top:0}
.pts-list li a{display:flex;flex-direction:column;gap:2px;color:var(--text);text-decoration:none}
.pts-list small{font-size:var(--fs-caption);color:var(--muted)}
.pts-pick-status{font-weight:800;font-variant-numeric:tabular-nums}
.pts-list li.is-won .pts-pick-status{color:var(--green)}.pts-list li.is-lost .pts-pick-status{color:var(--dim)}.pts-list li.is-open .pts-pick-status{color:var(--accent)}
.pts-list .is-up{color:var(--green)}.pts-list .is-down{color:var(--dim)}
.pts-sheet .pts-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pts-side{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;border-radius:var(--r);background:var(--surface);border:2px solid var(--line);color:var(--text);cursor:pointer}
.pts-side.is-on{border-color:var(--accent);box-shadow:0 0 0 4px rgba(124,242,212,.18)}
/* A chosen pack, waiting for the slide that buys it. */
.pts-pack.is-on{border-color:var(--accent);box-shadow:0 0 0 4px rgba(124,242,212,.18)}
.pts-side b{font-size:var(--fs-lead);font-weight:800}.pts-side small{font-size:var(--fs-caption);color:var(--muted)}
.pts-stake{display:flex;align-items:center;gap:8px}.pts-stake input{flex:1;text-align:center}
.pts-potential{text-align:center;font-size:var(--fs-small);color:var(--muted);margin:0}.pts-potential b{color:var(--accent);font-size:var(--fs-lead)}
/* The pick control in a room's pulse strip. */
.gd-pulse-pick .btn{min-height:44px;padding:0 10px;font-size:var(--fs-caption);gap:5px;border-radius:999px}
.gd-pulse-pick .btn b{font-variant-numeric:tabular-nums}
.gd-pulse-pick .btn.is-home{border-color:rgba(124,242,212,.45)}.gd-pulse-pick .btn.is-away{border-color:rgba(198,182,255,.45)}
.gd-pulse-mine{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:0 10px;border-radius:999px;border:1px solid rgba(244,207,112,.4);font-size:var(--fs-caption);font-weight:700;color:var(--gold);text-decoration:none}
@media (max-width:600px){.pts-wheel-card{grid-template-columns:1fr;justify-items:center;text-align:center}.pts-pack-grid{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.pts-wheel{transition:none}}

.pts-wheel-odds{margin:4px 0 8px;text-align:left;border-top:1px solid var(--line)}
.pts-wheel-odds summary{min-height:44px;display:list-item;align-content:center;padding:12px 8px;cursor:pointer;font-weight:600}
.pts-wheel-odds summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.pts-wheel-odds table{width:100%;border-collapse:collapse;font-size:var(--fs-note);font-variant-numeric:tabular-nums}
.pts-wheel-odds caption{text-align:left;color:var(--muted);padding:8px 0}
.pts-wheel-odds th,.pts-wheel-odds td{padding:8px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400}
.pts-wheel-odds thead th{font-weight:600}
.pts-wheel-odds td,.pts-wheel-odds th:last-child{text-align:right}
.pts-wheel-copy .pts-wheel-odds p{margin-top:8px}

/* Keep the net result legible beside dated history at narrow widths. */
.pts-picks .pts-list li{align-items:flex-start;flex-direction:column;gap:6px}
.pts-picks .pts-list li a{width:100%;min-width:0;overflow-wrap:anywhere}

/* A screen repaint mounts a fresh disc; keyframes still visibly turn it. */
.pts-wheel.is-spinning{animation:holo-points-spin 4s cubic-bezier(.12,.82,.12,1) both;transition:none}
@keyframes holo-points-spin{from{transform:rotateX(28deg) rotate(0deg)}to{transform:rotateX(28deg) rotate(var(--pts-turn))}}
@media(prefers-reduced-motion:reduce){.pts-wheel.is-spinning{animation:none}}
@keyframes holo-balance-update{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.play-home-balance,.pts-balance b,.cr-point-redemption strong{animation:holo-balance-update .24s ease-out}}

/* The review stays beside the deliberate confirmation, including small screens. */
.pts-review{border:1px solid #78ddba36;border-radius:22px;background:#73e5b60b;padding:18px;min-width:0}
.pts-review h3{margin:0 0 14px;font-size:15px;font-weight:800;letter-spacing:-.2px}
.pts-review dl{display:grid;gap:12px;margin:0}.pts-review dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.pts-review dt{color:var(--muted);font-size:14px}.pts-review dd{margin:0;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.pts-review-total{border-top:1px solid #ffffff15;padding-top:12px}.pts-review-total dd{color:#8fe6ba}.pts-review-total.is-short dd{color:#ffa19d}
.pts-review p{font-size:13px;line-height:1.5;margin:12px 0 0}.pts-review [data-points-retry]{margin-top:12px}
.pts-sheet [aria-disabled="true"]{opacity:.45;cursor:not-allowed}

/* One destination at a time. The wallet remains ahead of every points action. */
.pts-page{max-width:920px;gap:20px}.pts-hero{background:transparent;border:0;border-radius:0;padding:12px 0 4px}.pts-balance b{background:none;color:var(--text);font-size:52px;letter-spacing:-2px}.pts-sections{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}.pts-sections button{min-height:44px;padding:10px 24px;border-radius:14px;border:0;background:transparent;color:var(--muted);font:600 15px var(--font);cursor:pointer}.pts-sections button[aria-pressed="true"]{background:var(--raised);color:var(--text)}.pts-section{display:grid;gap:20px}.pts-section[hidden]{display:none!important}.pts-hero p{max-width:60ch;line-height:1.5}.pts-wheel-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:32px;grid-template-columns:240px 1fr;gap:36px}.pts-wheel-stage{margin:auto}.pts-daily{display:grid;grid-template-columns:1fr;gap:20px}.pts-guess,.pts-packs,.pts-picks,.pts-history{background:var(--surface);padding:24px;border-radius:24px}.pts-wheel::after{filter:none;opacity:.2}.pts-wheel-copy h3{font-size:24px;line-height:1.2;letter-spacing:-.5px}.pts-wheel-copy p{line-height:1.6}
@media(max-width:600px){.pts-sections{gap:4px}.pts-sections button{flex:1;min-width:0;padding:10px 8px}.pts-balance b{font-size:44px}.pts-wheel-card{grid-template-columns:1fr;padding:24px;gap:16px;text-align:left}.pts-daily{grid-template-columns:1fr}.pts-wheel-copy{width:100%}}

.pts-invite{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--raised)}.pts-invite .label{display:inline-flex;align-items:center;gap:6px}.pts-invite h3{margin:0}.pts-invite-code{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pts-invite-code code{font-family:var(--display);font-size:var(--fs-title);font-weight:800;letter-spacing:.3em;color:var(--ink)}.pts-invite-claim{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.pts-invite-claim label{display:grid;gap:4px;font-size:var(--fs-small);color:var(--muted)}.pts-invite-claim input{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);letter-spacing:.15em;text-transform:uppercase}.pts-invite-note{margin:0;font-size:var(--fs-small);color:var(--accent)}

/* player-live.css */
.player-live{margin:18px 0;background:#151c21;border:1px solid #33444b;border-radius:22px;overflow:hidden;color:#edf7f4;min-width:0}.player-live-entry{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:none;border:0;color:inherit;padding:18px;cursor:pointer}.player-live-entry>span:nth-child(2),.player-heading>span,.player-choice>span{display:grid;gap:5px;flex:1;min-width:0}.player-live-entry b{font-size:18px;line-height:1.3;letter-spacing:-.02em}.player-live small,.player-note{color:#a6b9be;font-size:13px;line-height:1.55}.player-live-mark{display:grid;place-items:center;width:44px;height:44px;background:#24423f;border-radius:15px;color:#90e5cd}.player-live-body{padding:0 18px 20px;animation:playerReveal .24s ease both}.player-live-body[hidden]{display:none}.player-note{margin:10px 0 16px}.player-search{display:flex;gap:8px;margin:16px 0}.player-search label{flex:1;min-width:0}.player-search input{width:100%;min-height:48px;font-size:16px}.player-heading,.player-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}.player-choice{border:0;border-bottom:1px solid #33444b;background:none;color:inherit;width:100%;text-align:left;cursor:pointer}.player-tabs{display:flex;gap:4px;padding:4px;background:#0f1519;border-radius:14px;margin:16px 0}.player-tabs button{flex:1;min-width:0;border:0;background:none;color:#9ab0b8;border-radius:11px;min-height:44px;padding:10px;font-family:inherit;font-weight:600;font-size:13px;line-height:1.4;cursor:pointer}.player-tabs [aria-selected=true]{background:#294942;color:#edf7f4}.player-games{display:grid;gap:12px}.player-game{padding:16px;background:#0f1519;border-radius:18px;animation:playerReveal .24s ease both}.player-game-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:13px;font-size:11px;color:#a0b4ba}.player-game-meta b{font-size:10px;letter-spacing:.1em}.player-game-meta .live{color:#8ee9c6}.player-team{display:flex;align-items:center;gap:16px;margin:10px 0;font-size:16px}.player-team span{flex:1;min-width:0}.player-team b{font-size:24px;font-variant-numeric:tabular-nums}.player-game p{color:#9ab0b8;font-size:12px}.player-game-stats{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid #283c44;padding-top:12px;margin-top:12px}.player-game-stats>span{display:grid;gap:4px}.player-game-stats b{font-size:20px}.player-game-stats small{font-size:10px}.player-error{color:#f2abb2;font-size:14px;line-height:1.55}.player-source{display:block;margin-top:15px}.player-loading{display:grid;gap:12px;padding:18px 0}.player-loading i{height:18px;border-radius:8px;background:#263a43;animation:playerPulse 1.5s ease infinite}.player-loading i:last-child{width:65%}.player-live button:focus-visible{outline:2px solid #8ee9c6;outline-offset:-3px}.player-live button:active{transform:scale(.98)}@keyframes playerReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes playerPulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.player-live *{animation:none!important;transition:none!important;transform:none!important}}

.stats-attribution{display:flex;flex-direction:column;gap:6px;margin-block:12px;font-size:12px;line-height:1.6}.stats-attribution a{color:var(--accent,#85d3c4);text-underline-offset:3px}.stats-attribution a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* lens.css */
.live-lens-page{max-width:920px;margin:auto}.live-lens-page .page-head{margin-bottom:22px}.live-lens-page .page-head p{max-width:45ch}.lens-progress{display:flex;list-style:none;padding:0;margin:0 0 30px;gap:8px;justify-content:space-between}.lens-progress li{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.lens-progress li>span{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line,#393e40);border-radius:50%;font-size:11px}.lens-progress .current{color:var(--text);font-weight:700}.lens-progress .current>span{background:var(--accent);color:#14251f;border-color:var(--accent)}.lens-progress .done>span{color:var(--accent);border-color:var(--accent)}.lens-panel,.lens-capture{max-width:640px;margin:0 auto;gap:22px}.lens-panel h2,.lens-capture h2{font-size:clamp(26px,4vw,36px);line-height:1.13;margin:8px 0}.lens-panel p,.lens-capture p{line-height:1.6;margin:5px 0}.lens-panel .lens-small{font-size:13px}.lens-camera{width:min(100%,440px);aspect-ratio:4/5;position:relative;margin:0 auto;background:#141917;border:1px solid #424946;border-radius:22px;overflow:hidden;isolation:isolate}.lens-camera video,.lens-camera .lens-captured{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.lens-camera .lens-captured{object-fit:contain;background:#101512;padding:10px}.lens-camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#929d97;font-size:13px}.lens-card-guide{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:69.5%;aspect-ratio:5/7;border:1px solid #dcece580;border-radius:11px;box-shadow:0 0 0 100vmax #0005;pointer-events:none}.lens-card-guide i,.lens-guide-drawing i{position:absolute;width:20px;height:20px;border:3px solid #edf5f0}.lens-card-guide i:nth-child(1),.lens-guide-drawing i:nth-child(1){left:-2px;top:-2px;border-right:0;border-bottom:0;border-radius:8px 0 0}.lens-card-guide i:nth-child(2),.lens-guide-drawing i:nth-child(2){right:-2px;top:-2px;border-left:0;border-bottom:0;border-radius:0 8px 0 0}.lens-card-guide i:nth-child(3),.lens-guide-drawing i:nth-child(3){left:-2px;bottom:-2px;border-right:0;border-top:0;border-radius:0 0 0 8px}.lens-card-guide i:nth-child(4),.lens-guide-drawing i:nth-child(4){right:-2px;bottom:-2px;border-left:0;border-top:0;border-radius:0 0 8px}.lens-card-guide.guide-edges:after{content:'';position:absolute;inset:40% 8%;border:2px dashed #f1d8a8;border-radius:5px}.lens-card-guide.guide-surface:after{content:'';position:absolute;inset:22% 12%;border:1px dashed #f1d8a8;transform:rotate(-12deg);border-radius:50%}.lens-card-guide>span{position:absolute;bottom:15px;left:0;right:0;color:#fff;text-align:center;font-size:12px}.lens-camera-caption{position:absolute;bottom:19px;left:10px;right:10px;text-align:center;color:#f3f6f4;font-size:12px}.lens-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.lens-actions .btn{min-height:48px}.lens-shutter{width:66px;height:66px;border-radius:50%;border:2px solid #d7e7df;padding:5px;background:none;cursor:pointer}.lens-shutter>span{display:block;width:100%;height:100%;background:#e9f2ed;border-radius:50%}.lens-shutter:active{transform:scale(.95)}.lens-consent{display:flex;align-items:flex-start;gap:11px;font-size:13px;line-height:1.6}.lens-consent input{flex:0 0 auto;width:18px;height:18px;margin-top:3px;accent-color:var(--accent)}.lens-photos{display:flex;align-items:center;justify-content:center;gap:18px}.lens-face{appearance:none;background:transparent;border:0;display:grid;gap:9px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}.lens-face img{width:120px;aspect-ratio:5/7;border-radius:10px;object-fit:contain;background:#131815;box-shadow:0 8px 24px #0002}.lens-face:disabled{opacity:1;cursor:default}.lens-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lens-guide-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:19px 12px;min-height:205px;border-radius:15px;border:1px solid var(--line,#354039);background:var(--surface,#191f1c);color:var(--text);font:inherit;cursor:pointer}.lens-guide-tile:hover{border-color:var(--accent)}.lens-guide-tile small{color:var(--muted)}.lens-guide-tile img{height:108px;width:90px;object-fit:contain;border-radius:7px}.lens-guide-drawing{position:relative;width:67px;height:94px;border:1px solid #819d8e;border-radius:7px;margin:6px 0 10px}.lens-guide-drawing i{height:15px;width:15px;border-color:var(--accent)}.lens-guide-drawing.edges{transform:rotate(-12deg);border-right:5px solid var(--accent)}.lens-guide-drawing.surface{background:linear-gradient(125deg,transparent 35%,#dceadd30 45%,transparent 55%)}.lens-guide-drawing.surface:after{content:'';position:absolute;inset:30% 23%;border:1px dashed var(--accent);border-radius:50%}.lens-closeups{display:flex;overflow-x:auto;gap:13px;padding:12px 0;scroll-snap-type:x proximity}.lens-closeups figure{margin:0;flex:0 0 112px;scroll-snap-align:start}.lens-closeups img{width:112px;height:144px;object-fit:contain;background:#141916;border-radius:9px}.lens-closeups figcaption{font-size:12px;line-height:1.4;margin-top:7px}.lens-closeups figcaption small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.lens-review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lens-review-fields .field{min-width:0}.lens-review-fields .input{width:100%}.lens-matches{border:1px solid var(--line,#37403b);border-radius:12px;padding:15px}.lens-matches summary{cursor:pointer;font-size:14px;font-weight:600}.lens-matches .stack{padding-top:14px}.lens-candidate{display:grid;gap:5px;text-align:left;padding:13px;border-radius:10px;border:1px solid var(--line,#3b4740);background:transparent;color:var(--text);font:inherit;cursor:pointer}.lens-candidate small{color:var(--muted)}.lens-candidate span{color:var(--accent);font-size:12px}.lens-candidate.selected{border-color:var(--accent)}.lens-success{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;color:var(--accent);background:#819d8e18}.lens-error{max-width:640px;margin:0 auto 20px!important}.lens-quality{gap:12px}.lens-panel .btn.lg{min-height:52px;justify-content:center}.lens-panel>small,.lens-capture>small{font-size:12px;line-height:1.6}
@media(max-width:520px){.live-lens-page{padding-left:18px;padding-right:18px}.lens-progress{gap:4px;margin-bottom:23px}.lens-progress li{flex-direction:column;font-size:10px;gap:6px}.lens-camera{border-radius:16px}.lens-panel,.lens-capture{gap:18px}.lens-guide-grid{gap:10px}.lens-guide-tile{min-height:190px;padding:15px 8px}.lens-guide-tile b{font-size:13px}.lens-review-fields{gap:13px 10px}.lens-review-fields .field>span{font-size:12px}.lens-review-fields .input{font-size:16px;padding-left:10px;padding-right:10px}.lens-face img{width:105px}.lens-panel .notice{padding:14px}}
@media(prefers-reduced-motion:reduce){.lens-shutter:active{transform:none}}
/* Capture stays in one viewport so the card guide and shutter remain visible. */
.lens-capture.is-shooting{position:fixed;inset:0;z-index:300;max-width:none;background:#101713;display:block;margin:0;padding:0}.is-shooting>div:first-child{position:absolute;top:max(15px,env(safe-area-inset-top));left:20px;right:20px;z-index:3;text-align:center;text-shadow:0 1px 4px #000}.is-shooting>div:first-child h2{font-size:24px;color:#fff;margin:5px 0}.is-shooting>div:first-child p{font-size:12px;max-width:50ch;margin:auto;color:#e1e9e4}.is-shooting>.lens-camera{width:100%;height:100%;max-width:none;border-radius:0;border:0;aspect-ratio:auto}.is-shooting .lens-card-guide{width:min(72vw,calc((100dvh - 265px)*.7142857),440px);top:49%}.is-shooting .lens-actions{position:absolute;z-index:3;bottom:max(22px,env(safe-area-inset-bottom));left:20px;right:20px}.is-shooting .lens-actions .btn{background:#131c17e8;color:#fff;border-color:#62756a}.is-shooting .lens-camera-caption{bottom:105px}.is-shooting>small,.is-shooting>[data-cancel-capture]{display:none}

/* Exit remains reachable above the live camera and every pending AI/save state. */
.lens-exit{position:fixed;right:max(18px,env(safe-area-inset-right));top:calc(max(var(--lens-header-bottom,var(--header,80px)),env(safe-area-inset-top)) + 12px);z-index:350;width:44px;height:44px;display:grid;place-items:center;border:1px solid #697a70;border-radius:50%;background:#151e19;color:#f4f8f5;cursor:pointer}.lens-exit:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.live-lens-page .page-head{padding-right:44px}.is-shooting>.lens-consent{display:none}

/* Lens owns a viewport camera; entrance transforms must not trap fixed controls. */
.live-lens-page{animation:none;transform:none}

.lens-exit.over-camera{top:calc(env(safe-area-inset-top) + 12px)}
.is-shooting>div:first-child{left:68px;right:68px}

/* Keep the first capture action visible on phones. The active camera stays full-screen. */
@media(max-width:520px){
  .lens-capture:not(.is-shooting)>.lens-camera{width:min(100%,256px,32svh)}
}

/* Quick collection capture keeps the required decision ahead of optional detail. */
.lens-quick-summary{display:grid;grid-template-columns:112px minmax(0,1fr);gap:22px;align-items:center}.lens-quick-summary .lens-photos{margin:0;display:block}.lens-quick-summary .lens-face{width:100%;min-width:0}.lens-quick-summary .lens-face img{height:148px;width:100%;object-fit:contain}.lens-quick-summary h3{font-size:22px;line-height:1.2;margin:0 0 7px}.lens-quick-summary p{margin:0 0 7px}.lens-quick-match{font-size:12px;color:var(--muted);margin-top:10px!important}.lens-quick-details{border-block:1px solid var(--line);padding:16px 0}.lens-quick-details summary{cursor:pointer;font-weight:650;min-height:28px}.lens-quick-details[open]>.stack{padding-top:18px}.lens-quick-confirm{display:flex;align-items:center;gap:12px;min-height:44px;padding:0}.lens-quick-confirm input{width:20px;height:20px;flex-shrink:0}.lens-quick-review{gap:18px}.lens-quick-review h2{font-size:clamp(26px,4vw,36px)}@media(max-width:540px){.lens-quick-summary{grid-template-columns:92px minmax(0,1fr);gap:16px}.lens-quick-summary .lens-face img{height:124px}.lens-quick-summary h3{font-size:20px}.lens-quick-review .lens-review-fields{grid-template-columns:1fr}}

/* A single compact stack rail keeps repeat capture inside Lens. */
.lens-stack-queue{display:grid;gap:14px;padding:20px;border:1px solid var(--line,rgba(255,255,255,.14));border-radius:24px;background:var(--panel,#171d23);margin-block:16px;min-width:0}
.lens-stack-queue h2{font-size:1.2rem;margin:0}
.lens-stack-rail{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px}
.lens-stack-rail figure{margin:0;flex:0 0 108px;min-width:0;display:grid;gap:6px;align-content:start}
.lens-stack-rail img{width:108px;height:145px;object-fit:contain;border-radius:12px;background:#10151a}
.lens-stack-rail figcaption{font-size:.85rem;line-height:1.35;overflow-wrap:anywhere}
.lens-stack-queue>.btn{justify-self:start;min-height:44px}
.lens-stack-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lens-stack-queue summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.lens-stack-rail{padding-top:12px}.lens-stack-queue p{margin:0}.lens-stack-heading .btn{min-height:44px}

/* Photo reports are a contextual Lens workspace, not another global destination. */
.lens-context-tools{display:flex;justify-content:flex-end;margin-block:4px 14px}.lens-context-tools .btn{min-height:44px;white-space:normal}
.photo-report-page{max-width:920px;margin-inline:auto;min-width:0;overflow-wrap:anywhere}
.photo-report-page :is(h1,h2,h3,p,figure,dl){margin:0}.photo-report-page h1{font-size:clamp(28px,4vw,38px);line-height:1.2}.photo-report-page h2{font-size:clamp(22px,3vw,28px);line-height:1.3}.photo-report-page h3{font-size:18px;line-height:1.4}
.photo-report-page .btn{min-height:44px;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:center}.photo-report-page .btn svg{flex:none}
.photo-report-back{margin-bottom:20px}.photo-report-header{display:grid;gap:10px;margin-bottom:24px}.photo-report-header p{line-height:1.5}
.photo-report-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px}.photo-report-tabs button{font:inherit;font-weight:600;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 0;min-height:48px;min-width:0;cursor:pointer}.photo-report-tabs button[aria-pressed="true"]{color:var(--text);border-bottom-color:var(--accent)}.photo-report-tabs button:disabled{opacity:.5;cursor:default}
.photo-report-section{display:grid;gap:22px;min-width:0}.photo-report-section>div>h2+ p,.photo-report-section>div>h3+ p{margin-top:10px}.photo-report-section>div>.label{display:block;margin-bottom:9px}.photo-report-section>.btn{justify-self:start}.photo-report-page .notice{margin-bottom:18px}.photo-report-page .notice p+.btn{margin-top:12px}
.photo-report-capture{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px;align-items:center}.photo-report-preview{aspect-ratio:5/6;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:18px;overflow:hidden;min-width:0}.photo-report-preview>img{width:100%;height:100%;max-height:264px;object-fit:contain}.photo-report-placeholder{display:grid;gap:14px;justify-items:center;color:var(--muted)}.photo-report-capture-tools{display:grid;gap:18px;min-width:0}
.photo-report-angles{display:flex;gap:8px;flex-wrap:wrap}.photo-report-angles .btn{display:grid;gap:3px;flex:1;padding:10px 8px;min-width:70px}.photo-report-angles small{font-size:11px;font-weight:400;opacity:.8}.photo-report-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.photo-report-note,.photo-report-disclosure{font-size:13px;line-height:1.6}.photo-report-coverage{border-left:2px solid var(--accent);padding:10px 14px;line-height:1.5;color:var(--muted)}
.photo-report-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.photo-report-review figure{display:grid;gap:10px;align-content:start;min-width:0}.photo-report-review img{width:100%;height:172px;object-fit:contain;background:var(--surface);border-radius:12px}.photo-report-review figcaption{display:grid;gap:4px}.photo-report-review small{color:var(--muted)}
.photo-report-summary{display:grid;grid-template-columns:96px minmax(0,1fr);gap:22px;align-items:center}.photo-report-summary>img{width:96px;height:132px;object-fit:contain;background:var(--surface);border-radius:12px}.photo-report-summary>div{display:grid;gap:8px;min-width:0}.photo-report-summary .label{font-size:10px;line-height:1.6}.photo-report-saved-mark{display:grid!important;place-items:center;width:76px;height:96px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}
.photo-report-observations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.photo-report-observations section{display:grid;gap:10px;align-content:start}.photo-report-page ul{padding-left:20px;margin:8px 0 0;display:grid;gap:8px;line-height:1.5;color:var(--muted)}.photo-report-details,.photo-report-value{border-block-start:1px solid var(--line);padding-top:18px}.photo-report-page summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;line-height:1.5}.photo-report-page details[open]>.photo-report-actions{margin-top:12px}.photo-report-page dl{display:grid;gap:12px;padding-block:12px}.photo-report-page dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px}.photo-report-page dt{color:var(--muted);font-size:13px}.photo-report-page dd{margin:0;font-size:14px;line-height:1.5}.photo-report-value{display:grid;gap:12px}.photo-report-value>strong{font-size:28px;font-weight:600;line-height:1.3}.photo-report-value details{font-size:14px}
.photo-report-keep{display:grid;gap:14px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);min-width:0}.photo-report-keep .field{max-width:350px;min-width:0}.photo-report-keep .input{width:100%;min-width:0;font-size:16px}.photo-report-keep>.btn{justify-self:start}.photo-report-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.photo-report-section-heading>div{flex:1;min-width:min(100%,240px)}.photo-report-empty{display:grid;gap:14px;justify-items:start;padding-block:20px}.photo-report-list{display:grid}.photo-report-row{font:inherit;background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);text-align:left;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto) 16px;gap:16px;align-items:center;padding:20px 0;cursor:pointer;min-height:70px;min-width:0}.photo-report-row>span{min-width:0;display:grid;gap:7px}.photo-report-row>span:nth-child(2){font-size:14px;text-align:right}.photo-report-row small{font-size:12px;line-height:1.5;color:var(--muted)}.photo-report-row:disabled{opacity:.5;cursor:default}.photo-report-disclosure{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:560px){.photo-report-page{padding-inline:18px}.photo-report-capture{grid-template-columns:1fr;gap:18px}.photo-report-preview{width:176px;max-width:100%;justify-self:center}.photo-report-preview>img{max-height:210px}.photo-report-review{gap:10px}.photo-report-review img{height:120px}.photo-report-review .btn{padding-inline:7px;font-size:13px}.photo-report-observations{grid-template-columns:1fr;gap:20px}.photo-report-keep{padding:16px}.photo-report-summary{grid-template-columns:72px minmax(0,1fr);gap:16px}.photo-report-summary>img{width:72px;height:100px}.photo-report-summary h2{font-size:22px}.photo-report-row{grid-template-columns:minmax(0,1fr) 16px;gap:12px}.photo-report-row>span:nth-child(2){grid-row:2;grid-column:1;text-align:left}.photo-report-row>svg{grid-column:2;grid-row:1}.photo-report-page dl>div{grid-template-columns:minmax(0,1fr);gap:4px}.photo-report-tabs{gap:20px}.photo-report-section>.btn,.photo-report-keep>.btn{width:100%}}
@media(max-width:360px){.photo-report-review{grid-template-columns:1fr}.photo-report-review figure{grid-template-columns:76px minmax(0,1fr);gap:8px 12px;align-items:center}.photo-report-review img{grid-row:1/4;height:106px}.photo-report-review .btn{grid-column:2}.photo-report-actions>.btn{flex:1 1 100%}}

/* The price result stays beside the card; tools remain secondary. */
.lens-price-estimate{display:grid;gap:12px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.lens-price-estimate h3{font-size:14px;margin:0}.lens-price-estimate strong{font-size:26px;line-height:1.25}.lens-price-estimate p{font-size:13px;line-height:1.5;margin:4px 0;color:var(--muted)}

.lens-database{display:grid;gap:14px;min-width:0}.lens-database .lens-candidate{text-align:left;white-space:normal}.lens-database .input{font-size:16px;min-height:48px}.lens-price-estimate{overflow-wrap:anywhere}.lens-quick-card{min-width:0}.lens-matches .lens-candidate{min-height:72px;white-space:normal;text-align:left}

.live-lens-page.is-quick .lens-progress{display:none}
.live-lens-page.is-quick [aria-label="Capture mode"]{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.live-lens-page.is-quick [aria-label="Capture mode"] .btn{min-width:0;font-size:12px;padding:10px;min-height:44px;white-space:normal;line-height:1.3}
.live-lens-page.is-quick .lens-context-tools{margin:4px 0}
.live-lens-page.is-quick .lens-quick-review>div:first-child h2{font-size:24px;line-height:1.25}

/* buyer-checkout.css */
.buyer-sheet{max-width:920px!important}.buyer-checkout{padding:34px;position:relative}.buyer-checkout header{padding-right:28px;margin-bottom:25px}.buyer-checkout header h2{font-size:32px;line-height:1.15;letter-spacing:-1px;margin:10px 0}.buyer-checkout header p{color:var(--muted);font-size:14px;line-height:1.6;margin:0}.buyer-checkout header p span{margin-left:20px;color:var(--dim)}.buyer-layout{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(280px,1.2fr);gap:35px}.buyer-card{min-width:0}.buyer-card-stage{padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.buyer-card-stage .holo{width:100%;height:290px;position:relative}.buyer-card-stage .holo>img{width:100%;height:100%;object-fit:contain}.buyer-card h3{font-size:20px;line-height:1.4;margin:19px 0 5px}.buyer-card>p{color:var(--muted);font-size:13px;line-height:1.6;margin:4px 0}.buyer-card-sides{display:flex;justify-content:center;gap:9px;margin-top:12px}.buyer-card-sides [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.buyer-details{min-width:0;display:flex;flex-direction:column;gap:17px}.buyer-details form{display:flex;flex-direction:column;gap:14px}.buyer-details .field{margin:0}.buyer-details .field span{font-size:13px}.buyer-details .input{min-height:48px;width:100%;font-size:16px}.buyer-details .btn{min-height:46px;white-space:normal;text-align:center}.buyer-address-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.buyer-feedback:empty,.buyer-note:empty{display:none}.buyer-feedback{color:var(--danger,var(--red));font-size:14px;line-height:1.6;margin:0}.buyer-note{font-size:12px;line-height:1.7;color:var(--muted);margin:0}.buyer-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--line);padding:5px 0 22px}.buyer-total span{color:var(--muted);font-size:13px}.buyer-total b{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.buyer-address,.buyer-shipping{border:1px solid var(--line);border-radius:15px;padding:15px;font-size:13px;line-height:1.7}.buyer-address>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.buyer-address p,.buyer-shipping p{color:var(--muted);margin:8px 0 0}.buyer-payment-label{font-size:13px;font-weight:600;margin:4px 0}.buyer-reference{font-size:11px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:0}.buyer-receipt-actions{display:flex;flex-direction:column;gap:10px}.buyer-confirm[hidden]{display:none}.buyer-confirm{position:absolute;inset:0;z-index:9;background:rgba(3,7,12,.9);display:grid;place-items:center;padding:24px;border-radius:20px}.buyer-confirm>div{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;max-width:430px;box-shadow:var(--shadow-2)}.buyer-confirm h3{font-size:24px;line-height:1.2;margin:0}.buyer-confirm p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}.buyer-confirm .btn{min-height:48px}.buyer-condition{font-size:12px;line-height:1.7;margin-top:18px;color:var(--muted)}.buyer-condition summary{cursor:pointer;min-height:44px}.buyer-condition>div{display:flex;gap:10px;overflow:auto}.buyer-condition figure{margin:0;flex:0 0 125px}.buyer-condition img{width:125px;height:170px;object-fit:contain;background:var(--surface);border-radius:10px}.buyer-condition figcaption{font-size:11px}
@media(max-width:650px){.buyer-checkout{padding:29px 19px 24px}.buyer-checkout header h2{font-size:28px}.buyer-layout{grid-template-columns:1fr;gap:23px}.buyer-card-stage{padding:12px}.buyer-card-stage .holo{height:200px}.buyer-card h3{margin-top:13px;font-size:18px}.buyer-address-pair{grid-template-columns:1fr}.buyer-confirm{position:fixed;inset:0;border-radius:0;padding:19px}.buyer-confirm>div{max-height:90vh;overflow:auto;width:100%}.buyer-details .btn{min-height:50px}.buyer-sheet{max-height:96dvh;padding-bottom:env(safe-area-inset-bottom)}}

/* Where you are, in three steps. A buyer who cannot see the end of a checkout
   assumes there is more of it than there is. */
.buyer-steps{list-style:none;display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:0;flex-wrap:wrap}
.buyer-step{display:flex;align-items:center;gap:7px;font-size:13px;line-height:18px;color:var(--muted,#8A97A3)}
.buyer-step+.buyer-step::before{content:"";width:18px;height:1px;background:var(--line,var(--line));margin-right:1px}
.buyer-step-number{display:grid;place-items:center;width:21px;height:21px;border-radius:999px;border:1px solid var(--line,var(--line));font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.buyer-step.current{color:var(--text,#F3F6F7);font-weight:600}
.buyer-step.current .buyer-step-number{border-color:var(--accent,var(--accent));color:var(--accent,var(--accent))}
.buyer-step.done .buyer-step-number{border-color:var(--accent,var(--accent));background:var(--accent,var(--accent));color:var(--bg)}
/* What actually protects this order — each line true of this card, or absent. */
.buyer-assurances{list-style:none;display:grid;gap:9px;margin:14px 0 0;padding:13px;border-radius:14px;border:1px solid var(--line,var(--line));background:rgba(255,255,255,.02)}
.buyer-assurances b{display:block;font-size:13px;line-height:18px;color:var(--text,#F3F6F7)}
.buyer-assurances small{display:block;font-size:12px;line-height:17px;color:var(--muted,#8A97A3);margin-top:1px}
@media(max-width:420px){.buyer-step+.buyer-step::before{width:10px}.buyer-step{font-size:12px}}

.buyer-postage{display:grid;gap:10px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}.buyer-postage>div{display:flex;justify-content:space-between;gap:16px}.buyer-postage dd{margin:0;font-variant-numeric:tabular-nums}

.buyer-balance-option{padding:16px;border:1px solid var(--line);border-radius:16px;margin-bottom:18px}
.buyer-balance-option summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650;line-height:1.5}
.buyer-balance-option[open] summary{margin-bottom:14px}

/* Keep exactly one artwork layer: photo while loading, textured 3D once ready. */
.buyer-card-stage .holo{isolation:isolate}
.buyer-card-stage .holo>.holo-card-canvas{visibility:hidden}
.buyer-card-stage .holo.holo-3d-live.holo-3d-textured>.holo-card-canvas{visibility:visible}
.buyer-card-stage .holo.holo-3d-live.holo-3d-textured>img,
.buyer-card-stage .holo.holo-3d-live.holo-3d-textured>.card-placeholder{visibility:hidden}
.buyer-checkout h2[tabindex="-1"]:focus{outline:none}
.buyer-shipping-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;padding:12px 0}.buyer-shipping-consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--accent)}
.postage-sheet{padding:28px;display:grid;gap:18px}.postage-sheet header{padding-right:35px}.postage-sheet h2{font-size:26px;line-height:1.2;margin:8px 0}.postage-sheet p{color:var(--muted);line-height:1.6}.postage-destination{display:grid;gap:10px;min-width:0}.postage-destination h3,.postage-destination p{margin:0;overflow-wrap:anywhere}.postage-destination small{display:block;color:var(--muted);line-height:1.5}.postage-destination .btn{justify-self:start;max-width:100%;white-space:normal;text-align:center}.postage-summary{display:flex;align-items:center;gap:14px}.postage-summary img{width:55px;height:76px;object-fit:contain;border-radius:5px}.postage-summary strong{font-size:28px}.postage-sheet .btn{min-height:48px}.postage-sheet [data-postage-error]:empty{display:none}

/* holo-slide.css */
/* THE HOLOTAP SLIDE.
   A card rides a holo track. A single specular sweep crosses the empty part,
   then rests. Complete the gesture and a ring pulses out of the card — the tap.
   Reduce Motion keeps the gesture and drops the sweep, the lean and the ring. */
.holo-slide{
 --slide-x:0px;--slide-progress:0;
 position:relative;display:flex;align-items:center;box-sizing:border-box;width:100%;min-width:0;min-height:72px;padding:16px 16px 16px 85px;
 border-radius:22px;border:1px solid var(--line,rgba(255,255,255,.12));
 background:var(--surface,rgba(255,255,255,.04));
 overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;
}
.holo-slide.is-holding{cursor:grabbing}
.holo-slide[aria-disabled="true"]{opacity:.45;cursor:default}
.holo-slide:focus-visible{outline:2px solid var(--accent,var(--accent));outline-offset:3px}

.holo-slide-fill{
 position:absolute;inset:0 5px 0 0;transform:translateX(calc(-100% + 71px + var(--slide-x)));
 border-radius:22px;opacity:.9;
 background:linear-gradient(135deg,var(--accent),var(--blue),var(--violet));
}
.holo-slide-sweep{
 position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-100%);
 animation:holo-slide-sweep 3.35s cubic-bezier(.45,0,.55,1) infinite;
}
@keyframes holo-slide-sweep{
 0%{transform:translateX(-100%)}
 34%,100%{transform:translateX(100%)}
}
.holo-slide.is-moving .holo-slide-sweep,
.holo-slide.is-busy .holo-slide-sweep,
.holo-slide.is-done .holo-slide-sweep{animation:none;opacity:0}

.holo-slide-label{
 position:relative;min-width:0;
 font:700 15px/22px var(--font,system-ui);letter-spacing:-.2px;color:var(--text,#E8EEF2);
 white-space:normal;overflow-wrap:anywhere;
 opacity:calc(1 - var(--slide-progress) * 1.3);
}

.holo-slide-thumb{
 position:absolute;left:5px;top:50%;margin-top:-31px;width:66px;height:62px;
 display:flex;align-items:center;justify-content:center;
 border-radius:17px;color:var(--bg,var(--bg));
 background:linear-gradient(135deg,var(--accent),var(--blue),var(--violet));
 box-shadow:0 6px 14px rgba(0,0,0,.4);
 transform:translateX(var(--slide-x)) perspective(640px) rotateY(calc(var(--slide-progress) * -14deg + var(--slide-progress) * var(--slide-progress) * 14deg));
 transition:transform .22s cubic-bezier(.22,1,.36,1);
}
.holo-slide-thumb::after{
 content:"";position:absolute;inset:0 0 54% 0;border-radius:17px 17px 0 0;
 background:rgba(255,255,255,.22);
}
.holo-slide.is-holding .holo-slide-thumb{transition:none}

.holo-slide-ring{
 position:absolute;top:50%;left:27px;width:44px;height:44px;margin-top:-22px;
 border:2px solid var(--accent);border-radius:50%;opacity:0;
 transform:translateX(var(--slide-x)) scale(.6);
}
.holo-slide.did-tap .holo-slide-ring{animation:holo-slide-tap .52s ease-out 1}
@keyframes holo-slide-tap{
 0%{opacity:0;transform:translateX(var(--slide-x)) scale(.6)}
 18%{opacity:.55}
 100%{opacity:0;transform:translateX(var(--slide-x)) scale(2.4)}
}

.holo-slide.is-done{border-color:var(--accent,var(--accent))}
.holo-slide.is-busy,.holo-slide.is-done{padding-left:16px;padding-right:85px}
.holo-slide.is-busy .holo-slide-label,.holo-slide.is-done .holo-slide-label{opacity:1;color:#07161A}
.holo-slide.is-busy .holo-slide-thumb,.holo-slide.is-done .holo-slide-thumb{transform:translateX(calc(100% * 0 + var(--slide-x)))}
.holo-slide-note{margin:8px 0 0;font:400 12px/19px var(--font,system-ui);color:var(--muted,#8A9BA8);text-align:center}

@media(prefers-reduced-motion:reduce){
 .holo-slide-sweep{display:none}
 .holo-slide-thumb{transform:translateX(var(--slide-x));transition:none}
 .holo-slide.did-tap .holo-slide-ring{animation:none}
}

/* --- the tap, for a pointer that cannot drag --------------------------------
   WCAG 2.5.7 is about pointers, not keys: someone with a tremor, a head
   pointer or a mouse they cannot hold steady can tap accurately and cannot
   drag accurately. A tap on the track arms this button; the button pays. Two
   deliberate acts, the same as a slide — one stray touch never buys anything. */
.holo-slide-tap{display:block;width:100%;margin:10px 0 0;min-height:52px;
 padding:14px 18px;border-radius:14px;border:1px solid var(--accent,#7CF2D4);
 background:var(--accent,#7CF2D4);color:#07161A;
 font:650 15px/1.3 var(--font,system-ui);cursor:pointer}
.holo-slide-tap[hidden]{display:none}
.holo-slide-tap:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:3px}
.holo-slide.is-tap-armed{border-color:var(--accent,#7CF2D4)}

/* cases.css */
/* Case Room: private, reversible display tools and a quiet dimensional stage. */
.case-room{--cr-ink:var(--text);--cr-muted:var(--muted);--cr-line:var(--line);color:var(--cr-ink)}
.case-room .help,.case-room .sub{color:var(--cr-muted)}
.case-room button:focus-visible,.case-room input:focus-visible,.case-room select:focus-visible,.case-room summary:focus-visible{outline:3px solid #22704c;outline-offset:4px}.case-room :is(button,input,select,summary):focus-visible{outline-color:var(--accent)}
.case-room .commerce-tabs{gap:8px}.case-room .commerce-tabs .btn{min-height:44px}
.cr-summary{display:grid;grid-template-columns:minmax(210px,2fr) 1fr 1fr;align-items:center;gap:24px;border:1px solid var(--cr-line);border-radius:22px;padding:24px;background:#f7f9f3;margin:20px 0 26px}
.cr-summary>div{display:flex;flex-direction:column;gap:7px}.cr-summary>div:not(:first-child){border-left:1px solid var(--cr-line);padding-left:28px}.cr-summary strong{font-size:28px;line-height:1.2;letter-spacing:-.04em}.cr-summary strong small{font-size:18px;color:var(--cr-muted)}.cr-summary span:not(.eyebrow),.cr-summary small{font-size:13px;color:var(--cr-muted)}
.case-room progress{display:block;appearance:none;width:100%;height:7px;border:0;border-radius:999px;overflow:hidden;background:#dce6d7;margin:4px 0}.case-room progress::-webkit-progress-bar{background:#dce6d7}.case-room progress::-webkit-progress-value{background:#347957;border-radius:999px}.case-room progress::-moz-progress-bar{background:#347957;border-radius:999px}
.cr-summary progress{max-width:360px}.cr-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.cr-actions .btn{min-height:44px}.cr-reset{display:grid;gap:12px;margin-top:25px;border-top:1px solid #cbdac5;padding-top:19px}.cr-reset strong{font-variant-numeric:tabular-nums;font-size:15px}.cr-reset small{font-size:12px;color:#435b49;line-height:1.5}.cr-reset .btn{justify-self:start}.cr-reset [hidden]{display:none}
.cr-checklist{border:1px solid var(--cr-line);border-radius:20px;background:#fff;margin:26px 0;padding:20px}.cr-checklist summary{cursor:pointer;font-weight:750;font-size:18px;min-height:36px}.cr-checklist summary span{font-weight:400;font-size:12px;color:var(--cr-muted);margin-left:14px}.cr-set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px;padding-top:22px}.cr-set-grid h3{font-size:18px;display:flex;justify-content:space-between;gap:14px;margin:0 0 12px}.cr-set-grid h3 small{font-size:13px;color:var(--cr-muted)}.cr-set-grid ul,.cr-bundle-breakdown ul{list-style:none;padding:0;margin:12px 0 0}.cr-set-grid li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #edf1e9;padding:8px 0;font-size:13px}.cr-set-grid li span{flex:1}.cr-set-grid li b{font-weight:500;font-size:11px;color:var(--cr-muted)}.cr-set-grid .btn{font-size:11px;padding:9px;min-height:40px}
.cr-favorites{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border:1px solid var(--cr-line);border-radius:20px;background:#f8faf5;padding:22px;margin:18px 0}.cr-favorites strong{font-size:18px}.cr-favorites strong span{display:inline-grid;place-items:center;min-width:25px;height:25px;background:#dcebd9;color:#24553a;border-radius:50%;margin-left:8px;font-size:12px}.cr-favorites p{margin:6px 0 0;font-size:13px;color:var(--cr-muted)}.cr-confirm{width:100%;border-top:1px solid var(--cr-line);padding-top:18px}.cr-confirm .cr-actions{margin-top:14px}
.cr-finish-browser{margin-top:24px}.cr-search label,.cr-studio-controls label,.cr-rotation label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}.cr-search>div{display:flex;gap:10px;max-width:650px}.cr-search .input{min-width:0;flex:1}.cr-search .btn[hidden]{display:none}.cr-filters{margin:18px 0}.cr-finish-grid{margin-top:15px!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.cr-finish-grid .commerce-product{gap:13px;padding:18px;min-width:0}.cr-finish-grid h3{font-size:20px;letter-spacing:-.03em;margin:4px 0 0}.cr-finish-grid p{font-size:14px;margin:0;line-height:1.6}.cr-product-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.cr-status{border:1px solid #dce3d8;color:#5b6759;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:700}.cr-status.is-owned{background:#e6f0df;color:#235234;border-color:#d4e4ca}.cr-product-heading .eyebrow{font-size:10px;letter-spacing:.12em}.cr-serial{display:grid;gap:10px;border-top:1px solid var(--cr-line);padding-top:16px}.cr-serial label{font-size:12px;font-weight:600}.cr-serial input{font-family:ui-monospace,monospace;font-size:12px;min-width:0;width:100%}.cr-serial p{font-size:12px!important;color:var(--cr-muted)}.cr-empty{padding:40px 22px;text-align:center;background:#f5f8f0;border:1px solid var(--cr-line);border-radius:20px;margin:20px 0}.cr-empty h3{margin:0 0 9px;font-size:20px}.cr-empty p{color:var(--cr-muted);margin:0 0 20px}
.cr-studio{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:35px;margin:28px 0}.cr-studio-controls{display:flex;flex-direction:column;align-items:stretch;padding:12px 0;gap:10px}.cr-studio-controls h2{font-size:32px;letter-spacing:-.04em;line-height:1.08;margin:0 0 5px}.cr-studio-controls p{font-size:14px;line-height:1.65;color:var(--cr-muted);margin:0 0 8px}.cr-studio-controls label{margin:7px 0 0}.cr-studio-controls select{width:100%;min-width:0;text-overflow:ellipsis}.cr-studio-controls fieldset{border:0;padding:0;margin:8px 0}.cr-studio-controls legend{font-size:13px;font-weight:700;margin-bottom:10px}.cr-studio-controls fieldset p{margin-top:12px;font-size:12px}.cr-rotation{padding:20px 8px;display:grid;grid-template-columns:1fr;gap:7px}.cr-rotation label{margin:0}.cr-rotation input{width:100%;accent-color:#347957;min-height:32px}.cr-rotation .help{font-size:12px}
.cr-stage{--cr-ground:#edf1e5;--cr-stage-ink:#42614a;--cr-halo:#fff;position:relative;display:grid;place-items:center;height:370px;perspective:1100px;overflow:hidden;border-radius:22px;background:radial-gradient(ellipse at 46% 22%,var(--cr-halo),transparent 60%),var(--cr-ground);isolation:isolate}
.cr-stage[data-cr-background=forest]{--cr-ground:#163d2e;--cr-stage-ink:#e7f4df;--cr-halo:#416e52}.cr-stage[data-cr-background=slate]{--cr-ground:#26383f;--cr-stage-ink:#e5eff1;--cr-halo:#5b7279}.cr-stage-small{height:245px;border-radius:15px}.cr-stage-ring{width:78%;height:25%;position:absolute;bottom:34px;border:1px solid color-mix(in srgb,var(--cr-stage-ink) 17%,transparent);border-radius:50%;transform:rotateX(55deg);box-shadow:0 20px 36px -14px #09221944}.cr-slab{position:relative;width:174px;height:245px;transform-style:preserve-3d;transform:rotateX(-8deg) rotateY(-18deg);animation:cr-slab-drift 9s ease-in-out infinite;filter:drop-shadow(13px 23px 14px #0c291c33);will-change:transform}
.cr-stage-small .cr-slab{width:122px;height:170px}.cr-slab-front{position:absolute;inset:0;border:6px solid var(--cr-tint);border-radius:13px;background:linear-gradient(130deg,var(--cr-glow),var(--cr-tint));padding:8px;overflow:hidden;transform:translateZ(7px);box-shadow:inset 0 0 0 2px #ffffff6b,0 0 0 1px #173e2e22}.cr-slab-edge{position:absolute;inset:0;border-radius:13px;background:linear-gradient(110deg,var(--cr-tint),#17382c);transform:translateZ(-4px) translateX(8px);box-shadow:2px 0 0 var(--cr-tint),4px 0 0 var(--cr-tint)}.cr-slab-front .card-photo{width:100%;height:100%;display:block;border-radius:5px;background:var(--surface);overflow:hidden}.cr-slab-front .card-photo img{width:100%;height:100%;object-fit:contain}.cr-slab-front .card-photo-state{padding:7px;text-align:center;font-size:11px;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.cr-slab-front .card-photo-state small{font-size:10px;line-height:1.4}.cr-slab-front .card-photo-symbol{font-size:20px}.cr-slab-front .card-photo-state[hidden]{display:none}.cr-sample{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(145deg,var(--raised),var(--surface));border:1px solid var(--line-2);border-radius:5px;color:var(--text)}.cr-sample .logo-mark{display:block;width:57px;height:64px;flex-shrink:0}.cr-sample strong{font-size:20px;letter-spacing:-.05em}.cr-sample small{font-size:10px;text-transform:uppercase;letter-spacing:.11em}.cr-stage-small .cr-sample{gap:9px}.cr-stage-small .cr-sample strong{font-size:14px}.cr-stage-small .cr-sample .logo-mark{width:39px;height:43px}.cr-stage-small .cr-sample small{font-size:10px}.cr-slab-shine{position:absolute;inset:-60%;background:linear-gradient(105deg,transparent 37%,#fff8 48%,transparent 55%);transform:translateX(-10%);opacity:.55;pointer-events:none;animation:cr-shine 9s ease-in-out infinite}.cr-slab-caption{position:absolute;bottom:12px;left:12px;right:12px;transform:translateZ(10px);text-align:center;border:1px solid #ffffff80;border-radius:99px;background:#173e2eeb;color:#fff;padding:5px;font-size:10px;font-weight:600;line-height:1.1}.cr-stage-small .cr-slab-caption{font-size:10px;bottom:10px;left:9px;right:9px;padding:4px}.cr-stage-caption{position:absolute;left:15px;right:15px;bottom:17px;text-align:center;font-size:11px;line-height:1.5;color:var(--cr-stage-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cr-stage-small .cr-stage-caption{bottom:10px;font-size:10px}
@keyframes cr-slab-drift{0%,100%{transform:rotateX(-8deg) rotateY(-18deg) translateY(0)}50%{transform:rotateX(1deg) rotateY(14deg) translateY(-7px)}}@keyframes cr-shine{0%,100%{transform:translateX(-15%);opacity:.22}50%{transform:translateX(20%);opacity:.48}}
.cr-comparison{border:1px solid var(--cr-line);border-radius:24px;padding:24px;background:#fafbf7;margin:24px 0}.cr-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.cr-section-heading h2{font-size:24px;margin:5px 0;letter-spacing:-.04em}.cr-section-heading p{font-size:13px;color:var(--cr-muted);margin:6px 0 16px}.cr-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:12px 0}.cr-compare-grid article{min-width:0}.cr-compare-grid h3{font-size:18px;margin:14px 0 7px}.cr-compare-grid p{font-size:13px;line-height:1.5;color:var(--cr-muted)}.cr-compare-grid .cr-stage{height:310px}.cr-compare-grid .cr-slab{width:146px;height:207px}.cr-compare-empty{display:grid;place-items:center;min-height:310px;border:1px dashed #bacdb4;border-radius:20px;padding:25px;text-align:center;color:var(--cr-muted);font-size:14px}.cr-price-note{font-size:12px;font-weight:700;color:var(--cr-muted)}.cr-bundle-breakdown{border-top:1px solid var(--cr-line);padding-top:15px;font-size:13px}.cr-bundle-breakdown li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #edf1e9}.cr-bundle-breakdown li b{font-weight:600;font-size:11px;white-space:nowrap;color:#365b40}.cr-bundle-breakdown p{font-size:12px;line-height:1.55;margin:12px 0 0}.cr-bundle-notice{background:#eef4e8;border-radius:10px;padding:12px;color:#36513d}
@media(max-width:760px){.cr-studio{grid-template-columns:1fr;gap:8px}.cr-studio-controls{padding:8px}.cr-summary{gap:14px;padding:18px;grid-template-columns:1fr 1fr}.cr-summary>div:first-child{grid-column:1/-1}.cr-summary>div:not(:first-child){padding:14px 0 0;border-left:0;border-top:1px solid var(--cr-line)}.cr-summary strong{font-size:26px}.cr-summary progress{max-width:none}.cr-favorites{padding:18px}.cr-favorites .cr-actions{width:100%}.cr-checklist summary span{display:block;margin:7px 0;font-size:12px}.cr-comparison{padding:16px}.cr-compare-grid{gap:10px}.cr-compare-grid .cr-stage{height:238px;border-radius:13px}.cr-compare-grid .cr-slab{width:100px;height:143px}.cr-compare-grid .cr-sample .logo-mark{width:35px;height:40px}.cr-compare-grid .cr-sample{gap:8px}.cr-compare-grid .cr-sample strong{font-size:12px}.cr-compare-grid .cr-sample small{font-size:10px}.cr-compare-grid .cr-slab-caption{font-size:10px;bottom:10px;padding:3px}.cr-compare-grid .cr-stage-caption{font-size:10px;left:8px;right:8px}.cr-compare-empty{min-height:238px;padding:12px;font-size:12px}.cr-compare-grid h3{font-size:16px}.cr-compare-grid p{font-size:12px}.cr-studio-controls h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.cr-slab,.cr-slab-shine{animation:none;will-change:auto}.case-room .btn{transition:none}}

.case-room[data-cr-paused=true] .cr-slab,.case-room[data-cr-paused=true] .cr-slab-shine,.case-room[data-cr-paused=true] .digital-box{animation-play-state:paused}
/* The retained finish controls sit inside the current HoloTap shell. */
.case-room .commerce-tabs{display:flex;flex-wrap:wrap;margin:20px 0}.case-room .commerce-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin:22px 0}.case-room .commerce-product{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface);min-width:0}.case-room .commerce-product h3{font-size:22px;line-height:1.4}.case-room .commerce-product p{font-size:14px;line-height:1.65}.case-room .commerce-product ul{padding-left:20px;font-size:14px;line-height:1.65}
.case-room .digital-discovery{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:24px 0}.case-room .digital-discovery h2{font-size:28px;line-height:1.3;margin:12px 0}.case-room .digital-discovery p{line-height:1.7;margin:12px 0}.case-room .page-head{flex-wrap:wrap;gap:20px}.case-room .page-head>.cr-actions{flex:none}.case-room .help{font-size:13px;line-height:1.65;margin-block:12px}
.case-room :is(.cr-summary,.cr-checklist,.cr-favorites,.cr-comparison,.cr-empty){background:var(--surface);border-color:var(--line)}.case-room .cr-bundle-notice{background:var(--raised);color:var(--muted)}.case-room .cr-bundle-breakdown li b,.case-room .cr-reset small{color:var(--muted)}.case-room .cr-status{color:var(--muted);border-color:var(--line-2)}.case-room .cr-status.is-owned{color:var(--accent);border-color:var(--line-2);background:var(--raised)}.case-room .cr-favorites strong span{background:var(--raised);color:var(--accent)}.case-room .cr-reset{border-color:var(--line)}.case-room :is(button,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.case-room .cr-checklist summary,.case-room .cr-set-grid .btn,.case-room .cr-rotation input{min-height:44px}
.cr-slab-front>img,.cr-slab-front>.card-placeholder{width:100%;height:100%;object-fit:contain;border-radius:5px}.cr-original-mark{width:50px;height:56px;object-fit:contain}.cr-stage-small .cr-original-mark{width:38px;height:43px}.case-room .cr-slab-caption{font-size:10px;line-height:1.3}.case-room .cr-sample small{font-size:10px;letter-spacing:.03em}.case-room .cr-stage-small .cr-sample strong{font-size:14px}
.motion-page,.rankings-page{max-width:1160px}.motion-page>.btn{margin-bottom:20px}.motion-page .page-head,.rankings-page .page-head{gap:20px}.motion-page .page-head p,.rankings-page .page-head p{font-size:16px;line-height:1.65;max-width:58ch}.motion-stage{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0}.motion-canvas{position:relative;display:grid;place-items:center;min-height:430px;padding:45px;background:radial-gradient(ellipse at 50% 40%,var(--raised-2),var(--surface));border:1px solid var(--line);border-radius:20px;overflow:hidden;perspective:1000px}.motion-preview-object{width:min(230px,100%);aspect-ratio:63/88;transform:rotateY(-15deg) rotateX(-9deg);filter:drop-shadow(0 20px 20px #0008)}.motion-preview-object img{width:100%;height:100%;object-fit:contain;border-radius:12px}.motion-canvas>span{position:absolute;bottom:18px;left:18px;right:18px;text-align:center;font-size:12px;line-height:1.5;color:var(--muted)}.motion-controls{display:flex;flex-direction:column;gap:18px;justify-content:center}.motion-controls h2{font-size:28px;line-height:1.3}.motion-controls p{font-size:14px;line-height:1.65;color:var(--muted)}.motion-families,.motion-variations{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.motion-variations .btn{min-width:44px;min-height:44px;padding:10px}.rankings-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.rankings-columns h2{font-size:22px;line-height:1.4}.rankings-list{list-style:none;margin:18px 0 0;padding:0}.rankings-list a{display:flex;align-items:center;gap:16px;min-height:78px;padding:14px 0;border-bottom:1px solid var(--line)}.rankings-position{font-size:22px;min-width:28px;color:var(--accent);font-variant-numeric:tabular-nums}.rankings-list span{display:grid;gap:7px;min-width:0}.rankings-list span>b{font-size:16px;line-height:1.5}.rankings-list small{font-size:13px;line-height:1.5;color:var(--muted)}.rankings-list svg{margin-left:auto;flex:none;color:var(--muted)}.rankings-page>p{font-size:14px;line-height:1.7;margin-block:24px}
@media(max-width:760px){.case-room .digital-discovery,.motion-stage,.rankings-columns{grid-template-columns:1fr}.motion-canvas{min-height:380px}.motion-controls{gap:15px}.motion-families{gap:8px}.rankings-page .page-head,.motion-page .page-head{flex-wrap:wrap}.case-room .cr-summary{margin-top:16px}}
.earned-page>nav,.earned-page>.card,.earned-summary{margin:24px 0}.earned-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.earned-summary h2{margin:14px 0}.earned-summary p,.earned-page details p{line-height:1.6}.earned-summary progress{width:100%;accent-color:var(--accent)}.earned-ledger{list-style:none;padding:0;margin:20px 0 0}.earned-ledger li{display:grid;grid-template-columns:90px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}.earned-ledger li:last-child{border:0}.earned-ledger small{display:block;color:var(--muted);margin-top:4px}.earned-ledger time{font-size:12px;color:var(--muted)}@media(max-width:700px){.earned-summary{grid-template-columns:1fr}.earned-ledger li{grid-template-columns:74px 1fr;gap:8px}.earned-ledger time{grid-column:2}}
.support-requests-page{max-width:880px}.support-requests-page>.card{margin-top:24px}.support-requests-page form{display:grid;gap:18px}.support-requests-page textarea{min-height:160px;resize:vertical}.support-request-history details{border-bottom:1px solid var(--line);padding:18px 0}.support-request-history summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.support-request-history p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}

/* Personal studio: a larger card, restrained glass controls and clear ownership. */
.cr-studio{gap:28px;align-items:start}.cr-studio>div:first-child{min-width:0}
.cr-studio .cr-stage{height:clamp(360px,44vw,510px)}
.cr-studio .cr-slab{width:220px;height:308px}
.cr-studio-controls{padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(124,242,212,.04),transparent 60%),var(--surface)}
.cr-studio-controls h2{font-size:clamp(26px,3vw,36px);line-height:1.16}
.cr-studio-controls .cr-actions{margin:6px 0 12px}.cr-studio-controls .btn{min-height:48px}
.cr-slab-front:after{content:'';position:absolute;right:10px;bottom:12px;width:24px;height:24px;border-radius:7px;background:#081517cc url('/assets/holotap-mark-alpha.webp') center/16px auto no-repeat;border:1px solid #ffffff50;pointer-events:none}
@media(max-width:760px){.cr-studio{grid-template-columns:1fr;gap:12px}.cr-studio-controls{padding:20px}.cr-studio .cr-stage{height:370px}.cr-studio .cr-slab{width:205px;height:287px}.case-room .commerce-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:6px}.case-room .commerce-tabs .btn{flex-shrink:0}}
@media(prefers-reduced-motion:no-preference){.cr-studio-controls{animation:holo-balance-update .22s ease-out}.cr-slab-front{transition:border-color .25s,background .25s}}

.case-room[data-case-section="studio"] .cr-summary{padding:12px 20px;gap:24px;align-items:center;margin-bottom:20px}.case-room[data-case-section="studio"] .cr-summary>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.case-room[data-case-section="studio"] .cr-summary>div:first-child>.label,.case-room[data-case-section="studio"] .cr-summary>div:first-child>small{display:none}.case-room[data-case-section="studio"] .cr-summary strong{font-size:18px;line-height:26px;margin:0}.case-room[data-case-section="studio"] .cr-summary progress{width:100px;margin:0}.case-room[data-case-section="studio"] .cr-summary>div:not(:first-child){display:flex;align-items:center;gap:8px;padding-block:0}.case-room[data-case-section="studio"] .cr-summary span{font-size:12px}
@media(max-width:760px){.case-room[data-case-section="studio"] .cr-summary{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px}.case-room[data-case-section="studio"] .cr-summary>div{border:0;padding:0}}

/* studio.css */
/* Collector Studio uses the same surfaces and type scale as the collection. */
.studio-page{max-width:1160px}.studio-page>.btn{margin-bottom:20px}.studio-page .page-head{gap:20px}.studio-page .sub,.studio-detail p{color:var(--muted);line-height:1.65;max-width:68ch}
.studio-membership,.studio-upgrade{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:20px 0}
.studio-membership b,.studio-upgrade b{font-size:18px;line-height:1.5}.studio-membership p,.studio-upgrade p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:7px}.studio-membership .btn,.studio-upgrade .btn{flex:none}
.studio-filters,.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.studio-filters .btn[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
.studio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.studio-tool{display:flex;flex-direction:column;text-align:left;gap:12px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);min-width:0}.studio-tool:hover{border-color:var(--accent);background:var(--raised)}
.studio-tool h2{font-size:20px;line-height:1.4;letter-spacing:-.3px}.studio-tool p{font-size:14px;line-height:1.65;color:var(--muted)}.studio-tier,.studio-open{font-size:12px;line-height:1.6;color:var(--accent)}.studio-open{padding-top:8px;margin-top:auto}
.studio-detail{max-width:850px}.studio-title{margin:24px 0}.studio-title h2{font-size:28px;line-height:1.3;margin:10px 0}.studio-detail .label{font-size:12px}
.studio-entry,.studio-form,.studio-result{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:16px 0}.studio-entry h3,.studio-form h3,.studio-result h3{font-size:20px;line-height:1.4;margin-bottom:12px}.studio-entry summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--accent)}
.studio-page dl{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr);gap:12px 24px;margin-block:16px;font-size:14px;line-height:1.65}.studio-page dt{color:var(--muted)}.studio-page dd{margin:0;overflow-wrap:anywhere}
.studio-form>label{display:block;font-size:14px;margin:18px 0 8px;line-height:1.5}.studio-form>input,.studio-form>select,.studio-form>textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);font-size:16px;line-height:1.5}.studio-form textarea{min-height:120px;resize:vertical}.studio-card-picker{border:1px solid var(--line);border-radius:12px;padding:16px;margin-block:20px}.studio-card-picker legend{font-size:14px;padding:0 8px}.studio-card-picker label{display:flex;align-items:center;gap:10px;min-height:44px;flex-wrap:wrap;font-size:14px}.studio-card-picker input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.studio-card-picker small{font-size:12px;color:var(--muted)}
.studio-guide{padding-left:22px;display:grid;gap:14px;line-height:1.7}.studio-error{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line-2);border-radius:14px;color:var(--red);font-size:14px;line-height:1.6}.studio-page .studio-fine,.studio-empty{font-size:13px;line-height:1.7;color:var(--muted);margin-block:24px}
.vault-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px}.vault-sections a{display:flex;align-items:center;gap:12px;padding:18px 16px;min-height:92px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.vault-sections a:hover{background:var(--raised);border-color:var(--accent)}.vault-sections a>svg{flex:none;color:var(--accent)}.vault-sections a>svg:last-child{margin-left:auto}.vault-sections span{display:grid;gap:5px;min-width:0}.vault-sections b{font-size:15px;line-height:1.4;font-weight:600}.vault-sections small{font-size:12px;line-height:1.5;color:var(--muted)}
@media(max-width:950px){.studio-grid,.vault-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.studio-grid{grid-template-columns:1fr}.studio-membership,.studio-upgrade{align-items:flex-start;flex-direction:column;padding:20px}.studio-tool,.studio-entry,.studio-form,.studio-result{padding:20px}.studio-page .page-head{flex-wrap:wrap}.studio-page dl{grid-template-columns:1fr;gap:5px}.studio-page dd{margin-bottom:8px}.vault-sections{gap:10px}.vault-sections a{display:block;padding:16px;min-height:130px}.vault-sections a>svg{margin-bottom:12px}.vault-sections a>svg:last-child{width:16px;height:16px;margin:10px 0 0}.vault-sections b{font-size:14px}}
.membership-page>.page-head p{max-width:62ch;font-size:16px;line-height:1.65}.plan-hardware{display:grid;gap:8px;margin:16px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-hardware b{font-size:18px;line-height:1.5;font-weight:600}.plan-hardware small,.plan-fee{font-size:13px;line-height:1.65;color:var(--muted)}.membership-downgrade{font-size:14px;line-height:1.7;color:var(--muted);padding-block:12px}.member-hardware-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--line-2);border-radius:18px;background:var(--surface)}.member-hardware-entry h2{font-size:22px;line-height:1.4}.member-hardware-entry p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:8px}.member-hardware-entry>.btn{flex:none}
.member-hardware-sheet .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.member-hardware-sheet .field-grid .wide{grid-column:1/-1}.member-hardware-sheet p,.member-hardware-sheet li{font-size:14px;line-height:1.65}.member-hardware-sheet ul{padding-left:20px}.member-hardware-sheet .notice{font-size:14px;line-height:1.7}
@media(max-width:600px){.member-hardware-entry{align-items:flex-start;flex-direction:column;padding:20px}.member-hardware-sheet .field-grid{grid-template-columns:1fr}}

.studio-search{display:grid;gap:8px;margin-block:24px 16px}.studio-search label{font-weight:650;font-size:14px}.studio-search>div{display:flex;gap:10px}.studio-search input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);color:var(--ink);padding:12px 16px;min-height:48px;font:inherit}.studio-access{display:flex;gap:8px;flex-wrap:wrap}.studio-results-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;color:var(--muted);font-size:14px}.studio-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.studio-filters .btn{flex:none}.membership-tool-details{padding-block:16px}.membership-tool-details summary{cursor:pointer;min-height:44px;font-weight:650}.membership-tool-details ul{columns:2;column-gap:24px;list-style:disc;padding-left:20px}.membership-tool-details li{break-inside:avoid;font-size:14px;line-height:1.65;margin-bottom:7px;color:var(--muted)}@media(max-width:600px){.membership-tool-details ul{columns:1}}

.studio-shortcuts{margin:16px 0}.studio-shortcuts h2{font-size:18px;line-height:26px;margin-bottom:12px}.studio-shortcuts>div{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.studio-shortcuts .btn{flex:none}.studio-card-picker>[type=search]{min-height:44px;border:1px solid var(--line-2);border-radius:10px;padding:10px;background:var(--bg);color:var(--ink);width:min(360px,100%);max-width:100%;margin:8px 0}.studio-card-picker>p{margin:12px 0}

.studio-page .page-head h1{font-size:clamp(28px,3vw,38px);line-height:1.15}.studio-page .page-head{margin-bottom:12px}.studio-shortcuts:has(+.studio-shortcuts){margin-bottom:10px}.studio-search{margin-top:18px}

.studio-checklist{border:1px solid var(--line);border-radius:12px;padding:16px;margin-block:20px}.studio-checklist legend{font-weight:600;padding-inline:8px}.studio-checklist label{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding-block:10px;line-height:1.5}.studio-checklist input{flex:none;width:20px;height:20px;accent-color:var(--accent);margin-top:1px}.studio-checklist input:checked+span{text-decoration:line-through;color:var(--muted)}
@media(max-width:600px){.studio-page{padding-inline:18px}.studio-page .page-head{align-items:flex-start;gap:12px}.studio-page .page-head>div{width:100%}.studio-page .page-head>.btn{align-self:flex-start}.studio-membership{margin-top:12px}.studio-checklist{padding:12px}}

.studio-report-card{display:flex;align-items:center;min-height:44px;margin-top:4px;color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:4px}

/* Pin remains a full touch target even when styled as a compact action. */
.studio-title [data-studio-pin]{min-height:44px}

/* Saved storage compartments: intrinsic height and full wrapping on phones. */
.studio-storage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:18px}.studio-storage-slot{min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--raised),var(--surface));box-shadow:inset 0 2px 0 rgb(255 255 255 / .04)}.studio-storage-slot.is-unassigned{border-style:dashed}.studio-storage-label{display:block;color:var(--accent);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.studio-storage-slot h4{font-size:16px;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}.studio-storage-slot .studio-report-card{margin-top:12px}@media(max-width:600px){.studio-storage-grid{grid-template-columns:1fr}.studio-storage-slot{padding:16px}}

/* Restock calculations keep quantities beside their labels at phone widths. */
.studio-stock-plan dl{grid-template-columns:minmax(0,1fr) minmax(70px,.6fr);align-items:start;gap:14px 16px}.studio-stock-plan dt,.studio-stock-plan dd{font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin:0}.studio-stock-plan dd{text-align:right;font-weight:650;color:var(--ink)}.studio-stock-plan dt:first-child{color:var(--accent);font-weight:650}.studio-stock-plan dd:nth-child(2){font-size:30px;line-height:1.1;color:var(--accent);font-weight:750}
@media(max-width:340px){.studio-stock-plan dl{grid-template-columns:1fr;gap:6px}.studio-stock-plan dd{text-align:left;margin-bottom:12px}}

/* play-home.css */
.play-home{max-width:1160px}.play-home-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px}.play-home-game,.play-home-points,.play-home-destination{min-width:0;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--text);text-decoration:none;padding:28px}.play-home-game{display:flex;flex-direction:column;justify-content:space-between;gap:28px;background:radial-gradient(ellipse at 100% 0,rgba(126,170,175,.12),transparent 65%),var(--surface)}.play-home-game-body{display:flex;align-items:center;gap:24px}.play-home-game-body>div{min-width:0;flex:1}.play-home-game h2{font-size:clamp(28px,3.2vw,44px);line-height:1.15;margin:14px 0}.play-home p{font-size:16px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.play-home-game img{width:92px;aspect-ratio:5/7;object-fit:contain;flex-shrink:0;border-radius:8px}.play-home-action{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:600}.play-home-points{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.play-home-points p{margin:0}.play-home-points small{line-height:1.5;color:var(--muted)}.play-home-balance{font-size:40px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}.play-home-destination{display:flex;gap:18px;align-items:center;min-height:96px}.play-home-destination>span{min-width:0;flex:1}.play-home-destination b{font-size:18px;line-height:1.4}.play-home-destination small{display:block;margin-top:6px;line-height:1.5;color:var(--muted)}.play-home-destination svg{flex-shrink:0}.play-home a:focus-visible{outline:2px solid var(--text);outline-offset:4px}@media(max-width:760px){.play-home-grid{grid-template-columns:minmax(0,1fr);gap:14px}.play-home-game,.play-home-points,.play-home-destination{padding:22px}.play-home-game h2{font-size:30px}.play-home-game-body{gap:14px}.play-home-game img{width:70px}}@media(max-width:350px){.play-home-game-body{flex-wrap:wrap}.play-home-game-body>div{flex-basis:100%}}

.play-home-streak{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:var(--fs-micro);font-weight:700;color:var(--accent)}.play-home-streak.is-hot{color:var(--copper,#E0A66B)}

/* atelier.css */
/* Approved Atelier direction. Shared with the native palette, layered after legacy screens. */
html,body{background:var(--bg)!important;color:var(--text)}
.header{background:#111514ed}.main{padding-top:28px}.btn.primary{background:var(--accent);color:var(--accent-ink)}
:where(button,a,input,select,textarea){-webkit-tap-highlight-color:transparent}
:where(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
:where(button,.btn){transition:transform .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease)}
:where(button,.btn):active:not(:disabled){transform:scale(.97)}
.game-day{--gd-panel:var(--surface);--gd-line:var(--line);max-width:1260px;margin-inline:auto}
.gd-heading{padding-block:12px 22px}.gd-heading h1{font-size:34px;font-weight:600;letter-spacing:-1.3px;line-height:1.2}.gd-heading p{color:var(--muted);line-height:1.65}
.gd-leagues button{border:1px solid var(--line);border-radius:999px;background:transparent;padding:10px 18px;min-height:44px}
.gd-leagues [aria-pressed=true],.gd-date-strip [aria-pressed=true]{background:var(--raised);color:var(--accent)}
.gd-date-strip [aria-pressed=true] b,.gd-date-strip [aria-pressed=true] small{color:var(--accent)}
.gd-event{border-radius:14px;padding:18px 14px;gap:18px;margin-block:4px}.gd-event:hover,.gd-event.selected{background:var(--surface)}
.gd-event-team{line-height:1.5}.gd-event-status{min-width:76px}.gd-event .gd-team-mark{width:36px;height:36px;display:grid;place-items:center}.gd-team-mark img{object-fit:contain;object-position:center}
.gd-room-open .gd-layout{grid-template-columns:280px minmax(0,1fr);gap:28px}.gd-sticky-room{background:var(--bg);padding-top:4px}
.gd-tabs{display:flex;gap:6px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-top:16px}
.gd-tabs button{flex:1;min-width:0;min-height:44px;padding:10px 8px;border:0;border-radius:11px;line-height:1.4;font-size:13px;color:var(--muted)}
.gd-tabs [aria-selected=true]{color:var(--text);background:var(--raised);border:0}
.gd-panel{padding:18px 0;min-width:0}.gd-panel:has(.gd-chat-log){padding:0}.gd-panel>section+section{margin-top:24px}
.gd-face{position:relative}.gd-face img{position:absolute;inset:0;width:100%;height:100%;max-height:100%;object-fit:cover;object-position:50% 54%}.gd-face-card img{object-fit:contain;object-position:center}
.gd-scorebar{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px}.gd-scorebar-score{font-variant-numeric:tabular-nums}
.gd-room-open .lf{margin-block:0 20px;border-radius:20px;background:linear-gradient(155deg,#26342b,#151d18);border:1px solid var(--line)}
.lf.is-3d[data-lf-kind=diamond] .lf-stage{aspect-ratio:1.4!important;min-height:220px}
.lf.is-3d[data-lf-kind=court] .lf-stage,.lf.is-3d[data-lf-kind=pitch] .lf-stage,.lf.is-3d[data-lf-kind=gridiron] .lf-stage,.lf.is-3d[data-lf-kind=rink] .lf-stage{min-height:200px}
.lf-steps{gap:8px}.lf-step{min-width:40px;min-height:40px;background:#18221cea;border:1px solid var(--line-2);color:var(--text)}
.gd-chat-log{padding:20px 14px;overscroll-behavior:contain}.gd-message{gap:12px;padding-block:14px}.gd-message-body{line-height:1.65;overflow-wrap:anywhere}
.gd-chat-form{gap:10px;padding:16px;background:var(--surface);border-radius:18px}.gd-chat-form textarea{background:var(--bg);line-height:1.5}
.gd-player-box,.gd-stats{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(min-width:1100px){.game-day .gd-room-open .gd-layout{grid-template-columns:280px minmax(0,1fr)}.gd-panel>.lf{max-width:860px;margin-inline:auto}}
@media(max-width:760px){.gd-room-open .gd-layout{display:block}.gd-heading h1{font-size:30px}.gd-heading{padding-top:6px}.gd-panel{padding-inline:0}.gd-tabs button{font-size:12px}.gd-event{padding:16px 6px}.gd-room-open .lf{border-radius:16px}.gd-scorebar{padding:16px 12px}.gd-face{--gd-face:44px}}
/* Polling refreshes this panel. Animate user actions and new plays, not every rebuilt panel. */
.gd-panel>section,.gd-panel>.lf{animation:none}
@media(prefers-reduced-motion:reduce){:where(button,.btn){transition:none}:where(button,.btn):active{transform:none}}
/* Desktop collector rail: commerce and account destinations stay visible. */
.atelier-sidebar{display:none}
@media(min-width:1100px){
 .atelier-app{padding-left:208px}.atelier-app>.header{left:0;width:100%;height:80px;padding-inline:24px;display:flex;justify-content:flex-end}
 .atelier-app>.header>.brand{position:absolute;left:50%;transform:translateX(-50%);margin:0;gap:8px}
 .atelier-app>.header>.nav{display:none}.atelier-app>.header>.back-btn{margin-right:auto}.atelier-app>.header .sell-cta{display:none}
 .atelier-sidebar{display:flex;position:fixed;left:0;top:80px;bottom:0;width:208px;padding:28px 16px 24px;border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;overflow-y:auto;background:var(--bg);z-index:15}
 .atelier-sidebar nav{display:grid;gap:5px}.atelier-sidebar a{display:flex;align-items:center;gap:12px;min-height:44px;padding:11px 14px;font-size:13px;line-height:1.5;color:var(--muted);border-radius:12px}.atelier-sidebar a svg{flex:none}
 .atelier-sidebar a:hover,.atelier-sidebar a[aria-current=page]{color:var(--text);background:var(--raised)}.atelier-sidebar .atelier-scan{background:var(--accent);color:var(--accent-ink);margin-block:12px}.atelier-sidebar .atelier-scan:hover{color:var(--accent-ink);background:#d7efdf}
 .atelier-sidebar small{font-size:10px;letter-spacing:.14em;color:var(--dim);padding:22px 14px 12px}.atelier-sidebar p{margin:28px 14px 0;font-size:12px;line-height:1.7;color:var(--muted)}
 .atelier-app>.main{max-width:1440px;margin-inline:auto;padding-inline:clamp(24px,3vw,44px)}
}
.live-lens-page .lens-panel,.live-lens-page .lens-capture{max-width:650px;margin-inline:auto}.lens-progress{gap:10px}.lens-progress li{line-height:1.5}.lens-panel h2{font-size:30px;letter-spacing:-.7px;line-height:1.25}.lens-panel p{line-height:1.7}.lens-guide-tile{background:var(--surface);border-color:var(--line-2);border-radius:18px;min-height:204px}.lens-guide-tile b{line-height:1.5}.lens-guide-tile small{line-height:1.6}.lens-camera{background:var(--surface);border:1px solid var(--line-2)}
@media(max-width:760px){.lens-panel h2{font-size:26px}.lens-guide-grid{gap:12px}.lens-guide-tile{min-height:185px}.atelier-app.is-member .tabs{gap:2px}.atelier-app.is-member .tabs a{min-width:0;flex:1}.atelier-app.is-member .tabs a span{font-size:10px;line-height:1.4}}
@media(max-width:760px){
 .atelier-app>.header{padding-inline:14px}.atelier-app>.header>.brand{position:absolute;left:50%;transform:translateX(-50%);max-width:150px;margin:0;font-size:22px;gap:7px}.atelier-app>.header>.brand img{width:26px;height:30px}
 .atelier-app.is-member>.header>.header-actions{margin-left:auto;gap:2px}.atelier-app.is-member>.header>.header-actions>a[aria-label="Your profile"]{position:absolute;left:14px;top:50%;transform:translateY(-50%)}
 .atelier-app.is-member>.header:has(.back-btn)>.header-actions>a[aria-label="Your profile"]{display:none}.atelier-app.is-member>.header>.back-btn{margin-right:auto}
 .atelier-app.is-public>.header>.brand{position:static;transform:none;margin-right:auto}.atelier-app.is-public>.header .btn{font-size:12px;padding:8px 10px}
}
/* A game opens on the action; points and fan pulse live in Play. */
.game-day:has(.gd-room-open) .gd-heading{padding-block:0 4px;margin-bottom:8px;min-height:0}
.game-day:has(.gd-room-open) .gd-heading>div:last-child:not(:first-child){display:none}
.game-day:has(.gd-room-open) .gd-heading h1{font-size:26px;line-height:1.3}
[data-gd-pulse]:empty{display:none}
@media(max-width:760px){.game-day:has(.gd-room-open) .gd-heading>div:has(a){display:none}.gd-room-open .gd-panel{padding-top:8px}.gd-room-open .gd-sticky-room{margin-bottom:8px}}

.live-lens-page .lens-capture.is-shooting{max-width:none;margin:0}
/* Fit the whole playing surface below the room controls, even on short laptops. */
.gd-room-open .lf.is-3d .lf-stage{aspect-ratio:auto!important;height:clamp(250px,43vh,380px);min-height:0}
@media(min-width:861px){
 .gd-room-open .gd-event{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .gd-room-open .gd-event-team>span:not(.gd-team-mark){overflow-wrap:normal;word-break:normal;line-height:1.4}
 .gd-room-open .gd-event-status{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left}
 .gd-room-open .gd-event-status small{margin:0}.gd-room-open .gd-join{display:none}
}
.game-day:has(.gd-room-open) .gd-heading{display:none}
.game-day>.gd-games-surface.gd-room-open{margin-top:0}
@media(min-width:1100px){.atelier-app>.header{margin-left:-208px;width:calc(100% + 208px)}}

/* Game Day readability and real on-field portraits. */
.lf-chip{width:34px;height:34px;overflow:hidden;background:#18201d;border:2px solid #c8e8d4}
.lf-chip img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.pts-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pts-pack{min-width:0;padding:20px 12px}.pts-sheet{max-height:85dvh;overflow-y:auto;gap:18px}
.pts-list li{gap:16px;align-items:start}.pts-list li>a,.pts-list li>span:first-child{min-width:0;overflow-wrap:anywhere}
.pts-pick-status{flex-shrink:0}.gd-leader-name{white-space:normal}
@media(max-width:600px){.gd-room-open .lf.is-3d .lf-stage{height:320px}.gd-room-open .gd-pulse-row{flex-wrap:wrap;gap:12px}}

/* Center media in its own frame; legacy absolute inset and 100% sizing
   together shifted logos down and right and clipped the opposite edge. */
.gd-team-mark{display:grid;place-items:center}
.gd-team-mark.has-logo{padding:0}
.gd-team-mark img,.gd-match-team .gd-team-mark img{inset:0;margin:auto;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;object-position:center}
.gd-face img,.lf-chip img{object-position:center}
.gd-face-card img{object-fit:contain}
.gd-event-team>span:not(.gd-team-mark){line-height:1.5}
.gd-composer small,.chat-keyboard-hint{font-size:12px;line-height:1.6;color:var(--muted)}
.gd-composer small{max-width:none}
form[data-send]{align-items:flex-end;gap:10px}
form[data-send] textarea{min-height:52px;max-height:160px;resize:vertical;line-height:1.6}
.bubble{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}
.chat-keyboard-hint{display:block}
.vault-page>.page-head>.row{flex-wrap:wrap;gap:10px}
.vault-gallery-entry{display:flex;align-items:center;gap:20px;margin:0 0 22px;padding:22px 24px;border:1px solid var(--line-2);border-radius:20px;background:var(--surface);transition:background .2s var(--ease),border-color .2s var(--ease)}
.vault-gallery-entry:hover{background:var(--raised);border-color:var(--accent)}
.vault-gallery-icon{display:grid;place-items:center;width:56px;height:56px;flex:none;border:1px solid var(--line-2);border-radius:16px;color:var(--accent)}
.vault-gallery-entry>span:nth-child(2){display:grid;gap:5px;min-width:0}
.vault-gallery-entry b{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.3px}
.vault-gallery-entry small{font-size:14px;line-height:1.6;color:var(--muted)}
.vault-gallery-action{display:flex;align-items:center;gap:9px;margin-left:auto;flex:none;color:var(--accent);font-size:14px;font-weight:600}
.vault-detail .stage{padding:26px 20px;gap:14px;background:radial-gradient(ellipse at 50% 40%,#25362c80,transparent 72%),var(--bg-2)}
.vault-detail .stage .holo{width:min(420px,100%);aspect-ratio:63/88}
.vault-detail .stage .holo img{object-fit:contain}
.vault-detail .stage .hint{font-size:12px;line-height:1.6;letter-spacing:0;text-transform:none;text-align:center}
.vault-inspect-controls{display:flex;gap:6px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.vault-inspect-controls .btn{min-width:76px;border:0;background:transparent}
.vault-inspect-controls [aria-pressed=true]{color:var(--accent);background:var(--raised)}
.vault-stage-gallery{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:13px;line-height:1.5;color:var(--accent)}
@media(max-width:820px){.vault-detail .stage{padding:22px 16px;min-height:0}.vault-detail .stage .holo{width:min(360px,100%,48dvh)}}
@media(max-width:600px){.vault-gallery-entry{padding:18px 16px;gap:14px;flex-wrap:wrap}.vault-gallery-icon{width:44px;height:44px;border-radius:12px}.vault-gallery-entry>span:nth-child(2){flex:1}.vault-gallery-entry b{font-size:18px}.vault-gallery-entry small{font-size:13px}.vault-gallery-action{width:100%;margin-left:58px;font-size:13px}.vault-page>.page-head{gap:16px;flex-wrap:wrap}.vault-page>.page-head>.row{width:100%}.vault-page>.page-head>.row .btn{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.vault-gallery-entry{transition:none}}

/* glass.css */
/* ===========================================================================
   GLASS
   ===========================================================================
   The app is built on iOS 26's liquid glass. The website should feel like the
   same product, so it gets the same material — with one rule the app learned
   the hard way.

   A backdrop blur is recomputed every frame against whatever is behind it. On
   a pinned header or an open sheet that is worth paying for: there is content
   moving underneath, and the blur is what tells you so. On a tile in a
   scrolling grid it is not, because nothing moves behind a tile — it scrolls
   WITH the page — so the blur costs a repaint per frame and buys a look that a
   translucent fill gives for free.

   So: real glass on the few surfaces that sit ABOVE moving content, and a
   cheaper "lit surface" everywhere else. `tests/glass-cost.test.mjs` on the app
   side exists because a redesign once grew to six live blurs and made the app
   measurably slower; `tests/web-glass-cost.test.mjs` is the same guard here.

   Every glass surface also states a solid fallback first, so a browser without
   backdrop-filter gets an opaque panel rather than unreadable text on artwork. */

:root{
 /* These names are deliberately NOT --glass-*: collector-design.css already
    defines --glass-tint, --glass-blur and --glass-edge, with different value
    TYPES (a flat colour, and a box-shadow rather than a border). This file is
    last in the bundle, so reusing those names silently overwrote them and the
    browser dropped every declaration that then had the wrong kind of value -
    the header's lip, the tab dock, the composer, .gd-stats and .gd-leagues all
    lost their inner highlight without a single error anywhere. One prefix per
    file is what stops that happening again; the test below enforces it. */
 --lit-tint:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
 --lit-border:1px solid rgba(255,255,255,.10);
 --lit-lip:inset 0 1px 0 rgba(255,255,255,.11);
 --lit-cast:0 18px 44px rgba(2,5,10,.46);
 --lit-blur:blur(22px) saturate(165%);
 /* One easing for anything that moves, so the whole site decelerates the same
    way. The overshoot is small on purpose: fluid, not bouncy. */
 --fluid:cubic-bezier(.22,.61,.36,1);
 --fluid-in:cubic-bezier(.4,0,.2,1);
}

/* The material itself. Used sparingly — see the note above. */
.glass{
 background:var(--raised);
 background:var(--lit-tint),rgba(13,17,24,.72);
 border:var(--lit-border);
 box-shadow:var(--lit-lip),var(--lit-cast);
 -webkit-backdrop-filter:var(--lit-blur);
 backdrop-filter:var(--lit-blur);
}

/* A lit surface: the same light, none of the per-frame cost. This is what a
   card, a panel or a row gets.

   The long list below is deliberate. Before it, each screen's own stylesheet
   drew its own panel — one of them a flat --surface with a grey rule, the next
   a --raised with a 1px border, the next neither — so the site read as a set of
   screens with their own opinions rather than as one product. Naming them here,
   in the LAST file of the bundle, is what makes a panel a panel everywhere. The
   native app does the same thing in `surface-tokens.mjs`, with the same values:
   this gradient averages 2.8% white, which is exactly the app's flat lift. */
.lit,.card,.tile,.panel,.gd-scoreboard,.gd-community,.shopfront,.gd-atbat,
/* collector */
.collector-membership,.post,.collector-home .post,.collector-home .composer,
.market-destination,.market-hardware,.market-refine,.market-entry,.auth-world,
.sidecar-product,.collector-detail .notice,
/* rooms, operations, stories */
.rooms-space,.rooms-picker summary,.rooms-pulse,
.ops-tile,.ops-funnel li,.vault-digest,
.story-reply,.story-delete-panel,
/* shop */
.hardware-inspect,.hardware-bag-dock,.hardware-care-prototype small,
/* orders and help */
.order-row,.order-empty,.order-tracking,.help-shortcuts>a,.help-contact,.help-ai,
/* trades */
.trade-list,.trade-empty,.trade-exchange,.trade-promise,.trade-shipment,
.trade-pick,.trade-confirm,.trade-message,.trade-shipping-cost,
/* market photos */
.photo-market .photo-market-refine,.photo-nfc,
/* game day */
.gd-player-card,.gd-confirm,.gd-empty>span,.home-game-day,.gd-new-messages,
.gd-score-moment,.gd-owned-card,.gd-player-identity>span,
.gdp-start>span,.gdp-performance,.gdp-confirm,
.player-live,.player-tabs,.player-game,
/* lens and checkout */
.lens-success,.buyer-card-stage,.buyer-confirm>div,
/* the sold-comps list */
.sold-comps{
 background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012)),var(--surface);
 border:1px solid rgba(255,255,255,.07);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
}
.tile:hover,.card:hover,.order-row:hover,.trade-list:hover,.gd-player-card:hover{border-color:rgba(255,255,255,.12)}

/* A WELL is the one surface that sits BELOW the page rather than above it: a
   photo, a piece of evidence, a card stage. So it inverts — the light catches
   the bottom edge and the top falls into shadow, which is what makes a well
   look cut in rather than raised. The app's `litField` is this same rule. */
.well,.order-image,.trade-evidence img,.condition-shot img,.buyer-condition img,
.lens-face img,.lens-closeups img,.photo-market .market-photo-tile .art,
.hardware-object>div{
 /* A step BELOW the page, taken from the site's own palette rather than a
    colour typed in here, which would be a hole on any other theme. */
 background:var(--bg-2);
 border:1px solid rgba(255,255,255,.07);
 border-top-color:rgba(0,0,0,.30);
 border-bottom-color:rgba(255,255,255,.08);
}

/* The pinned header sits over everything that scrolls, so it earns its blur. */
.header{
 background:#0A0E14;
 background:rgba(9,13,19,.72);
 border-bottom:1px solid rgba(255,255,255,.08);
 box-shadow:inset 0 -1px 0 rgba(255,255,255,.03);
 -webkit-backdrop-filter:var(--lit-blur);
 backdrop-filter:var(--lit-blur);
}

/* Sheets and dialogs sit over the page by definition. */
dialog,.sheet,.sheet-panel,[role=dialog]>.modal,.overlay>.modal{
 background:var(--raised);
 background:var(--lit-tint),rgba(11,15,21,.82);
 border:var(--lit-border);
 box-shadow:var(--lit-lip),var(--lit-cast);
 -webkit-backdrop-filter:var(--lit-blur);
 backdrop-filter:var(--lit-blur);
}

/* Controls read as glass without blurring: a lit fill and a bright top edge. */
.btn,.home-command-link{
 background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),var(--raised);
 border:1px solid rgba(255,255,255,.09);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
 transition:transform var(--fast) var(--fluid),border-color var(--fast),background var(--fast);
}
.btn:hover,.home-command-link:hover{border-color:rgba(255,255,255,.16)}
.btn:active,.home-command-link:active{transform:scale(.975)}
.btn.primary{
 background:linear-gradient(180deg,#8AF0E0,#5FD3C2);
 border-color:rgba(255,255,255,.22);
 color:var(--accent-ink);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 6px 18px rgba(124,242,212,.18);
}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.1);box-shadow:none}
.input,.market-controls .input-wrap,.auth-input-wrap input,.gd-composer textarea{
 background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),var(--surface);
 border:1px solid rgba(255,255,255,.08);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
 transition:border-color var(--fast),box-shadow var(--fast);
}
.input:focus,.market-controls .input-wrap:focus-within,.auth-input-wrap input:focus,.gd-composer textarea:focus{
 border-color:rgba(124,242,212,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(124,242,212,.12)}

/* Fluid: everything that changes state moves on the same curve and the same
   clock, so the site feels like one surface rather than a set of screens with
   their own opinions about timing. */
.tile,.card,.hardware-card-art,.market-photo-tile .art,.gd-event,
.order-row,.trade-list,.gd-player-card,.ops-tile,.help-shortcuts>a,.rooms-picker summary{
 transition:transform var(--base) var(--fluid),border-color var(--fast),box-shadow var(--fast);
}

@media(prefers-reduced-motion:reduce){
 .btn,.tile,.card,.hardware-card-art,.market-photo-tile .art,.gd-event,
 .order-row,.trade-list,.gd-player-card,.ops-tile,.help-shortcuts>a,.rooms-picker summary{transition:none}
 .btn:active{transform:none}
}

/* Where the material cannot be drawn, the surface is still opaque and readable
   rather than transparent over artwork. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass,.header,dialog,.sheet,.sheet-panel,[role=dialog]>.modal,.overlay>.modal{
  background:var(--raised);
 }
}

/* collection-home.css */
/* Collection edition: product-led entry, tactile shelves, direct collector tasks. */
.atelier-app{background:var(--bg)}
.atelier-app .header{background:#101318ed;border-bottom:1px solid #ffffff12}.atelier-app .atelier-sidebar{background:#11151b;border-color:#ffffff12}.atelier-app .atelier-sidebar a[aria-current=page]{background:#252d36;color:#a9ece0}.atelier-app .atelier-sidebar .atelier-scan{background:#90e1d2;color:#112a29}.atelier-app .tabs{background:#171d26ed;border-color:#ffffff24}.atelier-app .btn.primary{background:#90e1d2;box-shadow:none}.atelier-app .btn{box-shadow:none}
.collection-entry,.collector-home{max-width:1400px;color:#f2f4f7}.collection-entry{padding-top:0}.collection-entry-hero{display:grid;grid-template-columns:.85fr 1.15fr;position:relative;min-height:0;align-items:center;isolation:isolate;border-bottom:1px solid var(--line);margin-bottom:32px;gap:12px 20px}.collection-entry-hero:before{content:'';position:absolute;z-index:-1;width:60%;height:75%;right:0;top:5%;background:radial-gradient(ellipse,#819cd324,transparent 65%);pointer-events:none}.collection-entry-copy{padding:24px 0 24px 16px}.collection-entry-copy .label{color:#91e1d4;font-size:12px;letter-spacing:2px}.collection-entry h1{font-size:64px;font-weight:500;line-height:1.04;letter-spacing:-3px;margin:28px 0 22px}.collection-entry-copy>p{font-size:18px;line-height:1.7;color:#acb7c3;max-width:35ch}.collection-entry-actions{display:flex;align-items:center;gap:28px;margin:32px 0 24px}.collection-entry-actions .btn{min-height:56px;padding:16px 24px;font-size:16px}.collection-signin{font-size:14px;min-height:44px;display:inline-flex;align-items:center;color:#d7dee7}.collection-entry-browse{font-size:13px;color:#a7b4c2;text-decoration:underline;text-underline-offset:5px;display:inline-flex;min-height:44px;align-items:center}.collection-entry-object{position:relative;min-width:0;padding:0 10px 12px}.collection-object-edition{display:block;font-size:11px;letter-spacing:2px;color:#98a8b9;margin:0 28px}.collection-entry-object [data-holo-product-viewer]{display:block;position:relative;min-height:480px;padding:0;margin:0;background:transparent;border:0;border-radius:0;overflow:visible}.collection-entry-object .holo-product-object{width:100%;min-width:0}.collection-entry-object .holo-product-canvas{height:450px;min-height:0;background:transparent;border:0}.collection-object-fallback{width:100%;height:450px;object-fit:contain}.collection-entry-object .editorial-object-caption{display:flex;position:static;padding:0 28px;align-items:center;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:1px}.collection-entry-object .editorial-object-caption small{display:block;letter-spacing:0;color:#a5b1bf;margin-top:4px}.collection-entry-object .holo-product-actions{display:flex;gap:8px}.collection-entry-object .holo-product-actions button{width:44px;height:44px;min-width:44px;border-radius:50%;padding:11px;background:#242d39;border:1px solid #ffffff1c;color:#dce6ee}.collection-entry-object .holo-product-actions svg{width:20px;height:20px}.collection-object-footnote{display:block;text-align:center;font-size:12px;color:#b8b0d4;margin-top:18px}.collection-entry-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding:8px 16px;align-self:end;border-top:1px solid var(--line);font-size:11px;letter-spacing:2px;color:#8e9ba9}.collection-entry-bottom a{min-height:44px;display:flex;align-items:center;font-size:12px;letter-spacing:0;color:#d2dbe4}
.collection-shelf{margin:40px 0 48px;min-width:0}.collection-shelf>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.collection-shelf h2,.collection-community-heading h2{font-size:26px;font-weight:500;line-height:1.3;letter-spacing:-.7px}.collection-shelf header p{font-size:13px;line-height:1.6;color:#97a5b5;margin-top:6px}.shelf-navigation{display:flex;align-items:center;gap:10px}.shelf-navigation>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;margin-right:12px;color:#c4d0dc}.shelf-arrow{width:44px;height:44px;min-width:44px;border-radius:50%;background:#242c37;border:1px solid #ffffff18;color:#e1e8ef;font-size:20px}.shelf-arrow:disabled{opacity:.3;cursor:default}.collection-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:2px;padding:2px 2px 18px;scrollbar-width:thin;scrollbar-color:#67778355 transparent;touch-action:pan-x pan-y}.collection-track>a{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;min-width:0;display:block}.shelf-product>div{position:relative;aspect-ratio:1.16;border-radius:22px;background:#202631;overflow:hidden;margin-bottom:18px}.shelf-product img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.shelf-product:hover img{transform:scale(1.035)}.shelf-index{position:absolute;z-index:1;top:14px;left:16px;color:#ffffffa0;font-size:11px}.shelf-product>b,.shelf-owned-card>b,.shelf-finish>b{font-size:18px;line-height:1.4;font-weight:500;display:block}.shelf-product>p,.shelf-owned-card>span,.shelf-finish>span{font-size:12px;line-height:1.6;color:#9fadc0;margin-top:5px;display:block}.shelf-card-action{display:block;margin-top:16px;color:#a0ded4;font-size:12px}.collection-track>.shelf-finish{flex-basis:calc((100% - 72px)/5)}.shelf-finish-art{position:relative;height:190px;border-radius:18px;border:1px solid color-mix(in srgb,var(--shelf-finish),transparent 70%);background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--shelf-finish),transparent 78%),#1b2029 80%);display:grid;place-items:center;margin-bottom:16px;overflow:hidden}.shelf-finish-art img{width:120px;height:165px;object-fit:contain;transform:rotate(-8deg);filter:drop-shadow(0 15px 12px #0009)}.shelf-finish>b{font-size:15px}.shelf-finish>span{font-size:11px}.collection-track>.shelf-owned-card{flex-basis:calc((100% - 54px)/4)}.shelf-owned-card>div{height:240px;padding:20px;border:1px solid #ffffff12;border-radius:18px;background:linear-gradient(135deg,#242c38,#191e27);display:grid;place-items:center;margin-bottom:16px}.shelf-owned-card img{height:100%;max-height:200px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 8px #0006)}.shelf-owned-card>b{font-size:14px}.collection-entry-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:60px 0 30px}.collection-entry-links>a{padding:30px 24px;display:grid;gap:16px;border-right:1px solid var(--line)}.collection-entry-links>a:last-child{border-right:0}.collection-entry-links span{color:#8e9cac;font-size:11px}.collection-entry-links b{font-size:22px;font-weight:500}.collection-entry-links small{font-size:13px;color:#a4b3c2}
.collection-home-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.collection-home-heading .label{font-size:10px;letter-spacing:2px;color:#8da99f}.collection-home-heading h1{font-size:32px;line-height:1.3;font-weight:500;margin-top:4px;letter-spacing:-.8px}.collection-launch{display:grid;grid-template-columns:1fr 300px 180px;align-items:center;gap:24px;min-height:350px;background:linear-gradient(110deg,#202934,#191e28 60%,#282438);border:1px solid #ffffff14;border-radius:28px;padding:26px 30px;overflow:hidden}.collection-launch-copy .label{font-size:10px;letter-spacing:1.5px;color:#a6bcc5}.collection-launch h2{font-size:40px;font-weight:500;line-height:1.15;letter-spacing:-1.4px;margin:20px 0 24px}.collection-launch-actions{display:flex;gap:10px;flex-wrap:wrap}.collection-launch-actions .btn{min-height:46px;font-size:13px}.collection-launch-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:#a7c0d0;margin-top:12px}.collection-launch-object{min-width:0;display:grid;justify-items:center;align-items:center;align-self:stretch}.collection-launch-object>.holo{height:270px;width:220px;max-width:100%;background:transparent}.collection-launch-object img{width:100%;max-height:270px;object-fit:contain;border-radius:18px}.collection-launch-object>span{font-size:11px;line-height:1.5;color:#a5b4c3;text-align:center;max-width:25ch;margin-top:8px}.collection-launch-rail{display:grid;border-left:1px solid #ffffff15;padding-left:24px;gap:0}.collection-launch-rail>a{padding:22px 0;border-bottom:1px solid #ffffff12}.collection-launch-rail>a:last-child{border:0}.collection-launch-rail b{font-size:15px;font-weight:500;display:block}.collection-launch-rail span{font-size:11px;line-height:1.6;color:#9badc0;display:block;margin-top:7px}.collection-community-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid var(--line);padding-top:36px;margin:48px 0 24px}.collection-community-heading .label{color:#a99ccc;font-size:10px;letter-spacing:2px;display:block;margin-bottom:10px}.collection-membership-note{display:grid;gap:16px;border:1px solid #ffffff14;border-radius:18px;padding:24px;background:#211f2d}.collection-membership-note>b{font-size:28px;line-height:1.25;font-weight:500;letter-spacing:-.8px}.collection-membership-note>span:last-child{font-size:12px;color:#b8adc9;line-height:1.6}.collector-home .post,.collector-home .composer{background:#1b222c;border-color:#ffffff12;box-shadow:none}.collector-home .post{border-radius:18px}.collector-home .post-media{background:#111821}.collector-home .feed-layout{gap:28px}.collector-home .feed-switch{background:transparent}.collector-home .feed-aside{gap:20px}
@media(max-width:1150px){.collection-launch{grid-template-columns:1fr 260px}.collection-launch-rail{grid-column:1/-1;border-left:0;border-top:1px solid #ffffff15;padding:0;display:flex;gap:20px;justify-content:space-between}.collection-launch-rail>a{border:0;padding:18px 0 0;flex:1}.collection-entry h1{font-size:52px}.collection-entry-copy{padding-left:0}.collection-entry-object .holo-product-canvas{height:400px}.collection-entry-object [data-holo-product-viewer]{min-height:440px}.collection-track>.shelf-finish{flex-basis:calc((100% - 54px)/4)}}
@media(max-width:700px){.collection-entry-hero{grid-template-columns:1fr;gap:0;min-height:0;margin-bottom:30px}.collection-entry-copy{padding:12px 4px 0}.collection-entry h1{font-size:48px;letter-spacing:-2px;margin:18px 0}.collection-entry-copy>p{font-size:15px;line-height:1.65}.collection-entry-actions{margin:24px 0 6px;gap:24px}.collection-entry-object{padding:14px 0 12px;grid-row:2}.collection-object-edition{margin:0 6px;font-size:10px}.collection-entry-object [data-holo-product-viewer]{min-height:330px}.collection-entry-object .holo-product-canvas{height:300px}.collection-entry-object .editorial-object-caption{padding:0 6px}.collection-object-fallback{height:300px}.collection-object-footnote{font-size:11px;margin-top:12px}.collection-entry-bottom{padding:12px 4px;letter-spacing:1px;font-size:10px;gap:12px}.collection-entry-bottom a{font-size:11px}.collection-shelf{margin:28px 0 36px}.collection-shelf>header{align-items:flex-start;gap:12px;margin-bottom:18px}.collection-shelf h2,.collection-community-heading h2{font-size:22px}.collection-shelf header p{font-size:12px;max-width:24ch}.shelf-navigation{gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:122px}.shelf-navigation>a{margin:0;flex:0 0 100%;justify-content:flex-end;min-height:30px;font-size:11px}.shelf-arrow{width:44px;height:44px}.collection-track{gap:14px}.collection-track>a{flex-basis:78%}.collection-track>.shelf-finish{flex-basis:46%}.collection-track>.shelf-owned-card{flex-basis:62%}.shelf-finish-art{height:175px}.shelf-finish-art img{height:150px}.collection-entry-links{grid-template-columns:1fr;margin:32px 0}.collection-entry-links>a{grid-template-columns:24px 1fr;padding:24px 6px;border-right:0;border-bottom:1px solid var(--line);gap:8px 15px}.collection-entry-links small{grid-column:2}.collection-entry-links b{font-size:20px}.collection-home-heading{margin-bottom:20px}.collection-home-heading h1{font-size:28px}.collection-home-heading>.btn{font-size:12px;padding:10px 12px}.collection-launch{grid-template-columns:1fr 140px;padding:22px 18px;border-radius:22px;gap:16px 4px;min-height:0}.collection-launch h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:16px 0}.collection-launch-copy .label{font-size:10px;line-height:1.6;letter-spacing:.8px}.collection-launch-actions{gap:8px}.collection-launch-actions .btn{font-size:12px;padding:10px 12px}.collection-launch-object>.holo{width:140px;height:220px}.collection-launch-object img{max-height:220px}.collection-launch-object>span{font-size:10px}.collection-launch-link{font-size:11px;line-height:1.6}.collection-launch-rail{gap:14px}.collection-launch-rail b{font-size:13px}.collection-launch-rail span{font-size:10px;line-height:1.6}.collection-community-heading{align-items:start;flex-direction:column;padding-top:28px;margin-top:36px}.collection-community-heading>.btn{font-size:12px}.collection-membership-note{padding:20px}}
@media(prefers-reduced-motion:reduce){.collection-track{scroll-behavior:auto}.shelf-product img{transition:none}.shelf-product:hover img{transform:none}}
.collection-launch-object>.holo{position:relative;overflow:hidden;isolation:isolate}.collection-launch-object>.holo.holo-3d-live>img,.collection-launch-object>.holo.holo-3d-live>.card-placeholder{visibility:hidden}.collection-launch-object .holo-card-canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
@media(min-width:1100px){.atelier-app.is-public{padding-left:0}.atelier-app.is-public>.header{margin-left:0;width:100%;justify-content:space-between;padding-inline:44px;gap:30px}.atelier-app.is-public>.header>.brand{position:static;transform:none;margin-right:auto}.atelier-app.is-public>.header>.nav{display:flex;gap:5px;margin-inline:auto}.atelier-app.is-public>.header>.nav a{font-size:13px}.collection-entry-hero{min-height:0}.collection-entry-object .holo-product-canvas{height:clamp(360px,52svh,490px)}.collection-entry-object [data-holo-product-viewer]{min-height:0}}

.shelf-position{font-size:11px;font-variant-numeric:tabular-nums;color:#9aacc0;min-width:36px;text-align:center}.shelf-navigation{max-width:none}@media(max-width:700px){.shelf-navigation{max-width:146px}.shelf-position{order:2;min-width:28px}.shelf-navigation [data-shelf-step="-1"]{order:1}.shelf-navigation [data-shelf-step="1"]{order:3}}

/* Public pages have no fixed bottom tabs to reserve space for. */
.atelier-app.is-public>.main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.collection-app-download{display:grid;gap:5px;width:fit-content;max-width:100%;padding:13px 18px;margin:18px 0 10px;border:1px solid #ffffff32;border-radius:12px;background:#1e2630}.collection-app-download>span{font-size:14px;font-weight:600}.collection-app-download>small{font-size:11px;color:#a9b9c9}

.auth-case.auth-logo{margin:20px 0;min-height:280px}.auth-case.auth-logo img{width:min(72%,260px);height:auto;object-fit:contain;mix-blend-mode:normal}
/* Conversations keep the inbox and composer anchored within one usable surface. */
.dm-layout{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);min-height:580px;height:calc(100dvh - 200px);max-height:940px;gap:0;border:1px solid #ffffff1d;border-radius:22px;overflow:hidden;background:#171e25}.dm-inbox{min-width:0;overflow-y:auto;background:#1b232c;border-right:1px solid #ffffff17}.dm-inbox-tools{padding:20px 16px 14px;position:sticky;top:0;z-index:1;background:#1b232c}.dm-search{display:flex;align-items:center;gap:10px;border:1px solid #ffffff1a;background:#121920;border-radius:12px;padding:0 12px;min-height:46px}.dm-search input{min-width:0;width:100%;background:transparent;border:0;color:var(--text);font:inherit;font-size:13px;outline:none;min-height:44px}.dm-filters{display:flex;gap:8px;margin-top:14px}.dm-filters button{min-height:40px;padding:8px 16px;border-radius:24px;color:#b1c0cd;background:#29333e;font-size:12px}.dm-filters button[aria-pressed=true]{background:#356358;color:#c6f4e9}.dm-thread{border:0;border-bottom:1px solid #ffffff0a;padding:18px 16px;width:100%;gap:12px;text-align:left;background:transparent}.dm-thread:hover{background:#ffffff05}.dm-thread[aria-current=true]{background:#29413f}.dm-thread>.avatar{width:46px;height:46px;flex-shrink:0}.dm-thread .grow{min-width:0}.dm-thread-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.dm-thread-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.dm-thread-title small{font-size:10px;white-space:nowrap;color:#8faaa5}.dm-thread-preview{display:block;font-size:12px;color:#9daeba;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:7px}.dm-card{display:flex;gap:10px;align-items:center;margin:0 0 8px;padding:8px;border-radius:12px;background:#ffffff0c;border:1px solid #ffffff14;color:inherit;text-decoration:none;max-width:320px}.dm-card-art{width:44px;height:60px;border-radius:6px;background:#0f1721;overflow:hidden;flex-shrink:0}.dm-card-art img{width:100%;height:100%;object-fit:cover}.dm-card-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.dm-card-copy b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-card-copy small{font-size:11px;color:#9daeba}.dm-share-card{border:0;width:100%;text-align:left;gap:12px;padding:10px 4px;background:transparent;border-bottom:1px solid #ffffff0a}.dm-share-card .grow{display:flex;flex-direction:column;gap:3px;min-width:0}.dm-quote{margin:0 0 8px;padding:6px 10px;border-left:3px solid #7CF2D4;background:#ffffff0a;border-radius:6px;font-size:12px;color:#c9d6e2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-quote small{display:block;font-size:10px;color:#8faaa5;margin-bottom:2px}.dm-new-divider{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#7CF2D4}.dm-new-divider::before,.dm-new-divider::after{content:'';flex:1;height:1px;background:#7CF2D433}.dm-compose-mode{display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:10px;border-radius:12px;background:#1b2632;font-size:12px}.dm-compose-mode span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-compose-mode small{color:#9daeba}.dm-mute.is-muted{color:#F2D184}.dm-muted-mark{background:#4a3f22;color:#F2D184}.dm-pinned{display:inline-block;margin-right:8px;padding:2px 7px;border-radius:10px;background:#356358;color:#c6f4e9;font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:700}.dm-pin.is-pinned{color:var(--accent)}.dm-pin[disabled]{opacity:.45;cursor:not-allowed}.dm-unread{display:grid;place-items:center;background:#90e1d2;color:#112a29;min-width:22px;height:22px;padding:0 5px;border-radius:20px;font-size:10px}.dm-empty-list{font-size:13px;color:#adbbc9;line-height:1.7;padding:24px 18px}.dm-conversation{min-width:0;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 80% 20%,#35364a22,transparent 70%),#151c23}.dm-conversation-header{display:flex;align-items:center;gap:12px;padding:16px 22px;background:#1d2832;border-bottom:1px solid #ffffff12;flex-shrink:0}.dm-conversation-header>div{flex:1}.dm-conversation-header b{font-size:15px}.dm-conversation-header small{display:block;margin-top:5px;font-size:11px;color:#9caeba}.dm-transcript{display:flex;flex-direction:column;gap:10px;overflow:auto;flex:1;min-height:0;padding:24px;scrollbar-width:thin}.dm-transcript .bubble{align-self:flex-start;max-width:min(85%,520px);background:#263440;border-radius:4px 16px 16px;padding:12px 15px;border:1px solid #ffffff09;box-shadow:none;margin:0}.dm-transcript .bubble.me{align-self:flex-end;background:#244c43;border-radius:16px 4px 16px 16px}.dm-body{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.dm-time{display:block;text-align:right;font-size:10px;color:#b2c3c3;margin-top:7px}.dm-compose{padding:16px 20px 12px;border-top:1px solid #ffffff13;background:#1b252f;flex-shrink:0}.dm-compose form{display:flex;align-items:flex-end;gap:10px}.dm-compose textarea{background:#111b23;border-color:#ffffff1c;resize:vertical;min-height:46px;max-height:150px;font-size:14px;line-height:1.6}.dm-compose .btn{min-height:46px;font-size:13px}.dm-attach{position:relative;flex-shrink:0;overflow:hidden;cursor:pointer}.dm-attach input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.dm-attach:focus-within{outline:2px solid var(--accent)}.dm-safety-note{display:block;font-size:10px;line-height:1.5;color:#9babb8;margin:4px 0 0 54px}.dm-compose .chat-keyboard-hint{display:block;margin:8px 0 0 54px;font-size:10px}.dm-photo{display:block;padding:0;max-width:100%;border-radius:9px;overflow:hidden;margin:0 0 10px;cursor:zoom-in}.dm-photo img,.dm-pending-photo{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:9px}.dm-attachment{display:flex;align-items:center;gap:12px;padding-bottom:14px;font-size:12px}.dm-attachment img{width:70px;height:70px;border-radius:9px;object-fit:cover}.dm-attachment small{font-size:11px;color:#a7b6c3;display:inline-block;margin-top:6px}.dm-attachment .icon-btn{margin-left:auto}.dm-image-viewer{display:grid;gap:18px}.dm-image-viewer>img{width:100%;height:75dvh;object-fit:contain}.dm-send-error{font-size:11px;line-height:1.6;color:#ffd2c7;margin:8px 0}.dm-welcome{height:100%;justify-content:center}.dm-welcome>svg{color:#87b8aa;margin-bottom:12px}.dm-conversation-start{font-size:13px;line-height:1.8;color:#9aaeba;text-align:center;margin:auto;padding:40px}.dm-page .page-head h1{margin-top:4px}.dm-page .page-head .label{font-size:10px;color:#8fabab;letter-spacing:1.5px}
@media(max-width:820px){.dm-layout{display:block;min-height:500px;height:calc(100dvh - 240px);border-radius:18px}.dm-layout .dm-inbox,.dm-layout .dm-conversation{height:100%}.dm-layout .dm-conversation{display:none}.dm-layout.has-thread .dm-inbox{display:none}.dm-layout.has-thread .dm-conversation{display:flex}.dm-conversation-header{padding:14px 12px;gap:10px}.dm-transcript{padding:16px 12px}.dm-transcript .bubble{max-width:90%;padding:10px 12px}.dm-compose{padding:12px 10px}.dm-compose form{gap:7px}.dm-compose .btn{padding:10px 12px}.dm-compose .chat-keyboard-hint,.dm-safety-note{margin-left:0}.dm-page .page-head{gap:14px;align-items:start}.dm-page .page-head>.row{gap:5px}.dm-page .page-head .btn{font-size:11px;padding:8px}.dm-photo img{max-height:240px}}

.dm-layout{min-height:360px}.dm-photo img{height:260px;width:260px;max-width:100%;object-fit:contain}.dm-transcript .dm-body{margin:0}.dm-page .page-head{margin-bottom:0}@media(max-width:820px){.dm-photo img{width:230px;height:230px}.dm-layout{min-height:360px}}

/* Sidebar surfaces own their spacing; do not inherit the feed's edge-to-edge media skin. */
.collector-home .feed-aside>.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0}
.collector-home .feed-aside h3{line-height:1.45;margin:0}
.collector-home .feed-aside .person{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0}
.collector-home .feed-aside .person-link{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px}
.collector-home .feed-aside .person-link>.avatar{flex:none;width:36px;height:36px}
.collector-home .feed-aside .who{display:flex;flex-direction:column;gap:3px;min-width:0}
.collector-home .feed-aside .who b,.collector-home .feed-aside .who small{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.collector-home .feed-aside .person .btn{min-height:44px;padding:9px 12px}
.collector-home .feed-aside .thread{padding:14px 0;gap:12px;min-width:0;background:transparent}
.collector-home .feed-aside .thread .grow{min-width:0;overflow-wrap:anywhere;line-height:1.55}
.collector-home .feed-aside .thread svg{flex:none}
@media(max-width:760px){.collector-home .feed-aside{grid-template-columns:minmax(0,1fr)}.collector-home .feed-aside>.card{padding:18px}}

[data-card-details] fieldset{min-width:0;border:0;border-top:1px solid var(--line);padding:18px 0 0;margin:6px 0}
[data-card-details] legend{padding-right:12px;font-size:14px;line-height:1.5;font-weight:600;color:var(--text)}
[data-card-details] .notice{padding:18px;border-radius:14px}
[data-card-details] p,[data-card-details] small{line-height:1.65;overflow-wrap:anywhere}

/* The iPhone download has one focused, responsive destination on both home views. */
.holotap-app-promo{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,70px);padding:clamp(28px,5vw,60px);margin:36px 0;border:1px solid #ffffff20;border-radius:28px;background:radial-gradient(ellipse at 12% 50%,#40776d28,transparent 60%),radial-gradient(ellipse at 95% 0,#77699c20,transparent 65%),#171e25;scroll-margin-top:100px;isolation:isolate}
.holotap-app-emblem{display:grid;place-items:center;min-width:0;aspect-ratio:1;max-width:250px;width:100%;justify-self:center;border-radius:28%;border:1px solid #ffffff16;background:linear-gradient(135deg,#263d3d80,#20232e);box-shadow:inset 0 1px 0 #ffffff14,0 24px 50px #00000025}
.holotap-app-emblem img{display:block;width:64%;height:auto;object-fit:contain;filter:drop-shadow(0 12px 18px #00000045)}
.holotap-app-copy{min-width:0}.holotap-app-copy>.label{font-size:10px;letter-spacing:2px;color:#a8d6c9}.holotap-app-copy h2{font-size:clamp(28px,3.5vw,46px);font-weight:600;letter-spacing:-1.4px;line-height:1.12;margin:14px 0 18px;color:#f4f6f7}.holotap-app-copy p{max-width:440px;font-size:15px;line-height:1.7;color:#b7c3cc;margin:0 0 24px}
.holotap-store-button{display:inline-flex;align-items:center;gap:12px;padding:11px 20px;border:1px solid #b3b3b3;border-radius:12px;background:#08090a;color:#fff;min-height:60px;text-decoration:none;transition:transform 160ms ease,border-color 160ms ease}.holotap-store-button svg{flex:none}.holotap-store-button span{display:grid;gap:2px;text-align:left}.holotap-store-button small{font-size:11px;line-height:1.2;letter-spacing:.15px;color:#fff}.holotap-store-button strong{font-size:var(--fs-subtitle);font-weight:500;line-height:1.1;letter-spacing:-.5px}.holotap-store-button:hover{transform:translateY(-2px);border-color:#fff}.holotap-store-button:active{transform:scale(.98)}.holotap-store-button:focus-visible{outline:3px solid #9adfc8;outline-offset:5px}.holotap-app-account{display:block;margin-top:17px;font-size:12px;line-height:1.6;color:#a6b5c1}
@media(max-width:600px){.holotap-app-promo{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 24px;border-radius:22px}.holotap-app-emblem{width:104px;border-radius:26px;justify-self:start}.holotap-app-copy h2{font-size:34px}.holotap-app-copy p{font-size:14px}.holotap-store-button{max-width:100%}}
@media(prefers-reduced-motion:reduce){.holotap-store-button{transition:none}.holotap-store-button:hover,.holotap-store-button:active{transform:none}}
.post-why{margin:0 0 4px;font-size:12px;color:var(--muted)}.post-why summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:2px 0;color:var(--muted)}.post-why summary::-webkit-details-marker{display:none}.post-why summary::before{content:'?';display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line);font-size:10px}.post-why[open] summary{color:var(--text)}.post-why p{margin:6px 0 0;line-height:1.55}.post-hidden{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:1px dashed var(--line);border-radius:16px;color:var(--muted);font-size:13px}.post-hidden .btn{flex-shrink:0}.post-menu .stack .btn{justify-content:flex-start;gap:10px}
.feed-topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.feed-topics .btn.pill small{font-size:11px;opacity:.7;margin-left:4px}.feed-topics-note{flex-basis:100%;font-size:12px;color:var(--muted)}

/* Explore keeps its community content ahead of catalog and account tools. */
.collector-home .feed-home-heading{max-width:1120px;margin:0 auto 12px;gap:12px;flex-wrap:wrap}
.collector-home .feed-home-heading h1{margin:0;flex:1;min-width:0;font-size:28px}
.collector-home .feed-header-actions{display:flex;align-items:center;gap:8px}
.collector-home .feed-header-actions>.btn{min-height:44px;gap:8px;white-space:normal}
.collector-home .feed-messages{position:relative;min-width:44px;min-height:44px;flex:none}
.collector-home .feed-message-count{position:absolute;right:0;top:0;min-width:17px;min-height:17px;display:grid;place-items:center;padding:1px 4px;border-radius:12px;background:var(--accent);color:var(--ink);font-size:10px;font-weight:700}
.collector-home .feed-topic-picker{border-bottom:1px solid var(--line);min-width:0}
.collector-home .feed-topic-picker>summary{display:flex;align-items:center;gap:8px;list-style:none;min-height:44px;cursor:pointer;font-size:13px;color:var(--text)}
.collector-home .feed-topic-picker>summary::-webkit-details-marker{display:none}
.collector-home .feed-topic-picker>summary>span{color:var(--muted);margin-left:auto}
.collector-home .feed-topic-picker>summary>svg{flex:none;transition:transform .16s ease}
.collector-home .feed-topic-picker[open]>summary>svg{transform:rotate(180deg)}
.collector-home .feed-topic-picker .feed-topics{padding:8px 0 16px;margin:0}
.collector-home .feed-vault-shortcut{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 0;border-bottom:1px solid var(--line)}
.collector-home .feed-vault-shortcut>span{flex:1;min-width:0;display:grid;gap:4px}
.collector-home .feed-vault-shortcut b{font-size:14px;line-height:1.5}
.collector-home .feed-vault-shortcut small{font-size:12px;color:var(--muted)}
.collector-home .feed-vault-shortcut>svg{flex:none}
@media(max-width:760px){.collector-home .feed-aside{grid-template-columns:minmax(0,1fr)}.collector-home .feed-home-heading h1{font-size:26px}.collector-home .feed-header-actions>.btn{font-size:12px;padding:9px 10px}.collector-home .feed-topic-picker>summary{font-size:13px}}
@media(prefers-reduced-motion:reduce){.collector-home .feed-topic-picker>summary>svg{transition:none}}
.lens-issues{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:12px;line-height:1.55}.lens-issues li b{margin-right:6px}
.lens-match{margin:0 0 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--raised);font-size:13px;line-height:1.55}.lens-match-exact{border-color:var(--accent)}.lens-match small{color:var(--muted)}
.support-catalog-reports{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.support-catalog-reports li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.support-catalog-reports li>span:first-child{display:flex;flex-direction:column;gap:4px;min-width:0}.support-catalog-reports small{color:var(--muted);font-size:12px}

.vault-private-tags{display:grid;gap:8px;margin-block:12px 18px;min-width:0}.vault-tag-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.vault-tag-chips .btn{min-height:44px;flex-shrink:0;white-space:nowrap}.vault-tag-chips .btn[aria-pressed="true"]{background:var(--accent);color:var(--bg);border-color:var(--accent)}

/* Home aurora: small composited layers; content stays still and readable. */
.home-welcome{position:relative;isolation:isolate;overflow:hidden;background:#11191d;border-radius:24px;padding:24px;margin:6px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.home-aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.home-aurora i{position:absolute;inset:-100px -30px auto;height:360px;border-radius:50%;background:radial-gradient(ellipse at 25% 20%,#287d7166,transparent 68%),radial-gradient(ellipse at 75% 50%,#3c529344,transparent 70%);animation:home-aurora-drift 24s ease-in-out infinite alternate}
.home-aurora i+i{inset:-110px -70px auto 25%;background:radial-gradient(ellipse at 60% 15%,#8555aa40,transparent 70%);animation-direction:alternate-reverse;animation-duration:29s}
.home-welcome .label{color:#b6d4ce;font-size:10px;letter-spacing:1.4px}.home-welcome h2{font-size:clamp(23px,3vw,30px);line-height:1.25;letter-spacing:-.6px;margin:6px 0}.home-welcome p{font-size:14px;color:#bed0cf;margin:0}.home-welcome-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.home-points-link{color:#f1f6f5;background:transparent;border-color:transparent}
@keyframes home-aurora-drift{from{transform:translate3d(-20px,-8px,0) rotate(-8deg)}to{transform:translate3d(24px,12px,0) rotate(8deg)}}
@media(max-width:620px){.home-welcome{padding:18px;display:block;margin-bottom:16px}.home-welcome-actions{margin-top:16px}.home-welcome-actions .btn{min-height:44px;font-size:13px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.home-aurora i{animation:none}}
html[data-motion="off"] .home-aurora i,.home-aurora.is-paused i{animation-play-state:paused}

html.v5 .collector-home .feed-switch{display:flex;gap:24px}.collector-home .feed-switch>button{min-height:44px;padding:10px 0;flex-shrink:0}

/* game-day-finish.css */
/* Game Day: one calm surface, confident information and room for the field. */
.game-day{--gd-line:rgba(216,236,235,.10);font-family:var(--font);--gd-glass:linear-gradient(135deg,rgba(224,249,247,.065),rgba(224,249,247,.018))}
.game-day .gd-heading h1{font-family:var(--font);font-size:clamp(32px,4vw,44px);font-weight:800;letter-spacing:-1.5px}
.game-day .gd-heading p{font-size:15px;color:#abbcbf}
.game-day .gd-heading-actions .btn{border-radius:999px;background:var(--gd-glass);padding-inline:18px}
.game-day .gd-hub-navigation{gap:30px;margin-bottom:24px}
.game-day .gd-hub-navigation button{font-size:15px;font-weight:750}
.game-day .gd-toolbar{gap:10px}
.game-day .gd-leagues{border:0;border-radius:0;background:none;box-shadow:none;gap:7px;padding:0}
.game-day .gd-leagues button{border:1px solid var(--gd-line);border-radius:999px;padding-inline:22px;font-size:13px;font-weight:750;background:var(--gd-glass)}
.game-day .gd-leagues [aria-pressed=true]{background:#c3eee2;color:#122b25;border-color:transparent;box-shadow:0 4px 16px #82d8c314}
.game-day .gd-day-navigation .icon-btn,.game-day .gd-toolbar>.icon-btn{border-radius:50%;background:var(--gd-glass)}
.game-day .gd-date-strip{gap:10px;padding-block:10px 16px}
.game-day .gd-date-strip button{border-radius:22px;background:transparent;border:1px solid transparent;min-height:68px;transition:background .18s,border-color .18s}
.game-day .gd-date-strip button[aria-pressed=true]{background:var(--gd-glass);border-color:#bce9df38;color:#c3eee2}
.game-day .gd-date-strip button b{font-size:24px;font-weight:800;letter-spacing:-.5px}
.game-day .gd-event{border-radius:26px;border:1px solid var(--gd-line);background:var(--gd-glass);padding:20px;box-shadow:inset 0 1px 0 #ffffff05;transition:background .18s,border-color .18s,transform .18s}
.game-day .gd-event:hover{background:linear-gradient(135deg,#b4e9df13,#c4d9ec06);border-color:#bde9df40;transform:translateY(-2px)}
.game-day .gd-event-team{gap:12px;margin-top:10px;font-size:15px;font-weight:700}
.game-day .gd-event-team b{font-size:24px;font-weight:800;letter-spacing:-.6px}
.game-day .gd-event-status b{font-size:11px}.game-day .gd-event-status small{font-size:12px}
.game-day .gd-team-mark{border-radius:50%;overflow:hidden;box-shadow:none}
.game-day .gd-room-open .gd-back{font-size:13px;font-weight:700;min-height:36px}
.game-day .gd-room-open .gd-sticky-room{margin:0 0 10px;padding:0;background:transparent;border:0;border-radius:28px;backdrop-filter:none}
.game-day .gd-scorebar{border-radius:26px;padding:14px 22px;min-height:94px;background:linear-gradient(110deg,#a0eadc0d,#c5dcff05);border:1px solid var(--gd-line);box-shadow:inset 0 1px 0 #ffffff08}
.game-day .gd-scorebar .gd-score-value{font-size:48px;font-weight:850;letter-spacing:-2px;line-height:1.1}
.game-day .gd-scorebar .gd-team-mark{width:44px;height:44px;border-radius:50%}
.game-day .gd-scorebar-team b{font-size:15px;font-weight:800}.game-day .gd-scorebar-team small{font-size:12px;line-height:1.5}
.game-day .gd-scorebar-mid b{font-size:11px;letter-spacing:.08em}.game-day .gd-scorebar-mid span{font-size:13px;font-weight:750}
.game-day .gd-room-open .gd-tabs{display:flex;justify-content:center;gap:8px;padding:10px 0 0;border:0;background:none;border-radius:0}
.game-day .gd-room-open .gd-tabs button{flex:0 1 150px;min-height:44px;border-radius:999px;background:transparent;font-size:14px;font-weight:750;transition:background .18s,color .18s;box-shadow:none}
.game-day .gd-room-open .gd-tabs [aria-selected=true]{background:#c3eee2;color:#122b25;box-shadow:none}
.game-day .gd-detail-tabs{display:flex;justify-content:center;gap:8px;padding:0 0 10px;border:0;background:transparent}
.game-day .gd-detail-tabs button{flex:0 1 100px;border-radius:999px;min-height:40px;font-size:13px;font-weight:750;background:transparent}
.game-day .gd-detail-tabs [aria-selected=true]{background:#dae8f00d;color:#eef5f5;box-shadow:inset 0 0 0 1px #dae8f022}
.game-day .gd-room-open .gd-community{border:0;background:transparent;box-shadow:none;border-radius:0}
.game-day .gd-room-open .gd-panel[data-gd-panel=field]{padding:0;background:none;border-radius:0}
.game-day .gd-field-overview{gap:12px}
.game-day .gd-field-overview .gd-live-room{border:0;border-radius:28px;min-height:150px;background:radial-gradient(ellipse at 50% 60%,#244c403a,transparent 72%),#10191c;box-shadow:inset 0 0 0 1px #d5ece70b}
.game-day .gd-field-overview .lf-compact{background:transparent;border:0;border-radius:28px;box-shadow:none;padding:0}
.game-day .lf-compact .lf-stage,.game-day .lf-compact.is-3d .lf-stage{height:auto;border-radius:28px;min-height:0}
.game-day .lf-compact .lf-head{padding:12px 16px 0}
.game-day .lf-compact .lf-toggle{top:12px;right:12px;border:1px solid #ffffff18;background:#172326;padding:3px}
.game-day .lf-compact .lf-toggle button{font-size:11px;padding-inline:12px}
.game-day .lf-compact .lf-adjust{right:12px;bottom:12px}
.game-day .lf-compact .lf-adjust summary{border-radius:999px;border:1px solid #ffffff18;background:#172326;font-weight:650}
.game-day .lf-chip{overflow:visible;border-color:#d6eaeac2;box-shadow:0 3px 10px #0006;outline-offset:4px}
.game-day .lf-chip:hover,.game-day .lf-chip:focus-visible{z-index:10;outline:2px solid #bcebdc}
.game-day .gd-latest-play{border:1px solid var(--gd-line);border-radius:24px;padding:18px;background:var(--gd-glass);box-shadow:none}
.game-day .gd-latest-play:before{display:none}
.game-day .gd-latest-play.is-negative{background:linear-gradient(135deg,#ff929b0e,transparent);border-color:#ff929b24}
.game-day .gd-latest-play.is-positive{background:linear-gradient(135deg,#71e9a614,transparent);border-color:#71e9a629}
.game-day .gd-latest-heading{font-size:12px;gap:8px}.game-day .gd-outcome{border-radius:50%;background:#ffffff08;width:28px;height:28px}
.game-day .gd-latest-description{font-size:15px;font-weight:650;line-height:1.55;letter-spacing:-.15px;margin-top:10px}
.game-day .gd-play-person{font-size:13px;font-weight:750}.game-day .gd-play-face{width:34px;height:34px;flex-basis:34px}
.game-day .gd-collection-entry{border:0;border-radius:999px;background:var(--gd-glass);font-size:13px;min-height:46px;padding:10px 16px;font-weight:650}
.game-day .gd-collection-entry b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#c3eee214;color:#c3eee2}
.game-day .gd-chat-log{border:0;background:transparent;box-shadow:none}
.game-day .gd-composer{border-radius:26px;background:var(--gd-glass);box-shadow:none;backdrop-filter:none}
.game-day .gd-composer textarea{border-radius:18px;font-size:16px;background:#ffffff04;border-color:#ffffff12}
.game-day .gd-play-feed .gd-play{border-radius:22px;border:1px solid var(--gd-line);padding:18px;background:var(--gd-glass)}
.game-day .gd-play-feed .gd-play p{font-size:15px;font-weight:550}
.game-day .gd-box-table td{font-size:14px}.game-day .gd-box-player b{font-weight:750}
.gd-player-tooltip{position:fixed;z-index:100;max-width:min(280px,calc(100vw - 24px));padding:12px 16px;border-radius:18px;border:1px solid #d8efeb35;background:#1a2929;box-shadow:0 12px 32px #0007;color:#eff8f5;font-size:14px;font-weight:750;line-height:1.5;pointer-events:none;white-space:normal;text-align:center}
.gd-player-tooltip small{display:block;font-size:11px;font-weight:550;color:#b3c9c2;margin-top:2px}
@media(min-width:1000px) and (min-height:600px){
 .game-day .gd-field-overview{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:minmax(0,1fr) auto;gap:14px}
 .game-day .gd-field-overview .gd-live-room{grid-column:1;grid-row:1/3}
 .game-day .gd-latest-play{grid-column:2;grid-row:1;align-self:start;min-height:0}
 .game-day .gd-latest-description{display:block;overflow:visible;font-size:16px}
 .game-day .gd-collection-entry{grid-column:2;grid-row:2;border-radius:22px}
 .game-day .gd-play-people{margin-block:16px 8px}
}
@media(max-width:600px){
 .game-day .gd-heading h1{font-size:34px}.game-day .gd-event{padding:16px;border-radius:22px}
 .game-day .gd-scorebar{padding:12px;min-height:78px;border-radius:24px}
 .game-day .gd-scorebar .gd-score-value{font-size:34px;letter-spacing:-1px}
 .game-day .gd-scorebar .gd-team-mark{width:32px;height:32px}.game-day .gd-scorebar-team b{font-size:12px}
 .game-day .gd-scorebar-mid span{font-size:11px}.game-day .gd-scorebar-mid b{font-size:10px}
 .game-day .gd-room-open .gd-tabs{padding-top:8px}.game-day .gd-detail-tabs{padding-bottom:6px;gap:4px}
 .game-day .gd-room-open .gd-sticky-room{margin-bottom:6px}.game-day .gd-field-overview{gap:8px}
 .game-day .gd-latest-play{padding:12px 14px;border-radius:20px}.game-day .gd-latest-description{font-size:13px;margin-top:5px}
 .game-day .gd-collection-entry{min-height:44px;padding:6px 12px}
}
@media(max-height:700px) and (max-width:999px){
 .game-day .gd-scorebar{min-height:64px;padding-block:8px}.game-day .gd-scorebar .gd-score-value{font-size:32px}
 .game-day .gd-latest-play{padding:10px 14px}.game-day .gd-latest-play .gd-play-people{display:none}
}
@media(prefers-reduced-motion:reduce){.game-day .gd-event,.game-day .gd-tabs button,.game-day .gd-date-strip button{transition:none;transform:none}}

/* Never crossfade the flat ground through the 3D field. */
.game-day .lf.is-3d .lf-ground{visibility:hidden;transition:none}
.game-day .lf-canvas{transition:opacity .18s ease}
@media(prefers-reduced-motion:reduce){.game-day .lf-canvas{transition:none}}

/* One readable play; player portraits support it without repeating every name. */
.game-day .gd-latest-play{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:0}
.game-day .gd-latest-heading{display:flex;align-items:center;gap:10px;font-weight:750}
.game-day .gd-latest-play>.gd-latest-clock{display:block;margin:7px 0 0 38px;font-size:12px;font-weight:500;color:var(--muted);line-height:1.5}
.game-day .gd-latest-play>.gd-latest-clock:empty{display:none}
.game-day .gd-latest-description{margin:18px 0 0;line-height:1.6;font-weight:650;overflow-wrap:break-word}
.game-day .gd-latest-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--gd-line)}
.game-day .gd-latest-footer .gd-play-people{margin:0;gap:0;flex-wrap:nowrap}
.game-day .gd-latest-footer .gd-play-person+.gd-play-person{margin-left:-7px}
.game-day .gd-latest-footer .gd-play-face{border:2px solid #192225;width:32px;height:32px;flex-basis:32px}
.game-day .gd-play-person.is-portrait-only>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.game-day .gd-latest-more{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#c3eee2;white-space:nowrap;margin-left:auto}
@media(max-width:999px){.game-day .gd-latest-play{position:relative}.game-day .gd-latest-play>.gd-latest-clock{position:absolute;right:16px;top:15px;margin:0}.game-day .gd-latest-description{margin-top:8px}.game-day .gd-latest-footer{margin-top:10px;padding-top:10px}}
@media(max-height:700px) and (max-width:999px){.game-day .gd-latest-footer{display:none}}

/* Room activity stays visible without competing with the scoreboard. */
.gd-presence-note{margin-left:auto;font-size:11px;font-weight:400;opacity:.68}
.gd-connection{width:100%;min-height:26px;gap:7px}
.gd-connection.connected i{box-shadow:0 0 9px #84eccb55}

/* While a game is on, three pools of light drift behind the score (still under Reduce Motion). */
.game-day .gd-scorebar.is-live{position:relative;overflow:hidden}
.game-day .gd-scorebar.is-live>*{position:relative;z-index:1}
.game-day .gd-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit}
.game-day .gd-aurora i{position:absolute;inset:-60px -20px auto;height:220px;border-radius:50%;filter:blur(28px);background:radial-gradient(ellipse at 25% 30%,#6fe3d245,transparent 62%),radial-gradient(ellipse at 80% 60%,#7a5cff33,transparent 66%);animation:home-aurora-drift 22s ease-in-out infinite alternate}
.game-day .gd-aurora i+i{inset:-70px auto auto 30%;width:70%;background:radial-gradient(ellipse at 60% 20%,#62b6ff30,transparent 68%);animation-direction:alternate-reverse;animation-duration:27s}
@media(prefers-reduced-motion:reduce){.game-day .gd-aurora i{animation:none}}
html[data-motion="off"] .game-day .gd-aurora i{animation-play-state:paused}
/* Segmented controls: an inset track with a raised pill on the chosen segment, the iOS shape. */
.game-day .gd-room-views{padding:4px;gap:2px;border-radius:14px;background:rgba(255,255,255,.06)}
.game-day .gd-room-views button{min-height:34px;border:0;border-radius:10px;background:transparent;transition:background-color .18s ease,color .18s ease}
.game-day .gd-room-views button[aria-selected=true]{background:var(--raised-2,#1b2230);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.35)}
.game-day .gd-tabs button[aria-selected=true],.game-day .gd-tabs button.on{background:var(--raised-2,#1b2230);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.35)}

.gd-room-navigation-wrap{position:relative}.gd-share{position:absolute;right:0;top:-2px;display:inline-flex;align-items:center;gap:6px}
@media(max-width:600px){.gd-share{position:static;margin:0 0 6px auto}}

/* experience-restart.css */
/* HoloTap Courtside. Shared roles with the native app; no animated page reloads. */
:root{--font:'Holo Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:var(--font);--ease:cubic-bezier(.2,.8,.2,1);--radius:22px}
html{color-scheme:dark}body{font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased}
h1,h2,h3,.title{font-family:var(--font);text-wrap:balance}h1{font-weight:800;letter-spacing:-.055em}h2{letter-spacing:-.035em}p,small{line-height:1.6}
.page{min-width:0}.page-head h1{font-size:clamp(32px,3.5vw,48px);line-height:1.1}.label{font-size:10px;letter-spacing:.15em;font-weight:750}.btn{border-radius:999px;font-weight:650;min-height:44px}.btn.primary{background:var(--accent);box-shadow:none;font-weight:750}.icon-btn{border-radius:50%;flex-shrink:0}.input,input,textarea,select{font-family:var(--font)}
:where(button,.btn,.tile-link,.atelier-sidebar a,.tabs a){transition:background-color 160ms var(--ease),border-color 160ms var(--ease),color 160ms var(--ease),transform 160ms var(--ease)}
:where(button,.btn,.tile-link):active:not(:disabled){transform:scale(.985)}
.header{border-bottom:1px solid #ffffff0b;background:#080c12eb}.brand{letter-spacing:-1px;font-weight:800}.search-btn{border-radius:999px;background:#17202b;border:1px solid #ffffff0c}.search-btn kbd{border:0;background:#ffffff09}
.atelier-sidebar{background:var(--bg);border-color:#ffffff0b}
@media(min-width:1100px){
 .atelier-app.is-member{padding-left:96px}.atelier-app.is-member>.header{height:68px;margin-left:-96px;width:calc(100% + 96px);padding-inline:24px}.atelier-app.is-member>.header>.brand{left:24px;transform:none}.atelier-app.is-member>.main{padding-top:26px;padding-inline:clamp(24px,3vw,48px)}
 .atelier-sidebar{top:68px;bottom:0;width:96px;padding:20px 8px 16px;display:flex;flex-direction:column;gap:22px;overflow:visible;z-index:42}.rail-destinations,.rail-utilities{display:grid;gap:9px}.rail-utilities{margin-top:auto}.atelier-sidebar nav>a,.atelier-sidebar .rail-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:66px;padding:10px 2px;border-radius:20px;font-size:10px;font-weight:650;color:var(--muted);position:relative;line-height:1.25;text-align:center;cursor:pointer}.atelier-app .atelier-sidebar a[aria-current=page]{color:var(--text);background:#a5f5ce0d;box-shadow:none}.atelier-sidebar a[aria-current=page]:after{content:'';position:absolute;bottom:3px;width:17px;height:3px;border-radius:9px;background:#a9ffd2}.atelier-app .atelier-sidebar a.atelier-scan:not([aria-current=page]),.atelier-app .atelier-sidebar a.atelier-scan{background:linear-gradient(135deg,#c4ffe1,#69d7b4);color:#0a3529;border:1px solid #bdffe244;box-shadow:0 5px 20px #49c99c18;margin:4px 8px;min-height:64px}.atelier-sidebar .atelier-scan span{font-size:10px;font-weight:800}.atelier-sidebar svg{flex-shrink:0}.rail-more{position:relative}.rail-more>summary{list-style:none}.rail-more>summary::-webkit-details-marker{display:none}.rail-more[open]>summary{background:var(--surface);color:var(--text)}.rail-menu{position:absolute;left:calc(100% + 14px);bottom:0;width:240px;padding:10px;background:#18232e;border:1px solid #ffffff1a;border-radius:22px;box-shadow:0 20px 60px #0008;display:grid;gap:2px}.rail-menu>a{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;padding:12px 14px;min-height:46px;border-radius:13px}.rail-menu>a:hover{background:#ffffff0a}
 .atelier-app.is-public{padding-left:0}.atelier-app.is-public>.header{margin-left:0;width:100%}.atelier-app.is-public>.header>.brand{position:static;transform:none;margin-right:auto}.atelier-app.is-public>.header>.nav{display:flex}
}
@media(max-width:1099px){
 .atelier-app.is-member>.tabs.holo-command-dock{left:0;right:0;bottom:0;width:100%;border-radius:0;border:0;background:linear-gradient(180deg,#0c131aee,#080c12fa);backdrop-filter:blur(24px) saturate(1.3);box-shadow:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:12px 10px calc(10px + env(safe-area-inset-bottom));overflow:visible}.holo-command-dock:before{content:'';position:absolute;left:22px;right:22px;top:0;height:1px;background:#b5dac724}.atelier-app.is-member>.tabs.holo-command-dock a{min-height:64px;border-radius:0;gap:6px;padding:4px 0;justify-content:start;background:transparent;color:var(--muted)}.atelier-app.is-member>.tabs.holo-command-dock a[aria-current=page]{background:transparent;color:var(--text)}.atelier-app.is-member>.tabs.holo-command-dock a span{font-size:11px;line-height:16px;font-weight:650}.holo-command-dock .dock-glyph{width:46px;height:32px;display:flex;align-items:center;justify-content:center;position:relative;font-style:normal}.atelier-app.is-member>.tabs.holo-command-dock a.lens{margin:0;transform:none}.atelier-app.is-member>.tabs.holo-command-dock a.lens .dock-glyph{width:56px;height:52px;margin-top:-15px;margin-bottom:-5px;border-radius:19px;transform:none;color:#09392e;background:linear-gradient(130deg,#c9ffe1,#72edbe 55%,#56baa2);border:1px solid #c8ffe3;box-shadow:inset 0 2px 1px #f0fff799,0 5px 18px #70eabc24}.holo-command-dock .dock-selection{position:absolute;bottom:calc(6px + env(safe-area-inset-bottom));left:calc(10px + (100% - 20px)/5*var(--active-slot) + ((100% - 20px)/5 - 22px)/2);width:22px;height:3px;border-radius:3px;background:#acfcd4;transition:left 220ms cubic-bezier(.2,.8,.2,1)}.holo-command-dock:has(a.lens[aria-current]) .dock-selection{opacity:0}.main{padding-bottom:calc(112px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){.holo-command-dock .dock-selection{transition:none}}
/* Compact marketplace: one search, photo first, useful detail at a glance. */
.photo-market-heading{align-items:center;margin-bottom:20px}.photo-market-heading h1{font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-2px}.photo-market-links{display:flex;align-items:center;gap:22px;border-block:0;padding:0 0 22px;margin:0;flex-wrap:wrap}.photo-market-links a{font-size:13px;font-weight:650;min-height:32px}.photo-market-links>span{flex:1}.photo-market-links [data-smart-search]{padding:0;font-size:12px;color:var(--muted);min-height:32px}.photo-market-controls{gap:10px}.photo-market-controls .market-search{border-radius:18px;background:var(--surface);border:1px solid var(--line);min-height:54px}.photo-market-controls .market-search input{background:transparent;font-size:16px}.photo-refine,.photo-sort .input{border-radius:18px;min-height:54px;background:var(--surface)}.photo-market-browse{margin-top:8px;margin-bottom:20px;min-height:46px}.photo-market .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}.photo-market .market-photo-tile{border:0;background:none;box-shadow:none;overflow:visible}.photo-market .market-photo-tile .art{aspect-ratio:1/1.22;border:1px solid #ffffff0b;background:var(--surface);border-radius:22px;overflow:hidden}.photo-market .market-photo-tile .art>img{padding:14px;object-fit:contain}.photo-market .market-photo-tile .body{padding:14px 2px 4px}.photo-market .photo-price b{font-size:18px;font-weight:800;letter-spacing:-.5px}.photo-market .market-photo-tile .name{font-size:14px;font-weight:650;line-height:1.5;margin-top:6px}.photo-market .market-photo-tile .meta{font-size:12px;line-height:1.5;color:var(--muted)}.photo-market .photo-seller{padding:5px 2px;min-height:40px}.photo-market .photo-seller .avatar{width:23px;height:23px}.photo-market .photo-seller b{font-size:12px;font-weight:500}.photo-market .heart{top:10px;right:10px;border-radius:50%;width:36px;height:36px;background:#111923e8;border:1px solid #ffffff1a}.market-member-entry{display:flex;align-items:center;gap:14px;margin:34px 0 0;padding:22px 24px;border-radius:24px;background:linear-gradient(110deg,#142b2a,#15202d);border:1px solid #7CF2D41c}.market-member-entry>span{flex:1;min-width:0}.market-member-entry b{font-size:16px}.market-member-entry small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
@media(min-width:1550px){.photo-market .grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.photo-market .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}.photo-market-links{gap:18px;padding-bottom:14px}.photo-market-links>span{display:none}}
@media(max-width:580px){.photo-market .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.photo-market-links{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.photo-market-links a{flex-shrink:0}.photo-market-heading h1{font-size:34px}.photo-market .market-photo-tile .art{border-radius:18px}.photo-market .market-photo-tile .art>img{padding:10px}.photo-market-controls{grid-template-columns:minmax(0,1fr) auto}.photo-sort{grid-column:1/-1}.photo-market .photo-price b{font-size:16px}.market-member-entry{display:grid;grid-template-columns:24px minmax(0,1fr);padding:18px;align-items:start;gap:12px}.market-member-entry b{display:block;font-size:16px;line-height:1.4}.market-member-entry small{font-size:13px;line-height:1.5}.market-member-entry .btn{grid-column:1/-1;justify-content:center;min-height:44px;font-size:14px;padding:10px 16px}}
/* Play is an invitation to a real room, not a control dashboard. */
.play-home{max-width:1200px}.play-home .page-head{margin-bottom:26px}.play-home .page-head h1{font-size:clamp(42px,5vw,66px);letter-spacing:-.065em}.play-home .page-head p{font-size:16px}.play-home-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:22px}.play-home-game{grid-row:span 2;padding:24px;border-radius:32px;background:var(--surface);gap:20px}.play-home-game h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1.4px;max-width:430px;margin:12px 0}.play-home-game-body{gap:24px}.play-home-game-body img{width:68px}.play-home-action{border-top:1px solid var(--line);padding-top:18px;font-size:16px}.play-home-action>svg{width:36px;height:36px;padding:9px;box-sizing:border-box;background:var(--accent);border-radius:50%;color:var(--accent-ink)}.play-home-points{border-radius:28px;background:var(--surface);padding:26px;gap:12px}.play-home-balance{font-size:48px;letter-spacing:-2px;font-weight:800}.play-home-destination{border-radius:24px;padding:22px;background:var(--surface);min-height:100px}.play-home-destination b{font-size:16px}.play-home-destination small{font-size:12px}.play-home-destination>svg:first-child{color:var(--accent)}.holo-arena-preview{position:relative;height:260px;border-radius:24px;overflow:hidden;border:1px solid #7CF2D424;background:linear-gradient(130deg,#1a3845,#12202f 60%,#0b121d)}.holo-arena-preview>svg{position:absolute;width:90%;height:85%;left:5%;top:8%;transform:perspective(700px) rotateX(24deg) rotateZ(-9deg);opacity:.65}.holo-arena-brand{position:absolute;left:22px;bottom:18px;font-size:10px;letter-spacing:2px;color:#8eb7b5;font-weight:750}.holo-arena-score{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:38px}.holo-arena-score>span{display:grid;text-align:center;gap:6px;max-width:38%}.holo-arena-score small{font-size:13px;font-weight:800;letter-spacing:.1em}.holo-arena-score b{font-size:60px;font-weight:800;line-height:1.15;letter-spacing:-3px}.holo-arena-score>i{font-style:normal;color:var(--muted)}
@media(max-width:760px){.play-home-grid{grid-template-columns:minmax(0,1fr)}.play-home-game{grid-row:auto;padding:18px;gap:18px;border-radius:28px}.holo-arena-preview{height:190px}.holo-arena-score b{font-size:44px}.play-home-game h2{font-size:28px}.play-home-points{padding:22px}.play-home .page-head h1{font-size:44px}.play-home .page-head{margin-bottom:22px}}
/* A fullscreen game has one navigation row and one dominant playing surface. */
.game-day .gd-heading h1{font-weight:800;font-size:44px;letter-spacing:-2px}.game-day .gd-heading p{font-size:15px}.game-day .gd-brand{display:none}.game-day .gd-hub-navigation{gap:28px}.game-day .gd-hub-navigation button{font-size:16px}.game-day .gd-date-strip button{border-radius:18px}.game-day .gd-event{border-radius:22px;background:var(--surface);border:1px solid #ffffff0a;box-shadow:none}.game-day .gd-event:hover{background:var(--raised);transform:none}.game-day .gd-event.selected{border-color:#7CF2D45a}.game-day .gd-event-team{font-weight:600;gap:12px}.game-day .gd-event-team b{font-weight:800}.game-day .gd-scorebar{background:linear-gradient(110deg,#17232f,#101922);border:1px solid #ffffff0d;padding:18px 26px;min-height:112px;border-radius:28px}.game-day .gd-scorebar .gd-score-value{font-size:60px;letter-spacing:-2.5px;font-weight:850}.game-day .gd-scorebar .gd-team-mark{width:48px;height:48px}.game-day .gd-scorebar-team b{font-size:15px}.game-day .gd-scorebar-team small{font-size:11px;color:var(--muted)}.game-day .gd-room-open .gd-room-navigation{justify-content:center;gap:6px;padding:12px 0;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.game-day .gd-room-open .gd-room-navigation button{flex:0 0 auto;padding:10px 21px;min-height:44px;white-space:nowrap;font-size:13px;border-radius:999px;font-weight:700}.game-day .gd-room-open .gd-room-navigation [aria-selected=true]{background:var(--accent);color:var(--accent-ink)}.game-day .gd-field-overview{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(130px,1fr) auto auto;gap:10px}.game-day .gd-field-overview .gd-live-room{grid-column:auto;grid-row:auto;border-radius:28px;background:radial-gradient(ellipse at 50% 65%,#244a5550,transparent 70%),#0d1721;border:1px solid #ffffff09}.game-day .gd-latest-play{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 20px;border-radius:22px;background:var(--surface)}.game-day .gd-latest-heading{font-size:11px;gap:8px}.game-day .gd-latest-description{margin:0;font-size:15px;line-height:1.5;display:block;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.game-day .gd-latest-play>.gd-latest-clock{position:static;margin:0;grid-column:1;grid-row:2;font-size:10px}.game-day .gd-latest-footer{border:0;padding:0;margin:0;grid-column:3;grid-row:1/3}.game-day .gd-latest-footer .gd-play-people{display:none}.game-day .gd-collection-entry{grid-column:auto;grid-row:auto;border-radius:18px;min-height:44px;background:#7CF2D40b;border:1px solid #7CF2D41c}.game-day .gd-play-feed .gd-play{background:var(--surface);border-radius:22px;padding:22px;border:1px solid #ffffff09}.game-day .gd-box-table th{font-size:11px;letter-spacing:.04em}.game-day .gd-box-table td{font-size:14px;padding-block:16px}.game-day .gd-face{border:1px solid #ffffff15}.game-day .gd-composer{padding:12px;background:var(--surface);border:1px solid #ffffff12}.game-day .gd-composer textarea{border-radius:22px;padding:12px 16px}.game-day .gd-message{padding-block:14px}.game-day .gd-message-body{font-size:15px;line-height:1.6}.game-day .gd-back{color:var(--accent);font-size:12px}
@media(min-width:1100px){.main:has(.gd-room-open:not([hidden])){height:calc(100dvh - 72px);padding-top:12px;padding-bottom:16px}.game-day .gd-room-open .gd-layout{grid-template-columns:236px minmax(0,1fr);gap:24px}.game-day .gd-room-open .gd-schedule{padding-right:10px}.game-day .gd-room-open .gd-event{padding:16px}.game-day .gd-room-open .gd-event-team{font-size:12px;gap:8px}.game-day .gd-room-open .gd-event-team b{font-size:20px}.game-day .gd-room-open .gd-event .gd-team-mark{width:28px;height:28px}}
@media(max-width:760px){.game-day .gd-scorebar{min-height:94px;padding:14px}.game-day .gd-scorebar .gd-score-value{font-size:40px;letter-spacing:-1.5px}.game-day .gd-scorebar .gd-team-mark{width:32px;height:32px}.game-day .gd-scorebar-team small{display:none}.game-day .gd-scorebar-team b{font-size:12px}.game-day .gd-room-open .gd-room-navigation{justify-content:flex-start;padding:10px 0;gap:3px}.game-day .gd-room-open .gd-room-navigation button{padding:8px 16px;font-size:12px}.game-day .gd-latest-play{display:flex;gap:5px;align-items:stretch;padding:12px 15px}.game-day .gd-latest-play>.gd-latest-clock{display:none}.game-day .gd-latest-description{font-size:13px}.game-day .gd-latest-footer{display:none}.game-day .gd-field-overview{gap:8px}.game-day .gd-collection-entry{font-size:12px}}
@media(max-height:650px){.game-day .gd-scorebar{min-height:66px;padding-block:8px}.game-day .gd-scorebar .gd-score-value{font-size:34px}.game-day .gd-room-open .gd-room-navigation{padding-block:5px}.game-day .gd-latest-play{padding:10px 14px}.game-day .gd-latest-heading{display:none}.game-day .gd-latest-description{-webkit-line-clamp:2}.game-day .gd-field-overview{grid-template-rows:minmax(100px,1fr) auto auto}}
/* Consistent reading rhythm across the other retained surfaces. */
.collector-home .post{border:1px solid #ffffff0b;border-radius:26px;background:var(--surface);overflow:hidden}.collector-home .composer{border-radius:24px;background:var(--surface)}.collector-home .stories{padding-block:12px 22px}.collector-home .feed-aside>.card{border-radius:24px;background:var(--surface)}.dm-layout{border-radius:28px;background:var(--surface);border-color:#ffffff12}.dm-inbox{background:#0f1721}.dm-thread{border-radius:16px;margin:4px 8px;padding:14px}.dm-thread[aria-current=true],.dm-thread.selected{background:#7CF2D412}.dm-conversation-header{background:#121923;border-color:#ffffff0b}.dm-transcript{background:#0b1119}.dm-transcript .bubble{border-radius:20px;padding:12px 16px;background:#1b2836;border-color:transparent;box-shadow:none}.dm-transcript .bubble.mine{background:#1d3d39;color:#e9fff8;border-bottom-right-radius:6px}.dm-compose{background:#121923;border-color:#ffffff0c}.dm-compose textarea{border-radius:24px;background:#1b2632}.dm-compose .btn{border-radius:50%;min-width:46px}.vault .tile,.collector-vault .tile{border-radius:22px}.vault-feature,.collection-tool{border-radius:999px}.live-lens-page .lens-panel{border-radius:28px}.live-lens-page .lens-panel h2{font-weight:800;letter-spacing:-1.1px}.lens-progress{padding-block:16px}.lens-guide-tile{border-radius:22px}.lens-capture.is-shooting{border-radius:0}.membership-page h1,.membership h1{font-weight:800;letter-spacing:-2px}.member-plan,.membership-plan{border-radius:26px}.collector-detail .detail-info h1{letter-spacing:-1px;line-height:1.2}.collector-detail .detail-info{line-height:1.6}.buyer-checkout{border-radius:30px}.buyer-checkout .input{border-radius:16px}
@media(prefers-reduced-motion:reduce){:where(button,.btn,.tile-link,.atelier-sidebar a,.tabs a){transition:none}:where(button,.btn,.tile-link):active:not(:disabled){transform:none}}
.explore-shortcuts{display:flex;gap:10px;overflow-x:auto;margin:0 0 24px;scrollbar-width:none}.explore-shortcuts a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;flex:1;white-space:nowrap;padding:10px 18px;border-radius:999px;background:var(--surface);border:1px solid #ffffff0c;font-size:13px;font-weight:650}.explore-shortcuts a:first-child{background:#7CF2D414;color:var(--accent)}.collection-home-heading h1{font-size:44px;font-weight:800;letter-spacing:-2px}.collection-home-heading{margin-bottom:22px}.collection-sidecar{background:var(--surface);padding:20px;border:1px solid #ffffff0b;border-radius:26px}.collection-sidecar .section-head h2{font-size:16px}.collection-sidecar .sidecar-card{display:grid;gap:18px}.collection-sidecar .sidecar-card>.holo{height:220px}.collection-sidecar .sidecar-card>span{display:grid;gap:4px}.collection-sidecar .sidecar-card small{color:var(--muted);font-size:12px}.collection-sidecar .sidecar-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.collector-home .collection-community-heading{display:none}.collector-home .feed-layout{grid-template-columns:minmax(0,1.45fr) minmax(250px,.8fr);align-items:start;gap:30px}.collector-home .feed-switch{margin-top:0}.collector-home .feed-aside{display:grid;gap:18px}.collector-home .collection-membership-note{border-radius:26px;background:linear-gradient(135deg,#152e2b,#152032);border:1px solid #7CF2D41c}.collector-home .collection-membership-note b{font-size:24px;line-height:1.15;letter-spacing:-.7px}
@media(max-width:850px){.collector-home .feed-layout{grid-template-columns:minmax(0,1fr)}.collector-home .feed-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-shortcuts a{flex:0 0 auto}}
@media(max-width:580px){.collection-home-heading h1{font-size:34px}.collector-home .feed-aside{grid-template-columns:minmax(0,1fr)}.collector-home .post{border-radius:22px}.explore-shortcuts{gap:8px;margin-bottom:18px}.explore-shortcuts a{font-size:12px;padding:8px 15px}.collector-home .stories{padding-top:14px}.collector-home .feed-layout{gap:24px}}

.market-member-entry>.btn{flex:0 0 auto}

.gd-field-unavailable{background:radial-gradient(ellipse at 50% 20%,#20334766,transparent 72%),var(--surface);border-color:var(--line);border-radius:26px}.gd-field-watermark{opacity:.025}

/* Fullscreen public introduction and clear paths into the existing product. */
.atelier-app .header{background:#080c12ef}.atelier-app .atelier-sidebar{background:var(--bg)}.atelier-app .btn.primary{background:var(--accent)}
.collection-entry{max-width:1440px}.collection-entry-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);min-height:min(740px,calc(100svh - 120px));gap:40px;border:0;margin-bottom:48px}.collection-entry-copy{padding:24px 0}.collection-entry h1{font-size:clamp(52px,6.5vw,100px);font-weight:800;letter-spacing:-.065em;line-height:.98;margin:24px 0}.collection-entry h1 span{color:var(--accent)}.collection-entry-copy>p{max-width:36ch;font-size:18px;line-height:1.7;margin-bottom:24px}.entry-pillars{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:0 0 32px}.collection-entry-actions{gap:24px}.collection-entry-actions .btn{min-height:56px;padding-inline:28px}.collection-entry-object{border-radius:38px;background:radial-gradient(ellipse at 50% 30%,#254e4938,transparent 68%),#0e1720;border:1px solid #ffffff0d;overflow:hidden;min-height:440px}.collection-object-edition{font-size:10px;letter-spacing:.15em}.collection-entry-bottom{grid-column:1/-1;padding-top:16px;border-top:1px solid var(--line)}.collection-entry-links{gap:20px}.collection-entry-links>a{border-radius:26px;padding:28px;background:var(--surface);border:1px solid var(--line)}
.membership-page .page-head{align-items:center;padding:12px 0 24px}.membership-page .page-head h1{font-size:clamp(34px,4.8vw,60px);line-height:1.02;font-weight:800}.membership-page .page-head p{max-width:54ch;font-size:16px}.membership-intents{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.membership-intents>a{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;min-height:44px}.membership-intents>a:first-child{color:var(--accent);border-color:#7CF2D455}.buyer-membership-feature{background:linear-gradient(120deg,#163434,#162231)!important;padding:30px!important;border-radius:28px!important;scroll-margin-top:110px}.buyer-membership-feature p{max-width:65ch}.buyer-membership-feature .btn{align-self:start}#collector-plans{scroll-margin-top:110px}
@media(max-width:760px){.collection-entry-hero{grid-template-columns:1fr;gap:22px;min-height:0}.collection-entry-copy{padding:22px 0 0}.collection-entry h1{font-size:60px}.collection-entry-object{min-height:330px}.collection-entry-copy>p{font-size:16px}.collection-entry-bottom{font-size:10px}.collection-entry-links{grid-template-columns:1fr}.membership-page .page-head h1{font-size:40px}.buyer-membership-feature{padding:24px!important}}

/* Keep search controls in two compact rows on phones. */
@media(max-width:580px){.photo-market-controls .market-search{grid-column:1/-1}.photo-market-controls .photo-sort{grid-column:2;grid-row:2;max-width:180px;width:100%}.photo-market-controls .photo-sort .input{min-height:44px;height:44px;border:1px solid var(--line);padding:10px 28px 10px 12px;text-align:left;border-radius:999px}.photo-market-controls>.photo-refine{grid-column:1;grid-row:2;min-height:44px;height:44px;border-radius:999px}.photo-market-heading>.btn{min-height:44px}.photo-market .grid{gap:24px 12px}.photo-market-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* Lens: one capture task, a clear frame, and progressive details. */
.live-lens-page{max-width:1120px}.live-lens-page>.page-head h1{font-size:44px;font-weight:800;letter-spacing:-2px}.lens-progress{max-width:100%;border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:32px}.lens-progress li.current{color:var(--accent)}.lens-progress li.current>span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.lens-camera{background:radial-gradient(ellipse at 50% 40%,#233c4c70,transparent 70%),#0b121b;border:1px solid var(--line);border-radius:28px}.lens-camera-placeholder{color:var(--muted)}.lens-camera-caption{font-size:11px;letter-spacing:.04em}.lens-card-guide{border-color:#7CF2D43a}.lens-card-guide i{border-color:var(--accent)}.lens-panel{max-width:760px}.lens-panel h2,.lens-capture h2{font-size:34px;font-weight:750;letter-spacing:-1.2px}.lens-consent{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;line-height:1.7}.lens-guide-tile{min-height:190px;background:var(--surface)}.lens-guide-tile.complete{border-color:#7CF2D475;background:#142a29}.lens-guide-tile b{font-size:15px}.lens-capture:not(.is-shooting){max-width:none}
@media(min-width:850px){.lens-capture:not(.is-shooting){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:20px;align-items:start}.lens-capture:not(.is-shooting)>div:first-child{grid-column:1;grid-row:1}.lens-capture:not(.is-shooting)>.lens-consent{grid-column:1;grid-row:2}.lens-capture:not(.is-shooting)>.lens-camera{grid-column:2;grid-row:1/4;width:min(100%,370px);justify-self:center}.lens-capture:not(.is-shooting)>.lens-actions{grid-column:2}.lens-capture:not(.is-shooting)>.lens-quality{grid-column:1;grid-row:2}.lens-capture:not(.is-shooting)>small{grid-column:1}.lens-capture:not(.is-shooting)>.muted{grid-column:1}}
@media(max-width:580px){.live-lens-page{padding-inline:0}.live-lens-page>.page-head h1{font-size:34px}.lens-progress{margin-bottom:24px;padding-bottom:18px}.lens-capture:not(.is-shooting){display:flex;flex-direction:column;gap:20px}.lens-capture:not(.is-shooting)>div:first-child{order:0}.lens-capture:not(.is-shooting)>.lens-camera{order:1;width:min(100%,280px,36svh);align-self:center}.lens-capture:not(.is-shooting)>.lens-actions{order:2;width:100%}.lens-capture:not(.is-shooting)>.lens-quality,.lens-capture:not(.is-shooting)>.lens-consent{order:3}.lens-capture:not(.is-shooting)>small,.lens-capture:not(.is-shooting)>button,.lens-capture:not(.is-shooting)>p{order:4}.lens-panel h2,.lens-capture h2{font-size:28px}.lens-consent{padding:16px}.lens-actions>.btn{flex:1}.lens-guide-grid{gap:12px}.lens-guide-tile{border-radius:20px;min-height:176px}.lens-guide-tile b{font-size:14px}}

@media(max-width:760px){.game-day .gd-scorebar{grid-template-columns:minmax(0,1fr) minmax(78px,.9fr) minmax(0,1fr);gap:8px;min-height:112px}.game-day .gd-scorebar-side{display:grid;grid-template-columns:auto auto;justify-content:center;justify-items:center;gap:6px 8px}.game-day .gd-scorebar-side.is-home{justify-content:center}.game-day .gd-scorebar-side .gd-team-mark{grid-row:1;grid-column:1;width:24px;height:24px}.game-day .gd-scorebar-side .gd-scorebar-team{grid-row:1;grid-column:2}.game-day .gd-scorebar-side .gd-score-value{grid-row:2;grid-column:1/-1;line-height:1}.game-day .gd-scorebar-mid{padding:0;min-width:0}.game-day .gd-scorebar-mid>span{font-size:10px;line-height:1.5;white-space:normal}.game-day .gd-scorebar-mid>b{font-size:10px}}

/* The vault starts with a physical object; its tools share a quiet rail. */
.vault-page>.page-head h1{font-size:clamp(34px,4vw,50px);font-weight:800}.vault-featured{display:grid;grid-template-columns:minmax(200px,.9fr) minmax(0,1.2fr);gap:32px;align-items:center;min-height:260px;padding:24px;border:1px solid #7CF2D41a;border-radius:30px;background:radial-gradient(ellipse at 20% 50%,#31545a55,transparent 65%),#0f1923;margin-bottom:22px;overflow:hidden}.vault-featured-art{height:250px;min-width:0}.vault-featured-art>.holo{height:100%;width:100%}.vault-featured-copy{display:grid;gap:12px;justify-items:start;padding:12px 0}.vault-featured-copy h2{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-1.2px}.vault-featured-copy p{font-size:13px;color:var(--muted);margin:0}.vault-featured-record{font-size:12px;color:var(--muted);min-height:32px;display:flex;align-items:center}.vault-sections{display:flex!important;gap:8px;overflow-x:auto;padding:0 0 12px;margin-bottom:16px;scrollbar-width:none}.vault-sections>a{display:flex;flex:0 0 auto;align-items:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.vault-sections>a>svg:first-child{width:18px;height:18px}.vault-sections>a>svg:last-child,.vault-sections small{display:none}.vault-sections b{font-size:12px;white-space:nowrap;font-weight:650}.vault-page .vault-head{padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface);margin-bottom:24px}.vault-head>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;font-size:13px;min-height:56px}.vault-head>summary b{font-variant-numeric:tabular-nums;color:var(--accent)}.vault-head>summary::-webkit-details-marker{display:none}.vault-head>summary:after{content:'+';color:var(--muted);font-size:20px}.vault-head[open]>summary:after{content:'−'}.vault-overview-content{padding:0 22px 22px}.vault-page>.grid{gap:24px 18px}.vault-page>.grid>.tile{border-radius:22px;background:var(--surface);border:1px solid #ffffff0b}.vault-page>.tools{gap:10px;margin-bottom:24px}.vault-page>.tools .input-wrap,.vault-page>.tools>.input{border-radius:18px;background:var(--surface)}
.game-day .gd-player-box,.game-day .gd-play-feed{padding:18px 0;gap:20px}.game-day .gd-player-box .gd-box-team{border:0;padding:0;background:none;border-radius:0}.game-day .gd-player-box .gd-box-team h3{padding:12px 0 16px}.game-day .gd-box-scroll{border:1px solid var(--line);border-radius:20px;background:var(--surface)}.game-day .gd-box-table caption{padding:10px 14px;font-size:10px}.game-day .gd-player-box>header .label{display:none}.game-day .gd-player-box>header h2{font-size:24px}.game-day .gd-player-box>header p{font-size:11px}.game-day .gd-play-feed>header h2{font-size:24px}.game-day .gd-play-feed article{border-radius:20px;padding:16px;background:var(--surface);grid-template-columns:44px minmax(0,1fr);gap:14px}.game-day .gd-play-feed article p{font-size:14px;line-height:1.5}
@media(max-width:580px){.vault-page>.page-head{display:grid;gap:16px}.vault-page>.page-head>.row{display:flex;flex-wrap:wrap}.vault-page>.page-head>.row>.btn{min-height:44px;font-size:12px}.vault-featured{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:12px;padding:16px;border-radius:24px;min-height:220px}.vault-featured-art{height:192px}.vault-featured-copy h2{font-size:22px;letter-spacing:-.5px}.vault-featured-copy .label{font-size:10px;letter-spacing:.05em}.vault-featured-copy{gap:10px}.vault-featured-copy .btn{font-size:11px;padding:10px 12px;min-height:44px}.vault-featured-record{font-size:11px}.vault-page>.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.vault-head>summary{padding:16px}.vault-overview-content{padding:0 16px 16px}.game-day .gd-panel{padding-inline:0}.game-day .gd-box-table th,.game-day .gd-box-table td{padding-inline:10px}.game-day .gd-box-table .gd-box-player{min-width:150px}.game-day .gd-player-box{padding-top:16px}.game-day .gd-play-feed{padding-top:12px}}

.vault-featured-art>.holo,.sidecar-card>.holo{overflow:hidden}.vault-featured-art>.holo.holo-3d-live.holo-3d-textured>img,.sidecar-card>.holo.holo-3d-live.holo-3d-textured>img{visibility:hidden}.vault-featured-art>.holo>img{height:100%;width:100%;object-fit:contain}

/* Keep the first capture action visible on a phone before opening fullscreen camera. */
@media(max-width:580px){.live-lens-page>.page-head{margin-bottom:18px}.lens-progress{margin-bottom:18px;padding-bottom:14px}.lens-capture:not(.is-shooting){gap:14px}.lens-capture:not(.is-shooting)>.lens-camera{width:min(210px,25svh)}.lens-capture:not(.is-shooting)>div:first-child>p{font-size:14px;line-height:1.5}.lens-capture:not(.is-shooting) .lens-camera-placeholder{font-size:12px}.lens-actions{gap:10px}}
/* The room itself leads; destinations remain one tap away. */
.collector-rooms{max-width:1240px}.rooms-heading{margin-bottom:22px}.rooms-heading h1{font-size:clamp(34px,4vw,50px);font-weight:800;letter-spacing:-.05em}.rooms-heading p{font-size:15px;color:var(--muted)}.rooms-toolbar{gap:12px;margin-bottom:12px}.rooms-picker summary{border-radius:999px;background:var(--surface);min-height:46px}.rooms-quick{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:18px}.rooms-quick button{white-space:nowrap;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:650;font-size:13px}.rooms-quick button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:transparent}.rooms-space{border-radius:30px;border:1px solid #ffffff14;overflow:hidden;background:#0e1721}.rooms-stage-caption{background:#0f1823e8;border-top:1px solid #ffffff0d;padding:15px 20px}.rooms-guide-entry{justify-content:flex-end;padding-block:12px}.rooms-guide-entry>span{font-size:12px}.rooms-introduction{padding-block:20px}.rooms-card-list{gap:16px}.rooms-card-list a{border-radius:20px}.rooms-footnote{max-width:740px;font-size:12px;line-height:1.7}
@media(max-width:580px){.rooms-heading{display:block}.rooms-heading>.btn{margin-top:12px;font-size:12px}.rooms-heading h1{font-size:34px}.rooms-heading p{margin-bottom:0}.rooms-space{border-radius:24px}.rooms-stage-caption{padding:12px;display:grid;gap:4px}.rooms-stage-caption>span:last-child{font-size:11px}.rooms-quick{gap:6px}.rooms-quick button{padding-inline:16px}.rooms-guide-entry{justify-content:space-between}}

/* Card commerce: price and decisions first, evidence directly below. */
.collector-detail>.card-view-column{background:#0d151f}.collector-detail .stage{background:radial-gradient(ellipse at 50% 36%,#2b45584d,transparent 72%),#0d151f;padding:42px 24px 28px}.collector-detail .info{padding:40px 32px;gap:22px;background:#101720}.collector-detail .info h2{font-size:34px;font-weight:800;letter-spacing:-1.2px;line-height:1.16}.collector-detail .info .meta{font-size:13px;line-height:1.6}.collector-detail .market-board .stat{background:transparent;border:0;padding:0}.collector-detail .market-board .stats{gap:24px;margin:0 0 14px}.collector-detail .market-board .stat.hero b{font-size:44px;letter-spacing:-1.5px}.collector-detail .board-note{font-size:11px;line-height:1.6}.collector-detail .seller{padding-block:8px;border:0}.collector-detail .card-purchase-actions{gap:10px;margin:0 0 8px}.collector-detail .card-purchase-actions .btn.primary{min-height:54px}.collector-detail .card-trade-entry{border-radius:999px;background:#1b2936;border:1px solid #ffffff12}.collector-detail .card-offer-panel{border-radius:22px;background:transparent}.collector-detail .kv{padding-top:24px;border-top:1px solid var(--line)}.collector-detail .notice{border-radius:20px;font-size:13px;line-height:1.75}.collector-detail .listing-condition-photos h3{font-size:18px;letter-spacing:-.3px}.collector-detail .condition-summary{font-size:12px}.collector-detail .similar h3{font-size:22px;letter-spacing:-.5px}.collector-detail .similar .mini-row{gap:18px}.collector-detail .similar .mini .art{border-radius:18px;overflow:hidden}.buyer-checkout header h2{font-weight:800;letter-spacing:-1.2px}.buyer-card-stage{background:radial-gradient(ellipse at 50% 30%,#28425555,transparent 70%),#0d151f;border-radius:26px;border-color:#ffffff0f}.buyer-card h3{font-weight:750;letter-spacing:-.4px}.buyer-details .input{border-radius:16px;background:#17212d;border-color:#ffffff10}.buyer-details .input:focus{border-color:var(--accent)}
@media(max-width:650px){.collector-detail .info{padding:24px 20px;gap:18px}.collector-detail .info h2{font-size:28px}.collector-detail .stage{min-height:320px;padding-top:30px}.collector-detail .stage .holo{width:min(205px,53vw)}.buyer-checkout{padding:28px 18px 24px}.buyer-card{display:grid;grid-template-columns:108px minmax(0,1fr);column-gap:16px;align-content:start;align-items:start}.buyer-card-stage{grid-column:1;grid-row:1/6;padding:4px;border-radius:18px}.buyer-card-stage .holo{height:155px}.buyer-card-sides{grid-column:2;grid-row:4;margin-top:8px;justify-content:flex-start;gap:6px}.buyer-card-sides .btn{min-height:44px;padding-inline:13px;font-size:12px}.buyer-card h3{grid-column:2;grid-row:1;margin:4px 0 6px;font-size:18px}.buyer-card>p{grid-column:2;margin:0 0 5px;font-size:12px}.buyer-card .buyer-condition{grid-column:1/-1;margin-top:12px}.buyer-layout{gap:20px}.buyer-checkout header{margin-bottom:20px}.buyer-checkout header h2{font-size:28px}.buyer-details form{gap:16px}}

/* A personal home with useful shortcuts, rather than a long undifferentiated menu. */
.account-restart{max-width:1140px}.account-restart .profile-head{background:transparent;border:0;padding:0 0 28px;border-bottom:1px solid var(--line);border-radius:0;gap:22px}.account-restart .profile-head .avatar{width:86px;height:86px}.account-restart .profile-head h1{font-size:40px;font-weight:800;letter-spacing:-1.5px}.account-restart .profile-head>.row .btn{min-height:44px}.account-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.account-shortcuts a{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:22px 18px;border-radius:22px;background:var(--surface);border:1px solid #ffffff0c;min-width:0}.account-shortcuts svg{color:var(--accent)}.account-shortcuts b{font-size:13px;line-height:1.5;font-weight:650}.account-shortcuts b span{color:var(--accent)}.account-benefits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-benefits>a{display:flex;align-items:center;gap:16px;min-height:108px;padding:24px;border-radius:26px;background:linear-gradient(120deg,#152d2d,#121d2b);border:1px solid #7CF2D422}.account-benefits .grow{font-weight:750;font-size:18px}.account-benefits small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:5px}.account-benefits svg{color:var(--accent);flex-shrink:0}.account-sections{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:10px}.account-sections>section{min-width:0}.account-sections .label{display:block;margin:0 0 14px}.account-sections .menu{background:transparent;border:0;border-radius:0;padding:0}.account-sections .menu>a,.account-sections .menu>button{padding:18px 0;min-height:72px;border-bottom:1px solid #ffffff0b}.account-sections .menu small{font-size:12px;line-height:1.5;margin-top:4px}.account-sections .menu .grow{font-size:14px;font-weight:600}.account-sections .menu>a>svg{color:var(--muted)}
@media(max-width:760px){.account-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.account-shortcuts a{padding:17px 14px;gap:15px}.account-shortcuts b{font-size:12px}.account-benefits{grid-template-columns:1fr;gap:10px}.account-benefits>a{padding:20px;min-height:94px}.account-benefits .grow{font-size:16px}.account-sections{grid-template-columns:1fr;gap:24px}.account-restart .profile-head{flex-wrap:wrap;gap:16px}.account-restart .profile-head .avatar{width:66px;height:66px}.account-restart .profile-head h1{font-size:28px}.account-restart .profile-head>.row{width:100%}.account-restart .profile-head>.row>a{flex:1}.account-restart .profile-head .who{min-width:0;flex:1}}

/* Rewards keep a clear balance, a single daily action and readable history. */

.activity-inbox{max-width:900px}.activity-inbox .page-head h1{font-weight:800;letter-spacing:-1px}.activity-inbox .activity-group{border:0;background:transparent;border-radius:0;display:grid;gap:6px}.activity-inbox .activity-item{padding:20px 16px;border:0;border-radius:22px;gap:16px;background:transparent}.activity-inbox .activity-item.is-unread{background:#13222c}.activity-inbox .activity-item>.avatar{width:48px;height:48px;flex-shrink:0;background:#20343d;color:var(--accent)}.activity-inbox .activity-item .grow{min-width:0;display:flex;flex-direction:column;gap:7px}.activity-inbox .activity-item b{font-weight:550;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.activity-inbox .activity-item.is-unread b{font-weight:650}.activity-inbox .activity-day{margin:22px 0 14px}.activity-inbox .activity-item .label{font-size:11px;letter-spacing:.02em;text-transform:none}.activity-inbox .activity-item .muted{font-size:12px}
@media(max-width:760px){.activity-inbox .activity-item{padding:16px 10px;gap:12px}.activity-inbox .activity-item b{font-size:14px}}



@media(max-width:760px){.activity-inbox .page-head{align-items:flex-start;gap:16px;margin-bottom:6px}.activity-inbox .page-head>div{width:100%}}

/* A physical exchange, with clear steps instead of an empty dashboard. */
.trade-empty{border:0;background:transparent;padding:24px 26px 42px}.trade-empty h2{font-size:28px;letter-spacing:-.7px;font-weight:750}.trade-intro-art{position:relative;height:235px;display:grid;place-items:center;margin:0 auto 18px;max-width:330px}.trade-intro-card{position:absolute;width:116px;height:164px;padding:5px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 45px #0006;overflow:hidden}.trade-intro-card img{width:100%;height:100%;object-fit:contain;border-radius:8px}.trade-intro-card-0{transform:translateX(-44px) rotate(-12deg)}.trade-intro-card-1{transform:translateX(44px) rotate(12deg)}.trade-intro-art>i{display:grid;place-items:center;position:relative;margin-top:148px;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 5px 20px #0005}.trade-list{border:0;background:transparent}.trade-row{border-radius:20px;margin-bottom:8px;background:var(--surface);border:1px solid #ffffff08}.trade-card{border-radius:26px;background:var(--surface);border-color:#ffffff0b}.trade-detail-heading h1{font-weight:800}.trade-promise,.trade-shipment,.trade-postage{border-radius:22px}.trade-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-pick{min-width:0}.trade-pick>span:nth-child(2){min-width:0;overflow-wrap:anywhere}@media(max-width:620px){.trade-picker{grid-template-columns:1fr}.trade-empty h2{font-size:24px}.trade-card{border-radius:20px}}

/* A game is a full-height destination, with one performance and one field. */
@media(min-width:1100px){
 .atelier-app:is(.is-game-workspace,.is-lens-workspace).is-member{padding-left:96px}
 .atelier-app:is(.is-game-workspace,.is-lens-workspace).is-member>.header{height:64px;margin-left:-96px;width:calc(100% + 96px);padding-inline:24px}
 .atelier-app:is(.is-game-workspace,.is-lens-workspace)>.atelier-sidebar{top:64px;width:96px;padding:18px 8px;overflow:visible}
 .atelier-app:is(.is-game-workspace,.is-lens-workspace)>.atelier-sidebar nav>a{font-size:10px;min-height:58px;padding:8px 2px;gap:7px}
 .atelier-app:is(.is-game-workspace,.is-lens-workspace)>.atelier-sidebar small{margin-top:20px}
 .atelier-app:is(.is-game-workspace,.is-lens-workspace)>.atelier-sidebar p{display:none}
 .atelier-app.is-game-workspace>.main:has(.gd-room-open:not([hidden])){height:calc(100dvh - 64px);padding:12px 28px 18px}
}
.game-day:has(.gd-room-open:not([hidden])){max-width:1440px}
.game-day .gd-room-open .gd-scorebar{background:none;border:0;box-shadow:none;border-radius:0;min-height:106px;padding:8px 24px;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)}
.game-day .gd-scorebar .gd-score-value{font-weight:600;font-size:60px;letter-spacing:-2.8px;line-height:1.1}
.game-day .gd-scorebar .gd-team-mark{width:44px;height:44px;background:none;border:0;box-shadow:none}
.game-day .gd-scorebar .gd-scorebar-side{gap:18px}.game-day .gd-scorebar-team b{font-weight:650;font-size:14px;letter-spacing:.08em}.game-day .gd-scorebar-mid>b{font-size:11px;color:var(--accent)}
.game-day .gd-room-open .gd-room-navigation{padding:0 12px;border-bottom:1px solid #ffffff10;justify-content:flex-start;gap:20px;overflow:auto;flex-shrink:0}
.game-day .gd-room-open .gd-room-navigation button{background:none;border:0;border-radius:0;border-bottom:2px solid transparent;min-height:46px;min-width:44px;padding:10px 6px;flex:1 1 0;color:#91a5a2;font-size:13px;font-weight:600;box-shadow:none}
.game-day .gd-room-open .gd-room-navigation button[aria-selected=true]{background:none;color:#e9fff7;border-bottom-color:var(--accent)}
.game-day .gd-room-open .gd-panel[data-gd-panel=field]{height:auto;max-height:none;min-height:0;overflow:auto;display:flex;flex:1;padding:12px 0 0}
.game-day .gd-reference-overview{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.2fr);gap:18px;padding:0;min-width:0;min-height:0;width:100%;flex:1;align-items:stretch}
.gd-reference-story{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}
.gd-play-ticker{display:flex;align-items:center;gap:10px;border:0;border-radius:14px;background:#152026;padding:9px 13px;color:#dbe8e3;min-height:44px;width:100%;text-align:left;flex-shrink:0}
.gd-play-ticker>i{height:24px;width:4px;flex-shrink:0;background:#82a59b;border-radius:4px}.gd-play-ticker.is-positive>i{background:#7bebad;box-shadow:0 0 10px #7bebad33}.gd-play-ticker.is-negative>i{background:#f7909b}.gd-play-ticker>span{flex:1;font-size:12px;line-height:1.5}.gd-play-ticker>time{color:#869b96;font-size:11px;font-variant-numeric:tabular-nums}
.gd-player-feature{position:relative;background:radial-gradient(ellipse at 100% 0,#28685077,transparent 80%),linear-gradient(130deg,#142724,#10201e);border:1px solid #a1efd52b;border-radius:26px;padding:20px;overflow:hidden;min-width:0;flex:1;display:flex;flex-direction:column;justify-content:space-between}
.gd-feature-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;line-height:16px;font-weight:650;letter-spacing:.13em;color:#98b8ad}.gd-feature-kicker button{border:0;background:none;color:var(--accent);height:44px;width:44px;margin:-14px -8px -14px 0;display:grid;place-items:center;flex-shrink:0}
.gd-feature-person{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:12px;align-items:center;margin:6px 0 10px}.gd-feature-person>div{min-width:0;flex:1}.gd-feature-person h2{font-size:clamp(25px,2.3vw,38px);font-weight:650;letter-spacing:-1px;line-height:1.08;margin:0 0 8px;text-wrap:balance}.gd-feature-person p{font-size:12px;line-height:1.5;margin:0;color:#a5c4b8}
.gd-feature-face{width:104px;height:104px;flex:0 0 104px;position:relative;overflow:hidden;border-radius:0;background:none;display:grid;place-items:center;font-size:30px;color:#7edcbd}.gd-feature-face>img{position:absolute;width:100%;height:100%;object-fit:contain;object-position:center bottom}.gd-feature-face>img[hidden]{display:none}.gd-feature-face:has(img:not([hidden]))>span{visibility:hidden}
.gd-feature-stats{display:flex;gap:8px;border-top:1px solid #d4ffe720;padding-top:12px;margin:0}.gd-feature-stats>div{flex:1;min-width:0}.gd-feature-stats dt{font-size:10px;line-height:1.4;color:#97bcad;letter-spacing:.08em}.gd-feature-stats dd{margin:5px 0 0;font-size:28px;line-height:1.1;letter-spacing:-.8px;font-weight:600;color:#f1fff9;font-variant-numeric:tabular-nums}
.gd-owned-feature{display:flex;gap:18px;align-items:center;border-radius:24px;border:1px solid #79edbd24;padding:12px 20px;background:radial-gradient(ellipse at left bottom,#2b6b5150,transparent 68%),#10201d;text-decoration:none;min-height:106px;overflow:hidden;flex-shrink:0}.gd-owned-sculpture{display:block;width:68px;height:92px;position:relative;perspective:500px;flex-shrink:0}.gd-owned-sculpture>i,.gd-owned-sculpture>span{position:absolute;inset:4px 6px;border:1px solid #bfe9d18a;border-radius:6px;background:#193b2b;transform:rotate(-12deg) rotateY(-12deg)}.gd-owned-sculpture>span{transform:rotate(7deg) rotateY(-12deg);padding:3px;background:linear-gradient(145deg,#defff0b0,#335543a0);box-shadow:5px 9px 18px #0007;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.gd-owned-sculpture img{width:100%;height:100%;object-fit:contain;border-radius:3px;background:#10241b}.gd-owned-feature:hover .gd-owned-sculpture>span{transform:rotate(0deg) rotateY(8deg) translateY(-4px)}.gd-owned-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.gd-owned-copy strong{font-size:16px;line-height:1.25;font-weight:600;letter-spacing:-.4px;color:#f1fff9}.gd-owned-copy small{font-size:11px;line-height:1.5;color:#97aaa4}.gd-owned-copy b{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:600;color:var(--accent);margin-top:3px}
.gd-reference-overview .gd-collection-entry{display:flex;text-align:left;gap:14px;padding:18px;border-radius:20px;background:#15261f;align-items:center}.gd-collection-entry>span{flex:1}.gd-collection-entry small{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.gd-reference-court{display:flex;flex-direction:column;min-width:0;min-height:320px;overflow:hidden;border-radius:28px;background:radial-gradient(ellipse at 50% 60%,#30526499,transparent 72%),#141f2e;border:1px solid #b9d1ff1b}
.gd-court-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:22px 24px 0;flex-shrink:0}.gd-court-heading h2{font-size:clamp(23px,2vw,31px);line-height:1.2;margin:6px 0 0;letter-spacing:-.8px;font-weight:600}.gd-court-heading .label{font-size:10px;color:#a9bed5}.gd-court-league{font-size:10px;font-weight:650;color:#adcdf3;border:1px solid #afc8ff35;border-radius:999px;padding:7px 12px}
.game-day .gd-reference-court .gd-live-room{flex:1;min-height:0;border:0;border-radius:0;background:none;padding:4px 12px;box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.gd-reference-court .lf{height:100%;flex:1;min-height:0;border:0;background:none;box-shadow:none;display:flex;flex-direction:column}.game-day .gd-reference-court .lf-stage{aspect-ratio:auto!important;min-height:160px;flex:1}.gd-reference-court footer{display:flex;align-items:center;gap:10px;padding:6px 22px 12px;font-size:11px;line-height:1.5;color:#aac0ca;flex-shrink:0}.gd-reference-court footer>span{flex:1}.gd-reference-court footer>button{display:flex;align-items:center;gap:6px;border:0;background:none;min-height:44px;color:var(--accent);font-size:12px;white-space:nowrap}
.gd-feature-wait h2{font-size:30px;line-height:1.05;margin:20px 0 14px}.gd-feature-wait p{color:var(--muted);font-size:14px;max-width:30ch}
@media(min-width:761px) and (max-height:700px){.game-day .gd-scorebar .gd-score-value{font-size:48px}.game-day .gd-room-open .gd-scorebar{min-height:88px}.gd-feature-person{margin-block:0 6px}.gd-feature-face{width:84px;height:84px;flex-basis:84px}.gd-player-feature{padding:16px}.gd-reference-story{gap:10px}.gd-owned-feature{padding-block:8px;min-height:88px}.gd-owned-sculpture{height:74px;width:54px}.gd-court-heading{padding-top:16px}.gd-reference-court{min-height:290px}}
@media(max-width:760px){
 .game-day .gd-room-open .gd-scorebar{grid-template-columns:minmax(0,1fr) minmax(78px,.8fr) minmax(0,1fr);padding:10px 6px;min-height:98px}
 .game-day .gd-scorebar .gd-scorebar-side{gap:6px 9px}.game-day .gd-scorebar .gd-score-value{font-size:40px;letter-spacing:-1.5px}.game-day .gd-scorebar .gd-team-mark{width:28px;height:28px}
 .game-day .gd-room-open .gd-room-navigation{gap:16px;padding:0 5px}.game-day .gd-room-open .gd-room-navigation button{font-size:14px;padding:8px 6px}
 .game-day .gd-reference-overview{display:flex;flex-direction:column;gap:14px;min-height:min-content}.gd-reference-story{gap:12px;flex-shrink:0}.gd-player-feature{padding:18px;border-radius:24px;min-height:190px}.gd-feature-person h2{font-size:30px}.gd-feature-face{width:96px;height:94px;flex-basis:96px}.gd-feature-person{margin-block:3px 8px}.gd-owned-feature{min-height:106px}.gd-reference-court{min-height:350px;flex-shrink:0}.gd-court-heading{padding:20px 20px 0}.gd-court-heading h2{font-size:26px}.gd-reference-court footer{padding:0 18px 12px}.gd-reference-court footer>span{font-size:10px}
}

/* Lens is a capture studio, not a photo form with a small camera. */
.live-lens-page.is-capture{max-width:1240px}.live-lens-page.is-capture>.page-head{margin-bottom:18px}.live-lens-page.is-capture>.page-head h1{font-size:30px;letter-spacing:-1px}.live-lens-page.is-capture>.page-head p{display:none}.live-lens-page.is-capture>.lens-progress{margin-bottom:22px;padding-bottom:16px}
.lens-studio{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(28px,5vw,72px);align-items:center}.lens-studio-stage{position:relative;border:1px solid #91d4bb26;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#20453988,transparent 67%),#0b1319;display:flex;flex-direction:column;min-width:0;min-height:530px}
.lens-stage-top{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;color:#bed4ce;font-size:10px;letter-spacing:1.4px;font-weight:500;z-index:2}.lens-stage-top b{color:#78edbd}.lens-stage-status{font-size:10px;color:#91aaa0;border:1px solid #87a99a44;border-radius:999px;padding:7px 10px;letter-spacing:.8px}
.lens-studio .lens-camera{border:0;border-radius:0;background:none;width:100%;max-width:none;height:360px;min-height:260px;aspect-ratio:auto;overflow:hidden;align-self:stretch;position:relative;flex:1}.lens-studio .lens-camera video,.lens-studio .lens-captured{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.lens-studio .lens-captured{object-fit:contain}.lens-studio .lens-card-guide{width:min(62%,232px);height:auto;aspect-ratio:232/324;max-height:90%;border:1px solid #aaffd222;border-radius:10px;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1000px #040c0917}.lens-studio .lens-card-guide>i{border-color:#79edbd;border-width:3px}.lens-camera-placeholder{position:absolute;inset:0;display:grid;place-items:center}
.lens-sculpture{position:relative;width:162px;height:225px;perspective:850px;transform:rotate(-7deg);animation:lens-hover 6s ease-in-out infinite}.lens-sculpture>i,.lens-sculpture>span{position:absolute;inset:0;border-radius:11px;border:1px solid #90e2be77;transform:translate(14px,4px) rotateY(-14deg);background:linear-gradient(135deg,#73ddaa18,#7ec9fb08)}.lens-sculpture>i:first-child{transform:translate(25px,10px) rotateY(-14deg);border-color:#80affc38}.lens-sculpture>span{transform:rotateY(-14deg);background:linear-gradient(145deg,#94e7c32c,#194b3b77,#0b171a);box-shadow:16px 16px 40px #0005;display:flex;flex-direction:column;padding:19px;justify-content:space-between}.lens-sculpture b{display:grid;place-items:center;width:40px;height:44px;border:1px solid #9be2c544;border-radius:12px;color:#b8ffde;font-size:26px;font-weight:600;font-style:italic}.lens-sculpture em{font-size:13px;letter-spacing:1.5px;font-style:normal;line-height:1.5;color:#b1d8c4}
.lens-studio-dock{z-index:2;padding:12px 24px 22px;background:linear-gradient(0deg,#0a1419,#0a1419d9);text-align:center}.lens-studio-dock>p{font-size:12px;color:#9bb0aa;margin:0 0 14px}.lens-capture-controls{display:grid;grid-template-columns:1fr 80px 1fr;gap:20px;align-items:center}.lens-capture-controls>.btn{font-size:12px;min-height:44px;background:none;border:0;justify-self:center;padding:0 8px;gap:7px}.lens-dock-hint{font-size:12px;color:#9fb5ad;justify-self:center}.lens-studio .lens-shutter{width:74px;height:74px;border-radius:50%;padding:5px;border:2px solid #78edbd;display:grid;place-items:center;background:none;box-shadow:none;min-height:0}.lens-studio .lens-shutter>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#78edbd;color:#12382a;border:0}.lens-studio-guide{display:flex;flex-direction:column;gap:22px;align-items:flex-start}.lens-studio-guide h2{font-size:44px;line-height:1.02;font-weight:650;letter-spacing:-1.8px;margin:0;max-width:8ch}.lens-guide-intro{font-size:15px;line-height:1.65;color:#a8bab4;margin:0;max-width:34ch}.lens-three-promises{display:flex;flex-direction:column;gap:14px;color:#d3e8dc;font-size:13px}.lens-three-promises>span{display:flex;align-items:center;gap:12px}.lens-three-promises svg{color:#85ddb6}.lens-studio .lens-consent{padding:15px;border:1px solid #b3decc1a;background:#14201d;border-radius:16px;font-size:11px;line-height:1.7;gap:10px}.lens-consent-ready{display:flex;gap:8px;align-items:center;color:#78edbd;font-size:12px}.lens-studio-guide>small{font-size:11px;line-height:1.6;max-width:40ch}.lens-studio .lens-actions{display:flex;justify-content:center;gap:10px}
@keyframes lens-hover{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.lens-sculpture{animation:none}.gd-owned-sculpture>span{transition:none}.gd-owned-feature:hover .gd-owned-sculpture>span{transform:rotate(7deg) rotateY(-12deg)}}
/* The live capture occupies the viewport; help is a separate, reversible layer. */
.is-lens-workspace>.main:has(.is-capture){height:calc(100dvh - 64px);min-height:0;overflow:hidden;padding:18px 28px 20px}
.is-lens-workspace>.main:has(.is-capture)>div{height:100%;min-height:0}
.live-lens-page.is-capture{height:100%;min-height:0;display:flex;flex-direction:column;max-width:1340px;margin:0 auto}
.live-lens-page.is-capture>.page-head{flex:none;flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 6px;min-height:44px;padding-right:56px}.live-lens-page.is-capture>.page-head h1{font-size:24px;letter-spacing:-.7px}.live-lens-page.is-capture>.lens-progress{flex:none;margin:0 0 12px;padding:8px 0;gap:18px}.live-lens-page.is-capture>.lens-progress li{font-size:11px}.live-lens-page.is-capture>.lens-error{flex:none;max-height:90px;overflow:auto}
.lens-studio{flex:1;min-height:0;gap:clamp(30px,5vw,80px);align-items:stretch;grid-template-columns:minmax(0,1.18fr) minmax(280px,.85fr)}
.lens-studio-stage{min-height:0;max-height:100%;border-radius:30px;background:radial-gradient(ellipse at 50% 25%,#28564888,transparent 72%),#0b151c}
.lens-stage-top{flex:none;padding:18px 22px 10px}.lens-current-instruction{padding:0 22px 10px;z-index:2;flex:none}.lens-current-instruction>span{font-size:10px;letter-spacing:1.5px;color:#9dbfb4}.lens-current-instruction h2{font-size:22px;font-weight:600;letter-spacing:-.6px;line-height:1.2;margin:5px 0 0}
.lens-studio .lens-camera{height:auto;min-height:100px;flex:1}.lens-studio .lens-card-guide{height:92%;width:auto;max-width:78%;max-height:360px;aspect-ratio:232/324}.lens-sculpture{height:min(86%,225px);width:auto;aspect-ratio:162/225}.lens-sculpture>span{align-items:center;justify-content:center;padding:12px}.lens-sculpture>span>img{width:60%;height:60%;max-width:64px;max-height:76px;object-fit:contain}
.lens-studio-dock{flex:none;padding:12px 20px 16px}.lens-studio-dock>p{margin-bottom:9px;font-size:11px}.lens-studio .lens-shutter{width:64px;height:64px}.lens-capture-controls{grid-template-columns:1fr 68px 1fr;gap:12px}
.lens-studio-guide{display:block;min-height:0;align-self:center;max-height:100%;overflow-y:auto;scrollbar-width:thin;border:0;background:none}.lens-studio-guide>summary{display:none}.lens-studio-guide>.lens-guide-body{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.lens-guide-body>h2{font-size:clamp(34px,3.8vw,54px);letter-spacing:-2px;line-height:1.03;max-width:none}.lens-guide-body>h2>span{color:#7CF2D4}.lens-studio-guide .lens-guide-intro{font-size:14px}.lens-guide-body>small{font-size:11px;line-height:1.6;max-width:40ch}
.lens-consent-block{display:flex;flex-direction:column;gap:8px;width:100%}.lens-studio .lens-consent{font-size:12px;line-height:1.5;padding:14px;width:100%;margin:0}.lens-ai-details{font-size:11px;line-height:1.6;color:var(--muted);text-align:left}.lens-ai-details>summary{cursor:pointer;padding:6px 0;min-height:32px}.lens-ai-details>p{margin:4px 0 0}
@media(max-width:1099px){.is-lens-workspace>.tabs{display:none}.is-lens-workspace>.main:has(.is-capture){height:calc(100dvh - 64px);padding-bottom:max(16px,env(safe-area-inset-bottom))}}
@media(max-width:760px){
 .is-lens-workspace>.main:has(.is-capture){padding:10px 14px max(12px,env(safe-area-inset-bottom))}.live-lens-page.is-capture>.page-head h1{font-size:20px}.live-lens-page.is-capture>.lens-progress{gap:10px;margin-bottom:8px;padding-block:6px}.live-lens-page.is-capture>.lens-progress li{font-size:10px;gap:5px}.live-lens-page.is-capture>.lens-progress li>span{width:22px;height:22px;font-size:10px}
 .lens-studio{display:flex;flex-direction:column;gap:8px}.lens-studio-stage{flex:1;border-radius:24px;min-height:230px}.lens-current-instruction{padding:0 16px 8px}.lens-current-instruction h2{font-size:20px}.lens-stage-top{padding:12px 16px 8px}.lens-stage-top>span:first-child{font-size:10px}.lens-stage-status{font-size:10px;padding:5px 8px}.lens-studio-dock{padding:8px 16px 12px}.lens-studio-dock>p{font-size:10px}.lens-studio .lens-shutter{width:58px;height:58px}.lens-studio .lens-card-guide{max-height:300px}
 .lens-studio-guide{flex:none;align-self:stretch;max-height:34vh;overflow:auto;border:1px solid #ffffff10;border-radius:18px;background:#111d21}.lens-studio-guide>summary{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;font-size:12px;list-style:none;color:#c3e7d8}.lens-studio-guide>summary::-webkit-details-marker{display:none}.lens-studio-guide>summary>svg:last-child{margin-left:auto;transition:transform .2s}.lens-studio-guide[open]>summary>svg:last-child{transform:rotate(180deg)}.lens-studio-guide:not([open])>.lens-guide-body{display:none}.lens-studio-guide>.lens-guide-body{padding:2px 14px 14px;gap:12px}.lens-guide-body>h2,.lens-guide-body>.label,.lens-three-promises,.lens-guide-body>small{display:none}.lens-studio-guide .lens-guide-intro{font-size:12px;line-height:1.5}.lens-studio .lens-consent{padding:10px;font-size:11px}.lens-exit{z-index:101}
}
@media(max-height:560px) and (max-width:760px){.is-lens-workspace>.main:has(.is-capture){height:auto;overflow:visible}.live-lens-page.is-capture{height:auto}.lens-studio-stage{min-height:350px}.lens-studio-guide{max-height:none}}

/* Collector-first commerce: the photograph, its owner and its asking price. */
.market-overline{display:block;color:#8dd7c0;font-size:10px;line-height:16px;font-weight:700;letter-spacing:1.6px;margin-bottom:8px}
.photo-market-heading h1,.vault-page>.page-head h1{font-weight:700;letter-spacing:-1.8px;line-height:1.12}
.vault-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:356px;background:radial-gradient(ellipse at 23% 55%,#387c6a55,transparent 62%),linear-gradient(110deg,#152c2d,#101923);border-radius:30px;padding:24px 40px 24px 24px}
.vault-featured-art{height:310px;position:relative;isolation:isolate}.vault-featured-art:before{content:'';position:absolute;width:68%;height:18%;border-radius:50%;left:16%;bottom:3%;z-index:-1;background:linear-gradient(170deg,#9bbbad,#284748 65%,#14262c);box-shadow:0 12px 0 #163339,0 20px 36px #0005}
.vault-featured-copy h2{font-size:clamp(28px,3vw,43px);font-weight:650;line-height:1.1;letter-spacing:-1.3px}
.vault-featured-facts{display:flex;gap:32px;padding:9px 0 5px;flex-wrap:wrap}.vault-featured-facts span{display:grid;gap:5px}.vault-featured-facts small{font-size:10px;font-weight:650;letter-spacing:1px;color:var(--muted)}.vault-featured-facts b{font-size:24px;line-height:30px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.6px}
@media(max-width:580px){.photo-market-heading h1{font-size:34px}.market-overline{font-size:10px;letter-spacing:1.2px}.vault-featured{grid-template-columns:1fr;padding:16px 20px 22px;gap:4px}.vault-featured-art{height:260px}.vault-featured-copy{padding:4px 0}.vault-featured-copy h2{font-size:30px}.vault-featured-facts{gap:24px}.vault-featured-copy .btn{font-size:13px}.vault-featured-copy .label{font-size:10px}}

@media(min-width:1001px){.photo-market-heading{margin-bottom:10px}.photo-market-links{padding-bottom:10px}.photo-market-browse{margin-bottom:12px}.photo-market .market-main{margin-top:0}.collector-market.photo-market .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 18px}}
@media(min-width:1550px){.collector-market.photo-market .grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Collector feed: photos, people and conversations come first. */
.collector-home{max-width:1160px}.collector-home .feed-layout{grid-template-columns:minmax(0,600px) minmax(270px,340px);justify-content:center;gap:42px}.collector-home .collection-home-heading{margin-bottom:12px}.collector-home .post{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:hidden;margin-bottom:28px}.collector-home .post-head{padding:14px 4px}.collector-home .post-media{background:var(--surface);aspect-ratio:1.08;max-height:460px;border:0;border-radius:24px;padding:24px}.collector-home .post-media img{max-width:78%;max-height:100%;transform:none;box-shadow:0 16px 28px #0a171730}.collector-home .post-body{padding:18px 4px}.collector-home .post-actions{gap:16px;flex-wrap:wrap}.collector-home .post-actions .btn{border:0;background:transparent;padding:0;min-height:44px;font-size:13px;font-weight:650;color:var(--text)}.collector-home .post-actions .btn[data-open-card]{background:var(--accent);color:var(--accent-ink);padding-inline:var(--s-3);margin-left:0;order:0}.collector-home .post-body h3{font-size:20px;font-weight:750}.collector-home .composer{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding-inline:0;margin-bottom:16px}.collector-home .feed-switch{border-bottom:1px solid var(--line);padding:0 0 4px;gap:12px}.collector-home .feed-switch>button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;min-height:48px;font-size:15px}.collector-home .feed-switch>button.on{border-color:var(--accent);color:var(--text);font-weight:750}.collector-home .stories{border:0;background:transparent;padding:16px 0;margin-bottom:4px}.collector-home .feed-aside{padding-top:6px}.collector-home .feed-aside>.card{border:0;background:transparent;padding:16px 0;border-bottom:1px solid var(--line);border-radius:0}
/* Inbox selection and bubbles use the actual DOM state classes. */
.dm-layout .dm-thread{width:calc(100% - 16px);box-sizing:border-box}.dm-layout .dm-thread[aria-current=true]{background:#203832;box-shadow:inset 3px 0 var(--accent)}.dm-filters button{min-height:44px}.dm-inbox-tools{background:#0f1721}.dm-layout .bubble.me{background:#b3f2dc;color:#092c24;border-bottom-right-radius:6px}.dm-layout .bubble.me .dm-time,.dm-layout .bubble.me .muted{color:#30564a}.dm-layout .dm-compose .btn{border-radius:24px;min-width:70px}.dm-page .page-head h1{font-size:40px;letter-spacing:-1.5px}.dm-search:focus-within{outline:2px solid var(--focus,#8FCBFF);outline-offset:3px}
@media(max-width:950px){.collector-home .feed-layout{grid-template-columns:minmax(0,600px)}.collector-home .feed-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.collector-home .post-media{max-height:430px}}
@media(max-width:580px){.collector-home .feed-aside{grid-template-columns:minmax(0,1fr)}.collector-home .post-media{border-radius:18px;padding:18px}.collector-home .post-head{padding-block:10px}.collector-home .post-body h3{font-size:18px}.collector-home .collection-home-heading h1{font-size:32px}.dm-page .page-head h1{font-size:30px}}

/* The 3D room owns the viewport instead of sitting below a marketing header. */
.collector-rooms .rooms-heading{margin:0 0 16px;align-items:center}.collector-rooms .rooms-heading h1{font-size:32px;line-height:1.15;margin:6px 0 0;letter-spacing:-1px}.collector-rooms .rooms-toolbar{margin-bottom:10px}.collector-rooms .rooms-quick{margin-bottom:14px}.collector-rooms .rooms-space{border-radius:30px;background:radial-gradient(ellipse at 50% 70%,#213c37,#080c12 72%);border:1px solid #ffffff0b}.collector-rooms .rooms-canvas{height:clamp(350px,calc(100dvh - 300px),680px)}.collector-rooms .rooms-stage-caption{padding:26px 24px 18px}.collector-rooms .rooms-guide-entry{padding-block:12px}.collector-rooms .rooms-picker{max-width:280px}
@media(max-width:580px){.collector-rooms .rooms-heading h1{font-size:26px}.collector-rooms .rooms-heading{display:flex;gap:12px}.collector-rooms .rooms-heading>.btn{font-size:11px;margin:0}.collector-rooms .rooms-canvas{height:clamp(310px,calc(100dvh - 320px),550px)}.collector-rooms .rooms-space{border-radius:22px}}

/* Membership: choose one object, inspect the terms, then review billing. */
.membership-workspace{padding-block:12px}.membership-plan-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.membership-plan-tabs button{min-height:48px;padding:12px 8px;border-bottom:3px solid transparent;font-size:16px;font-weight:650;color:var(--muted)}.membership-plan-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--text)}
.plan-focus{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.1fr);gap:48px;align-items:center;padding:24px 0 34px}.membership-object-stage{padding:14px 12px;perspective:900px}.membership-pass-object{--pass-a:#c7d9d5;--pass-b:#94afa7;--pass-c:#dfe9e5;position:relative;isolation:isolate;overflow:hidden;min-height:238px;padding:28px;border-radius:26px;background:linear-gradient(130deg,var(--pass-a),var(--pass-b),var(--pass-c));border:1px solid #f2fff4a0;box-shadow:0 7px 0 #536b62,0 30px 50px #0003;color:#142e26;display:flex;flex-direction:column;justify-content:space-between;gap:44px;transform:rotate(-3deg)}
.membership-pass-object[data-finish=starter]{--pass-a:#baecd7;--pass-b:#6caa96;--pass-c:#d9ffec}.membership-pass-object[data-finish=plus]{--pass-a:#c7c7f3;--pass-b:#8b96c8;--pass-c:#e1e7ff}.membership-pass-object[data-finish=pro]{--pass-a:#e8d4a4;--pass-b:#a99a77;--pass-c:#fff0cc}.membership-pass-object:before{content:'';position:absolute;z-index:-1;width:300px;height:300px;border:28px solid #ffffff20;border-radius:50%;right:-80px;top:-120px}.membership-pass-object:after{content:'';position:absolute;z-index:-1;width:230px;height:230px;border:1px solid #ffffff70;border-radius:50%;right:-45px;top:-85px}.membership-pass-brand{display:flex;align-items:center;gap:8px}.membership-pass-brand img{width:27px;height:32px;object-fit:contain}.membership-pass-brand>b{font-size:22px;letter-spacing:-.6px}.membership-pass-brand>span{margin-left:auto;font-size:10px;letter-spacing:1.5px;font-weight:700}.membership-pass-bottom{display:flex;gap:18px;align-items:flex-end;justify-content:space-between}.membership-pass-bottom>div{display:grid;gap:5px}.membership-pass-bottom strong{font-size:40px;font-weight:700;letter-spacing:-1px}.membership-pass-bottom small{font-size:12px;color:#29493d}.membership-pass-price{font-size:32px;letter-spacing:-1px;text-align:right}.membership-pass-chip{height:34px;width:44px;border-radius:7px;border:1px solid #29493d70;background:repeating-linear-gradient(0deg,transparent 0 7px,#29493d70 7px 8px);flex-shrink:0}.membership-current{display:block;text-align:center;margin-top:24px;color:var(--accent);font-size:12px}.membership-plan-details{min-width:0}.membership-plan-details h2{font-size:34px;line-height:1.12;margin:12px 0 24px;letter-spacing:-1px}.membership-benefits{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:20px}.membership-benefits li{display:flex;gap:14px;align-items:flex-start}.membership-benefits li>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.membership-benefits li div{display:grid;gap:6px}.membership-benefits b{font-size:15px;line-height:1.5}.membership-benefits small{color:var(--muted);font-size:12px;line-height:1.6}.membership-plan-details>.btn{width:100%;min-height:52px}.membership-compare{border-top:1px solid var(--line);padding-block:18px}.membership-compare summary{min-height:44px;cursor:pointer;display:list-item;align-content:center;font-size:14px}.membership-comparison{overflow:auto}.membership-comparison table{width:100%;border-collapse:collapse;min-width:590px;font-size:13px}.membership-comparison th,.membership-comparison td{padding:16px;text-align:left;border-bottom:1px solid var(--line);line-height:1.55}.membership-comparison td:last-child{max-width:38ch}.account-benefits>.account-member-pass{display:block;background:none;border:0;padding:10px}.account-member-pass .membership-pass-object{min-height:195px;transform:none}.account-restart .account-shortcuts>a{min-height:86px;background:none;border:0;align-items:center;text-align:center;justify-content:center}.account-restart .account-shortcuts{border-block:1px solid var(--line);padding-block:16px}
@media(max-width:760px){.plan-focus{grid-template-columns:1fr;gap:22px;padding-top:8px}.membership-object-stage{padding:12px 5px}.membership-pass-object{min-height:205px;padding:24px;transform:rotate(-2deg)}.membership-pass-bottom strong{font-size:32px}.membership-pass-price{font-size:26px}.membership-plan-tabs{justify-content:space-between;gap:5px}.membership-plan-tabs button{font-size:14px}.membership-plan-details h2{font-size:30px}.membership-pass-brand>b{font-size:20px}.membership-pass-brand>span{font-size:10px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.membership-pass-object{transform:none}}

.membership-page .page-head{padding:0;margin:0}.membership-page .page-head h1{font-size:40px;line-height:1.05;letter-spacing:-1.6px}.membership-page .page-head p{font-size:14px;max-width:62ch}.membership-page .membership-intents{margin-top:14px}.membership-status{padding:0;margin:0;color:var(--muted);font-size:13px}.membership-status .btn{background:none;border:0;padding:8px;color:var(--accent)}.membership-workspace{padding-top:0}.membership-plan-tabs{margin-bottom:14px}.plan-focus{padding-top:8px}.membership-page>.page-head>div{width:100%}@media(min-width:1000px){.membership-page .page-head>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 32px;align-items:center}.membership-page .page-head .label{grid-column:1}.membership-page .page-head h1{grid-column:1;grid-row:2/4}.membership-page .page-head p{grid-column:2;grid-row:2;margin:0}.membership-page .membership-intents{grid-column:2;grid-row:3;margin-top:4px}}

.page.membership-page>section.membership-workspace{margin-top:0}.membership-page .membership-benefits{gap:14px;margin:18px 0}.membership-page .membership-pass-object{min-height:244px}

/* Neutral canvas: color belongs to card art, team identity and actions. */

.atelier-app.is-member,.atelier-app.is-member .main{background:var(--bg);background-image:none}.atelier-app.is-member .header{background:#06080Df5}.atelier-app.is-member:before,.atelier-app.is-member:after{display:none}
.game-day .gd-reference-court{background:#12151b;border-color:#303640}.gd-reference-overview .gd-collection-entry{background:#151a19}.game-day .gd-player-feature{background:#15181d;background-image:none;border-color:#343a41}.game-day .gd-player-feature:before,.game-day .gd-player-feature:after{display:none}
.lens-studio-stage{background:#11151a;background-image:none;border-color:#35403d}.lens-studio-dock{background:#11151af5}.vault-featured{background:#14191d;background-image:none;border-color:#30383d}.collector-rooms .rooms-space{background:#101317;background-image:none}.collector-detail>.card-view-column,.collector-detail .stage,.buyer-card-stage{background:#12161b;background-image:none}.collector-detail .info{background:#111418}.market-member-entry{background:#151a19;border-color:#35413b}.dm-inbox-tools{background:#111418}
@media(max-width:1099px){.atelier-app.is-member>.tabs.holo-command-dock{left:12px;right:12px;bottom:calc(7px + env(safe-area-inset-bottom));width:auto;border-radius:28px;border:1px solid #ffffff17;background:#191d24e8;padding:10px 8px 9px;backdrop-filter:blur(24px)}.holo-command-dock:before{display:none}.holo-command-dock .dock-selection{bottom:5px}.atelier-app.is-member>.tabs.holo-command-dock a.lens .dock-glyph{margin-top:-12px}.main{padding-bottom:calc(116px + env(safe-area-inset-bottom))}}

.game-day .gd-owned-feature{background:#14191b;background-image:none;border-color:#313a3a}.game-day .gd-play-ticker{background:#0E1218}.gd-feature-person p,.gd-feature-stats dt{color:var(--muted)}
.gd-field-entry{display:none}.gd-field-expand{background:#23272e;border:1px solid #ffffff15;gap:8px;flex-shrink:0}
.gd-field-match{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 18px;flex-shrink:0}.gd-field-match>div{display:flex;gap:8px;align-items:center;min-width:0}.gd-field-match b{font-size:28px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums}.gd-field-match>div>span:not(.gd-team-mark){font-size:12px;color:var(--muted)}.gd-field-match>small{text-align:center;font-size:10px;color:var(--accent);line-height:1.5;max-width:140px}.gd-field-match>small>span{display:block;color:var(--muted);margin-top:4px}.gd-field-match .gd-team-mark{width:28px;height:28px;flex-shrink:0}.gd-field-player{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 12px;flex-shrink:0}.gd-field-player>span{display:grid;gap:6px;min-width:0}.gd-field-player small{font-size:10px;letter-spacing:.1em;color:var(--muted)}.gd-field-player strong{font-size:18px;letter-spacing:-.4px}.gd-field-player dl{display:flex;gap:20px;margin:0}.gd-field-player dt{font-size:10px;color:var(--muted);line-height:1.5}.gd-field-player dd{font-size:22px;font-weight:600;margin:4px 0 0;font-variant-numeric:tabular-nums}
.gd-field-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:calc(18px + env(safe-area-inset-top)) 24px calc(14px + env(safe-area-inset-bottom));border:0;border-radius:0;background:#06080D;color:var(--text);overflow:hidden}
.gd-field-dialog[open]{display:flex;flex-direction:column;gap:12px}.gd-field-dialog::backdrop{background:#06080D}.gd-field-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.gd-field-dialog h2{margin:4px 0 0;font-size:32px;letter-spacing:-1px}.gd-field-dialog>header .icon-btn{font-size:28px;width:48px;height:48px;background:#161C25}.gd-field-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.gd-field-dialog .gd-live-room{flex:1;min-height:0;display:flex;flex-direction:column;background:none;box-shadow:none}.gd-field-dialog .lf{flex:1;min-height:0;display:flex;flex-direction:column;background:#12151b;border:1px solid #303640;border-radius:28px;margin:0;overflow:hidden}.gd-field-dialog .lf-stage{flex:1;min-height:120px;aspect-ratio:auto!important}.gd-field-dialog .gd-stats-out{flex-shrink:0}.gd-field-dialog>footer{text-align:center;font-size:12px;line-height:1.5;color:var(--muted);flex-shrink:0}.gd-field-dialog .gd-player-tooltip{z-index:1}.gd-field-dialog .lf-caption{display:block}
@media(max-width:760px){
 .game-day .gd-reference-court{display:none}.gd-reference-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gd-reference-story>.gd-play-ticker,.gd-reference-story>.gd-player-feature{grid-column:1/-1}
 .gd-reference-story>.gd-owned-feature{flex-direction:column;align-items:flex-start;padding:14px;gap:10px;min-height:0}.gd-owned-sculpture{height:74px;width:56px;align-self:center}.gd-reference-story .gd-owned-copy{gap:4px;width:100%}.gd-reference-story .gd-owned-copy>.label,.gd-reference-story .gd-owned-copy>small{display:none}.gd-reference-story .gd-owned-copy strong{font-size:13px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.gd-reference-story .gd-owned-copy b{font-size:11px;margin:0;justify-content:space-between}
 .gd-field-entry{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px;min-height:0;position:relative;background:#16191f;border:1px solid #343a41;border-radius:24px;text-align:left;overflow:hidden}.gd-field-entry-icon{display:grid;place-items:center;width:100%;height:74px;color:var(--accent);flex-shrink:0;perspective:300px}.gd-field-entry-icon>svg{width:90px;height:74px;transform:rotateX(24deg) rotateZ(-13deg);box-shadow:4px 5px 0 #252e3a;border:1px solid #7288a066}.gd-field-entry>span:nth-child(2){min-width:0}.gd-field-entry strong{font-size:13px;line-height:1.5;font-weight:650;display:block}.gd-field-entry small{font-size:11px;line-height:1.5;color:var(--muted);display:block;margin-top:4px}.gd-field-entry>svg{color:var(--accent);position:absolute;right:14px;bottom:14px;width:15px;height:15px}.gd-reference-story>.gd-collection-entry{padding:14px;gap:10px;flex-direction:column;align-items:flex-start;font-size:13px}.gd-reference-story>.gd-collection-entry small{font-size:11px}
 .gd-field-dialog{padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));gap:10px}.gd-field-dialog h2{font-size:28px}.gd-field-dialog>footer{font-size:11px;padding-inline:10px}.gd-field-dialog .lf{border-radius:24px}
}

/* Final surface ownership for order and support routes, after generic glass. */
.order-page .page-head .label,.help-page .page-head .label{display:block}
.order-page .order-row{background:transparent;box-shadow:none;border-top:0;border-left:0;border-right:0}
.order-page .order-row:hover{background:var(--raised)}
.help-page .help-shortcuts>a,.help-page .help-contact,.help-page .help-ai{background:transparent;box-shadow:none;border-top:0;border-left:0;border-right:0}
.help-page .help-pane[hidden]{display:none}

.seller-balance-home{display:grid;gap:18px;padding:28px 0 22px}
.seller-balance-home>h2{font-size:clamp(46px,6vw,64px);letter-spacing:-2.5px;line-height:1.1;margin:0}
.seller-balance-home>p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.seller-balance-home details{border-top:1px solid var(--line);padding-top:17px}
.seller-balance-home summary{font-size:14px;cursor:pointer;min-height:36px}
.seller-balance-links{display:flex;gap:10px;flex-wrap:wrap}.seller-balance-links>.btn{flex:1}
.seller-bank-panel{border-top:1px solid var(--line);padding-top:18px}
.seller-bank-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;font-weight:700;min-height:62px}
.seller-bank-panel>summary::-webkit-details-marker{display:none}
.seller-bank-panel>summary small{display:block;font-size:12px;line-height:1.6;color:var(--muted);font-weight:400;margin-top:6px}
.seller-bank-panel[open]>summary>svg{transform:rotate(90deg)}
.seller-bank-content{display:grid;gap:18px;padding:24px 0 0}
.seller-bank-content>h2{font-size:26px;letter-spacing:-.8px;margin:0}
.seller-bank-content .seller-journey{background:transparent;border:0;padding:0;box-shadow:none}
.seller-bank-content .seller-journey-head b{font-size:20px;line-height:1.4}
.seller-bank-content .muted{font-size:13px;line-height:1.65;margin:0}
.seller-payment-sheet{max-width:650px;margin:auto}

/* Put the order identity and its amount together; shipment follows immediately. */
.order-detail-identity{padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:24px}
.order-detail-identity.is-card{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:20px}
.order-detail-identity .order-card-photo{width:88px;height:124px;margin:0}
.order-detail-identity h2{font-size:24px;line-height:1.2;margin:0 0 10px;letter-spacing:-.6px}
.order-detail-identity .order-total{margin:14px 0 0;padding:0;border:0}
.order-detail-identity .order-total>b{font-size:22px}
@media(max-width:600px){.order-detail-identity.is-card{grid-template-columns:68px minmax(0,1fr);gap:16px}.order-detail-identity .order-card-photo{width:68px;height:96px}.order-detail-identity h2{font-size:20px}}

/* Shipping is one focused task at a time, with the final address/parcel reviewed together. */
.shipping-workspace{padding:44px 28px 28px}.shipping-workspace>h2{font-size:30px;line-height:1.12;letter-spacing:-.8px;margin:26px 0 14px;outline:none}.shipping-workspace p{font-size:13px;line-height:1.65;color:var(--muted)}
.shipping-progress{display:flex;gap:8px;margin-top:24px}.shipping-progress>span{flex:1;font-size:10px;color:var(--muted)}.shipping-progress i{display:block;height:3px;border-radius:3px;background:var(--line);margin-bottom:9px}.shipping-progress .reached i{background:var(--accent)}.shipping-progress [aria-current]{color:var(--ink);font-weight:700}
.shipping-step,.shipping-review{display:grid;gap:18px;margin-top:24px}.shipping-step[hidden],.shipping-review[hidden],.shipping-actions [hidden]{display:none}.shipping-step details{border-top:1px solid var(--line);padding-top:16px}.shipping-step summary{padding:8px 0;font-weight:600;cursor:pointer}.shipping-step details .field{margin-top:14px}
.shipping-presets{display:grid;gap:10px}.shipping-presets>button{display:flex;align-items:center;gap:18px;padding:18px;text-align:left;border-radius:16px;border:1px solid var(--line);background:var(--raised);color:var(--ink);cursor:pointer}.shipping-presets>button>b{flex:1;font-size:15px}.shipping-presets small{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:400}.shipping-parcel-icon{color:var(--accent);font-size:30px}.shipping-review>section{border-bottom:1px solid var(--line);padding-bottom:18px}.shipping-review header{display:flex;align-items:center;justify-content:space-between;gap:16px}.shipping-review header b{font-size:16px}.shipping-actions{display:flex;gap:12px;margin-top:20px}.shipping-actions .primary{flex:1}.shipping-workspace [role=alert]{color:var(--red)}
@media(max-width:600px){.shipping-workspace{padding:40px 20px 24px}.shipping-workspace>h2{font-size:26px}}
.sheet:has(.seller-payment-sheet){max-width:720px}

/* Account tasks prioritize the actual content at phone sizes. */
@media(max-width:600px){
 .order-page{padding-top:12px}.order-page .page-head{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:12px;margin-bottom:14px}.order-page .page-head>div{flex:1}.order-page .page-head .order-back{margin-bottom:10px}.order-page .page-head .label{display:none}.order-page .page-head h1{font-size:34px;line-height:1.1;letter-spacing:-1px;margin:4px 0 10px}.order-page .page-head p{font-size:13px;line-height:1.5;margin:0}.order-page .page-head>.btn{align-self:center;flex-shrink:0}.order-nav{margin:16px 0 0;gap:10px}.order-nav nav .btn{padding:10px 8px;white-space:nowrap;font-size:12px}.order-nav nav{min-width:0}.order-page .order-row{padding:18px 0}.order-page .order-image{width:52px;height:72px}.order-page .order-summary small{font-size:11px;letter-spacing:.06em}
}

.shipping-parcel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.shipping-workspace>[hidden]{display:none}.shipping-parcel-grid .field{min-width:0}.shipping-parcel-grid .input{width:100%;min-width:0}.shipping-parcel-grid .field>span{font-size:12px}

/* Case studio: one live object first, controls alongside it, detail on demand. */
.case-room .page-head{align-items:center;flex-direction:row;flex-wrap:wrap;margin-bottom:20px}.case-room .page-head h1{font-size:40px;font-weight:750;letter-spacing:-1.4px;margin:8px 0}.case-room .page-head .label{display:block}.case-room .page-head p{font-size:14px;margin:0}.cr-options{position:relative;font-size:12px}.cr-options summary{cursor:pointer;padding:12px 16px;border:1px solid var(--line);border-radius:999px;list-style:none}.cr-options[open]>.cr-actions{position:absolute;right:0;top:100%;width:210px;z-index:12;background:var(--surface);padding:14px;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px #0006}.cr-options .btn{width:100%}.case-room .commerce-tabs{margin:0 0 20px;gap:6px;flex-wrap:nowrap;overflow:auto}.case-room .commerce-tabs .btn{border-radius:12px;background:transparent;color:var(--muted);white-space:nowrap;flex-shrink:0;padding:10px 16px;border-color:transparent}.case-room .commerce-tabs .btn.primary{background:var(--raised);border-color:var(--line);color:var(--ink)}
.case-room .cr-stage{background:#15191f;border:1px solid #ffffff0d;--cr-stage-ink:#b7c0ca;--cr-halo:transparent;--cr-ground:#15191f}.case-room .cr-stage[data-cr-background=forest]{background:#102421}.case-room .cr-stage[data-cr-background=cream]{background:#eceee8;--cr-stage-ink:#41504c}.case-room .cr-stage-ring{border-color:#ffffff0d;background:linear-gradient(0deg,#293039,#151a21);box-shadow:0 14px 0 #080a0d,0 35px 35px #0005;height:18%;bottom:12%;transform:rotateX(62deg);width:68%}.case-room .cr-studio-controls{background:transparent;box-shadow:none;border:0;padding:8px 0 0 16px}.case-room .cr-studio-controls h2{font-size:30px}.case-room .cr-studio{margin:0;gap:28px}.case-room .cr-studio .cr-stage{height:420px;border-radius:26px}.case-room .cr-rotation{padding:16px 4px;gap:12px}.case-room .cr-rotation .help{display:none}.case-room .cr-stage-caption{max-width:85%;line-height:1.45}.case-room .cr-summary{box-shadow:none}.case-room .cr-summary strong{font-size:20px}
@media(max-width:760px){.case-room .page-head{gap:12px;margin-bottom:16px}.case-room .page-head h1{font-size:32px}.case-room .page-head>div{min-width:0;flex:1}.case-room .cr-options summary{font-size:11px;padding:12px}.case-room .cr-studio{gap:8px}.case-room .cr-studio .cr-stage{height:300px}.case-room .cr-studio .cr-slab{width:160px;height:224px}.case-room .cr-studio-controls{padding:10px 0 0}.case-room .commerce-tabs{margin-bottom:16px}.case-room .commerce-tabs .btn{font-size:12px;padding:10px 13px}.case-room .cr-studio-controls .label{display:none}.case-room .cr-studio-controls h2{font-size:24px;margin:0}.case-room .cr-studio-controls>p{font-size:13px}.case-room .cr-rotation{margin:0}}

.collector-rooms .rooms-heading{margin:0 0 18px;align-items:center;display:flex}.collector-rooms .rooms-heading h1{font-size:34px;font-weight:700;letter-spacing:-1.2px}.collector-rooms .rooms-toolbar{margin-bottom:10px}.collector-rooms .rooms-canvas{height:clamp(320px,52dvh,560px)}.collector-rooms .rooms-space{border-radius:28px;background:#090b10}.collector-rooms .rooms-quick{margin:0 0 14px}.collector-rooms .rooms-quick button{background:transparent;border-color:transparent;color:var(--muted);border-radius:12px}.collector-rooms .rooms-quick button[aria-pressed=true]{background:var(--raised);color:var(--ink);border-color:var(--line)}.collector-rooms .rooms-stage-caption{background:linear-gradient(transparent,#0a0c12);padding:30px 20px 16px}.collector-rooms .rooms-guide-entry{padding:12px 0}.collector-rooms .rooms-status{min-height:0;font-size:11px}.collector-rooms .rooms-pulse{background:var(--surface);box-shadow:none}.collector-rooms .rooms-card{box-shadow:none;background:transparent}.collector-rooms .rooms-footnote{max-width:70ch}
@media(max-width:760px){.collector-rooms .rooms-heading h1{font-size:30px}.collector-rooms .rooms-heading>.btn{margin:0;font-size:11px;padding:10px 14px}.collector-rooms .rooms-heading .label{font-size:11px}.collector-rooms .rooms-picker{min-width:0;flex:1}.collector-rooms .rooms-canvas{height:clamp(280px,40dvh,390px)}.collector-rooms .rooms-space{border-radius:24px}.collector-rooms .rooms-quick{gap:4px}.collector-rooms .rooms-quick button{font-size:12px;padding:10px 14px}.collector-rooms .rooms-stage-caption span:last-child{font-size:10px}.collector-rooms .rooms-guide-entry>span{display:none}}

/* Activity is a quiet inbox: clear reading order, short controls, no stacked banners. */
.activity-inbox{max-width:880px;margin-inline:auto;gap:20px!important}
.activity-inbox>.page-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0}
.activity-inbox>.page-head>div{flex:1;min-width:150px}
.activity-inbox .page-head h1{font-size:34px;letter-spacing:-1.2px;line-height:1.1}
.activity-inbox .page-head p{font-size:14px;margin:8px 0 0}
.activity-filters{display:flex;gap:4px;padding:4px;background:#14161b;border-radius:24px;max-width:360px}
.activity-filters .btn{flex:1;border:0;background:transparent;box-shadow:none;min-height:44px;color:var(--muted)}
.activity-filters .btn.primary{background:#2b2e35;color:var(--text);box-shadow:0 2px 8px #0004}
.activity-inbox .activity-day{margin:10px 0 12px;color:var(--muted);font-size:11px;letter-spacing:1.2px}
.activity-inbox .activity-group{background:transparent;border:0;box-shadow:none;border-radius:0}
.activity-inbox .activity-item{border-radius:20px;padding:20px 14px;gap:16px;min-height:96px;align-items:center}
.activity-inbox .activity-item.is-unread{background:#171b21}
.activity-inbox .activity-item b{font-weight:600;font-size:15px;line-height:1.5}
.activity-inbox .activity-item small.label{font-size:11px;font-weight:500;letter-spacing:.5px}
.activity-inbox .activity-item .avatar{width:44px;height:44px;background:#252a30;flex:0 0 44px}
.activity-inbox .activity-item .grow{display:grid;gap:5px}
@media(max-width:600px){.activity-inbox{padding-top:18px}.activity-inbox>.page-head{flex-direction:row;align-items:center}.activity-inbox .page-head h1{font-size:30px}.activity-inbox .activity-filters{max-width:none}.activity-inbox .activity-item{padding:18px 10px;gap:12px}}

/* Membership portal: one selected plan, quiet account metrics, readable six-way navigation. */
.membership-plan-tabs{display:flex;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;gap:6px}.membership-plan-tabs button{flex:1 0 auto;min-width:92px;min-height:48px;white-space:nowrap}
.membership-pass-object[data-finish="collector"]{background:linear-gradient(135deg,#C2E2F5,#819CB8,#E8F6FF)}.membership-pass-object[data-finish="elite"]{background:linear-gradient(135deg,#DDD7F2,#9F95B9,#FAF6FF)}
.member-portal{padding:24px;border-radius:24px;background:var(--surface,#161E24);border:1px solid var(--line,#ffffff16);display:grid;gap:20px}.member-portal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.member-portal h2{font-size:22px;letter-spacing:-.5px;margin:0}.member-portal-heading a{display:inline-flex;align-items:center;gap:8px;font-size:14px}.member-portal-metrics{display:flex;flex-wrap:wrap;gap:28px}.member-portal-metrics>div{flex:1;min-width:150px;display:flex;flex-direction:column;gap:7px}.member-portal-metrics strong{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.2}.member-portal-metrics small{font-size:16px;color:var(--muted,#9EABA9);letter-spacing:0}.member-portal-metrics span,.member-portal p{font-size:13px;line-height:1.6;color:var(--muted,#9EABA9);margin:0}.member-portal progress{width:100%;height:6px;accent-color:#95E4CB}.member-portal>.btn{justify-self:start}
@media(max-width:600px){.membership-plan-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.membership-plan-tabs button{min-width:0;padding:12px 8px}.member-portal{padding:20px}.member-portal-metrics{gap:20px}.member-portal-metrics>div{min-width:120px}.member-portal-metrics strong{font-size:28px}}

/* Seller studio: one sales stage, a compact action rail, and manageable inventory. */
.seller-workspace{max-width:1240px;margin:auto;padding-block:28px 64px}.seller-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px}.seller-heading .label{display:block;margin-top:22px}.seller-heading h1{font-size:clamp(38px,4.5vw,64px);line-height:1.02;letter-spacing:-2.4px;margin:14px 0}.seller-heading p{color:var(--muted);font-size:16px}.seller-back{display:flex;gap:8px;align-items:center;color:var(--muted);min-height:44px}.seller-add{display:flex;gap:10px;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);border-radius:999px;min-height:54px;padding:0 24px;font-weight:750;white-space:nowrap}.seller-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px}.seller-sales{min-width:0;border:1px solid var(--line);border-radius:30px;background:var(--surface);padding:28px}.seller-sales-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.seller-periods{display:flex;gap:4px;padding:4px;background:var(--bg);border-radius:999px}.seller-periods button{padding:0 16px;min-height:38px;border-radius:999px;color:var(--muted);font-size:13px;font-weight:700}.seller-periods button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.seller-total{font-size:clamp(42px,5vw,64px);line-height:1.1;letter-spacing:-2px;display:block;margin-top:24px;font-variant-numeric:tabular-nums}.seller-period-label{color:var(--muted);margin-top:6px}.seller-chart{position:relative;margin-top:18px}.seller-chart svg{display:block;width:100%;height:clamp(160px,21vw,260px)}.seller-bar{opacity:.4;transition:opacity .18s}.seller-bar.is-emphasized{opacity:1}.seller-chart-controls{position:absolute;inset:0 3% -14px 0;display:flex}.seller-chart-controls button{flex:1;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2px;min-width:0;color:var(--muted);font-size:12px;border-radius:10px}.seller-chart-controls button[aria-pressed=true]{color:var(--accent)}.seller-chart-controls button:hover{background:#baffdf08}.seller-sales-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}.seller-sales-footer strong{display:block;font-size:24px}.seller-sales-footer small{display:block;color:var(--muted);margin-top:4px}.seller-sales-footer a,.seller-wallet{display:grid;place-items:center;border-radius:50%;width:46px;height:46px;background:var(--bg);color:var(--accent)}.seller-footnote{font-size:12px;line-height:1.6;color:var(--muted);margin-top:18px}.seller-chart-loading{height:200px;display:grid;place-items:center;color:var(--muted)}.seller-next{display:flex;flex-direction:column;gap:16px}.seller-balance{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.seller-balance>strong{font-size:40px;letter-spacing:-1px}.seller-balance>span:not(.seller-wallet):not(.label){color:var(--muted);font-size:14px}.seller-balance>b{display:flex;gap:12px;align-items:center;color:var(--accent);font-size:14px;margin-top:8px}.seller-actions :is(a,button){display:flex;align-items:center;gap:16px;padding:16px 10px;min-height:76px;border-bottom:1px solid var(--line)}.seller-actions :is(a,button)>svg:first-child{color:var(--accent)}.seller-actions :is(a,button)>span{flex:1;min-width:0}.seller-actions small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.seller-inventory{margin-top:42px}.seller-inventory>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.seller-inventory h2{font-size:28px;letter-spacing:-.8px;margin-top:10px}.seller-inventory-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0 10px}.seller-tabs{display:flex;gap:8px}.seller-tabs button{min-height:44px;border-radius:999px;padding:0 16px;font-weight:650;color:var(--muted)}.seller-tabs button[aria-pressed=true]{background:var(--surface);color:var(--text)}.seller-tabs span{margin-left:8px;opacity:.6}.seller-search{display:flex;align-items:center;gap:10px;padding:0 15px;background:var(--surface);border-radius:999px}.seller-search input{border:0!important;background:transparent!important;min-height:46px;box-shadow:none!important;max-width:210px}.seller-inventory-row{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:16px 6px}.seller-inventory-photo{width:52px;height:72px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--surface)}.seller-inventory-photo img{width:100%;height:100%;object-fit:contain}.seller-inventory-name{flex:1;min-width:0}.seller-inventory-name b{display:block;font-size:16px;overflow-wrap:anywhere}.seller-inventory-name small{display:block;color:var(--muted);margin-top:4px}.seller-inventory-name em{display:block;color:var(--accent);font-size:12px;font-style:normal;margin-top:6px}.seller-empty{text-align:center;padding:42px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}.seller-empty>p{color:var(--muted)}
@media(max-width:760px){.seller-workspace{padding-top:12px}.seller-heading{margin-bottom:26px;gap:12px}.seller-heading h1{font-size:40px;letter-spacing:-1.6px}.seller-add{width:50px;height:50px;padding:0;flex-shrink:0}.seller-add span{display:none}.seller-dashboard{display:flex;flex-direction:column;gap:18px}.seller-sales{border-radius:24px;padding:20px}.seller-sales-top{flex-wrap:wrap;gap:12px}.seller-chart svg{height:185px}.seller-total{font-size:48px}.seller-next{gap:12px}.seller-balance{display:grid;grid-template-columns:44px 1fr;column-gap:15px;row-gap:5px;padding:20px;border-radius:24px}.seller-wallet{grid-row:1/4}.seller-balance>strong{font-size:32px}.seller-balance>b{grid-column:2}.seller-actions{display:flex;gap:8px}.seller-actions :is(a,button){flex:1;flex-direction:column;align-items:flex-start;gap:10px;padding:15px 12px;background:var(--surface);border:0;border-radius:18px;min-width:0}.seller-actions :is(a,button)>svg:last-child{display:none}.seller-actions small{font-size:12px}.seller-inventory{margin-top:32px}.seller-inventory>header{align-items:flex-start}.seller-inventory h2{font-size:24px;line-height:1.2}.seller-inventory>header>.btn{font-size:0;min-width:44px;padding:10px}.seller-inventory>header>.btn svg{width:20px;height:20px}.seller-inventory-tools{flex-direction:column;align-items:stretch;gap:14px}.seller-tabs button{flex:1;padding:0 10px}.seller-search input{max-width:none;width:100%;min-width:0}.seller-inventory-row{gap:12px}.seller-inventory-row>strong{font-size:14px;white-space:nowrap}.seller-inventory-name b{font-size:14px}.seller-inventory-row>svg{display:none}}
@media(prefers-reduced-motion:reduce){.seller-bar{transition:none}}

.seller-actions button{text-align:left;width:100%}

.holo-command-dock .dock-selection[hidden]{display:none}

/* Digital passes use dark metal; their color belongs to the object, never the page. */
.membership-pass-object{--pass-a:#292c33;--pass-b:#111419;--pass-c:#252a32;color:#f4f7fb;border-color:#b9d5c93a;box-shadow:0 6px 0 #090d11,0 24px 42px #0005;background:linear-gradient(130deg,var(--pass-a),var(--pass-b),var(--pass-c))}
.membership-pass-object[data-finish=starter]{--pass-a:#24463d;--pass-b:#101e1b;--pass-c:#234e40}.membership-pass-object[data-finish=collector]{--pass-a:#283c53;--pass-b:#121b27;--pass-c:#29445f;background:linear-gradient(130deg,var(--pass-a),var(--pass-b),var(--pass-c))}.membership-pass-object[data-finish=plus]{--pass-a:#352c50;--pass-b:#181326;--pass-c:#393052}.membership-pass-object[data-finish=pro]{--pass-a:#4c4030;--pass-b:#211c16;--pass-c:#52442f}.membership-pass-object[data-finish=elite]{--pass-a:#3d3853;--pass-b:#15151f;--pass-c:#49405d;background:linear-gradient(130deg,var(--pass-a),var(--pass-b),var(--pass-c))}.membership-pass-object:before{border-color:#ffffff08}.membership-pass-object:after{border-color:#ffffff2c}.membership-pass-bottom small{color:#c5d2ce}.membership-pass-chip{border-color:#a6c8ba55;background:repeating-linear-gradient(0deg,transparent 0 7px,#a6c8ba55 7px 8px)}
@media(min-width:1100px){.seller-heading h1{font-size:52px}.seller-heading{margin-bottom:26px}.seller-workspace{padding-top:18px}.seller-chart svg{height:218px}}

/* Account membership keeps the current plan close; details unfold on request. */
.membership-account .page-head h1{font-size:34px;letter-spacing:-1.2px}.membership-account .page-head p{margin:8px 0}.membership-account .membership-intents{margin-top:10px}.membership-status .membership-manage{margin-left:auto;color:var(--text);background:var(--surface);padding:10px 16px;border:1px solid var(--line)}.membership-status p{margin:0}.member-portal-details{border-top:1px solid var(--line);padding-top:6px}.member-portal-details summary{min-height:44px;padding:12px 0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}.member-portal-expanded{display:grid;gap:18px;padding-top:12px}.member-portal-usage{display:grid;gap:8px}.member-portal-usage strong{font-size:14px}.member-portal-usage span{font-size:13px;color:var(--muted)}.member-portal-expanded .btn{min-height:44px}.member-portal-metrics{gap:20px}.member-portal{gap:16px}@media(max-width:600px){.membership-account .page-head h1{font-size:30px}.membership-account .membership-status{gap:6px!important}.membership-status .membership-manage{margin-left:0;font-size:12px}.member-portal{padding:18px}.member-portal-metrics>div{min-width:110px}}

/* Game Day studio: one performance, a readable live feed, a persistent court. */
.game-day .gd-live-studio{grid-template-columns:minmax(0,1fr) minmax(290px,.78fr);gap:24px;align-items:start;overflow:visible}
.gd-studio-performance,.gd-studio-feed{display:flex;flex-direction:column;gap:16px;min-width:0}
.gd-player-switcher{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 8px;scrollbar-width:none}
.gd-player-switcher button{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:62px;max-width:90px;flex-shrink:0;background:none;border:0;padding:0 4px;min-height:76px;color:#98a6ad;font-size:11px;line-height:16px;scroll-snap-align:start;transition:color .16s,transform .16s}
.gd-player-switcher button:hover{transform:translateY(-2px)}.gd-player-switcher button[aria-pressed=true]{color:#a5ffd8}
.gd-switch-face{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#1e242b;border:2px solid #343e48;overflow:hidden;color:#c6d6dd;font-weight:700}
.gd-switch-face img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.gd-player-switcher button[aria-pressed=true] .gd-switch-face{border-color:#7ceab8;box-shadow:0 0 0 3px #7ceab816}
.gd-live-studio .gd-player-feature{border-radius:28px;padding:22px 24px;background:linear-gradient(125deg,#172b29,#151c24 75%);border-color:#344942;min-height:220px}
.gd-live-studio .gd-feature-person h2{font-size:clamp(28px,2.8vw,42px);font-weight:750;line-height:1.05}.gd-live-studio .gd-feature-face{width:110px;height:110px;flex-basis:110px}
.gd-live-studio .gd-feature-stats dd{font-weight:700;font-size:30px;letter-spacing:-1px}.gd-live-studio .gd-reference-court{height:290px;min-height:290px;border-radius:24px}
.gd-live-studio .gd-court-heading{padding:16px 20px 0}.gd-live-studio .gd-court-heading h2{font-size:20px;line-height:28px;margin:2px 0}.gd-live-studio .gd-owned-feature{min-height:82px;padding:10px 18px;border-radius:20px}.gd-live-studio .gd-owned-sculpture{width:46px;height:66px}
.gd-now-feed,.gd-conversation-peek{min-width:0;padding:4px 0}.gd-now-feed>header,.gd-conversation-peek>header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}.gd-now-feed>header button,.gd-conversation-peek>header button{display:flex;gap:7px;align-items:center;background:none;border:0;min-height:44px;padding:4px;color:#98ebc3;font-size:12px;flex-shrink:0}.gd-conversation-peek h3{font-size:18px;letter-spacing:-.3px;margin:0}
.gd-now-play{width:100%;display:flex;text-align:left;gap:16px;padding:19px 4px;background:none;border:0;border-bottom:1px solid #ffffff12;border-radius:0;color:#eaf1f3;transition:background .16s}.gd-now-play:hover{background:#ffffff04}.gd-now-stamp{width:44px;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.gd-now-stamp b{font-size:13px;font-variant-numeric:tabular-nums;color:#b0bcc4}.gd-now-stamp small{font-size:10px;color:#7d8f99}.gd-now-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.gd-now-copy>b{font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:.7px;color:#a2b7c4}.gd-now-copy>span{font-size:16px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}.gd-now-copy>small{display:flex;align-items:center;gap:6px;font-size:11px;color:#839ba9}.gd-now-play.is-positive .gd-now-copy>b{color:#82edb8}.gd-now-play.is-negative .gd-now-copy>b{color:#f998a3}
.gd-source-caption{display:block;color:#758892;font-size:10px;line-height:16px;padding:10px 4px}.gd-live-empty{font-size:14px;line-height:1.6;color:#92a3ad;padding:12px 0}
.gd-conversation-peek{border-top:1px solid #ffffff15;padding-top:12px}.gd-peek-message{display:flex;align-items:flex-start;gap:10px;padding:9px 0}.gd-peek-message .avatar{width:28px;height:28px;flex:0 0 28px;font-size:10px}.gd-peek-message p{display:flex;flex-direction:column;gap:3px;min-width:0;margin:0;font-size:13px;line-height:19px}.gd-peek-message b{color:#a8bfcd;font-size:11px}.gd-peek-message p>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.gd-quick-chat{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;min-height:48px;background:#1d2930;border:1px solid #35454f;border-radius:26px;color:#a6becb;margin-top:10px;text-align:left;font-size:13px}.gd-quick-chat>span{flex:1}
@media(max-width:1000px) and (min-width:761px){.game-day .gd-live-studio{gap:18px;grid-template-columns:minmax(0,1fr) minmax(250px,.8fr)}.gd-live-studio .gd-player-feature{padding:18px}.gd-live-studio .gd-feature-face{width:84px;height:92px;flex-basis:84px}.gd-live-studio .gd-feature-stats dd{font-size:26px}.gd-now-copy>span{font-size:14px}}
@media(max-width:760px){.game-day .gd-live-studio{gap:12px;align-items:stretch}.gd-studio-performance{gap:10px}.gd-live-studio .gd-player-feature{padding:16px;min-height:174px}.gd-live-studio .gd-feature-person{margin:0 0 6px}.gd-live-studio .gd-feature-person h2{font-size:28px}.gd-live-studio .gd-feature-face{width:76px;height:72px;flex-basis:76px}.gd-live-studio .gd-feature-stats{padding-top:8px}.gd-live-studio .gd-feature-stats dd{margin-top:3px}.gd-live-studio .gd-player-switcher{padding-bottom:2px}.gd-live-studio .gd-player-switcher button{min-height:64px}.gd-live-studio .gd-switch-face{height:44px;width:44px}.gd-live-studio .gd-feature-stats dd{font-size:26px}.gd-live-studio .gd-reference-court{display:none}.gd-live-studio .gd-field-entry{width:100%;min-height:58px;padding:8px 14px;flex-direction:row;gap:14px;align-items:center}.gd-live-studio .gd-field-entry-icon{width:46px;height:40px;flex:0 0 46px}.gd-live-studio .gd-field-entry>svg{position:static;flex-shrink:0}.gd-live-studio .gd-field-entry>span:nth-child(2){flex:1}.gd-live-studio .gd-field-entry small{display:block;margin-top:3px;font-size:11px}.gd-now-copy>span{font-size:15px}.gd-now-play{padding:16px 0}.gd-player-switcher{margin-inline:-2px}.gd-studio-feed{gap:12px}}
@media(prefers-reduced-motion:reduce){.gd-player-switcher button,.gd-now-play{transition:none}.gd-player-switcher button:hover{transform:none}}

@media(min-width:761px){
 .gd-studio-performance{gap:12px}.gd-live-studio .gd-player-feature{min-height:178px;padding:16px 20px}.gd-live-studio .gd-feature-person{margin:0 0 6px}.gd-live-studio .gd-feature-face{width:78px;height:72px;flex-basis:78px}.gd-live-studio .gd-feature-person h2{font-size:32px;line-height:1.1;margin-bottom:5px}.gd-live-studio .gd-feature-stats{padding-top:9px}.gd-live-studio .gd-feature-stats dd{font-size:26px;margin-top:3px}.gd-live-studio .gd-reference-court{height:280px;min-height:280px}.gd-studio-feed>[data-gd-overview-part=collection]{margin-top:8px}
}
/* The overview already has the play text beside the court. Give that repeated
   caption space back to the scene; the full-screen view keeps its caption. */
.game-day .gd-live-studio .gd-reference-court .lf.lf-compact{margin:0;padding:0;gap:0}
.game-day .gd-live-studio .gd-reference-court .lf-head{display:none}
.game-day .gd-live-studio .gd-reference-court .lf.lf-compact .lf-stage{min-height:0;flex:1;aspect-ratio:auto!important}
.gd-live-studio .gd-court-heading{padding:10px 16px 0;min-height:46px}
.gd-live-studio .gd-court-heading .label{display:none}
.gd-live-studio .gd-court-heading h2{margin:0;font-size:20px;line-height:26px}

/* One-time welcome: an open, dark stage. No product JPEG or pale photo tray. */
.launch-entry{max-width:1400px}.launch-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:50px;align-items:center;min-height:calc(100svh - 130px);padding:32px 0 20px}.launch-copy{padding:28px 0}.launch-copy>.label{font-size:10px;letter-spacing:.16em;color:#8faaa7}.launch-copy h1{font-size:clamp(48px,6.4vw,90px);line-height:1.01;letter-spacing:-.06em;font-weight:750;margin:28px 0 22px;min-height:2.05em}.launch-copy>p{font-size:16px;line-height:1.65;color:var(--muted);max-width:36ch;min-height:3.3em}.entry-modes{display:flex;width:max-content;max-width:100%;gap:4px;padding:5px;background:#151b21;border-radius:999px;margin:30px 0}.entry-modes>button{min-height:44px;padding:9px 22px;border:0;border-radius:999px;background:transparent;color:#98a7af;font-size:13px;font-weight:650}.entry-modes>button[aria-selected=true]{background:#2a383d;color:#c7f8e8}.entry-modes>button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.launch-actions{display:flex;align-items:center;gap:12px}.launch-actions>.btn{min-height:56px;border-radius:999px;padding-inline:28px;font-size:16px}.launch-actions>.primary{background:#84eccb;color:#05251e}.launch-download{display:inline-flex;align-items:center;gap:10px;margin-top:24px;color:var(--muted);min-height:44px;font-size:12px}.launch-download>span{display:flex;align-items:center;gap:14px}.launch-art{min-width:0;align-self:stretch;display:grid;place-items:center;perspective:1100px}.entry-sculpture{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;max-width:600px;isolation:isolate}.entry-orbit{position:absolute;inset:3%;border:1px solid #91abbd16;border-radius:50%;transform:rotateX(18deg)}.entry-orbit.inner{inset:15%;border-color:#91abbd0b}.entry-plates{position:relative;width:48%;aspect-ratio:5/7;transform:rotateY(-12deg) rotateZ(-4deg);transform-style:preserve-3d;transition:transform 600ms cubic-bezier(.16,1,.3,1)}.entry-plate{position:absolute;inset:0;border-radius:24px;border:1px solid #b5dedc44;transition:transform 600ms cubic-bezier(.16,1,.3,1);box-shadow:0 20px 35px #0003}.entry-plate.back{background:#101c22;border-color:#638a8a55;transform:translateX(-21%) rotate(-13deg) translateZ(-18px)}.entry-plate.mid{background:#1a202d;border-color:#7d839d55;transform:translateX(22%) rotate(13deg) translateZ(-9px)}.entry-plate.front{background:linear-gradient(145deg,#252d34,#10171d 58%,#0a1016);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:24px}.entry-plate.front:before{content:'';position:absolute;inset:5px;border-radius:19px;border:1px solid #daf6f512;pointer-events:none}.entry-plate.front>span{font-size:10px;letter-spacing:.12em;color:#9faeb5}.entry-plate.front>img{height:65%;width:70%;object-fit:contain;filter:drop-shadow(0 8px 12px #0007)}.entry-plate.front>div{width:100%;display:flex;justify-content:space-between;align-items:center;color:#afc1c9;font-size:10px;letter-spacing:.13em}.entry-plate.front>div>i{height:5px;width:5px;border-radius:50%;background:#91ebcb}.entry-art-caption{position:absolute;bottom:0;font-size:10px;letter-spacing:.16em;color:#738592}.launch-art[data-mode=trade] .entry-plates{transform:rotateY(10deg) rotateZ(3deg)}.launch-art[data-mode=trade] .back{transform:translateX(-34%) rotate(-23deg) translateZ(-18px)}.launch-art[data-mode=trade] .mid{transform:translateX(34%) rotate(23deg) translateZ(-9px)}.launch-art[data-mode=play] .entry-plates{transform:rotateY(0deg) rotateZ(0deg) translateY(-10px)}.launch-art[data-mode=play] .entry-orbit{border-color:#91ebcb30}.launch-next{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:28px;margin-top:28px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.launch-next>span{font-size:10px;letter-spacing:.14em}.launch-next>a{display:flex;align-items:center;gap:14px;min-height:44px;color:var(--text)}.launch-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:34px 0 64px}.launch-paths>a{display:flex;gap:18px;align-items:center;min-height:90px;border-top:1px solid var(--line);padding-top:20px}.launch-paths>a>svg:first-child{color:var(--accent);flex-shrink:0}.launch-paths>a>svg:last-child{margin-left:auto;flex-shrink:0}.launch-paths>a>span{display:grid;gap:7px}.launch-paths b{font-size:15px;font-weight:650}.launch-paths small{font-size:11px;color:var(--muted);line-height:1.5}.route-loading-mark{display:grid;place-items:center;min-height:84px}.route-loading-mark img{object-fit:contain}
@media(max-width:760px){.launch-hero{grid-template-columns:1fr;gap:0;padding-top:8px;min-height:0}.launch-copy{padding:20px 0 0;display:contents}.launch-copy>.label{margin:12px 0 0;font-size:10px}.launch-copy h1{font-size:clamp(40px,9vw,60px);margin:22px 0 14px;grid-row:2}.launch-copy>p{font-size:14px;line-height:1.6;margin:0;min-height:3.2em;max-width:34ch;grid-row:3}.launch-art{grid-row:4;min-height:0;margin-top:8px}.entry-sculpture{max-width:330px;width:min(86vw,330px);aspect-ratio:1.1}.entry-plates{width:45%}.entry-plate{border-radius:18px}.entry-plate.front{padding:16px}.entry-plate.front>span,.entry-plate.front>div{font-size:10px}.entry-art-caption{font-size:10px;letter-spacing:.1em}.entry-modes{grid-row:5;width:100%;margin:22px 0 16px}.entry-modes>button{flex:1;padding-inline:8px}.launch-actions{grid-row:6}.launch-actions>.btn{flex:1;font-size:14px;padding-inline:12px}.launch-download{grid-row:7;justify-content:center;margin-top:12px}.launch-next{grid-row:8;margin-top:12px;padding-top:10px}.launch-next>span{font-size:10px}.launch-paths{grid-template-columns:1fr;gap:12px;margin:20px 0 38px}.launch-paths>a{min-height:80px}.entry-plate.front>img{height:61%}}
@media(prefers-reduced-motion:reduce){.entry-plates,.entry-plate{transition:none}}

/* Live sports workspace: readable schedule density and visible real updates. */
.game-day .gd-heading{padding:0 0 14px;margin:0;gap:12px;align-items:center}
.game-day .gd-heading h1{font-size:34px;line-height:1.15;margin:0 0 6px;letter-spacing:-1.3px}
.game-day .gd-heading p{margin:0;font-size:13px;line-height:1.4}
.game-day .gd-hub-navigation{margin:0 0 16px;gap:24px}
.game-day .gd-hub-navigation button{min-height:44px;font-size:14px}
.game-day .gd-date-strip{padding:4px 0 12px;gap:6px}
.game-day .gd-date-strip button{min-height:56px;border-radius:16px}
.game-day .gd-date-strip button b{font-size:22px}
.gd-live-total{display:inline-flex;align-items:center;gap:7px;color:#8ff2be;font-size:12px;font-weight:750;white-space:nowrap;padding:9px 12px;border-radius:999px;background:#62e8a412}
.gd-live-total[hidden]{display:none}.gd-live-total:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 12px #69f0b770}
.game-day .gd-game-group{margin-bottom:18px}
.game-day .gd-game-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.game-day .gd-event{padding:16px 18px;margin:0;border-radius:20px;min-width:0;position:relative;background:linear-gradient(130deg,#1d2a31,#172129);border:1px solid #ffffff0b}
.game-day .gd-event.is-live{border-color:#84eabd33;background:linear-gradient(135deg,#20342e,#17252b 75%)}
.game-day .gd-event:hover{border-color:#90dec55c;background:#25383c;transform:translateY(-2px)}
.game-day .gd-event-team{font-size:14px;line-height:1.3;gap:10px;margin-top:8px}
.game-day .gd-event-team b{font-size:26px;line-height:1.1;letter-spacing:-.6px}
.game-day .gd-room-open .gd-game-group>div{grid-template-columns:1fr;gap:8px}
.game-day .gd-room-open .gd-event{padding:12px}
.gd-moment-host:empty{display:none}
.gd-moment-host{position:fixed;z-index:25;top:auto;bottom:24px;left:auto;right:24px;transform:none;width:min(420px,calc(100% - 28px));height:auto;pointer-events:none}
.gd-moment-host .gd-game-moment{position:relative;top:auto;right:auto;width:100%;pointer-events:auto;background:#152c27f5;border-color:#83e8bd60;box-shadow:0 14px 48px #0006;border-radius:20px}
.game-day .gd-room-open .gd-score-pop{animation:gdLiveScore .65s ease-out both}
@keyframes gdLiveScore{0%{color:#b2ffd6;transform:scale(1.13);text-shadow:0 0 22px #66efa477}100%{transform:scale(1)}}
@media(min-width:1400px){.game-day .gd-games-surface:not(.gd-room-open) .gd-game-group>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.game-day .gd-heading>div:first-child{flex-basis:auto}.game-day .gd-heading h1{font-size:30px}.game-day .gd-heading-actions{width:auto;display:flex;justify-content:flex-end}.game-day .gd-heading-actions .btn{font-size:11px;min-height:40px;padding:8px 12px}.game-day .gd-heading-actions .btn[href="/vault"]{display:none}.gd-live-total{padding:6px 8px;font-size:10px}.game-day .gd-game-group>div{grid-template-columns:1fr;gap:9px}.game-day .gd-event{padding:14px 16px}.game-day .gd-date-strip button{min-height:52px}.game-day .gd-heading-actions{gap:5px}.gd-moment-host{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);right:12px;width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.game-day .gd-event:hover{transform:none}.game-day .gd-room-open .gd-score-pop{animation:none}.gd-moment-host .gd-game-moment{animation:none}}
@media(min-width:1100px) and (max-height:820px){
 .game-day .gd-room-open .gd-back{min-height:30px;margin-bottom:4px}
 .game-day .gd-room-open .gd-scorebar{min-height:76px;padding-block:6px}
 .game-day .gd-scorebar .gd-score-value{font-size:48px}
 .game-day .gd-room-navigation{min-height:44px;margin-top:6px;padding-block:0}
 .game-day .gd-live-studio{height:100%;gap:20px}
 .gd-live-studio .gd-studio-performance{gap:8px}
 .gd-live-studio .gd-player-switcher{padding:0;gap:10px}
 .gd-live-studio .gd-player-switcher button{min-height:54px;padding:0}
 .gd-live-studio .gd-switch-face{width:36px;height:36px}
 .gd-live-studio .gd-player-feature{min-height:0;padding:12px 16px}
 .gd-live-studio .gd-feature-person{margin:0 0 4px}
 .gd-live-studio .gd-feature-person h2{font-size:26px;line-height:1.1;margin:0 0 4px}
 .gd-live-studio .gd-feature-face{height:48px;width:60px;flex-basis:60px}
 .gd-live-studio .gd-feature-stats{padding-top:6px}
 .gd-live-studio .gd-feature-stats dd{font-size:24px;margin-top:3px}
 .gd-live-studio .gd-reference-court{height:224px;min-height:224px}
 .gd-live-studio .gd-court-heading{min-height:36px;padding-top:6px}
 .gd-live-studio .gd-court-heading h2{font-size:18px}
 .gd-live-studio .gd-court-heading button{min-height:32px}
 .gd-live-studio .gd-court-note{display:none}
}

/* A person's identity is one clear profile destination in a conversation. */
.dm-conversation-header .dm-peer-link{display:flex;align-items:center;gap:12px;min-width:0;flex:1;min-height:44px;border-radius:14px;padding:4px;color:var(--text);transition:background 160ms ease}
.dm-peer-link>span{display:flex;flex-direction:column;min-width:0;gap:3px}.dm-peer-link b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-peer-link>svg{margin-left:auto;flex:none;color:var(--muted)}.dm-peer-link:hover{background:#ffffff08}.dm-peer-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Game Day: the feed is the primary surface; detail lives one tap away. */
.game-day .gd-room-navigation{max-width:520px;margin-inline:auto;display:flex;gap:0;padding-bottom:0}.game-day .gd-room-navigation>button{flex:1;min-height:46px;border-radius:0;border:0;border-bottom:2px solid transparent;background:none;font-size:15px;font-weight:700}.game-day .gd-room-navigation>button[aria-selected=true]{color:#99F4CD;border-bottom-color:#99F4CD}
.gd-room-tools{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 12px}.gd-room-tools>button{display:flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;color:#afbebf;font-size:12px;font-weight:600}
.game-day .gd-live-studio.gd-feed-first{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);height:auto;gap:32px;align-items:start}.gd-feed-first .gd-studio-feed{gap:20px}.gd-feed-first .gd-studio-performance{gap:18px}.gd-feed-first .gd-now-play{display:flex;flex-direction:column;gap:12px;padding:20px 4px}.gd-feed-first .gd-now-play.is-latest{border:1px solid #89e4bd29;border-radius:24px;background:#15241f;padding:20px;margin:6px 0 8px}.gd-feed-first .gd-now-play.is-latest.is-positive{background:#143324}.gd-now-person{display:flex;align-items:center;gap:8px;min-height:36px;width:100%}.gd-now-person>small{color:#91a59e;font-size:12px;font-variant-numeric:tabular-nums}.gd-now-person>b{margin-left:auto;font-size:10px;letter-spacing:1px;color:#8debbf}.gd-now-person .gd-play-face{width:36px;height:36px}.gd-now-copy{width:100%;gap:12px}.gd-feed-first .gd-now-copy>span{font-size:18px;line-height:1.55;font-weight:500}.gd-feed-first .is-latest .gd-now-copy>span{font-size:22px;line-height:1.4;letter-spacing:-.3px;font-weight:600}.gd-feed-first .is-positive .gd-now-copy>span{color:#a2f3c8}.gd-feed-first .is-negative .gd-now-copy>span{color:#ffb1b5}.gd-feed-first .gd-now-copy>small{align-self:flex-end;min-height:28px;font-size:12px}.gd-feed-first .gd-player-feature{background:#151e22;min-height:0;border:1px solid #ffffff0c;padding:20px}.gd-feed-first .gd-feature-person h2{font-size:30px;line-height:1.12}.gd-feed-first .gd-feature-face{width:92px;height:92px;flex-basis:92px}.gd-feed-first .gd-conversation-peek{position:sticky;bottom:0;background:#0c1219;padding:12px 0}.gd-feed-first .gd-conversation-peek>header,.gd-feed-first .gd-peek-message,.gd-feed-first .gd-conversation-peek>.gd-live-empty{display:none}.gd-feed-first .gd-quick-chat{margin:0;min-height:54px}
@media(max-width:900px){.game-day .gd-live-studio.gd-feed-first{grid-template-columns:minmax(0,1fr)}.gd-feed-first .gd-studio-performance{display:none}.gd-room-tools{gap:16px}.gd-room-tools>button{font-size:12px}.gd-feed-first .gd-now-copy>span{font-size:16px}.gd-feed-first .is-latest .gd-now-copy>span{font-size:18px;line-height:1.5}}

.game-day .gd-room-navigation{margin:0 auto!important;width:100%;justify-content:center!important}.game-day .gd-room-navigation>button{justify-content:center!important;text-align:center!important}.gd-feed-first .gd-feature-face{border-radius:50%;background:#26302e}.gd-feed-first .gd-feature-face>img{object-fit:cover;object-position:center 20%}.gd-now-person .gd-play-person:nth-child(n+3){display:none}

/* A game is a focused screen on phones; the back action restores the dock. */
@media(max-width:900px){
 .atelier-app.is-game-workspace:has(.gd-room-open:not([hidden]))>.header,
 .atelier-app.is-game-workspace:has(.gd-room-open:not([hidden]))>.tabs{display:none}
 .atelier-app.is-game-workspace>.main:has(.gd-room-open:not([hidden])){height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));margin:0;min-height:0}
 .game-day .gd-room-tools{margin-bottom:0}
 .game-day .gd-room-open .gd-panel[data-gd-panel=field]{padding-top:0}
 .gd-feed-first .gd-studio-feed{gap:10px}
 .gd-feed-first .gd-now-play{padding-block:14px;gap:8px}
 .gd-feed-first .gd-now-play.is-latest{padding:16px}
 .game-day .gd-panel[data-gd-panel=chat] .gd-composer{margin:4px 0 0;padding:10px}
 .gd-composer>div{gap:12px;align-items:center}
 .gd-composer>div>small{min-width:0;flex:1;font-size:11px;line-height:16px}
 .gd-composer [data-gd-send]{flex:0 0 auto;min-width:84px;white-space:nowrap;word-break:normal;overflow-wrap:normal;padding-inline:14px}
}

/* Message actions expand in the transcript, never underneath its clipped edge. */
.gd-message{position:relative;flex-wrap:wrap}
.gd-message-actions[open]{flex-basis:100%;width:100%;padding-top:4px}
.gd-message-actions[open]>summary{position:absolute;right:0;top:0}
.gd-message:has(.gd-message-actions[open]) .gd-message-content{padding-right:32px}
.gd-message-actions[open]>div{position:static;width:100%;display:flex;flex-wrap:wrap;gap:4px;box-sizing:border-box}
.gd-message-actions[open] button{width:auto;flex:1;white-space:normal;color:var(--text)}
.dm-delete{display:block;margin:6px 0 0 auto;min-height:36px}

.gd-action-dock .gd-pulse-row{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none}.gd-action-dock .gd-pulse-closed{max-width:100%;white-space:normal;overflow:visible;line-height:1.5}

.account-next{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0}.account-next h2{font-size:20px;line-height:1.3;margin:6px 0}.account-next p{margin:0}.account-next .btn{flex:none}.account-setup-progress{width:100%;height:8px;accent-color:var(--accent)}@media(max-width:560px){.account-next{align-items:stretch;flex-direction:column;gap:12px}.account-next .btn{align-self:flex-start}}
/* Private history stays in a focused sheet; long words and photos never widen it. */
.message-library{gap:18px}.message-library h2{margin:8px 0}.message-library form{flex-wrap:wrap}.message-library input{min-width:160px}.history-results{display:grid;gap:12px}.history-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.history-result{min-width:0;overflow-wrap:anywhere;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.history-result p{white-space:pre-wrap;margin:8px 0}.history-result img{display:block;width:100%;height:220px;object-fit:contain;margin-bottom:12px;border-radius:12px;background:var(--bg)}.history-result time{display:block;font-size:12px;color:var(--muted);margin-top:8px}@media(max-width:540px){.history-photos{grid-template-columns:1fr}}

.inventory-import {min-width:0}.inventory-import p{line-height:1.6}.inventory-import textarea{min-height:160px;resize:vertical;font-family:ui-monospace,monospace;font-size:14px}.inventory-import-rows{max-height:42dvh;overflow:auto;overscroll-behavior:contain;border-block:1px solid #ffffff20}.inventory-import-row{padding:14px 4px;border-bottom:1px solid #ffffff15;overflow-wrap:anywhere}.inventory-import-row small,.inventory-import-row span{display:block;margin-top:6px;line-height:1.5;color:var(--muted)}.inventory-import-row label,.inventory-import-consent{display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5}.inventory-import input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--accent)}.inventory-import-file-actions{display:flex;flex-wrap:wrap;gap:12px}.inventory-import-file-actions>.btn{flex:1 1 220px;min-width:0;white-space:normal}.inventory-import-picker{position:relative}.inventory-import-picker:focus-within{outline:2px solid var(--accent);outline-offset:3px}.inventory-import-picker .inventory-import-file{position:absolute;inset:0;width:100%;height:100%;max-width:none;opacity:0;cursor:pointer}.inventory-import-consent{align-items:flex-start;padding-block:12px}

/* Status belongs inside the scoreboard, without the retired connection strip padding. */
.game-day .gd-room-open .gd-scorebar-mid [data-gd-connection]{padding:0;background:none;width:100%}
.game-day .gd-scorebar-mid .gd-connection{overflow-wrap:normal;word-break:normal}
.game-day .gd-room-open .gd-room-switcher .gd-back{min-height:44px;margin:0}

/* Preparation stays separate from publication; roomy controls wrap on phones. */
.seller-preparation{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:22px;background:var(--surface);display:grid;gap:14px}
.seller-preparation h3{font-size:20px;line-height:1.3;margin:0 0 7px}.seller-preparation p{color:var(--muted);line-height:1.6;margin:0}.seller-preparation-actions{display:flex;flex-wrap:wrap;gap:10px}.seller-preparation .btn{min-height:44px;white-space:normal;text-align:center}.seller-inventory-row[aria-pressed]{width:100%;text-align:left;color:var(--text);font:inherit}.seller-inventory-row[aria-pressed=true]{background:var(--surface);box-shadow:inset 3px 0 var(--accent)}.seller-inventory-row[disabled]{opacity:.55}
@media(max-width:580px){.seller-preparation-actions{display:grid;grid-template-columns:minmax(0,1fr)}.seller-preparation{padding:16px}.seller-inventory-row[aria-pressed]{padding-inline:8px}}

.seller-chart-controls small{display:none}
@media(max-width:580px){.seller-chart-controls{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.seller-chart-controls button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:52px;padding:10px;background:var(--bg);text-align:left;line-height:1.5}.seller-chart-controls small{display:block;font-size:12px;overflow-wrap:anywhere}.seller-chart-controls button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}}

.offer-fee-preview{display:grid;gap:7px;padding-block:12px;font-size:13px;line-height:1.5}.offer-fee-preview>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.offer-fee-preview small{font-size:12px;color:var(--muted);line-height:1.6}

/* Keep the price/action below the card copy on narrow seller inventories. */
@media(max-width:580px){
 .seller-inventory-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:8px}
 .seller-inventory-photo{grid-column:1;grid-row:1/3}
 .seller-inventory-name{grid-column:2;overflow-wrap:anywhere}
 .seller-inventory-row>strong{grid-column:2;white-space:normal;overflow-wrap:anywhere;text-align:left}
 .seller-tabs{flex-wrap:wrap}.seller-tabs button{flex:1 1 120px;white-space:normal;min-height:44px;padding-block:8px}
 .seller-actions{flex-wrap:wrap}.seller-actions :is(a,button){flex:1 1 110px}
 .seller-periods button{min-height:44px}
}

@media(max-width:380px){.seller-tabs{display:grid;grid-template-columns:minmax(0,1fr)}.seller-tabs button{width:100%;min-height:44px}}

/* Membership shortcuts lead to included tools; the full catalog stays grouped. */
.member-benefit-link{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:44px;padding-block:var(--s-3);border-bottom:1px solid var(--line);color:var(--text)}
.member-benefit-link>span{display:grid;gap:var(--s-1);min-width:0}.member-benefit-link small{color:var(--muted)}.member-benefit-link svg{flex:none}
.membership-tool-groups{display:grid;gap:var(--s-2)}.membership-tool-groups>details{border-bottom:1px solid var(--line)}.membership-tool-groups summary{min-height:44px;padding-block:var(--s-3);cursor:pointer}.membership-tool-groups ul{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-2);padding-block:var(--s-3)}

.membership-plan-disclosure>summary{min-height:48px;display:flex;align-items:center;cursor:pointer;color:var(--accent);font-size:var(--fs-body);font-weight:600;padding-block:var(--s-3)}.membership-plan-disclosure>summary::after{content:"+";margin-left:auto}.membership-plan-disclosure[open]>summary::after{content:"−"}
/* Conversations keep text, controls and the keyboard in separate layout rows. */
.dm-page .dm-layout{min-height:220px;max-height:none}
.dm-page .dm-conversation{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0}
.dm-page .dm-conversation-header{flex-wrap:wrap;min-width:0;gap:8px;padding:12px}
.dm-page .dm-conversation-header .dm-peer-link{min-width:0;flex:1}
.dm-page .dm-conversation-header a{overflow-wrap:anywhere;min-width:0}
.dm-page .dm-transcript{min-width:0;overscroll-behavior:contain;scroll-padding-block:16px}
.dm-page .bubble{min-width:0;max-width:min(90%,520px);box-sizing:border-box;white-space:normal}
.dm-page .dm-body{font-size:1rem;line-height:1.5;word-break:normal;overflow-wrap:anywhere}
.dm-page .dm-time{font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}
.dm-message-actions>summary,.dm-conversation-options>summary,.dm-compose-tools>summary{list-style:none;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px}
.dm-message-actions>summary::-webkit-details-marker,.dm-conversation-options>summary::-webkit-details-marker,.dm-compose-tools>summary::-webkit-details-marker{display:none}
.dm-message-actions>summary:focus-visible,.dm-conversation-options>summary:focus-visible,.dm-compose-tools>summary:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:2px}
.dm-message-actions{margin-left:auto;width:fit-content;max-width:100%}
.dm-message-actions[open]{width:100%}
.dm-message-actions>div,.dm-conversation-options>div,.dm-compose-tools>div{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.dm-message-actions .dm-delete{margin:0;min-height:44px;color:inherit;white-space:normal}
.dm-conversation-options{margin-left:auto}
.dm-conversation-options[open]{flex-basis:100%;display:flex;flex-direction:column;align-items:flex-end}
.dm-compose-tools>summary{width:fit-content;font-size:.875rem;color:var(--muted)}
.dm-page .dm-compose{min-width:0;padding:10px 12px;max-height: min(320px,55dvh);overflow-y:auto}
.dm-page .dm-compose form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.dm-page .dm-compose textarea{width:100%;min-width:0;box-sizing:border-box;font-size:1rem;line-height:1.5;min-height:48px;max-height:144px;resize:none;border-radius:16px}
.dm-page .dm-compose form>.btn{min-height:48px;min-width:60px;border-radius:16px;padding:10px 14px}
.dm-page .dm-compose .chat-keyboard-hint,.dm-page .dm-safety-note{margin:6px 0 0;font-size:.75rem;line-height:1.4}
@media(max-width:820px){.dm-page .dm-layout:not(.has-thread) .dm-conversation{display:none}.dm-page .dm-layout.has-thread .dm-conversation{display:grid}.dm-page:has(.has-thread)>.page-head{display:none}.dm-page .dm-compose .chat-keyboard-hint{display:none}}

.dm-page .dm-peer-link b{white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.dm-page .bubble.me .dm-send-error{color:#702820;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.dm-page .dm-body{white-space:pre-wrap}

@media(max-width:420px){
 .dm-page .dm-peer-link{gap:8px;padding:0}
 .dm-page .dm-peer-link>svg,.dm-page .dm-peer-link small{display:none}
 .dm-page .dm-peer-link b{font-size:15px;word-break:normal;overflow-wrap:break-word}
 .dm-page .dm-conversation-header{padding:8px;gap:6px}
 .dm-page .dm-peer-link .avatar{width:32px;height:32px;flex:0 0 32px}
}

/* Task-first signed-in workspace: one vocabulary, readable desktop labels,
   and a flat five-destination dock. Public/QR introductions stay untouched. */
@media(min-width:1100px){
 .atelier-app.clarity-shell.is-member{padding-left:176px}
 .atelier-app.clarity-shell.is-member>.header{margin-left:-176px;width:calc(100% + 176px)}
 .atelier-app.clarity-shell.is-member>.atelier-sidebar{width:176px;padding:20px 12px;top:68px}
 .atelier-app.clarity-shell.is-member>.atelier-sidebar nav>a,.atelier-app.clarity-shell.is-member>.atelier-sidebar .rail-more>summary{flex-direction:row;justify-content:flex-start;text-align:left;gap:12px;min-height:48px;padding:12px;font-size:13px;border-radius:12px}
 .clarity-shell .atelier-sidebar a[aria-current=page]{background:#192b27;color:#c5ffe6}
 .clarity-shell .atelier-sidebar a[aria-current=page]:after{display:none}
 .atelier-app.clarity-shell .atelier-sidebar a.atelier-scan{margin:8px 0 0;min-height:48px;border:0;border-radius:12px;background:#97efcb;box-shadow:none}
 .clarity-shell .atelier-sidebar .atelier-scan span{font-size:13px}
 .clarity-shell .rail-menu{left:calc(100% + 10px);max-height:calc(100dvh - 100px);overflow-y:auto;border-radius:16px}
}
@media(max-width:1099px){
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock{left:0;right:0;bottom:0;width:100%;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-radius:0;border:0;border-top:1px solid #ffffff14;background:#11191c;backdrop-filter:none;box-shadow:none;gap:0}
 .clarity-shell .holo-command-dock .dock-selection{display:none}
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock a{min-height:54px;padding:6px 2px;border-radius:12px;gap:5px;font-size:10px;color:#a6b7b2}
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock a[aria-current=page]{background:#263c34;color:#b7f8db}
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock a.lens .dock-glyph{margin:0;width:26px;height:26px;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;transform:none}
 /* The older holo ring would paint a square gradient behind this flat glyph; Scan reads as a plain mint icon here. */
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock a.lens .dock-glyph:before{display:none}
 .atelier-app.clarity-shell.is-member>.tabs.holo-command-dock a.lens .dock-glyph svg{width:24px;height:24px;padding:0;border-radius:0;background:none;color:var(--accent);stroke:currentColor;stroke-width:2}
 .clarity-shell .holo-command-dock a.lens:before,.clarity-shell .holo-command-dock a.lens:after{display:none}
 .atelier-app.clarity-shell.is-member>.main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}
.clarity-shell.is-member .header-actions>a[aria-label="Your profile"]{display:grid;place-items:center;min-width:44px;min-height:44px}
.account-restart.account-focused{max-width:1080px}
.account-focused .profile-head{padding:0 0 20px;border-bottom:1px solid var(--line)}
.account-focused .profile-head h1{font-size:32px;line-height:1.15;overflow-wrap:anywhere}
.account-focused .account-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:28px;align-items:start}
.account-focused .account-activity-panel h2,.account-focused .account-plan-panel h2{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin:8px 0 18px}
.account-focused .account-shortcuts{display:grid;grid-template-columns:1fr;border:0;padding:0;gap:0}
.account-restart.account-focused .account-shortcuts>a{display:flex;flex-direction:row;justify-content:flex-start;text-align:left;gap:14px;min-height:76px;padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0}
.account-focused .account-shortcuts>a>svg{width:22px;min-width:22px;color:#a5ddc6}
.account-focused .account-shortcuts>a>svg:last-child{margin-left:auto;width:16px;min-width:16px;color:var(--muted)}
.account-focused .account-shortcuts a>span{display:grid;gap:4px;min-width:0}
.account-focused .account-shortcuts b{font-size:15px;line-height:1.35;font-weight:650}
.account-focused .account-shortcuts small{font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
.account-focused .account-plan-panel{padding:24px;border:1px solid #315347;border-radius:20px;background:linear-gradient(140deg,#1a342c,#13221e);min-width:0}
.account-focused .account-plan-panel h2{font-size:30px;margin-bottom:10px;color:#c5ffe4}
.account-focused .account-plan-panel>p{font-size:14px;line-height:1.6;margin:0 0 18px;color:#b4c9c0}
.account-focused .account-plan-panel>.btn{width:100%;justify-content:space-between;white-space:normal}
.account-focused .account-plan-tools{display:grid;margin-top:16px}
.account-focused .account-plan-tools>a{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #ffffff10}
.account-focused .account-plan-tools>a>span{display:grid;gap:4px;min-width:0}
.account-focused .account-plan-tools b{font-size:13px;line-height:1.5}
.account-focused .account-plan-tools small{font-size:12px;color:#b4c9c0;line-height:1.5}
.account-focused .account-plan-tools svg{flex-shrink:0;margin-left:auto}
.account-focused .account-all-tools{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:13px;color:#b9f7db}
.account-focused .account-protection{border-top:1px solid #ffffff14;margin-top:6px}
.account-focused .account-protection summary{min-height:44px;cursor:pointer;font-size:13px;align-content:center;color:#b4c9c0}
.account-focused .account-protection a{display:flex;align-items:center;gap:10px;min-height:64px;font-size:13px}
.account-focused .account-protection small{display:block;font-size:12px;line-height:1.6;color:#b4c9c0;margin-top:4px}
.account-focused .account-directory{padding-top:6px}
.account-focused .account-directory [data-account-groups]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-top:18px}
.account-focused .account-group{border:1px solid var(--line);border-radius:14px;background:#111a1d;padding:0 16px}
.account-focused .account-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;cursor:pointer;font-size:15px;list-style:none}
.account-focused .account-group>summary::-webkit-details-marker{display:none}
.account-focused .account-group>summary>span{display:grid;gap:3px}
.account-focused .account-group>summary small{font-size:11px;line-height:1.5;color:var(--muted);font-weight:400}
.account-focused .account-group[open]>summary>svg{transform:rotate(45deg)}
.account-focused .account-group .menu{border:0;background:none;padding:0;margin:0}
.account-focused .account-group .menu>a,.account-focused .account-group .menu>button{padding-inline:0;min-height:64px;border-top:1px solid var(--line)}
.account-focused .account-footer-actions{padding-top:10px;border-top:1px solid var(--line)}
.account-focused details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.vault-focused .page-head{align-items:center;gap:18px;margin-bottom:22px}
.vault-focused .page-head h1{font-size:34px;line-height:1.15;letter-spacing:-1px;margin:6px 0}
.vault-focused .tools{display:grid;grid-template-columns:minmax(160px,1fr) minmax(140px,.35fr) minmax(140px,.35fr);gap:12px;margin-bottom:20px}
.vault-focused .tools .input-wrap{min-width:0}
.vault-focused .tools :is(input,select){min-height:48px;min-width:0;font-size:14px}
.vault-display-tools{margin-top:28px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#10191c}
.vault-display-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;padding:20px;cursor:pointer;list-style:none}
.vault-display-tools>summary::-webkit-details-marker{display:none}
.vault-display-tools>summary>span{display:grid;gap:5px}
.vault-display-tools>summary b{font-size:16px;line-height:1.3}
.vault-display-tools>summary small{font-size:12px;color:var(--muted);line-height:1.5}
.vault-display-tools>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.vault-display-content{padding:0 20px 20px}
.vault-focused .vault-display-content .vault-featured{margin:0 0 20px;min-height:270px;border-radius:14px;padding:18px}
.vault-focused .vault-display-content .vault-featured-art{height:230px}
.vault-focused .vault-display-content .vault-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.market-focused .photo-market-heading{gap:18px;align-items:center}
.market-focused .photo-market-heading h1{font-size:clamp(30px,4vw,44px);line-height:1.1}
.market-focused .photo-market-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.market-focused .market-activity-menu{margin:8px 0 18px;border-bottom:1px solid var(--line)}
.market-focused .market-activity-menu>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;width:fit-content;font-size:13px;color:var(--muted);list-style:none}
.market-focused .market-activity-menu>summary::-webkit-details-marker{display:none}
.market-focused .market-activity-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.market-focused .market-activity-menu .photo-market-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:4px 0 12px;gap:6px 16px;border:0}
.market-focused .market-activity-menu .photo-market-links>span{display:none}
.market-focused .market-activity-menu .photo-market-links>a{min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px}
@media(max-width:760px){
 .account-focused .account-workspace{grid-template-columns:1fr;gap:24px}
 .account-focused .account-directory [data-account-groups]{grid-template-columns:1fr;gap:10px}
 .account-focused .profile-head{gap:12px}
 .account-focused .profile-head h1{font-size:26px}
 .account-focused .profile-head>.row{width:auto;margin-left:auto}
 .account-focused .account-plan-panel{padding:20px}
 .vault-focused .page-head{align-items:flex-start}
 .vault-focused .page-head .row{flex-shrink:0}
 .vault-focused .page-head h1{font-size:28px}
 .vault-focused .tools{grid-template-columns:1fr 1fr;gap:10px}
 .vault-focused .tools>.input-wrap{grid-column:1/-1}
 .vault-focused .vault-display-content .vault-sections{grid-template-columns:1fr}
 .vault-display-content{padding:0 12px 12px}
 .market-focused .market-activity-menu .photo-market-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .market-focused .photo-market-heading h1{font-size:30px}
 .market-focused .photo-market-heading>.btn{font-size:13px;padding-inline:14px;flex-shrink:0}
}
@media(max-width:380px){.vault-focused .page-head,.market-focused .photo-market-heading{flex-wrap:wrap}.account-focused .profile-head>.row{width:100%;margin:0}.account-focused .profile-head>.row>.btn{flex:1}}
@media(prefers-reduced-motion:reduce){.clarity-shell :is(.rail-destinations a,.holo-command-dock a,.account-group>summary>svg){transition:none}}
/* Narrow phones need complete choice labels, not two compressed select menus. */
@media(max-width:360px){
 .vault-focused .tools{grid-template-columns:minmax(0,1fr)}
 .vault-focused .tools>select{width:100%;box-sizing:border-box}
 .market-focused .photo-market-controls{grid-template-columns:minmax(0,1fr)}
 .market-focused .photo-market-controls>.photo-refine{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;min-height:44px}
 .market-focused .photo-market-controls>.photo-sort{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;max-width:none;min-width:0}
 .market-focused .photo-sort .input{width:100%;height:44px;min-height:44px;text-align:left;font-size:14px;padding-inline:12px;border:1px solid var(--line);box-sizing:border-box}
 .market-focused .photo-market-browse{flex-wrap:wrap;gap:8px 16px}
 .market-focused .photo-market-browse>label{flex-basis:100%;min-width:0}
 .market-focused .photo-market-browse select{width:100%;max-width:none;font-size:14px}
}
/* Content fits the message. Utility controls live beside it, not inside it. */
.dm-page .dm-transcript>.dm-message{display:grid;grid-template-columns:minmax(0,max-content) 44px;column-gap:4px;row-gap:2px;align-items:start;align-self:flex-start;width:fit-content;max-width:100%;min-width:0;box-sizing:border-box}
.dm-page .dm-transcript>.dm-message.me{align-self:flex-end}
.dm-page .dm-message>.bubble{grid-column:1;grid-row:1;min-width:0;max-width:100%;width:fit-content;padding:8px 12px;margin:0;border-radius:16px}
.dm-page .dm-message.me>.bubble{justify-self:end;border-bottom-right-radius:5px}
.dm-page .dm-message>.dm-time{grid-column:1;grid-row:2;margin:0 4px;text-align:left;color:var(--muted);font-size:11px;line-height:1.4}
.dm-page .dm-message.me>.dm-time{text-align:right}
.dm-page .dm-message>.dm-message-actions{grid-column:2;grid-row:1 / span 2;width:44px;margin:0;color:var(--muted)}
.dm-page .dm-message>.dm-message-actions[open]{grid-column:1 / -1;grid-row:3;width:100%;padding:4px 0}
.dm-page .dm-message>.dm-message-actions[open]>summary{margin-left:auto;width:44px}
.dm-page .dm-message>.dm-message-actions>div{justify-content:flex-end;padding:4px 0}
.dm-page .dm-message>.dm-message-actions .dm-delete{color:var(--text)}
.dm-page .dm-message.message-pending{grid-template-columns:minmax(0,max-content)}
.dm-page .dm-message>.dm-send-error,.dm-page .dm-message>[data-message-retry]{grid-column:1 / -1}
.dm-page .dm-message>.dm-send-error{color:#ffd2c7;overflow-wrap:anywhere;font-size:13px;line-height:1.5}
.dm-page .dm-message>[data-message-retry]{justify-self:start;min-height:44px}

/* Keep plan choice, cost and purchase review together; deeper tools stay optional. */
.membership-workspace .plan-focus-compact{display:block;padding:8px 0 24px;max-width:860px}
.membership-plan-summary{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;padding:14px 0}
.membership-plan-summary h2{font-size:26px;line-height:1.2;margin:0 0 6px;letter-spacing:-.5px}
.membership-plan-summary p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.membership-summary-price{font-size:28px;line-height:1.25;letter-spacing:-.5px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;max-width:100%;overflow-wrap:anywhere}
.membership-summary-price small{font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted)}
.plan-focus-compact .membership-current{margin:0 0 12px;text-align:left;font-size:13px}
.plan-focus-compact .membership-plan-details{display:grid;gap:24px}
.membership-purchase-summary{display:grid;gap:12px;padding-block:18px;border-top:1px solid var(--line)}
.membership-purchase-summary p{margin:0;font-size:14px;line-height:1.55}
.membership-purchase-summary .membership-fee-summary{font-size:18px;font-weight:650;color:var(--text)}
.membership-purchase-summary .membership-fee-exclusions{color:var(--muted);font-size:12px}
.membership-purchase-summary>.btn{width:100%;min-height:48px;white-space:normal;text-align:center;margin-top:4px}
.membership-included{min-width:0}
.membership-included h3{font-size:15px;line-height:1.4;margin:0 0 14px}
.plan-focus-compact .membership-benefits{gap:12px;margin:0 0 14px}
.plan-focus-compact .membership-benefits li{gap:10px}
.plan-focus-compact .membership-benefits b{font-size:14px;font-weight:500}
.membership-extra-benefits{margin:14px 0;padding-left:20px;color:var(--muted);font-size:14px;line-height:1.6;display:grid;gap:8px}
@media(min-width:900px){.plan-focus-compact .membership-plan-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.membership-included{padding-top:18px;border-top:1px solid var(--line)}}
@media(max-width:760px){.membership-page .page-head h1{font-size:30px;line-height:1.12;letter-spacing:-.7px}.membership-workspace .membership-plan-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:8px}.membership-workspace .membership-plan-tabs button{min-width:0;min-height:44px;padding:8px 4px;white-space:normal}.membership-plan-summary h2{font-size:24px}}

/* Capture review keeps the photo and its next action together. */
.lens-studio.is-reviewing{align-items:start}
.lens-studio.is-reviewing .lens-studio-stage{min-height:0}
.lens-studio.is-reviewing .lens-camera{flex:none;height:clamp(210px,32vh,320px);min-height:0}
.lens-studio .lens-guide-body h2{font-size:clamp(24px,3vw,36px);line-height:1.15;letter-spacing:-.7px}
.lens-studio .lens-manual-entry{align-self:center;margin-top:4px;white-space:normal}

/* spacing.css */
/* Shared reading and action rhythm. Keep sports coordinates, card artwork,
   horizontal filter rails and deliberately compact message rows untouched. */
:root{--flow-copy:var(--s-3);--flow-actions:var(--s-4);--flow-section:var(--s-6)}
.page,.sheet-body,.card.pad,.notice,.field{min-width:0}
.page>.page-head{gap:var(--s-5);margin-bottom:var(--s-5);flex-wrap:wrap}
.page-head>div{min-width:0}
.page-head p{margin-top:var(--s-3);line-height:var(--lh-body)}
.section-head{gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-4)}
.field{gap:var(--s-2)}
.field>span,.field>small{line-height:var(--lh-body)}
.field>.input{min-width:0}
/* Ordinary block panels need spacing even when their markup omits .stack. */
:is(.card.pad,.sheet-body,.notice):not(.stack):not(.row)>:is(h2,h3,b,strong)+:is(p,ul,ol){margin-top:var(--flow-copy)}
:is(.card.pad,.sheet-body,.notice):not(.stack):not(.row)>p+p{margin-top:var(--flow-copy)}
:is(.card.pad,.sheet-body,.notice):not(.stack):not(.row)>:is(p,ul,ol)+:is(.row,.btn,form){margin-top:var(--flow-actions)}
:is(.card.pad,.sheet-body):not(.stack):not(.row)>:is(form,.row)+p{margin-top:var(--flow-copy)}
.notice{padding:var(--s-4);line-height:1.6}
.notice>b:first-child,.notice>strong:first-child{display:block}
.notice>.btn{margin-top:var(--flow-actions);max-width:100%}
/* Error/retry notices often contain an unwrapped text node. Give its action
   its own line rather than squeezing it against the error sentence. */
.notice>.btn:first-child{margin-top:0}
.notice:not(.row)>.btn{display:flex;width:fit-content}
.notice>.row.wrap{gap:var(--s-3)}
.notice.membership-checkout-notice{padding:20px 24px}
.notice.membership-checkout-notice>p{margin:0}
.notice.membership-checkout-notice>.row{margin-top:var(--s-1)}
.row.wrap:has(>.btn){column-gap:var(--s-3);row-gap:var(--s-3)}
.row.wrap>.btn{max-width:100%;white-space:normal;min-height:44px;height:auto;padding-block:var(--s-2);text-align:center}
.row.wrap>.btn>svg{flex-shrink:0}
.menu .grow>small{display:block;margin-top:var(--s-1);line-height:var(--lh-body)}
.menu a,.menu button{min-width:0}
.menu .grow{overflow-wrap:anywhere}
.card.pad>summary{line-height:1.5;min-height:44px;align-content:center}
.card.pad[open]>summary+:is(p,div,form,ul){margin-top:var(--s-4)}
.card.pad[open]>p+p{margin-top:var(--s-3)}
@media(max-width:600px){
 .page>.page-head{gap:var(--s-4);margin-bottom:var(--s-4);align-items:flex-start}
 .page-head>.row{flex-wrap:wrap;gap:var(--s-3);max-width:100%}
 .notice.membership-checkout-notice{padding:var(--s-4)}
 .sheet-body>.row.wrap:has(>.btn),.notice>.row.wrap:has(>.btn){align-items:stretch}
 .sheet-body>.row.wrap>.btn,.notice>.row.wrap>.btn{flex:1 1 100%;width:100%}
 .field .input{font-size:var(--fs-body)}
}
form.stack{gap:var(--s-4)}
label.row:has(>input[type=checkbox]){align-items:flex-start;gap:var(--s-3)}
label.row>input[type=checkbox]{flex:none;margin-top:var(--s-1)}
form>.row:has(>button[type=submit]){flex-wrap:wrap;gap:var(--s-3)}
/* Multi-line settings rows must grow with their description, not hug borders. */
.menu>a,.menu>button{padding:var(--s-4);min-height:64px;gap:var(--s-4)}
.menu>a>.grow,.menu>button>.grow{line-height:var(--lh-body)}

/* Payment amounts, translations and large text must grow their containers. */
:is(.sheet,.notice,.page-head) .btn{min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere;line-height:1.45;padding-block:10px;text-align:center}
:is(.sheet,.notice,.page-head) .btn>svg{flex-shrink:0}
:is(.sheet-body,.detail .info,.notice)>.row:has(>.btn),.row:has(>.field){flex-wrap:wrap;row-gap:12px}
.row>.field.grow{flex:1 1 140px;min-width:0}
.detail .info,.detail .info h2,.detail .info .meta{min-width:0;overflow-wrap:anywhere}
.detail .stats{flex-wrap:wrap}.detail .stats>.stat{min-width:0;flex:1 1 140px}
.detail .stats .stat>b{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.buyer-address-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:650px){.buyer-address-pair{grid-template-columns:minmax(0,1fr)}}

/* first-visit.css */
/* First visits: the card and the next step stay ahead of the feature catalog. */
.first-visit{max-width:1320px;--first-muted:#aab5bd}.first-visit h1,.first-visit h2,.first-visit h3{color:var(--text);text-wrap:balance}.first-visit p{color:var(--first-muted);line-height:1.65}.first-visit .label{font-size:11px;line-height:1.6;letter-spacing:.12em;color:#9bcdbd}.first-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(32px,6vw,80px) 0 64px}.first-copy h1{font-size:clamp(48px,6.2vw,85px);letter-spacing:-.055em;line-height:1.03;margin:20px 0 24px}.first-copy>p{font-size:18px;max-width:43ch;margin:0 0 26px}.first-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.first-actions .btn{min-height:50px;padding:13px 20px;gap:8px;font-size:14px;line-height:1.4;white-space:normal;text-align:center}.first-actions .primary{background:#8debd0;color:#0a211b}.first-guest{display:block;font-size:12px;line-height:1.6;color:var(--first-muted);margin-top:16px}.first-art{margin:0;position:relative;min-width:0}.first-art>img{width:100%;height:clamp(330px,40vw,530px);object-fit:cover;object-position:52% center;border-radius:26px;display:block;background:#171e20}.first-art figcaption{font-size:13px;font-weight:600;line-height:1.5;padding:15px 2px 0;color:#d4dedf}.first-art figcaption span{display:block;font-size:11px;color:var(--first-muted);font-weight:400;margin-top:4px}.first-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:32px}.first-section-head h2,.first-tap h2,.first-start h2{font-size:clamp(28px,3.1vw,44px);line-height:1.12;letter-spacing:-.035em;margin:0}.first-section-head>.label{padding-top:7px;max-width:26ch}.first-section-head h2{width:62%}.first-paths,.first-values{padding:54px 0 64px;border-top:1px solid var(--line)}.first-path-grid,.first-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.first-path-grid>a,.first-path-grid>.first-collection-entry{display:flex;flex-direction:column;color:inherit;min-width:0;text-decoration:none;border-top:1px solid var(--line);padding-top:24px}.first-path-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:#9adac111;color:#a6efd7;margin-bottom:22px}.first-path-grid h3,.first-value-grid h3{font-size:22px;letter-spacing:-.02em;line-height:1.25;margin:0 0 12px}.first-path-grid p,.first-value-grid p{font-size:14px;margin:0 0 18px;max-width:38ch}.first-path-link,.first-text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;min-height:44px;color:#adebd7;text-decoration:none}.first-path-link{margin-top:auto}.first-path-link svg,.first-text-link svg{flex-shrink:0}.first-tap{display:grid;grid-template-columns:1fr 1.6fr;gap:54px;align-items:center;margin:8px 0 64px;padding:40px;border-radius:26px;background:#152323}.first-tap h2{margin:12px 0 16px}.first-tap p{max-width:58ch;font-size:15px;margin-bottom:12px}.first-tap small{display:block;color:var(--first-muted);font-size:11px;line-height:1.6;max-width:65ch;margin-top:12px}.first-tap-mark{position:relative;display:grid;place-items:center;isolation:isolate;min-height:210px}.first-tap-mark img{max-width:112px;width:60%;height:auto;object-fit:contain}.first-tap-mark span{position:absolute;width:180px;height:180px;border:1px solid #a7dec522;border-radius:50%;z-index:-1}.first-tap-mark span:last-child{width:240px;height:240px;border-color:#a7dec510}.first-value-grid article{min-width:0}.first-value-grid article>span{color:#78938c;display:block;font-size:12px;font-variant-numeric:tabular-nums;margin-bottom:20px}.first-value-grid h3{font-size:20px;max-width:24ch}.first-start{display:flex;justify-content:space-between;gap:28px;align-items:center;border-top:1px solid var(--line);padding:50px 0}.first-start h2{margin-top:12px;font-size:30px}.first-visit a:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:12px}@media(max-width:760px){.first-hero{grid-template-columns:1fr;gap:26px;padding:32px 0 40px}.first-copy h1{font-size:clamp(44px,11vw,68px);margin:16px 0 18px}.first-copy>p{font-size:16px;max-width:42ch;margin-bottom:22px}.first-art>img{height:auto;aspect-ratio:1.4;object-position:center}.first-section-head{display:block;margin-bottom:26px}.first-section-head h2{width:auto;margin-top:14px}.first-paths,.first-values{padding:36px 0}.first-path-grid,.first-value-grid{grid-template-columns:1fr;gap:26px}.first-path-grid>a,.first-path-grid>.first-collection-entry{display:grid;grid-template-columns:48px 1fr;column-gap:18px;row-gap:0;padding-top:22px}.first-path-icon{grid-row:1/4;width:46px;height:46px;margin:0}.first-path-grid h3{font-size:20px;margin-bottom:8px}.first-path-grid p{margin-bottom:6px}.first-path-link{grid-column:2}.first-tap{grid-template-columns:1fr;gap:18px;padding:26px 22px;margin:0 0 40px}.first-tap-mark{min-height:150px}.first-tap-mark img{width:86px}.first-tap-mark span{width:130px;height:130px}.first-tap-mark span:last-child{width:176px;height:176px}.first-value-grid article{border-top:1px solid var(--line);padding-top:22px}.first-value-grid article>span{margin-bottom:12px}.first-value-grid h3{max-width:none}.first-start{align-items:flex-start;flex-direction:column;padding:36px 0}.first-actions{gap:10px}.first-actions .btn{padding-inline:16px}.first-start .first-actions{width:100%}.first-start .btn{flex:1}.first-visit .foot{gap:24px}.first-visit .foot nav{flex-wrap:wrap;gap:18px}}@media(prefers-reduced-motion:no-preference){.first-path-link svg,.first-text-link svg{transition:transform .2s ease}.first-path-grid>a:hover .first-path-link svg,.first-text-link:hover svg{transform:translateX(4px)}.first-tap-mark img{animation:first-tap-arrive .7s ease both}@keyframes first-tap-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
/* An editorial Game Day story replaces the third plain link; it adds no new menu. */
.first-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.first-sports-entry{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:40px;padding-top:10px}.first-sports-entry figure{min-width:0;margin:0}.first-sports-entry img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:20px;background:#111c20}.first-sports-entry figcaption{font-size:10px;line-height:1.5;color:var(--first-muted);padding-top:9px}.first-sports-entry h3{font-size:clamp(26px,3vw,40px);line-height:1.12;margin:16px 0}.first-sports-entry p{font-size:15px;max-width:42ch}.first-visit-header .nav{gap:24px}.first-visit-header .header-actions .btn{min-height:44px;white-space:nowrap}.first-visit-header .nav-more summary{min-height:44px;display:flex;align-items:center;gap:6px}.first-visit-header .nav-more-menu{z-index:60}@media(max-width:760px){.first-path-grid{grid-template-columns:1fr}.first-sports-entry{grid-template-columns:1fr;gap:24px;padding-top:4px}.first-sports-entry h3{font-size:28px;margin:12px 0}.first-visit-header .nav.first-visit-nav{overflow:visible;gap:22px}.first-visit-header .first-visit-nav>a{padding:0;min-width:0}.first-visit-header .first-visit-nav .nav-more{margin-left:auto}.first-visit-header .nav-more-menu{right:0;left:auto;min-width:200px}.first-visit-header .header-actions{gap:6px}.first-visit-header .header-actions .btn{padding:10px 12px;font-size:13px}}

.first-visit #first-paths-title{scroll-margin-top:110px}

.first-collection-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-top:auto}.first-collection-actions .first-path-link{margin-top:0}.first-phone-entry{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;color:#c8d8d4;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;font-size:13px;line-height:1.5}.first-phone-entry:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:8px}.first-phone-entry svg{flex-shrink:0}.first-phone-sheet{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;min-width:0;padding-top:16px}.first-phone-sheet h2{margin:0;font-size:28px;line-height:1.2;text-wrap:balance}.first-phone-sheet p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}.first-phone-qr{display:block;max-width:100%;height:auto;border-radius:16px;background:white}.first-phone-sheet .first-phone-address{font-size:12px}.first-phone-sheet .btn{white-space:normal;line-height:1.5;min-height:48px;padding:12px 20px}.first-phone-sheet .first-text-link{font-size:13px;max-width:100%;justify-content:center;line-height:1.5}.first-phone-sheet .label{font-size:11px;color:var(--muted);letter-spacing:.12em}@media(max-width:760px){.first-collection-actions{grid-column:2;display:block}.first-phone-entry{display:none}}
/* Actual published card artwork, contained so names and borders remain visible. */
.editorial-cards{margin:0;min-width:0}
.editorial-card-row{height:clamp(190px,26vw,350px);display:flex;gap:12px;align-items:stretch}
.editorial-card-row>div{flex:1;min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr);place-items:center}
.editorial-card-row img{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;display:block}
.editorial-cards figcaption{font-size:11px;line-height:1.5;color:var(--muted);text-align:center;padding-top:10px}
.home-welcome .editorial-cards{flex:0 1 220px}
.editorial-cards-compact .editorial-card-row{height:100px;gap:8px}
.auth-real-cards{width:min(100%,450px);margin-block:24px}
.auth-real-cards .editorial-card-row{height:230px}
@media(max-width:760px){.home-welcome{flex-wrap:wrap}.home-welcome .editorial-cards{width:100%;margin-block:16px}.first-art .editorial-card-row{height:220px}}

/* experience-foundation.css */
/* The shared surface stays quiet so cards, people and live scores carry color. */
.experience-shell{
 --bg:#090c0f;--surface:#11161b;--raised:#1b2229;--line:#ffffff14;
 --text:#f5f7f8;--muted:#a8b3bd;--accent:#9af3d3;
 background:var(--bg);color:var(--text);min-height:100dvh;
}
.experience-shell .btn{min-height:44px;border-radius:12px;background:#1b2229;background-image:none;border:1px solid #ffffff12;box-shadow:none;line-height:1.4;gap:8px}
.experience-shell .btn.primary{background:#9af3d3;color:#092b21;border-color:transparent;font-weight:700}
.experience-shell .btn.ghost{background:transparent;border-color:transparent;color:var(--text)}
.experience-shell .btn:disabled{opacity:.55;box-shadow:none}
.experience-shell .input,.experience-shell select.input{background:#13191f;background-image:none;border-color:#ffffff1a;box-shadow:none;border-radius:12px;min-height:44px}
.experience-shell :is(.page-head,.profile-head){margin-bottom:24px}
.experience-shell .page-head h1{font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-1px}
.experience-shell .page-head p{max-width:65ch;line-height:1.5;color:var(--muted)}
.experience-shell>.header{height:64px;min-height:64px;background:#090c0f;border-bottom:1px solid var(--line);backdrop-filter:none;box-shadow:none;padding-inline:24px}
.experience-shell .brand{gap:10px;font-size:24px;letter-spacing:-.8px}
.experience-shell .brand img{width:30px;height:34px;filter:none}
.experience-shell .header-actions{gap:8px;min-width:0}
.experience-shell .icon-btn{border:0;background:transparent;box-shadow:none;color:#e1e6eb;min-height:44px;min-width:44px}
.experience-shell .icon-btn:hover{background:#ffffff08}
.experience-shell .atelier-sidebar{background:#090c0f;border-right:1px solid var(--line)}
.experience-shell .atelier-sidebar a{color:#a8b3bd}
.experience-shell .atelier-sidebar a[aria-current=page]{color:#f5f7f8;background:#ffffff09;font-weight:700}
.experience-shell .atelier-sidebar a svg{flex:0 0 24px}
.experience-shell .account-activity-links>a{color:#eef3f6;border-color:#ffffff12;transition:background 120ms ease}
.experience-shell .account-activity-links>a:hover{background:#ffffff04}
.experience-shell .account-plan-panel{background:#141e1d;border:1px solid #9af3d321;box-shadow:none}
.experience-shell .account-plan-panel h2{color:#f5f7f8}
.experience-shell .account-group{background:#11161b;border-color:#ffffff12}
.experience-shell .account-plan-tools b{color:#e6efec}
.experience-shell :is(button,a,summary):focus-visible{outline:2px solid #9af3d3;outline-offset:3px}
@media(min-width:1100px){
 .atelier-app.experience-shell.is-member{padding-left:192px}
 .atelier-app.experience-shell.is-member>.header{margin-left:-192px;width:calc(100% + 192px)}
 .atelier-app.experience-shell.is-member>.atelier-sidebar{width:192px;top:64px;padding:24px 12px}
 .atelier-app.experience-shell.is-member>.atelier-sidebar nav>a,.atelier-app.experience-shell.is-member>.atelier-sidebar .rail-more>summary{min-height:48px;gap:14px;border-radius:10px;font-size:14px}
 .atelier-app.experience-shell.is-member>.atelier-sidebar a.atelier-scan{background:transparent;color:#a8b3bd;border:1px solid #ffffff16;min-height:46px;margin-top:18px}
 .atelier-app.experience-shell.is-member>.atelier-sidebar a.atelier-scan[aria-current=page]{background:#ffffff09;color:#f5f7f8;border-color:#9af3d355}
 .experience-shell .atelier-sidebar a[aria-current=page] .holo-nav-glyph{color:#9af3d3}
 .experience-shell .header-actions .search-btn{display:flex;align-items:center;gap:12px;width:300px;max-width:32vw;height:40px;min-height:40px;padding:8px 12px;border:1px solid #ffffff14;border-radius:10px;background:#11161b;color:#a8b3bd}
 .experience-shell .search-btn span{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .experience-shell .search-btn kbd{display:block;margin-left:auto;font-size:10px;color:#a8b3bd}
 .experience-shell .main>.view>.page{padding-top:32px}
}
@media(max-width:1099px){
 .atelier-app.experience-shell.is-member>.tabs.holo-command-dock{padding:3px 6px calc(3px + env(safe-area-inset-bottom));background:#10151a;border-color:#ffffff12;min-height:62px}
 .atelier-app.experience-shell.is-member>.tabs.holo-command-dock a{min-height:56px;background:none;gap:3px;color:#9ba7b2;font-size:10px;line-height:1.3;transition:color 120ms ease}
 .atelier-app.experience-shell.is-member>.tabs.holo-command-dock a[aria-current=page]{background:none;color:#f5f7f8;font-weight:700}
 .experience-shell .holo-command-dock a .dock-glyph{width:36px;height:30px;display:grid;place-items:center;border-radius:9px;transition:background-color 140ms ease}
 .experience-shell .holo-command-dock a[aria-current=page] .dock-glyph{background:#9af3d31a;color:#9af3d3}
 .experience-shell>.header{padding-inline:16px}
 .experience-shell .brand{font-size:22px}
 .atelier-app.experience-shell.is-member>.main{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 html[data-keyboard-open=true] .experience-shell>.tabs{display:none}
 html[data-keyboard-open=true] .atelier-app.experience-shell.is-member>.main{padding-bottom:8px}
}
@media(max-width:580px){
 .experience-shell :is(input.input,textarea.input,select.input){font-size:16px}
 .experience-shell .page-head{gap:16px;align-items:flex-start}
 .experience-shell .page-head h1{font-size:26px;letter-spacing:-.7px}
 .experience-shell .page-head .btn{padding-inline:14px}
 .experience-shell .brand img{width:26px;height:30px}
}
@media(prefers-reduced-motion:reduce){.experience-shell :is(a,button,summary,.dock-glyph){transition:none}}
.experience-shell .member-value-portal{background:transparent;border:0;border-radius:0;padding:12px 0;box-shadow:none;max-width:760px}
.experience-shell .member-value-portal header{display:grid;gap:12px}
.experience-shell .member-value-portal header h2{font-size:clamp(26px,4vw,34px);line-height:1.12;letter-spacing:-.7px;margin:0}
.experience-shell .member-value-portal header p{font-size:16px;line-height:1.5;color:var(--text);max-width:54ch;margin:0}
.experience-shell .member-value-portal header small,.experience-shell .member-value-note{font-size:12px;line-height:1.6;color:var(--muted)}
.experience-shell .member-value-portal .member-portal-metrics{padding:20px 0;margin:24px 0 12px;border-block:1px solid var(--line);gap:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.experience-shell .member-value-portal .member-portal-metrics>div{min-width:0;background:transparent;border:0;padding:0;box-shadow:none}
.experience-shell .member-value-portal .member-portal-metrics strong{font-size:30px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.experience-shell .member-tasks{margin-top:24px}
.experience-shell .member-tasks h3{font-size:18px;margin-bottom:12px}
.experience-shell .member-tasks .member-benefit-link{min-height:64px;border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 0;gap:16px}
.experience-shell .member-all-tools{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--accent);font-weight:600}
@media(max-width:359px){.experience-shell .member-value-portal .member-portal-metrics{gap:16px}.experience-shell .member-value-portal .member-portal-metrics strong{font-size:26px}}

/* A collector has one collection, with distinct selling and identity views. */
.collector-experience{display:grid;gap:24px;max-width:1120px}
.collector-identity{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;row-gap:12px;align-items:center}
.collector-identity>.avatar{width:72px;height:72px;grid-row:1/3}
.collector-identity .who{min-width:0}.collector-identity h1{font-size:clamp(24px,3vw,32px);line-height:1.15;overflow-wrap:anywhere;margin:0}
.collector-identity .who p{margin:4px 0 0}.collector-bio{grid-column:2;margin:0;line-height:1.55;overflow-wrap:anywhere;max-width:64ch}
.collector-counts{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 20px;color:#9fa9b0;font-size:14px}.collector-counts b{color:#f2f5f5;margin-right:4px}
.collector-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap}.collector-actions>.btn{min-width:116px}
.collector-more{position:relative}.collector-more>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;border:1px solid #303739;border-radius:14px;cursor:pointer}.collector-more>summary::-webkit-details-marker{display:none}
.collector-menu{position:absolute;right:0;top:calc(100% + 8px);padding:8px;min-width:150px;background:#1b2124;border:1px solid #353d42;border-radius:16px;z-index:5;box-shadow:0 8px 24px #0008;display:grid}.collector-menu .btn{justify-content:flex-start}
.collector-sections{display:flex;gap:28px;border-bottom:1px solid #252d30}.collector-sections>a{display:flex;gap:8px;align-items:center;min-height:48px;padding:8px 0 12px;white-space:nowrap;color:#9fa9b0;font-weight:650;border-bottom:2px solid transparent}.collector-sections>a[aria-current]{color:#e9fff7;border-color:#9be8cf}.collector-sections span{font-size:12px;color:#9fa9b0;font-variant-numeric:tabular-nums}
.collector-section{display:grid;gap:24px;min-width:0}.collector-card-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.collector-card{text-align:left;min-width:0}.collector-card .body>b{line-height:1.35;overflow-wrap:anywhere}.collector-card .body{display:grid;gap:6px}.collector-card .art{aspect-ratio:5/7;background:#171e21}.collector-card .art img{height:100%;width:100%;object-fit:contain}.collector-section h2{font-size:20px;margin:0 0 16px}.collector-about>p{line-height:1.6;max-width:64ch;white-space:pre-wrap;overflow-wrap:anywhere}
.public-card-inspector{display:grid;gap:16px;padding-top:24px}.public-card-inspector h2{margin:0;padding-right:40px;overflow-wrap:anywhere;font-size:24px;line-height:1.25}.public-card-inspector p{margin:0}.public-card-photo{height:min(56dvh,520px);display:grid;place-items:center;background:#111719;border-radius:16px;overflow:hidden}.public-card-photo img{width:100%;height:100%;object-fit:contain}.public-card-inspector [aria-pressed=true]{border-color:#9be8cf;color:#bdf4e2}
@media(max-width:600px){.collector-experience{gap:20px}.collector-identity{grid-template-columns:56px minmax(0,1fr);gap:12px}.collector-identity>.avatar{width:56px;height:56px;grid-row:1}.collector-bio,.collector-counts,.collector-actions{grid-column:1/-1}.collector-actions>.btn{flex:1;min-width:0}.collector-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.collector-card .body{padding:10px}.collector-card .body>b{font-size:14px}.collector-card .body .muted{font-size:12px}.collector-sections{gap:20px}.collector-sections>a{font-size:14px;gap:6px}}
.collector-actions{align-items:center}.collector-actions>.btn{white-space:nowrap;padding:10px 12px;font-size:14px;line-height:20px}.collector-actions>.btn svg{flex-shrink:0}.collector-sections>a{min-width:44px}.collector-card .body>b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sheet.public-inspection-sheet{background:#151b1e;backdrop-filter:none}.public-card-inspector{grid-template-columns:minmax(0,1fr);min-width:0;padding:20px}.public-card-inspector h2{font-size:20px;letter-spacing:0;padding-right:44px;min-width:0;max-width:100%;text-wrap:wrap}.public-card-photo{height:min(48dvh,480px)}
/* The mobile header already identifies HoloTap. Keep the form itself close
   to that header, with one title and enough room for the actual fields. */
@media(max-width:760px){
 .experience-shell.is-public .main:has(.auth-page){padding-top:20px}
 .experience-shell .auth-page{padding-top:0}
 .experience-shell .collector-auth{padding:0}
 .experience-shell .auth-form-wrap>.brand{display:none}
 .experience-shell .auth-form-wrap{gap:20px}
 .experience-shell .collector-auth .auth-card{gap:16px}
 .experience-shell .auth-consent{margin:6px 0!important}
}

/* A member pass carries one confirmed fee rule. The abstract fan is decorative,
   bounded by the display and never represents physical products or savings. */
.experience-shell .member-value-portal .member-value-display{isolation:isolate;position:relative;overflow:hidden;border:1px solid #355449;border-radius:24px;padding:24px;background:linear-gradient(125deg,#172d27,#17221f 68%,#203730);gap:20px}
.experience-shell .member-value-display::after{content:"";pointer-events:none;position:absolute;z-index:-1;width:360px;height:360px;border:1px solid #c6f3dc14;border-radius:50%;right:-240px;bottom:-220px;box-shadow:0 0 0 22px #c6f3dc05,0 0 0 44px #c6f3dc04}
.experience-shell .member-value-display>.label{font-size:11px;letter-spacing:.1em;color:#b7d5c8;line-height:1.5}
.experience-shell .member-value-identity{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0}
.experience-shell .member-value-display h2{display:grid;gap:5px;min-width:0;flex:1}
.experience-shell .member-value-rate{font-size:clamp(48px,6vw,70px);font-weight:700;line-height:1;letter-spacing:-3px;color:#d0ffe9;font-variant-numeric:tabular-nums}
.experience-shell .member-value-rate-label{font-size:15px;line-height:1.4;font-weight:500;letter-spacing:0;color:#e5f4ed}
.experience-shell .member-value-display>p{font-size:14px;line-height:1.65;color:#ceded6;max-width:50ch}
.experience-shell .member-value-art{position:relative;isolation:isolate;width:94px;height:100px;flex-shrink:0;pointer-events:none}
.experience-shell .member-value-art>i{position:absolute;inset:9px 18px 7px 18px;border:1px solid #9fe0c5;border-radius:9px;background:linear-gradient(150deg,#88c5ae20,#173d32);box-shadow:0 7px 16px #0003;transform-origin:50% 110%}
.experience-shell .member-value-art>i:nth-child(1){transform:rotate(-18deg) translateX(-8px);opacity:.35}
.experience-shell .member-value-art>i:nth-child(2){transform:rotate(-7deg);opacity:.65}
.experience-shell .member-value-art>i:nth-child(3){display:grid;place-items:center;transform:rotate(9deg) translateX(7px);background:linear-gradient(145deg,#b9f5d7,#5ba88e);border-color:#d4ffed}
.experience-shell .member-value-art span{font-size:28px;line-height:1;font-weight:800;font-style:normal;color:#1c5340;border:1px solid #235c4840;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}
.experience-shell .member-value-portal .member-value-exclusions{display:block;font-size:12px;line-height:1.6;color:var(--muted);padding-top:12px}
.experience-shell .member-value-display[data-plan=free]{border-color:#3d494a;background:linear-gradient(125deg,#212b2e,#192125)}
.experience-shell .member-value-display[data-plan=free] .member-value-rate{color:#e0ecea}
@media(max-width:359px){.experience-shell .member-value-portal .member-value-display{padding:20px;gap:16px}.experience-shell .member-value-identity{gap:12px}.experience-shell .member-value-art{width:70px;height:88px}.experience-shell .member-value-art>i{inset:8px 12px 6px}.experience-shell .member-value-art span{font-size:22px;width:31px;height:31px}}

.experience-shell .membership-page>.page-head{margin-bottom:0}.experience-shell .membership-page>.member-value-portal{margin-top:0;padding-top:0}.experience-shell .membership-status>.row{gap:8px}.experience-shell .membership-status .btn{min-height:44px;margin:0;padding:8px 12px;font-size:12px;white-space:normal}

/* Recent play rows share one entry point; actions belong to the selected play. */
.game-day.gd-flow .gd-compact-play{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 10px;align-items:center;gap:12px;padding:16px 0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;color:var(--text);cursor:pointer;min-height:76px}
.game-day.gd-flow .gd-compact-play:hover{background:color-mix(in srgb,var(--text) 3%,transparent)}
.game-day.gd-flow .gd-compact-play:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.gd-compact-play-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.gd-compact-play-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;line-height:16px;color:var(--muted);font-variant-numeric:tabular-nums}.gd-compact-latest{color:var(--accent)}
.gd-compact-play-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:14px;line-height:21px;font-weight:500;overflow-wrap:anywhere}.gd-compact-play-score{font-size:11px;line-height:16px;color:var(--muted);font-variant-numeric:tabular-nums}.gd-compact-chevron{font-size:24px;color:var(--muted)}
.gd-context-face{position:relative;display:block;flex:0 0 40px;width:40px;height:40px;overflow:hidden;border-radius:50%;background:var(--surface2,#202a30);border:1px solid var(--line);color:var(--muted)}.gd-context-face>span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700}.gd-context-face>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.gd-play-context{padding-top:40px}.gd-play-context-copy{display:flex;flex-direction:column;gap:18px;min-width:0}.gd-play-context-copy h2{margin:0;font-size:28px;line-height:1.12;letter-spacing:-.7px;overflow-wrap:anywhere}.gd-play-context-copy p{margin:0;overflow-wrap:anywhere}.gd-context-people{display:flex;flex-wrap:wrap;gap:12px 18px}.gd-context-person{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;font-size:14px;line-height:20px}.gd-context-person>span:last-child{min-width:0;overflow-wrap:anywhere}.gd-context-description{font-size:16px;line-height:1.5;color:var(--text)}.gd-context-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;line-height:20px;color:var(--muted);font-variant-numeric:tabular-nums}.gd-context-meta b{font-weight:600;color:var(--text)}.gd-context-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.gd-context-actions:empty{display:none}.gd-context-actions>.btn{flex:1 1 150px;min-height:46px;white-space:normal;text-align:center}.gd-play-context-copy .gd-context-note{font-size:12px;line-height:18px;color:var(--muted)}
@media(max-width:380px){.game-day.gd-flow .gd-compact-play{grid-template-columns:36px minmax(0,1fr) 8px;gap:9px}.gd-compact-play>.gd-context-face{width:36px;height:36px;flex-basis:36px}.gd-play-context-copy h2{font-size:24px}.gd-context-description{font-size:16px}}

/* lens-studio.css */
/* HoloTap capture: one camera surface, familiar controls, optional guidance. */
.live-lens-page.is-capture{height:auto;max-width:780px}
.live-lens-page.is-capture .lens-studio{display:flex;flex-direction:column;gap:16px;flex:none;min-width:0}
.live-lens-page.is-capture .lens-studio-stage{flex:none;min-height:520px;max-height:none;border-radius:24px;border-color:#8ad9bb40;background:radial-gradient(ellipse at 50% 30%,#163a3080,transparent 70%),#0c1518}
.live-lens-page .lens-wordmark{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:1.2px}
.lens-wordmark img{display:block;width:20px;height:24px;object-fit:contain;margin-right:3px}
.live-lens-page .lens-stage-status{font-size:10px;color:#a8ddc9;border-color:#527f6c;padding:6px 9px}
.live-lens-page .lens-current-instruction{padding-top:10px}
.live-lens-page .lens-current-instruction h2{font-size:24px;letter-spacing:-.5px}
.live-lens-page .lens-studio .lens-camera{flex:1;min-height:260px}
.live-lens-page .lens-sculpture{height:180px;max-height:85%;width:130px;animation:none;transform:rotate(-7deg)}
.live-lens-page .lens-camera-placeholder:before{content:'';position:absolute;inset:20px 12%;border:1px solid #92e8c51a;border-radius:50%;transform:rotate(-20deg);pointer-events:none}
.live-lens-page .lens-studio .lens-captured{padding:14px;background:#080f0e}
.live-lens-page .lens-studio-dock{padding:16px 24px 20px;background:#0e1b18;border-top:1px solid #527f6c40}
.live-lens-page .lens-studio-dock>p{font-size:13px;line-height:1.45;margin:0 0 14px;color:#b8cfc6}
.live-lens-page .lens-studio .lens-shutter{width:70px;height:70px;border-color:var(--accent)}
.live-lens-page .lens-studio .lens-shutter>span{background:var(--accent)}
.live-lens-page .lens-capture-controls{grid-template-columns:1fr 72px 1fr;gap:12px}
.live-lens-page .lens-capture-controls>.btn{font-size:13px;background:none;border:0}
.live-lens-page .lens-studio-guide{display:block;max-height:none;width:100%;align-self:stretch;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:visible}
.live-lens-page .lens-studio-guide>summary{display:flex;gap:10px;align-items:center;padding:14px 16px;min-height:48px;list-style:none;cursor:pointer;font-size:13px}
.live-lens-page .lens-studio-guide>summary>svg:last-child{margin-left:auto}
.live-lens-page .lens-studio-guide:not([open])>.lens-guide-body{display:none}
.live-lens-page .lens-studio-guide>.lens-guide-body{display:flex;gap:14px;padding:0 16px 18px}
.live-lens-page .lens-guide-body>h2,.live-lens-page .lens-guide-body>.label,.live-lens-page .lens-three-promises{display:none}
.live-lens-page .lens-guide-body p{font-size:13px;line-height:1.55}
.live-lens-page .lens-studio-dock .lens-actions{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:12px}
.live-lens-page .lens-actions .btn{white-space:normal;min-width:0}
@media(min-width:761px){.live-lens-page.is-capture [aria-label="Capture mode"]{max-width:780px}.live-lens-page.is-capture .lens-context-tools{margin-bottom:14px}}
@media(max-width:760px){
 .is-lens-workspace>.main:has(.is-capture){height:auto;overflow:visible}
 .live-lens-page.is-capture{height:auto;padding-bottom:max(16px,env(safe-area-inset-bottom))}
 .live-lens-page.is-capture .lens-studio-stage{min-height:410px;border-radius:20px}
 .live-lens-page .lens-studio .lens-camera{min-height:210px}
 .live-lens-page .lens-current-instruction h2{font-size:22px}
 .live-lens-page .lens-stage-top{padding:14px 16px 0}
 .live-lens-page .lens-current-instruction{padding:14px 16px 8px}
 .live-lens-page .lens-sculpture{height:150px;width:108px}
 .live-lens-page .lens-studio-dock{padding:12px 16px 16px}
 .live-lens-page .lens-studio-dock>p{font-size:12px}
 .live-lens-page .lens-studio .lens-shutter{width:64px;height:64px}
 .live-lens-page .lens-guide-body>small{display:block}
}
@media(prefers-reduced-motion:no-preference){.live-lens-page .lens-shutter:active{transform:scale(.96)}.live-lens-page .lens-shutter{transition:transform 120ms ease-out}}

/* commerce-experience.css */
/* Commerce clarity: original cards, a clear buying decision and optional depth. */
.commerce-browse .photo-market-heading{align-items:end;margin-bottom:24px;gap:18px}
.commerce-browse .photo-market-heading h1{font-size:clamp(30px,3.5vw,44px);line-height:1.07;letter-spacing:-.045em}
.commerce-browse .market-overline{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.commerce-browse .photo-market-heading p{margin-top:10px;font-size:14px;line-height:1.5;color:var(--muted)}
.commerce-browse .photo-market-controls{margin-top:20px}
/* The market's places stay in sight: a wrapping row, no disclosure to open first. */
.commerce-browse .market-activity-menu{border-bottom:1px solid var(--line);padding-bottom:14px;margin:0;gap:12px 22px}
.commerce-browse .market-activity-menu a{min-height:44px;display:inline-flex;align-items:center}
.commerce-browse .market-activity-menu .count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent,#06110E);font-size:11px;font-weight:700}
.commerce-browse .market-photo-tile .art{aspect-ratio:4/5;border-radius:14px;background:#151b20;border:1px solid #ffffff0a}
.commerce-browse .market-photo-tile .art>img{padding:14px;transition:transform .22s ease}
.commerce-browse .market-photo-tile .body{padding:12px 1px 0;gap:5px}
.commerce-browse .market-photo-tile .photo-price{align-items:baseline;gap:8px}
.commerce-browse .market-photo-tile .photo-price>b{font-size:20px;line-height:1.25;letter-spacing:-.03em}
.commerce-browse .market-photo-tile .photo-price>span{font-size:11px;max-width:55%;overflow-wrap:anywhere}
.commerce-browse .market-photo-tile .name{font-size:14px;line-height:1.42;font-weight:550;margin:2px 0 0}
.commerce-browse .market-photo-tile .meta{font-size:12px;line-height:1.5}
.commerce-browse .market-photo-tile>.heart{min-width:44px;min-height:44px;width:44px;height:44px;top:8px;right:8px;background:#11171bea;border:1px solid #ffffff1f}
.commerce-browse .market-photo-tile>.photo-seller{min-height:44px;margin-top:2px;padding:5px 1px;color:var(--muted)}
.commerce-browse .market-photo-tile .photo-seller b{font-size:12px}
.commerce-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:-2px 0 22px}
.commerce-active-filters>button{display:flex;gap:9px;align-items:center;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px;color:var(--text);max-width:100%;overflow-wrap:anywhere}
.commerce-active-filters>button svg{flex:none;opacity:.65}
.commerce-browse .market-member-entry{background:transparent;border-radius:0;border-width:1px 0 0;padding:24px 0;margin-top:36px}
@media(hover:hover){.commerce-browse .tile-link:hover .art>img{transform:scale(1.035)}.commerce-active-filters>button:hover{border-color:var(--muted)}}

.commerce-detail{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}
.commerce-detail>.card-view-column{background:#10171c;border-right:1px solid var(--line);overflow:visible}
.commerce-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 0}
.commerce-photo-heading>span{font-size:10px;letter-spacing:.13em;color:var(--muted)}
.commerce-photo-heading>.btn{font-size:12px;min-height:40px;padding:8px}
.commerce-photo-heading>.btn svg{transform:rotate(180deg)}
.commerce-detail .stage{position:relative;top:auto;min-height:0;padding:28px 24px 16px;background:transparent;gap:17px}
.commerce-detail .stage .holo{width:min(310px,86%,calc((100svh - 340px)*.7159));min-width:160px}
.commerce-detail .stage .hint{font-size:11px;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}
.commerce-detail .card-inspection-controls{display:flex;flex-wrap:wrap;gap:7px;width:100%;justify-content:center}
.commerce-detail .card-inspection-controls .btn{min-height:44px;padding:9px 14px;font-size:13px;white-space:normal}
.commerce-detail .card-inspection-controls .commerce-photo-open{background:#d1f4e8;color:#12271f;border-color:#d1f4e8;font-weight:650}
.commerce-detail .card-inspection-controls .btn:disabled{opacity:.45}
.commerce-photo-strip{display:flex;gap:9px;padding:8px 24px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.commerce-photo-strip>button{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 66px;scroll-snap-align:start;min-width:0;border:1px solid transparent;border-radius:8px;padding:4px;background:transparent;color:var(--muted);font-size:10px}
.commerce-photo-strip>button img{width:56px;height:66px;object-fit:contain;background:#192229;border-radius:4px}
.commerce-photo-strip>button span{line-height:1.4;overflow-wrap:anywhere}
.commerce-photo-strip>button:hover,.commerce-photo-strip>button:focus-visible{border-color:var(--accent);color:var(--text)}
.commerce-photo-caption{padding:4px 24px 24px;margin:0;font-size:11px;line-height:1.5;color:var(--muted);text-align:center}
.commerce-detail>.info{padding:36px 30px 28px;gap:0;background:var(--bg)}
.commerce-card-heading{margin-bottom:23px}
.commerce-card-category{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:12px}
.commerce-card-category>span{border:1px solid var(--line);border-radius:5px;padding:4px 7px;color:var(--text);font-size:11px}
.commerce-detail .commerce-card-heading h2{font-size:clamp(25px,2.6vw,34px);line-height:1.12;letter-spacing:-.035em;padding-right:0;margin-bottom:10px;overflow-wrap:anywhere}
.commerce-card-heading .meta{font-size:13px;line-height:1.5;white-space:normal}
.commerce-price-line{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 20px}
.commerce-price-line>div{display:grid;gap:5px;min-width:0}
.commerce-price-line>div>span{font-size:11px;line-height:1.5;color:var(--muted)}
.commerce-price-line strong{font-size:34px;line-height:1.15;font-weight:700;letter-spacing:-.04em;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.commerce-condition{font-size:12px;line-height:1.5;text-align:right;max-width:45%;color:var(--text);overflow-wrap:anywhere}
.commerce-condition>small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.commerce-detail .card-purchase-actions{gap:10px;margin:0 0 20px}
.commerce-detail .commerce-buy-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:10px}
.commerce-detail .commerce-buy-row>.btn{min-height:54px;min-width:0;border-radius:10px;font-size:15px;font-weight:700;padding:14px 12px;white-space:normal;line-height:1.4}
.commerce-detail .commerce-buy-row>.btn.primary{background:#adf0d8!important;border-color:#adf0d8!important;color:#09291d!important;box-shadow:none}
.commerce-detail .commerce-buy-row>.heart-btn{width:52px;padding:12px;background:var(--surface);border:1px solid var(--line)}
.commerce-detail .card-offer-panel{border-radius:10px;border-color:var(--line-2)}
.commerce-detail .card-offer-panel>summary{font-size:15px;font-weight:650;min-height:52px;padding:14px 16px}
.commerce-detail .card-offer-fields{padding:8px 16px 18px;gap:16px}
.commerce-detail .card-offer-fields p{font-size:12px;line-height:1.6}
.commerce-detail .card-offer-fields>.btn{min-height:48px}
.commerce-purchase-note{font-size:11px;color:var(--muted);line-height:1.6;text-align:center;margin:0}
.commerce-detail .card-trade-entry{border:0;min-height:42px;padding:8px;font-size:12px;font-weight:500;color:var(--muted);background:transparent}
.commerce-seller-card{padding:16px 0;margin-bottom:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.commerce-detail .commerce-seller-card .seller{padding:0;border:0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.commerce-seller-card .seller-profile{flex:1;min-width:120px}
.commerce-seller-card .seller-profile>span{overflow-wrap:anywhere}
.commerce-seller-card .seller-profile .avatar{flex:none}
.commerce-seller-card .seller-profile b{font-weight:600}
.commerce-seller-card>.seller>a.btn{flex:none;min-height:44px;max-width:100%;font-size:12px;padding:10px 13px;border-radius:8px}
.commerce-seller-card>p{font-size:11px;line-height:1.65;color:var(--muted);margin-top:7px}
.commerce-disclosure{border-bottom:1px solid var(--line)}
.commerce-disclosure>summary{display:flex;align-items:center;gap:16px;justify-content:space-between;min-height:68px;list-style:none;cursor:pointer;padding:15px 0;color:var(--text);font-size:14px;font-weight:600}
.commerce-disclosure>summary::-webkit-details-marker{display:none}
.commerce-disclosure>summary>span{min-width:0;line-height:1.5}
.commerce-disclosure>summary small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px;line-height:1.5}
.commerce-disclosure>summary svg{flex:none;transition:transform .16s ease;color:var(--muted)}
.commerce-disclosure[open]>summary svg{transform:rotate(45deg)}
.commerce-disclosure-body{padding:0 0 20px;font-size:12px;line-height:1.7;color:var(--muted)}
.commerce-disclosure-body .kv{border:0;padding:0;margin:0 0 16px;grid-template-columns:1fr 1fr}
.commerce-disclosure-body p+p{margin-top:12px}
.commerce-detail .commerce-disclosure-body .market-board{padding:0;background:none;border:0}
.commerce-detail .commerce-disclosure-body .stats{margin:0 0 16px;border:0;background:transparent;gap:16px!important}
.commerce-detail .commerce-disclosure-body .stat{padding:0!important;border:0!important;min-width:0}
.commerce-detail .commerce-disclosure-body .stat b{font-size:24px}
.commerce-disclosure-body .listing-condition-photos h3{font-size:14px;margin-bottom:8px}
.commerce-royalty-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:14px}
.commerce-detail-footer{display:flex;justify-content:start;padding:14px 0 0}
.commerce-detail>.similar{padding:24px;background:var(--bg);border-top:1px solid var(--line)}
.commerce-detail>.similar h3{font-size:18px;margin-bottom:18px}
.commerce-detail .mini-row{gap:14px;scroll-snap-type:x proximity}
.commerce-detail .mini-row .mini{scroll-snap-align:start}
.commerce-detail button:focus-visible,.commerce-detail a:focus-visible,.commerce-detail summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.commerce-photo-dialog{width:min(920px,calc(100vw - 32px));height:min(900px,calc(100dvh - 32px));max-width:none;max-height:none;padding:18px;border:1px solid var(--line);border-radius:16px;background:#0e1419;color:var(--text);overflow:hidden}
.commerce-photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:12px}
.commerce-photo-dialog::backdrop{background:#020509eb}
.commerce-photo-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.commerce-photo-dialog>header>p{font-size:13px;font-weight:600;line-height:1.5}
.commerce-photo-dialog .btn{min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;font-size:12px;white-space:normal}
.commerce-photo-viewport{display:grid;place-items:center;overflow:auto;min-height:0;overscroll-behavior:contain;background:#141b21;border-radius:8px;touch-action:pan-y pinch-zoom}
.commerce-photo-viewport>img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.commerce-photo-viewport.is-zoomed{display:block;touch-action:pan-x pan-y pinch-zoom}
.commerce-photo-viewport.is-zoomed>img{width:200%;height:auto;max-width:none;min-width:200%;object-fit:initial}
.commerce-photo-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.commerce-photo-toolbar [data-card-photo-prev] svg{transform:rotate(180deg)}
.commerce-photo-selector{display:flex;overflow-x:auto;gap:7px;min-width:0}
.commerce-photo-selector>button{flex:0 0 auto;max-width:150px;min-height:40px;padding:9px 13px;border:1px solid var(--line);border-radius:7px;font-size:11px;color:var(--muted);background:transparent}
.commerce-photo-selector>button[aria-pressed=true]{border-color:var(--accent);background:#18382f;color:#c5f4e4}
.commerce-photo-dialog>.commerce-photo-caption{padding:0;font-size:10px}

/* The owner editor keeps identity first; private inventory fields are optional. */
.commerce-card-editor{gap:20px}
.commerce-editor-heading{display:flex;gap:14px;align-items:center;padding-right:28px}
.commerce-editor-heading>img{flex:none;width:46px;height:62px;object-fit:contain;border-radius:5px;background:var(--surface)}
.commerce-editor-heading h2{font-size:24px;line-height:1.15;margin-bottom:6px}
.commerce-editor-heading p{font-size:12px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.commerce-editor-section{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:18px}
.commerce-editor-section>legend{font-size:12px;padding-inline:6px;font-weight:600;color:var(--muted)}
.commerce-editor-private{border:1px solid var(--line);border-radius:12px}
.commerce-editor-private>summary{padding:17px;font-size:14px;font-weight:600;cursor:pointer;line-height:1.5}
.commerce-editor-private>summary>small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}
.commerce-editor-private>.stack{padding:0 18px 18px;gap:18px}
.commerce-editor-actions{position:sticky;bottom:-24px;z-index:2;padding:14px 0;background:var(--bg);border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
.commerce-editor-actions>.primary{flex:1;min-width:160px;min-height:48px}
.commerce-editor-actions>.ghost{min-height:48px}
@media(max-width:820px){
 .commerce-detail{grid-template-columns:minmax(0,1fr)}
 .commerce-detail>.card-view-column{border:0;border-bottom:1px solid var(--line)}
 .commerce-detail .stage{padding:20px 20px 10px}
 .commerce-detail .stage .holo{width:min(240px,65vw);min-width:0}
 .commerce-photo-heading{padding:18px 20px 0}
 .commerce-photo-strip{padding-inline:20px;justify-content:center}
 .commerce-photo-strip:has(>button:nth-child(5)){justify-content:flex-start}
 .commerce-photo-caption{padding-bottom:18px}
 .commerce-detail>.info{padding:26px 22px 22px}
 .commerce-detail .commerce-card-heading h2{font-size:30px}
 .commerce-card-heading{margin-bottom:20px}
}
@media(max-width:480px){
 .commerce-browse .photo-market-heading{align-items:center;gap:12px}
 .commerce-browse .photo-market-heading h1{font-size:30px}
 .commerce-browse .photo-market-heading p{font-size:12px;max-width:25ch}
 .commerce-browse .market-photo-tile .art>img{padding:10px}
 .commerce-browse .market-photo-tile .photo-price>b{font-size:18px}
 .commerce-browse .market-photo-tile .name{font-size:13px}
 .commerce-browse .market-photo-tile .meta{font-size:11px}
 .commerce-browse .market-photo-tile>.heart{top:5px;right:5px}
 .commerce-detail>.info{padding:24px 18px}
 .commerce-detail .commerce-card-heading h2{font-size:28px}
 .commerce-detail .card-offer-fields{grid-template-columns:minmax(0,1fr)}
 .commerce-price-line strong{font-size:34px}
 .commerce-detail .commerce-buy-row>.btn.primary{font-size:15px}
 .commerce-photo-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:12px;border-radius:12px;gap:10px}
 .commerce-photo-toolbar .btn{padding:8px 5px;font-size:11px;gap:4px}
 .commerce-photo-toolbar .btn svg{width:14px;flex:none}
 .commerce-photo-dialog>header>p{font-size:12px}
 .commerce-editor-actions{bottom:-24px}
}
@media(prefers-reduced-motion:reduce){.commerce-browse .market-photo-tile .art>img,.commerce-disclosure>summary svg{transition:none}.commerce-browse .tile-link:hover .art>img{transform:none}}
.commerce-photo-heading>.btn svg{transform:none}
.commerce-photo-viewport>[hidden]{display:none}
.commerce-photo-viewport>[data-card-photo-error]{max-width:30ch;padding:24px;font-size:14px;line-height:1.65;text-align:center;color:var(--muted)}
/* On a phone, inspection must leave room for the buying decision in the first screen. */
@media(max-width:820px){
 .commerce-detail>.card-view-column .commerce-photo-heading{min-height:54px;box-sizing:border-box;padding:14px 72px 10px 18px}
 .commerce-detail>.card-view-column .commerce-photo-heading>.btn{display:none}
 .commerce-detail>.card-view-column>.stage{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-content:start;padding:0 16px 12px;gap:10px;min-height:0}
 .commerce-detail>.card-view-column>.stage .holo{width:138px;height:190px;min-height:0;min-width:0;aspect-ratio:auto}
 .commerce-detail>.card-view-column .card-inspection-controls{gap:6px;flex-wrap:nowrap;max-width:360px}
 .commerce-detail>.card-view-column .card-inspection-controls .btn{min-width:0;min-height:44px;padding:9px 12px;font-size:12px}
 .commerce-detail>.card-view-column .card-inspection-controls .commerce-photo-open{flex:1;max-width:170px}
 .commerce-detail>.card-view-column .stage>.hint{display:none}
 .commerce-detail>.card-view-column>.commerce-photo-strip,.commerce-detail>.card-view-column>.commerce-photo-caption{display:none}
 .commerce-detail>.info{padding-top:20px}
 .commerce-detail .commerce-card-heading{margin-bottom:16px}
 .commerce-detail .commerce-card-category{margin-bottom:7px}
 .commerce-detail .commerce-price-line{margin-bottom:16px}
}

/* Compact browsing hierarchy: the card grid is the primary content. */
.commerce-browse .photo-market-heading{align-items:center;margin:0 0 8px}
.commerce-browse .photo-market-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.035em}
.commerce-browse .photo-market-heading p{margin-top:4px;font-size:13px}
.commerce-browse .market-activity-menu{margin:0 0 10px;padding-bottom:4px}
.commerce-browse .photo-market-controls{margin-top:0;grid-template-columns:minmax(0,1fr) auto}
.commerce-browse .photo-market-controls .market-search{grid-column:auto}
.commerce-browse .photo-market-controls>.btn{grid-area:auto;min-height:46px;height:auto;min-width:44px;white-space:normal;padding:10px 12px}
.commerce-browse .photo-market-refine>.photo-sort{display:grid;gap:6px;width:100%;justify-self:stretch;margin-bottom:14px;font-size:13px}
.commerce-browse .photo-market-refine>.photo-sort select{font-size:16px;text-align:start;min-height:44px;border:1px solid var(--line);background:var(--surface);padding:10px}
@media(max-width:760px){
 .commerce-browse{padding-top:14px}
 .commerce-browse .photo-market-heading h1{font-size:22px}
 .commerce-browse .photo-market-heading .btn{min-height:44px;font-size:12px}
 .commerce-browse .photo-market-controls>.btn{max-width:105px;font-size:12px}
 .commerce-browse .photo-market-browse{margin:5px 0 10px;gap:12px}
 .commerce-browse .photo-market-browse>label{flex:0 1 auto;min-width:0;width:auto}
 .commerce-browse .photo-market-browse>span{white-space:normal;text-align:right}
 .commerce-browse .photo-market-refine{padding:16px}
}

/* message-experience.css */
/* Transcript-first conversations. Controls remain keyboard and touch reachable. */
.dm-page .dm-conversation{grid-template-rows:auto auto minmax(0,1fr) auto}
.dm-page [data-message-caution]{min-height:0;max-height:28vh;overflow:auto}
.dm-page [data-message-caution]:has(.payment-nudge:not([hidden])){padding:8px 12px}
.dm-page .dm-conversation-header{padding:8px 12px;flex-wrap:nowrap}
.dm-page .dm-conversation-header .avatar{width:36px;height:36px;flex-shrink:0}
.dm-page .dm-conversation-header .dm-peer-link{gap:9px}
.dm-page .dm-conversation-header small{margin-top:2px}
.dm-page .dm-transcript-frame{position:relative;min-width:0;min-height:0;display:flex}
.dm-page .dm-transcript{width:100%;padding:18px 14px;gap:5px;scrollbar-gutter:stable;overflow-anchor:auto}
.dm-page .dm-message{display:flex;flex-direction:column;gap:0;position:relative;max-width:min(84%,520px);width:fit-content;padding-inline-end:32px;flex-shrink:0}
.dm-page .dm-message.me{padding-inline-end:0;padding-inline-start:32px}
.dm-page .dm-message .bubble{width:fit-content;max-width:100%;padding:9px 12px;border-radius:16px;box-sizing:border-box}
.dm-page .dm-message .bubble.me{border-bottom-right-radius:5px}
.dm-page .dm-body{font-size:15px;line-height:1.45}
.dm-page .dm-time{font-size:10px;margin-top:3px;margin-bottom:6px}
.dm-page .dm-message-actions{position:absolute;inset-block-start:0;inset-inline-end:-6px;margin:0;z-index:1}
.dm-page .dm-message.me .dm-message-actions{inset-inline-end:auto;inset-inline-start:-6px}
.dm-page .dm-message-actions[open]{width:auto;z-index:4;padding:0}
.dm-page .dm-message-actions>summary{min-width:38px;min-height:44px;opacity:.65}
.dm-page .dm-message-actions>div{position:absolute;inset-block-start:38px;inset-inline-end:0;width:max-content;max-width:min(240px,70vw);background:var(--surface,#1b2632);border:1px solid var(--border,#ffffff24);border-radius:16px;padding:6px;box-shadow:0 12px 30px #0005;display:grid;gap:0}
.dm-page .dm-message.me .dm-message-actions>div{inset-inline-end:auto;inset-inline-start:0}
.dm-page .dm-message-actions .dm-delete{justify-content:flex-start;text-align:start;padding:10px 14px;min-width:120px}
.dm-page .dm-message-actions[open]>summary,.dm-page .dm-message:hover .dm-message-actions>summary,.dm-page .dm-message:focus-within .dm-message-actions>summary{opacity:1}
.dm-page .dm-conversation-options{position:relative;flex-shrink:0}
.dm-page .dm-conversation-options[open]{flex-basis:auto;display:block}
.dm-page .dm-conversation-options>div{position:absolute;right:0;top:46px;width:200px;padding:10px;background:var(--surface,#1b2632);border:1px solid var(--border,#ffffff24);border-radius:16px;box-shadow:0 12px 30px #0005;z-index:5}
.dm-page .dm-compose{padding:8px 12px;overflow:visible;position:relative;max-height:none}
.dm-page .dm-compose form{display:flex;gap:8px;align-items:flex-end}
.dm-page .dm-compose textarea{flex:1;min-height:44px;padding:10px 13px;line-height:1.4;border-radius:22px}
.dm-page .dm-compose form>.btn{min-height:44px;border-radius:22px;padding:10px 14px}
.dm-page .dm-compose-tools{position:relative;flex:none}
.dm-page .dm-compose-tools>summary{min-width:44px;min-height:44px;border:1px solid var(--border,#ffffff24);border-radius:50%;color:var(--text)}
.dm-page .dm-compose-tools>div{position:absolute;bottom:54px;left:0;min-width:230px;max-width:calc(100vw - 60px);padding:12px;background:var(--surface,#1b2632);border:1px solid var(--border,#ffffff24);border-radius:18px;box-shadow:0 12px 30px #0005;z-index:5;align-items:center}
.dm-page .dm-tools-title{flex-basis:100%;font-weight:600;font-size:14px;margin:0 2px 3px}
.dm-page .dm-compose-tools .dm-safety-note{flex-basis:100%;font-size:11px;margin-top:5px}
.dm-page .dm-compose .chat-keyboard-hint{margin:5px 0 0;text-align:center;font-size:10px}
.dm-page .dm-compose-mode{margin-bottom:8px;padding:6px 10px}
.dm-page .dm-latest{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);min-height:44px;display:flex;align-items:center;gap:7px;padding:9px 15px;border-radius:24px;border:1px solid var(--border,#ffffff24);background:var(--surface,#1b2632);color:var(--text,#eef2f6);font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 5px 20px #0005;white-space:nowrap;z-index:3}
.dm-page .dm-latest[hidden]{display:none}
.dm-page .dm-latest svg{transform:rotate(90deg)}
.dm-page .bubble.me .dm-quote{background:#092c2410;border-color:#315e52;color:#183f33}
.dm-page .bubble.me .dm-quote small,.dm-page .bubble.me .dm-card-copy small{color:#30564a}
.dm-page .bubble.me .dm-card{background:#092c240b;border-color:#092c2428;color:#092c24}
@media(hover:hover) and (pointer:fine){.dm-page .dm-message-actions>summary{opacity:0}}
@media(max-width:820px){.dm-page .dm-transcript{padding:12px 8px}.dm-page .dm-compose{padding:8px}.dm-page .dm-message{max-width:90%}.dm-page .dm-compose .chat-keyboard-hint{display:none}}

/* Counts sit below existing bubbles; the six choices open from Message actions. */
.dm-page .dm-reactions{color:var(--muted);margin:var(--space-xs,4px) var(--space-xs,4px) 0;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.dm-page .dm-reactions[hidden]{display:none}
/* Immutable order updates share the conversation timeline without a sender. */
.dm-page .dm-order-event,.message-library .history-result.dm-order-event{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;align-self:center;flex-shrink:0;box-sizing:border-box;width:min(100%,440px);max-width:100%;min-width:0;margin:6px auto;padding:8px 10px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--muted);font-size:12px;line-height:1.5}
.dm-order-event-icon{display:flex;align-items:center;padding-top:1px}
.dm-order-event-copy{display:grid;gap:1px;min-width:0;overflow-wrap:anywhere}
.dm-order-event-copy>strong{color:var(--text);font-size:inherit;font-weight:600}
.dm-order-event-meta{display:flex;flex-wrap:wrap;column-gap:10px;row-gap:0;font-size:11px}
.dm-order-event-time{color:var(--muted);font-size:inherit}
.dm-reaction-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr));gap:var(--space-sm,8px);font-size:.875rem}
.dm-reaction-picker .btn{min-width:0;min-height:76px;padding:12px 8px;flex-direction:column;gap:4px;font-size:inherit;white-space:normal;overflow-wrap:normal;word-break:normal;justify-content:center;text-align:center}
.dm-reaction-picker .btn>span[aria-hidden]{font-size:1.5em;line-height:1.2}
.dm-reaction-picker .dm-reaction-label{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.dm-reaction-picker .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
/* Inbox-wide search uses the existing field and reveals controls only in context. */
.dm-page .dm-inbox-tools>form{margin:0;min-width:0}
.dm-page .dm-search-submit{margin:4px 8px;min-height:44px}
.dm-page .dm-search-results{display:grid;min-width:0;gap:4px;padding:8px}
.dm-page .dm-search-status{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 3px;color:var(--muted);font-size:11px}
.dm-page .dm-search-status p{margin:0;min-width:0;overflow-wrap:anywhere}
.dm-page .dm-search-status .btn{font-size:11px;padding:8px;min-height:44px;flex-shrink:0}
.dm-page .dm-search-result{display:grid;gap:5px;width:100%;min-width:0;min-height:60px;padding:12px 10px;text-align:left;border:0;border-bottom:1px solid var(--border,#ffffff24);border-radius:8px;background:transparent;color:var(--text);font:inherit;cursor:pointer}
.dm-page .dm-search-result:hover,.dm-page .dm-search-result:focus-visible{background:var(--surface,#1b2632)}
.dm-page .dm-search-result-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;font-size:13px}
.dm-page .dm-search-result-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dm-page .dm-search-result-head time{color:var(--muted);font-size:10px;flex-shrink:0}
.dm-page .dm-search-result-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;color:var(--muted);font-size:12px;line-height:1.5}
.dm-page .dm-search-result-body svg{vertical-align:text-bottom}
.dm-page .dm-search-return{flex-shrink:0;min-height:44px;padding:8px 4px;font-size:11px;gap:4px}
.message-context .history-result{overflow-wrap:anywhere;min-width:0}
.message-context .history-result.is-match{border:1px solid var(--accent);border-radius:12px;padding:12px;box-sizing:border-box}
.message-context .history-match-label{display:block;color:var(--accent);font-size:10px;font-weight:600;margin-bottom:6px}
.message-context .dm-order-event .history-match-label{grid-column:1/-1;margin:0}
.message-context [data-context-status]{min-width:0;overflow-wrap:anywhere;font-size:12px}

/* payment-nudge.css */
/* One quiet, nonblocking notice in the transcript, not a modal or sticky bar. */
.payment-nudge{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;column-gap:8px;box-sizing:border-box;min-width:0;max-width:100%;padding:12px;border:1px solid var(--border,#30343c);border-radius:12px;background:var(--inset,#101216);color:var(--text,#f4f7fb);font-size:.875rem;line-height:1.5;overflow-wrap:break-word}
.payment-nudge[hidden]{display:none}
.payment-nudge>strong{grid-column:1;grid-row:1;display:block;font-weight:600}
.payment-nudge>p{grid-column:1/-1;grid-row:2;margin:0;color:var(--muted,#b6bbc5)}
.payment-nudge-dismiss{grid-column:2;grid-row:1;display:block;min-width:44px;min-height:44px;max-width:100%;padding:8px;margin:0;border:0;border-radius:8px;background:transparent;color:var(--accent,#7CF2D4);font:inherit;font-size:24px;font-weight:600;text-align:center;white-space:normal;cursor:pointer}
.payment-nudge-dismiss:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:2px}

/* game-day-stream.css */
/* game-day-stream.css — score-first schedule rows and the live play stream.
   Loads after every earlier Game Day layer; selectors stay under .game-day.gd-flow
   so they win by cascade position at the specificity the flow layer already uses. */

/* Score-first schedule: one compact row per game (~68px), teams stacked with the
   reported score right-aligned, status in its own narrow column. */
.game-day.gd-flow .gd-game-group .gd-event{display:grid;grid-template-columns:minmax(0,1fr) 84px;grid-template-areas:"teams status" "owned owned";align-items:center;column-gap:12px;row-gap:4px;min-height:68px;padding:10px 12px 10px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;text-align:left;transform:none;transition:background-color .16s ease}
.game-day.gd-flow .gd-game-group .gd-event:hover{background:var(--surface);transform:none}
.game-day.gd-flow .gd-game-group .gd-event:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface)}
.game-day.gd-flow .gd-game-group .gd-event.selected{background:var(--surface);box-shadow:inset 3px 0 var(--accent)}
.game-day.gd-flow .gd-game-group .gd-event.is-live{box-shadow:inset 2px 0 var(--accent)}
.game-day.gd-flow .gd-game-group .gd-event-teams{grid-area:teams;display:grid;gap:2px;margin:0;min-width:0}
.game-day.gd-flow .gd-game-group .gd-event-team{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:24px;margin:0;font-size:14px;line-height:22px;font-weight:600;color:var(--text)}
.game-day.gd-flow .gd-game-group .gd-event-team>.gd-team-mark{width:24px;height:24px;min-width:24px;font-size:var(--fs-micro);border-radius:6px}
.game-day.gd-flow .gd-game-group .gd-event-team>span:not(.gd-team-mark){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:22px}
.game-day.gd-flow .gd-game-group .gd-event-team b{min-width:2.4ch;text-align:right;font-size:20px;line-height:24px;font-weight:750;letter-spacing:-.3px;font-variant-numeric:tabular-nums;border-radius:6px;padding:0 4px;margin-right:-4px}
.game-day.gd-flow .gd-game-group .gd-event.is-final .is-trailing,.game-day.gd-flow .gd-game-group .gd-event.is-final .is-trailing b{color:var(--muted);font-weight:500}
.game-day.gd-flow .gd-game-group .gd-event-status{grid-area:status;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;min-width:0;min-height:44px;margin:0;padding-left:12px;border-left:1px solid var(--line);text-align:right}
.game-day.gd-flow .gd-game-group .gd-event-status b{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.2px;color:var(--text);white-space:nowrap}
.game-day.gd-flow .gd-game-group .gd-event-status b.live{color:var(--accent)}
.game-day.gd-flow .gd-game-group .gd-event-status small{font-size:12px;line-height:16px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.game-day.gd-flow .gd-game-group .gd-join{display:none}
.game-day.gd-flow .gd-game-group .gd-owned-match{grid-area:owned;display:flex;align-items:center;gap:6px;min-height:20px;margin:0 0 0 34px;padding:0;font-size:12px;line-height:16px;color:var(--accent);background:none;border:0}
.game-day.gd-flow .gd-game-group .gd-owned-thumb{width:14px;height:20px;border-radius:3px;overflow:hidden}
.game-day.gd-flow .gd-game-group .gd-owned-match svg{width:12px;height:12px}

/* A reported score that went up flashes once; the number itself never animates
   through values it did not have. */
.game-day .gd-event b.gd-score-changed{animation:gdRowScore 1.4s var(--fluid);color:var(--accent-ink);background:var(--accent)}
@keyframes gdRowScore{0%{transform:scale(1.22);background:var(--accent);color:var(--accent-ink)}55%{transform:scale(1);background:var(--accent);color:var(--accent-ink)}100%{transform:scale(1);background:transparent;color:var(--text)}}
.game-day .gd-event b.gd-score-changed{animation-fill-mode:forwards}

/* New plays above the reader: floats just under the sticky scoreboard. */
/* Relative positioning anchors the new-play pill, but must not retain the
   older sticky header's desktop top offset and cover the field below it. */
.game-day .gd-room-open .gd-sticky-room{position:relative;inset:auto}
.game-day .gd-new-plays-host{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);z-index:6;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}
.game-day .gd-new-plays{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 16px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:700;line-height:20px;box-shadow:0 8px 24px rgba(0,0,0,.4);cursor:pointer;animation:gdPillIn .28s var(--fluid)}
.game-day .gd-new-plays:hover{filter:brightness(1.06)}
.game-day .gd-new-plays:focus-visible{outline:2px solid var(--text);outline-offset:3px}
@keyframes gdPillIn{from{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:none}}

/* Play stream: period labels, hairline rows, a mint edge on scoring plays. */
.game-day.gd-flow .gd-play-feed .gd-play-group>h3{position:sticky;top:0;z-index:1;margin:0;padding:8px 0 6px;font-size:11px;line-height:16px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);background:var(--bg)}
.game-day.gd-flow .gd-play-feed .gd-play-group>ol{margin:0;padding:0;list-style:none}
.game-day.gd-flow .gd-play-feed .gd-history-row{border-bottom:1px solid var(--line)}
.game-day.gd-flow .gd-play-feed .gd-history-row:last-child{border-bottom:0}
.game-day.gd-flow .gd-play-feed .gd-history-row .gd-compact-play{border-bottom:0}
.game-day.gd-flow .gd-play-feed .gd-compact-play:has(+.gd-play-reactions){padding-bottom:8px}
.game-day.gd-flow .gd-play-feed .gd-compact-play{width:100%;text-align:left;border-radius:10px;transition:background-color .16s ease}
.game-day.gd-flow .gd-play-feed .gd-compact-play:hover{background:var(--surface)}
.game-day.gd-flow .gd-play-feed .gd-compact-play.is-positive{box-shadow:inset 2px 0 var(--accent)}
.game-day.gd-flow .gd-play-feed .gd-compact-play:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* Play reactions: a quiet row of four under each play; counts and the viewer's
   own reaction come from the server. */
.game-day .gd-play-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 0 12px 52px}
.game-day .gd-play-reaction{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:36px;min-height:32px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:14px;line-height:20px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s var(--fluid)}
.game-day .gd-play-reaction b{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}
.game-day .gd-play-reaction:not(.has-count):not([aria-pressed=true]){opacity:.72}
.game-day button.gd-play-reaction:hover{background:var(--surface);border-color:var(--line-2);opacity:1}
.game-day button.gd-play-reaction:active{transform:scale(.94)}
.game-day .gd-play-reaction[aria-pressed=true],.game-day .gd-play-reaction.is-mine{border-color:var(--accent);background:rgba(134,240,208,.12)}
.game-day .gd-play-reaction[aria-pressed=true] b,.game-day .gd-play-reaction.is-mine b{color:var(--accent)}
.game-day .gd-play-reaction:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}
.game-day .gd-play-reactions[aria-busy=true]{cursor:progress}
.game-day .gd-play-reactions.is-closed .gd-play-reaction{cursor:default}

@media(max-width:600px){
 .game-day.gd-flow .gd-game-group .gd-event{grid-template-columns:minmax(0,1fr) 76px;padding:10px 6px 10px 8px;min-height:64px}
 .game-day.gd-flow .gd-game-group .gd-event-team b{font-size:18px}
 .game-day.gd-flow .gd-game-group .gd-owned-match{margin-left:34px}
 .game-day .gd-play-reactions{padding-left:0}
}
/* The narrow room sidebar keeps the same row, minus the status divider. */
.game-day.gd-flow .gd-room-open .gd-game-group .gd-event{grid-template-columns:minmax(0,1fr) 64px;column-gap:8px;padding-inline:8px}
.game-day.gd-flow .gd-room-open .gd-game-group .gd-event-status{padding-left:8px;border-left:0}

@media(pointer:coarse){
 .game-day .gd-new-plays{min-height:44px}
 .game-day .gd-play-reaction{min-width:44px;min-height:44px}
 .game-day.gd-flow .gd-game-group .gd-event{min-height:68px}
}
@media(prefers-reduced-motion:reduce){
 .game-day .gd-event b.gd-score-changed{animation:none;transform:none;color:var(--accent-ink);background:var(--accent)}
 .game-day .gd-new-plays{animation:none}
 .game-day .gd-play-reaction{transition:none}.game-day button.gd-play-reaction:active{transform:none}
 .game-day.gd-flow .gd-game-group .gd-event,.game-day.gd-flow .gd-play-feed .gd-compact-play{transition:none}
}

/* message-thread.css */
/* message-thread.css — redesign layer; loaded via screens.css (scripts/build-styles.mjs) */
/* Conversation rhythm: compact inbox rows, sender groups, day chips, in-bubble
   time and receipts, reaction pills, quick reactions and a morphing send key. */

/* Inbox rows: one consistent height, name/time over preview/state. */
.dm-page .dm-thread{display:flex;align-items:center;gap:12px;min-height:72px;padding:10px 12px;margin:2px 8px;border:0;border-radius:14px;box-sizing:border-box}
.dm-page .dm-thread>.avatar{width:48px;height:48px;flex:0 0 48px}
.dm-page .dm-thread-main{display:grid;gap:3px;min-width:0}
.dm-page .dm-thread-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.dm-page .dm-thread-title b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3}
.dm-page .dm-thread-time{flex:none;font-size:12px;line-height:1.3;color:var(--muted);font-variant-numeric:tabular-nums}
.dm-page .dm-thread.has-unread .dm-thread-time{color:var(--accent);font-weight:600}
.dm-page .dm-thread-meta{display:flex;align-items:center;gap:8px;min-width:0;min-height:20px}
.dm-page .dm-thread-preview{flex:1;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.45;color:var(--muted)}
.dm-page .dm-thread.has-unread .dm-thread-preview{color:var(--text)}
.dm-page .dm-preview-own{color:var(--muted);font-weight:500}
.dm-page .dm-thread-flags{display:flex;align-items:center;gap:6px;flex:none}
.dm-page .dm-flag{display:inline-flex;align-items:center;margin:0;padding:0;background:none;border-radius:0;color:var(--muted);letter-spacing:0;text-transform:none}
.dm-page .dm-unread{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;box-sizing:border-box;background:var(--accent);color:#0e1a17;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.dm-page .dm-thread.is-muted .dm-unread{background:#3a4550;color:#c9d3dc}
.dm-page .dm-thread:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:-2px}

/* Sender groups: tight inside a turn, air between turns. */
.dm-page .dm-transcript{gap:2px}
.dm-page .dm-transcript>.dm-message.is-group-start,.dm-page .dm-transcript>.dm-message.message-pending{margin-top:8px}
.dm-page .dm-message>.bubble{position:relative;border-radius:18px}
.dm-page .dm-message.me:not(.is-group-start):not(.message-pending)>.bubble{border-top-right-radius:6px}
.dm-page .dm-message.me:not(.is-group-end):not(.message-pending)>.bubble{border-bottom-right-radius:6px}
.dm-page .dm-message:not(.me):not(.is-group-start)>.bubble{border-top-left-radius:6px}
.dm-page .dm-message:not(.me):not(.is-group-end)>.bubble{border-bottom-left-radius:6px}
/* The tail belongs to the last bubble of a group only. */
.dm-page .dm-message.me.is-group-end>.bubble{border-bottom-right-radius:4px}
.dm-page .dm-message:not(.me).is-group-end>.bubble{border-bottom-left-radius:4px}
.dm-page .dm-message.is-group-end>.bubble::after{content:"";position:absolute;bottom:0;width:9px;height:12px;background:inherit;pointer-events:none}
.dm-page .dm-message.me.is-group-end>.bubble::after{right:-6px;clip-path:polygon(0 0,0 100%,100% 100%)}
.dm-page .dm-message:not(.me).is-group-end>.bubble::after{left:-6px;clip-path:polygon(100% 0,0 100%,100% 100%)}

/* Time, edited mark and receipt sit inside the bubble, after the text when it fits. */
.dm-page .dm-message>.bubble{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:10px}
.dm-page .dm-message>.bubble>*{flex:1 1 100%;min-width:0}
.dm-page .dm-message>.bubble>.dm-body{flex:1 1 auto}
/* Offer lines are already separate rows here; their line break would add an empty one. */
.dm-page .dm-message>.bubble>br{display:none}
.dm-page .dm-message>.bubble>.dm-time{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;margin:2px 0 -3px auto;font-size:11px;line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.dm-page .dm-message:not(.me)>.bubble>.dm-time{color:var(--muted)}
.dm-page .dm-edited{font-style:italic}
.dm-page .dm-tick{display:inline-flex;width:16px;height:16px;flex:none}
.dm-page .dm-tick svg{width:16px;height:16px}
.dm-layout .bubble.me .dm-tick.is-read{color:#1d4fae}
/* A pending bubble shows a clock until the server confirms it; a failed one an alert. */
.dm-page .dm-message.message-pending>.dm-time::before{content:"";display:inline-block;width:12px;height:12px;margin-inline-end:4px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5v5l3 2'/%3E%3C/svg%3E") center/contain no-repeat}
.dm-page .dm-message.message-pending:has(>[data-message-retry])>.dm-time::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5v5.5M12 16.5v.1'/%3E%3C/svg%3E")}

/* Reply quote inside the bubble. */
.dm-page .dm-message .dm-quote{margin:0 0 6px;padding:6px 10px;border:0;border-inline-start:3px solid var(--accent);border-radius:8px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.dm-page .dm-message:not(.me) .dm-quote{background:#ffffff0f;color:var(--muted)}
.dm-page .dm-message.me .dm-quote{border-inline-start-color:#2b6e5c}
.dm-page .dm-message .dm-quote small{display:block;font-weight:700;font-size:12px;margin-bottom:1px}
.dm-page .dm-message:not(.me) .dm-quote small{color:var(--accent)}

/* Day chips stay readable while their day scrolls past. */
.dm-page .dm-day{position:sticky;top:4px;z-index:2;align-self:center;flex-shrink:0;margin:12px 0 4px;pointer-events:none}
.dm-page .dm-day>span{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--raised);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;line-height:1.4;box-shadow:0 2px 10px #0006}

/* Reaction pill overlaps the bubble's lower edge on the sender's side. */
.dm-page .dm-message>.dm-reactions{grid-column:1;grid-row:2;justify-self:start;position:relative;z-index:1;width:fit-content;margin:-7px 0 2px 10px;padding:1px 8px;border-radius:999px;background:var(--raised);border:1px solid var(--line-2,#ffffff24);color:var(--text);font-size:13px;line-height:1.5;white-space:pre;box-shadow:0 2px 8px #0005}
.dm-page .dm-message.me>.dm-reactions{justify-self:end;margin:-7px 10px 2px 0}

/* Quick reactions: first row of Message actions, and the hover/long-press bar. */
.dm-page .dm-message-actions>div:has(.dm-quick-reactions){max-width:min(300px,86vw)}
.dm-quick-reactions{display:flex;flex-wrap:wrap;gap:2px;padding:2px 2px 6px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.dm-quick-reaction{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1;cursor:pointer;transition:transform 140ms var(--fluid,ease),background-color 140ms var(--fluid,ease)}
.dm-quick-reaction:hover{background:#ffffff12}
.dm-quick-reaction:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:1px}
.dm-quick-reaction[aria-pressed=true]{background:var(--holo-soft,#9af3d322);box-shadow:inset 0 0 0 1.5px var(--accent)}
.dm-quick-bar{position:absolute;z-index:6;display:flex;gap:2px;padding:4px;border-radius:999px;background:var(--surface,#11161b);border:1px solid var(--line-2,#ffffff24);box-shadow:0 10px 28px #0007;animation:dm-quick-bar-in 160ms var(--fluid,ease)}
@keyframes dm-quick-bar-in{from{opacity:0;transform:translateY(4px) scale(.96)}}
@media(hover:hover) and (pointer:fine){.dm-quick-bar .dm-quick-reaction:hover{transform:scale(1.18)}}
.dm-page .dm-message.is-reacting>.bubble{box-shadow:0 0 0 2px var(--accent)}
.dm-page .dm-message>.bubble{-webkit-touch-callout:none}

/* Jump to latest: a round key at the reading edge, with a count of arrivals. */
.dm-page .dm-latest{left:auto;right:14px;bottom:14px;transform:none;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;overflow:visible}
.dm-page .dm-latest.has-new{border-color:var(--accent)}
.dm-page .dm-latest:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:2px}
.dm-page .dm-latest-count{position:absolute;top:-7px;left:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:var(--accent);color:#0e1a17;font-size:11px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.dm-page .dm-latest-count[hidden]{display:none}

/* Composer: the share-a-card key becomes a mint send arrow once there is something to send. */
.dm-page .dm-send-slot{position:relative;display:grid;flex:none;width:48px;height:48px}
.dm-page .dm-send-slot>.dm-compose-alt,.dm-page .dm-send-slot>.dm-send{grid-area:1/1;display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;box-sizing:border-box;transition:opacity 140ms var(--fluid,ease),transform 180ms var(--fluid,ease),visibility 180ms}
.dm-page .dm-send-slot>.dm-compose-alt{border:1px solid var(--line-2,#ffffff24);background:transparent;color:var(--text)}
.dm-page .dm-send-slot>.dm-send{border:0;background:var(--accent);color:#0e1a17;box-shadow:0 4px 16px #9af3d32e}
.dm-page .dm-send-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dm-page .dm-compose-form:not(.has-content) .dm-send-slot>.dm-send{opacity:0;transform:scale(.6) rotate(-45deg);visibility:hidden;pointer-events:none}
.dm-page .dm-compose-form.has-content .dm-send-slot>.dm-compose-alt{opacity:0;transform:scale(.6);visibility:hidden;pointer-events:none}
.dm-page .dm-send-slot>.dm-send:disabled{opacity:.55}
.dm-page .dm-send-slot>.dm-compose-alt:focus-visible,.dm-page .dm-send-slot>.dm-send:focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:2px}

@media(pointer:coarse){
 .dm-quick-reaction{width:44px;height:44px}
 .dm-page .dm-thread{min-height:76px}
}
@media(max-width:420px){
 .dm-page .dm-thread{margin:2px 4px;padding:10px}
 .dm-page .dm-thread>.avatar{width:44px;height:44px;flex-basis:44px}
 .dm-page .dm-latest{right:10px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){
 .dm-quick-bar{animation:none}
 .dm-quick-reaction,.dm-page .dm-send-slot>.dm-compose-alt,.dm-page .dm-send-slot>.dm-send{transition:none}
 .dm-quick-bar .dm-quick-reaction:hover{transform:none}
 .dm-page .dm-compose-form:not(.has-content) .dm-send-slot>.dm-send,.dm-page .dm-compose-form.has-content .dm-send-slot>.dm-compose-alt{transform:none}
}

/* Archived filter count and the archive action in conversation options. */
.dm-page .dm-filter-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-inline-start:6px;padding:0 5px;box-sizing:border-box;border-radius:9px;background:#3a4550;color:#c9d3dc;font-size:11px;font-weight:700;line-height:1}
.dm-page .dm-conversation-options .dm-archive{width:100%;justify-content:flex-start;min-height:44px}
.dm-page .dm-filters{flex-wrap:wrap}
.dm-page .dm-filters{gap:6px}
.dm-page .dm-filters button{padding:8px 12px}
/* Own bubbles hug the reading edge; their action key sits on the inner side. */
.dm-page .dm-transcript>.dm-message.me{grid-template-columns:minmax(0,max-content)}

/* explore-feed.css */
/* explore-feed.css — redesign layer; loaded via screens.css (scripts/build-styles.mjs) */
/* Explore: photo-first feed, holo story rings, grid browse and profile header.
   Interaction patterns only; HoloTap graphite surfaces, mint actions, holo rings. */

/* ── Stories tray: a snapping row of round faces; lit holo ring until seen ── */
html.v5 .collector-home .stories{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;padding:10px 4px 14px;margin-inline:-4px;scrollbar-width:none}
html.v5 .collector-home .stories>[role=listitem]{flex:none;scroll-snap-align:start}
html.v5 .collector-home .story{width:78px;min-height:98px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:4px 2px;border:0;border-radius:14px;background:none;color:var(--text);font:inherit;cursor:pointer}
html.v5 .collector-home .story .ring{width:68px;height:68px;padding:3px;box-sizing:border-box;background:conic-gradient(from 210deg,var(--accent),var(--blue),var(--violet),var(--accent));transition:transform .18s var(--ease)}
html.v5 .collector-home .story .ring .avatar{width:100%;height:100%;box-sizing:border-box;border:3px solid var(--bg)}
html.v5 .collector-home .story.seen .ring{padding:2px;background:var(--line-2)}
html.v5 .collector-home .story small{display:block;max-width:74px;min-height:0;margin:0;font-size:12px;line-height:1.35;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
html.v5 .collector-home .story.seen small{color:var(--muted)}
html.v5 .collector-home .story:hover .ring{transform:scale(1.04)}
html.v5 .collector-home .story:active .ring{transform:scale(.95)}
html.v5 .collector-home .story:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
html.v5 .collector-home .stories:not(.stories-empty) .story-add{min-width:78px;min-height:98px;gap:7px;padding:4px 2px}
html.v5 .collector-home .stories:not(.stories-empty) .story-add-avatar,html.v5 .collector-home .stories:not(.stories-empty) .story-add-avatar>.avatar{width:68px;height:68px}
html.v5 .collector-home .stories:not(.stories-empty) .story-add-avatar>.avatar{box-sizing:border-box;border:3px solid var(--bg);box-shadow:0 0 0 2px var(--line-2)}
html.v5 .stories-frame{position:relative;min-width:0}
html.v5 .stories-step{position:absolute;top:28px;z-index:2;display:none;place-items:center;width:32px;height:32px;padding:0;border:1px solid var(--line-2);border-radius:50%;background:var(--raised-2);color:var(--text);box-shadow:0 4px 14px #0008;cursor:pointer}
html.v5 .stories-step[data-stories-step="-1"]{left:-6px}
html.v5 .stories-step[data-stories-step="1"]{right:-6px}
@media(hover:hover) and (pointer:fine){html.v5 .stories-frame:hover .stories-step:not([hidden]){display:grid}}
html.v5 .post-author-avatar.has-story:before{background:conic-gradient(from 210deg,var(--accent),var(--blue),var(--violet),var(--accent)) border-box}
html.v5 .post-author-avatar.has-story.seen:before{background:var(--line-2) border-box}

/* ── Photo-first posts: header, large media, icon action row ── */
html.v5 .collector-home [data-feed-posts]>.post>.post-head{min-height:60px;padding:10px 2px}
html.v5 .collector-home [data-feed-posts]>.post .post-head .who b{font-size:14px;font-weight:700}
html.v5 .collector-home [data-feed-posts]>.post .post-head .who small{font-size:12px;color:var(--muted)}
html.v5 .collector-home .post-media{position:relative;aspect-ratio:1;max-height:min(600px,78vh);padding:28px;border-radius:18px;background:radial-gradient(ellipse at 30% 18%,#7CF2D414,transparent 60%),radial-gradient(ellipse at 82% 92%,#C6B6FF14,transparent 62%),var(--surface)}
html.v5 .post-media{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
html.v5 .collector-home [data-feed-posts] .post-actions{gap:4px 14px;align-items:center}
html.v5 .collector-home [data-feed-posts] .post-actions [data-post-like]{order:0}
html.v5 .collector-home [data-feed-posts] .post-actions a[href^="/post/"]{order:1}
html.v5 .collector-home [data-feed-posts] .post-actions a[href^="/you/messages"]{order:2}
html.v5 .collector-home [data-feed-posts] .post-actions [data-open-card]{order:3;margin-left:auto}
html.v5 .collector-home [data-feed-posts] .post-actions [data-watch]{order:4}
html.v5 .post-actions [data-post-like][aria-pressed="true"] svg{fill:currentColor}
html.v5 .post-actions [data-post-like] span{font-variant-numeric:tabular-nums}

@media(max-width:600px){html.v5 .collector-home .post-media{padding:18px;border-radius:14px}}
html.v5 .feed-aside-links{display:flex;flex-wrap:wrap;gap:8px}
html.v5 .feed-aside-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:13px;font-weight:600}
html.v5 .feed-aside-links a:hover{border-color:var(--accent)}
/* Double-tap heart: a mint burst over the media, still under Reduce Motion. */
html.v5 .post-media .heart-burst{z-index:2;color:var(--accent)}
html.v5 .post-media .heart-burst svg{width:min(96px,30%);height:auto;fill:currentColor;stroke:var(--accent-ink);stroke-width:.6;filter:drop-shadow(0 10px 24px #000a)}
html.v5 .post-media .heart-burst.go{animation:explore-heart .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes explore-heart{0%{opacity:0;transform:scale(.3)}16%{opacity:1;transform:scale(1.14)}30%{transform:scale(.94)}44%{transform:scale(1)}78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.04)}}

/* ── Feed / grid layout switch ── */
html.v5 .explore-layout{display:flex;width:max-content;align-self:flex-end;gap:2px;padding:3px;margin:0 0 -4px auto;border:1px solid var(--line);border-radius:999px;background:var(--raised)}
html.v5 .explore-layout button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:650;cursor:pointer}
html.v5 .explore-layout button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
html.v5 .explore-layout button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── Grid browse: three square columns with a 2x2 feature tile in every two
   rows of three, alternating sides; placement keeps DOM and reading order
   aligned (no dense packing). Only posts already in the feed fill it. ── */
html.v5 .collector-home [data-feed-posts].explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px!important}
html.v5 .collector-home .explore-grid>.post{position:relative;aspect-ratio:1;min-width:0;margin:0;padding:0;border:0;border-radius:4px;overflow:hidden;background:var(--surface)}
html.v5 .collector-home .explore-grid>.post:nth-child(12n+1){grid-column:1/span 2;grid-row:span 2}
html.v5 .collector-home .explore-grid>.post:nth-child(12n+8){grid-column:2/span 2;grid-row:span 2}
html.v5 .collector-home .explore-grid>.post>.post-head,html.v5 .collector-home .explore-grid>.post>.post-why{display:none}
html.v5 .collector-home .explore-grid>.post>.post-media{position:absolute;inset:0;height:100%;max-height:none;aspect-ratio:auto;margin:0;padding:8%;border-radius:0}
html.v5 .collector-home .explore-grid>.post>.post-media>img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:none;padding:0;filter:none}
html.v5 .collector-home .explore-grid>.post>.post-media>.chip{display:none}
html.v5 .collector-home .explore-grid>.post>.post-body{position:absolute;inset:auto 0 0;padding:8px;gap:0;background:linear-gradient(transparent,#05080bd9);opacity:0;transition:opacity .16s}
html.v5 .collector-home .explore-grid>.post>.post-body>:not(.post-actions){display:none}
html.v5 .collector-home .explore-grid>.post .post-actions{gap:4px;padding:0;border:0;flex-wrap:nowrap}
html.v5 .collector-home .explore-grid>.post .post-actions>:not([data-post-like]):not(a[href^="/post/"]){display:none}
html.v5 .collector-home .explore-grid>.post .post-actions .btn{min-height:36px;padding:0 6px;font-size:12px;color:var(--text)}
html.v5 .collector-home .explore-grid>.post:is(:hover,:focus-within)>.post-body{opacity:1}
html.v5 .collector-home .explore-grid>.post:not(:has(>.post-media))>.post-body{inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px;opacity:1;background:var(--holo-soft),var(--raised)}
html.v5 .collector-home .explore-grid>.post:not(:has(>.post-media))>.post-body>p{display:-webkit-box;margin:0;font-size:13px;line-height:1.45;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow-wrap:anywhere}
html.v5 .collector-home .explore-grid>.post-hidden{aspect-ratio:1;flex-direction:column;justify-content:center;gap:8px;margin:0;padding:10px;border-radius:4px;font-size:12px;text-align:center}
@media(hover:none){html.v5 .collector-home .explore-grid>.post:has(>.post-media)>.post-body{display:none}}

/* ── Collector profile: holo avatar ring, stacked counts, tabs ── */
html.v5 .collector-story-avatar{grid-row:1/3;display:grid;place-items:center;width:84px;height:84px;padding:3px;box-sizing:border-box;border:0;border-radius:50%;background:conic-gradient(from 210deg,var(--accent),var(--blue),var(--violet),var(--accent));cursor:pointer}
html.v5 .collector-story-avatar.seen{background:var(--line-2)}
html.v5 .collector-story-avatar>.avatar{width:100%;height:100%;box-sizing:border-box;border:3px solid var(--bg)}
html.v5 .collector-story-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
html.v5 .collector-identity{grid-template-columns:84px minmax(0,1fr)}
html.v5 .collector-identity>.avatar{width:84px;height:84px}
html.v5 .collector-counts b{font-size:16px;font-weight:750;font-variant-numeric:tabular-nums}
html.v5 .collector-sections [role=tab]{justify-content:center}
html.v5 .collector-sections [role=tab]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px 6px 0 0}
@media(max-width:600px){
 html.v5 .collector-identity{grid-template-columns:72px minmax(0,1fr)}
 html.v5 .collector-identity>.avatar,html.v5 .collector-story-avatar{width:72px;height:72px;grid-row:1}
 html.v5 .collector-counts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;text-align:center}
 html.v5 .collector-counts>span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px}
 html.v5 .collector-counts b{margin:0;font-size:18px}
 html.v5 .collector-sections{gap:0}
 html.v5 .collector-sections>a{flex:1;justify-content:center}
}
@media(pointer:coarse){html.v5 .explore-layout button,html.v5 .collector-home .explore-grid>.post .post-actions .btn{min-height:44px}}
@media(prefers-reduced-motion:reduce){html.v5 .collector-home .story .ring,html.v5 .collector-home .explore-grid>.post>.post-body{transition:none}html.v5 .collector-home .story:hover .ring,html.v5 .collector-home .story:active .ring{transform:none}html.v5 .post-media .heart-burst.go{animation:none}}

/* Keep identity and feed controls in their own flow at phone and larger text sizes. */
html.v5 .collector-home .feed-home-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px}
html.v5 .collector-home .feed-home-heading h1{flex:0 0 auto;min-width:max-content;margin:0;font-size:28px;line-height:1.25;letter-spacing:-.8px}
html.v5 .collector-home .feed-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
html.v5 .collector-home :is(.stream,.post-body,.post-head .who){min-width:0}
html.v5 .collector-home .post-head .who{flex:1;overflow:hidden}
html.v5 .collector-home .post-head .who b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html.v5 .collector-home .post-head>.icon-btn{flex:0 0 44px}
html.v5 .collector-home .post-body :is(p,h3){overflow-wrap:anywhere}
html.v5 .collector-home .post-actions .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.5}
html.v5 .collector-home .explore-layout{margin:8px 0 12px auto;max-width:100%}
html.v5 .collector-home .home-welcome{gap:16px;padding:20px;margin-bottom:20px}
html.v5 .collector-home .home-welcome-copy{min-width:0}
html.v5 .collector-home .home-welcome-copy h2{font-size:24px;line-height:1.25;letter-spacing:-.5px}
html.v5 .collector-home .home-welcome-actions{gap:8px;flex-wrap:wrap}
html.v5 .collector-home .home-welcome-actions .btn{white-space:normal;text-align:center;min-height:44px;line-height:1.4}
html.v5 .collector-experience .collector-identity{row-gap:16px}
html.v5 .collector-experience .collector-identity .who p{overflow-wrap:anywhere;line-height:1.5}
html.v5 .collector-experience .collector-counts{gap:12px 20px;min-width:0}
html.v5 .collector-experience .collector-counts>span{min-width:0;overflow-wrap:anywhere;line-height:1.5}
html.v5 .collector-experience .collector-actions{gap:10px;align-items:stretch}
html.v5 .collector-experience .collector-actions>.btn{min-height:44px;white-space:normal;line-height:1.5}
html.v5 .collector-experience .collector-sections{gap:0}
html.v5 .collector-experience .collector-sections>a{flex:1;min-width:0;white-space:normal;flex-wrap:wrap;justify-content:center;text-align:center;gap:4px 8px;padding:12px 8px;line-height:1.5}
@media(max-width:600px){
 html.v5 .collector-home .home-welcome{display:grid;grid-template-columns:minmax(0,1fr);padding:16px;gap:12px}
 html.v5 .collector-home .home-welcome .editorial-cards{width:100%;margin:0}
 html.v5 .collector-home .home-welcome-actions{display:flex;width:100%}
 html.v5 .collector-home .home-welcome-actions .btn{flex:1;min-width:0;padding-inline:10px}
 html.v5 .collector-experience .collector-counts{gap:12px}
 html.v5 .collector-experience .collector-sections>a{font-size:13px;padding-inline:4px}
}
@media(max-width:360px){
 html.v5 .collector-experience .collector-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px}
 html.v5 .collector-experience .collector-actions>.btn:first-child{grid-column:1/-1}
 html.v5 .collector-experience .collector-actions>.btn{overflow-wrap:normal;word-break:normal}
}

/* Explore uses one toolbar; the feed takes priority over introductory chrome. */
html.v5 .collector-home{max-width:1160px}
html.v5 .collector-home .feed-layout{grid-template-columns:minmax(0,680px) minmax(220px,300px);gap:32px;justify-content:center}
html.v5 .collector-home .stream{gap:16px}
html.v5 .collector-home .feed-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;border-bottom:1px solid var(--line)}
html.v5 .collector-home .feed-switch{flex:1 1 auto;min-width:max-content;border:0;margin:0;gap:0}
html.v5 .collector-home .feed-switch>button{min-height:48px;padding:12px 16px;line-height:1.4;white-space:normal}
html.v5 .collector-home .feed-toolbar .explore-layout{margin:0 0 6px;border:0;background:var(--surface);border-radius:12px;align-self:center}
html.v5 .collector-home .explore-layout button{border-radius:9px;min-height:40px;padding:8px 12px;line-height:1.4}
html.v5 .collector-home .feed-discovery-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;min-width:0}
html.v5 .collector-home .feed-discovery-row>.stories:not(.stories-empty),html.v5 .collector-home .feed-discovery-row>.stories-frame{width:100%;min-width:0}
html.v5 .collector-home .stories-empty{min-height:0;padding:0;margin:0;flex:1}
html.v5 .collector-home .stories-empty .story-add{min-height:44px;padding:4px 0;gap:10px}
html.v5 .collector-home .stories-empty .story-add-avatar,html.v5 .collector-home .stories-empty .story-add-avatar>.avatar{width:32px;height:32px}
html.v5 .collector-home .feed-topic-picker{min-width:0;margin:0;border:0}
html.v5 .collector-home .feed-topic-picker summary{min-height:44px;padding:8px 0;gap:8px}
html.v5 .collector-home .feed-topic-picker[open]{flex:1 0 100%}
html.v5 .collector-home .home-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;padding:20px 24px;margin-bottom:24px;border-radius:18px}
html.v5 .collector-home .home-welcome-copy .label,html.v5 .collector-home .home-welcome-copy p{display:none}
html.v5 .collector-home .home-welcome-copy h2{font-size:22px;line-height:1.3;margin:0}
html.v5 .collector-home .home-welcome .editorial-cards{grid-column:2;grid-row:1/3;width:160px;max-height:130px}
html.v5 .collector-home .home-welcome-actions{grid-column:1;justify-content:flex-start}
html.v5 .collector-home .home-welcome-actions .btn{min-height:44px;padding:10px 14px}
html.v5 .collector-home [data-feed-posts]>.post{border:0;background:transparent;border-radius:0}
html.v5 .collector-home [data-feed-posts]>.post>.post-body{padding:12px 2px 20px;gap:10px}
html.v5 .collector-home [data-feed-posts] .post-actions{border:0;padding-top:0}
html.v5 .collector-home .post-media{max-height:540px}
@media(max-width:900px){html.v5 .collector-home .feed-layout{display:flex;flex-direction:column;max-width:680px;margin-inline:auto}html.v5 .collector-home .feed-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){
 html.v5 .collector-home .feed-home-heading h1{font-size:26px}
 html.v5 .collector-home .feed-header-actions .feed-messages{display:none}
 html.v5 .collector-home .feed-toolbar{gap:8px}
 html.v5 .collector-home .feed-switch{min-width:max-content}
 html.v5 .collector-home .feed-switch>button{padding-inline:10px;font-size:14px}
 html.v5 .collector-home .explore-layout button{min-width:44px;min-height:44px;padding:8px}
 html.v5 .collector-home .explore-layout button span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 html.v5 .collector-home .home-welcome{padding:16px;gap:12px;grid-template-columns:minmax(0,1fr);margin-bottom:16px}
 html.v5 .collector-home .home-welcome .editorial-cards{display:none}
 html.v5 .collector-home .home-welcome-copy h2{font-size:20px}
 html.v5 .collector-home .home-welcome-actions .btn{flex:0 1 auto;font-size:13px}
 html.v5 .collector-home .post-media{border-radius:12px;padding:16px}
 html.v5 .collector-home .feed-aside{grid-template-columns:minmax(0,1fr)}
}

/* card-vault.css */
/* card-vault.css — redesign layer; loaded via screens.css (scripts/build-styles.mjs) */
/* Card record: one flip card. Front = the existing 3D/photo stage, back = a
   record generated from saved fields (card-back.mjs). card-tilt.js leans it
   and moves --sheen-x/--sheen-y; the foil below follows those variables. */
.vault-detail .stage .card-flip{width:min(420px,100%);aspect-ratio:63/88;perspective:1200px;border-radius:14px}
.vault-detail .stage .card-flip .holo{width:100%;height:100%}
.card-flip.card-tilt::before{content:none}
.card-flip-inner{position:absolute;inset:0;border-radius:inherit;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.card-flip[data-flipped=true] .card-flip-inner{transform:rotateY(180deg)}
.card-flip-face{position:absolute;inset:0;border-radius:inherit;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(0deg)}
/* Only the face that is showing takes the pointer: the front keeps drag-to-turn. */
.card-flip[data-flipped=true] .card-flip-front,.card-flip:not([data-flipped=true]) .card-flip-back{pointer-events:none}
.vault-detail .stage .card-flip .holo img{transform:none}
.card-flip-back{transform:rotateY(180deg);overflow:hidden;border:2px solid transparent;background:linear-gradient(160deg,var(--raised,#161C25),var(--surface,#0E1218) 64%) padding-box,var(--holo,linear-gradient(120deg,#7CF2D4,#8FCBFF 52%,#C6B6FF)) border-box;box-shadow:0 30px 50px rgba(3,7,12,.6)}
/* Foil: a holo band and a soft highlight, both placed by the pointer. Still
   and faint until the card leans; hidden over a live 3D model, which draws
   its own foil. */
.card-flip-face::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;opacity:.14;mix-blend-mode:screen;background:radial-gradient(circle at var(--sheen-x,50%) var(--sheen-y,50%),rgba(255,255,255,.3) 0%,transparent 42%),linear-gradient(115deg,transparent 18%,rgba(124,242,212,.34) 34%,rgba(143,203,255,.3) 46%,rgba(198,182,255,.3) 58%,transparent 76%);background-size:100% 100%,240% 240%;background-position:center,var(--sheen-x,50%) var(--sheen-y,50%);transition:opacity .3s ease}
.card-flip.is-tilting .card-flip-face::after{opacity:.5}
.card-flip-front:has(.holo-3d-live)::after{content:none}
/* The generated back. */
.card-back-face{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:clamp(14px,4%,22px);overflow:auto;color:var(--text,#F4F6FA);text-align:left}
.card-back-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#A9B4C3)}
.card-back-mark{flex:none;width:18px;height:18px;border-radius:6px;background:var(--holo,linear-gradient(120deg,#7CF2D4,#8FCBFF 52%,#C6B6FF))}
.card-back-name{margin:2px 0 0;font-size:clamp(18px,5.2vw,24px);font-weight:700;line-height:1.15;overflow-wrap:anywhere}
.card-back-sub,.card-back-empty{margin:0;font-size:13px;color:var(--muted,#A9B4C3)}
.card-back-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:4px 0 0}
.card-back-facts>div{min-width:0;padding:8px 10px;border:1px solid var(--line,#242E3B);border-radius:10px;background:rgba(255,255,255,.04)}
.card-back-facts dt{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#A9B4C3)}
.card-back-facts dd{margin:2px 0 0;font-size:14px;font-weight:600;overflow-wrap:anywhere}
.card-back-value{display:grid;gap:2px;margin-top:auto;padding:10px 12px;border:1px solid rgba(124,242,212,.3);border-radius:12px;background:rgba(124,242,212,.08)}
.card-back-value span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#A9B4C3)}
.card-back-value b{font-size:20px;font-variant-numeric:tabular-nums;color:var(--accent,#7CF2D4)}
.card-back-value small,.card-back-foot{font-size:11px;color:var(--muted,#A9B4C3)}
.card-back-foot{margin:0}
.vault-inspect-controls [data-card-flip-toggle]{display:inline-flex;align-items:center;gap:6px}
@media(max-width:820px){.vault-detail .stage .card-flip{width:min(360px,100%,48dvh)}}
@media(max-width:420px){.card-back-face{gap:6px;padding:12px}.card-back-facts{gap:5px}.card-back-facts>div{padding:6px 8px}.card-back-facts dd{font-size:13px}.card-back-value{padding:8px 10px}.card-back-value b{font-size:18px}}
/* Collection total in the page head: counts up once (card-count-up.mjs). */
.vault-head-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:8px 0 0}
.vault-head-total b{font-size:clamp(22px,5.4vw,30px);font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent,#7CF2D4)}
/* Grid / binder switch. */
.vault-layout-toggle{display:inline-flex;gap:4px;margin-left:auto;padding:4px;border:1px solid var(--line,#242E3B);border-radius:12px;background:var(--surface,#0E1218)}
.vault-layout-toggle .btn{gap:6px;border:0;background:transparent}
.vault-layout-toggle .btn[aria-pressed="true"]{background:var(--raised,#161C25);color:var(--accent,#7CF2D4)}
/* Binder: pages of nine pockets, swiped or stepped one page at a time. */
.vault-binder{display:grid;gap:10px;min-width:0}
.vault-binder-pages{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px}
.vault-binder-pages::-webkit-scrollbar{display:none}
.vault-binder-pages:focus-visible{outline:2px solid var(--accent,#7CF2D4);outline-offset:3px}
.vault-binder-page{min-width:0;padding:clamp(10px,2.6vw,18px);border:1px solid var(--line,#242E3B);border-radius:18px;background:linear-gradient(180deg,var(--raised,#161C25),var(--surface,#0E1218));scroll-snap-align:start}
.vault-binder-pockets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(6px,1.6vw,14px);max-width:780px;margin:0 auto}
.vault-binder-pockets>.tile,.vault-binder-pocket{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 22%,transparent 40%),rgba(255,255,255,.02)}
.vault-binder-pocket{min-height:120px;aspect-ratio:63/88}
.vault-binder-pockets>.tile .body{padding:6px 8px 8px}
.vault-binder-pockets>.tile .name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-binder-pockets>.tile .meta,.vault-binder-pockets>.tile .tags{display:none}
.vault-binder-pockets>.tile .price-row{font-size:12px}
.vault-binder-nav{display:flex;align-items:center;justify-content:center;gap:12px}
.vault-binder-nav [data-binder-step="-1"] svg{transform:scaleX(-1)}
.vault-binder-nav [data-binder-status]{min-width:9ch;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted,#A9B4C3)}
@media(max-width:520px){.vault-binder-pockets>.tile .price-row{display:none}.vault-layout-toggle{margin-left:0}}
@media(pointer:coarse){.vault-layout-toggle .btn,.vault-binder-nav .btn,.vault-inspect-controls [data-card-flip-toggle]{min-width:44px;min-height:44px}}
/* Reduce Motion: no rotation; the two faces swap in place (crossfade). */
@media(prefers-reduced-motion:reduce){.card-flip-inner,.card-flip[data-flipped=true] .card-flip-inner{transform:none;transition:none}.card-flip-face,.card-flip-back{transform:none;-webkit-backface-visibility:visible;backface-visibility:visible;transition:opacity .2s linear}.card-flip[data-flipped=true] .card-flip-front,.card-flip:not([data-flipped=true]) .card-flip-back{opacity:0}.card-flip-face::after{transition:none}.vault-binder-pages{scroll-behavior:auto}}

/* Original photographs stay usable without WebGL or a rotating card face. */
.vault-original-photo{margin:0;display:grid;gap:12px;width:100%;min-width:0;text-align:center}
.vault-original-photo[hidden],.vault-detail [data-card-flip][hidden]{display:none}
.vault-original-photo>img{width:100%;height:min(48dvh,460px);object-fit:contain;border-radius:12px;background:var(--surface)}
.vault-original-photo>img[hidden],.vault-original-photo>p[hidden]{display:none}
.vault-original-photo figcaption,.vault-original-photo>p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.vault-original-photo>.row{justify-content:center}
.vault-inspect-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;max-width:100%}
.vault-inspect-controls>.btn{min-width:0;white-space:normal;line-height:1.4;padding:10px 14px}
.vault-inspect-controls>[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
.vault-stage-gallery{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;text-align:center;line-height:1.5}

.vault-inspect-controls [hidden],.detail .stage>.hint[hidden]{display:none!important}

/* Top movers: a short rail of the cards whose estimate moved most. */
.vault-movers{display:grid;gap:8px;margin:4px 0 14px}.vault-movers-head{display:flex;align-items:baseline;gap:10px}.vault-movers-head small{font-size:var(--fs-micro)}
.vault-movers-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.vault-mover{flex:0 0 132px;display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--raised);text-decoration:none;color:var(--ink);scroll-snap-align:start}
.vault-mover-art{display:block;aspect-ratio:5/7;border-radius:8px;overflow:hidden;background:var(--surface)}.vault-mover-img{width:100%;height:100%;object-fit:cover}
.vault-mover-name{font-size:var(--fs-small);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vault-mover-delta{font-size:var(--fs-micro);font-weight:700;font-variant-numeric:tabular-nums}.vault-mover-delta.is-up{color:var(--accent)}.vault-mover-delta.is-down{color:var(--danger,#ff7b7b)}

/* scan-stack.css */
/* scan-stack.css — redesign layer; loaded via screens.css (scripts/build-styles.mjs) */
/* Live Lens scan session: card framing, the instant result card and the stack tray. */

/* Card framing brackets at the 63:88 trading-card ratio. Decorative only; the
   shutter and upload buttons stay the operable controls. */
.lens-studio .lens-camera[data-scan-drop]{transition:outline-color 120ms ease-out}
.scan-frame{position:absolute;left:50%;top:50%;z-index:1;height:min(76%,340px);max-width:78%;aspect-ratio:63/88;transform:translate(-50%,-50%);border-radius:14px;pointer-events:none}
.scan-frame i{position:absolute;width:30px;height:30px;border:3px solid var(--accent);filter:drop-shadow(0 0 6px #9af3d355)}
.scan-frame i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:14px 0 0}
.scan-frame i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 14px 0 0}
.scan-frame i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 14px}
.scan-frame i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 14px}
.scan-frame.is-live{overflow:hidden;box-shadow:0 0 0 100vmax #03080b6b,inset 0 0 0 1px #ffffff1f}
.scan-frame.is-live:after{content:'';position:absolute;left:6%;right:6%;top:0;height:100%;background:linear-gradient(180deg,transparent calc(50% - 1px),#9af3d3d9 calc(50% - 1px),#c9b2ffd9 calc(50% + 1px),transparent calc(50% + 1px));transform:translateY(-46%);opacity:.8}
@media (prefers-reduced-motion:no-preference){.scan-frame.is-live:after{animation:scan-sweep 2.4s ease-in-out infinite alternate}}
@keyframes scan-sweep{from{transform:translateY(-46%)}to{transform:translateY(46%)}}
.scan-drop-hint{position:absolute;left:50%;bottom:8px;z-index:2;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid #9af3d333;background:#0b1319d9;color:#c8dcd5;font-size:var(--fs-caption);white-space:nowrap;pointer-events:none}
@media (hover:none),(max-width:760px){.scan-drop-hint{display:none}}
.lens-camera.is-dropping{outline:2px dashed var(--accent);outline-offset:-10px}
.lens-camera.is-dropping .scan-frame i{border-color:#f5f7f8}

/* One clear mint capture action; upload is the visible fallback beside it. */
.live-lens-page .lens-studio .lens-shutter:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.live-lens-page .lens-capture-controls>.btn[data-choose-photo]{border:1px solid #9af3d340;border-radius:999px;padding:0 14px;background:#0b1319b3;color:var(--text)}
.live-lens-page .lens-capture-controls>.btn[data-choose-photo]:hover{border-color:var(--accent)}

/* Instant result card: your own photo, the identity and the real catalog reference. */
.lens-quick-summary.scan-result{align-items:start;padding:16px;border:1px solid transparent;border-radius:20px;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(125deg,#9af3d366,#8fd3ff33 35%,#c9b2ff40 65%,#9af3d322) border-box}
.scan-result-body{display:grid;gap:4px;min-width:0}
.scan-result .lens-quick-match{margin:0!important;font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.scan-result h3{margin:2px 0 0;overflow-wrap:anywhere}
.scan-result .scan-result-meta{margin:0;color:var(--muted);font-size:var(--fs-small);overflow-wrap:anywhere}
.scan-price{display:grid;gap:4px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);min-width:0}
.scan-price-label{font-size:var(--fs-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.scan-price strong{font-size:28px;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--text);overflow-wrap:anywhere}
.scan-result .scan-price small,.scan-result .scan-price p{margin:0;font-size:var(--fs-caption);line-height:1.5;color:var(--muted)}
.scan-price ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:6px}
.scan-price li{display:grid;gap:2px}
.scan-price li b{font-variant-numeric:tabular-nums}
.scan-price.is-none .scan-price-label{color:var(--text)}
.scan-price .btn{justify-self:start;margin-top:6px}
.scan-add-stack{gap:8px}

/* Session stack tray: running total of known references, unpriced counted apart. */
.lens-stack-queue.scan-stack{gap:12px;padding:16px 18px;border:1px solid transparent;border-radius:20px;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(125deg,#9af3d355,#8fd3ff26 40%,#c9b2ff33 70%,#9af3d31f) border-box}
.scan-stack h2{font-size:18px;line-height:1.3;margin:0}
.scan-stack-summary{display:grid;gap:4px;min-width:0}
.scan-stack .scan-stack-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:var(--fs-note);color:var(--muted)}
.scan-stack-total strong{font-size:var(--fs-heading);color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.scan-stack-unpriced{padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--text);font-size:var(--fs-caption)}
.scan-stack-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;font-size:var(--fs-small)}
.scan-stack-list{list-style:none;margin:8px 0 10px;padding:0;display:grid;gap:8px;max-height:min(50vh,420px);overflow-y:auto;overscroll-behavior:contain}
.scan-stack-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px;border-radius:14px;background:var(--raised)}
.scan-stack-item img{width:54px;height:75px;object-fit:contain;border-radius:8px;background:#0b1015}
.scan-stack-item>div{display:grid;gap:2px;min-width:0}
.scan-stack-item b{font-size:var(--fs-small);overflow-wrap:anywhere}
.scan-stack-item small{font-size:var(--fs-caption);color:var(--muted);overflow-wrap:anywhere}
.scan-stack-price{font-size:var(--fs-note);font-weight:650;font-variant-numeric:tabular-nums;color:var(--accent)}
.scan-stack-price.is-none{font-weight:400;color:var(--muted)}
.scan-stack-item .btn{gap:6px;min-height:40px}
.scan-stack-details>small{display:block;font-size:var(--fs-caption);line-height:1.5}
@media (max-width:420px){.scan-stack-item{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}.scan-stack-item img{width:48px;height:67px}.scan-stack-item .btn{min-width:44px;min-height:44px;justify-content:center;padding-inline:10px}.scan-stack-item .btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.scan-stack .lens-stack-heading .btn{width:100%}}
@media (prefers-reduced-motion:reduce){.scan-frame.is-live:after{animation:none;display:none}.lens-studio .lens-camera[data-scan-drop]{transition:none}}

/* account-experience.css */
/* Account is a task directory, not another marketplace or plan advertisement. */
.account-simple.account-focused{max-width:800px;gap:0}
.account-simple .account-simple-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}
.account-simple .account-simple-heading h1{font-size:28px;line-height:1.25;letter-spacing:-.5px;margin:0}
.account-simple .account-simple-heading>.row{gap:4px;flex:none}
.account-simple .account-simple-heading .icon-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:12px}
.account-simple .account-identity{display:flex;align-items:center;gap:16px;padding:20px 0 24px;min-width:0}
.account-simple .account-identity>.avatar{width:56px;height:56px;flex:0 0 56px}
.account-simple .account-identity .who{min-width:0;flex:1}
.account-simple .account-identity h2{font-size:24px;line-height:1.25;letter-spacing:-.4px;margin:0 0 4px;overflow-wrap:anywhere}
.account-simple .account-identity small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}
.account-simple .account-profile-link{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--accent);font-size:14px;width:fit-content}
.account-simple .account-next{border:1px solid var(--line);border-radius:16px;padding:16px;margin:0 0 20px}
.account-simple .account-next h2{font-size:18px}
.account-simple .account-next p{font-size:14px;line-height:1.5}
.account-simple .account-direct-tasks{display:grid;border-top:1px solid var(--line)}
.account-simple .account-direct-tasks>a{display:flex;align-items:center;gap:14px;min-width:0;min-height:72px;padding:14px 0;border-bottom:1px solid var(--line)}
.account-simple .account-direct-tasks>a>svg{flex:0 0 22px;color:var(--muted)}
.account-simple .account-direct-tasks>a>svg:last-child{flex-basis:16px}
.account-simple .account-direct-tasks>a>span{flex:1;min-width:0;display:grid;gap:4px}
.account-simple .account-direct-tasks b{font-size:16px;line-height:1.4;font-weight:600;overflow-wrap:break-word}
.account-simple .account-direct-tasks small{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:break-word}
.account-simple .account-directory{margin-top:28px;gap:16px}
.account-simple .account-directory [data-account-groups]{display:block;border-top:1px solid var(--line)}
.account-simple.account-focused .account-group{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0}
.account-simple .account-group>summary{min-height:68px;padding:14px 0;gap:16px}
.account-simple .account-group>summary>span{font-size:16px;line-height:1.4;font-weight:500}
.account-simple .account-group>summary small{font-size:13px;line-height:1.5;font-weight:400;margin-top:4px;color:var(--muted)}
.account-simple .account-group>summary>svg{flex:none}
.account-simple.account-focused .account-group .menu{padding-left:16px;padding-bottom:12px}
.account-simple.account-focused .account-group .menu>a,.account-simple.account-focused .account-group .menu>button{min-height:56px;padding-block:12px}
.account-simple .account-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding-bottom:4px}
.account-simple :is(.account-search,#account-find-results,[data-account-groups])[hidden]{display:none}
.account-simple .account-search>.field{flex:1;min-width:200px;margin:0}
.account-simple .account-search .input{width:100%;box-sizing:border-box}
.account-simple .account-search>.btn{flex:none}
.account-simple .account-footer-actions{margin-top:24px}
.account-simple .account-legal{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 0;text-align:center}
.account-simple :is(.account-direct-tasks>a,.account-group>summary){transition:background-color 120ms ease}
.account-simple :is(.account-direct-tasks>a,.account-group>summary):hover{background:#ffffff03}
@media(max-width:380px){.account-simple .account-simple-heading h1{font-size:26px}.account-simple .account-identity{align-items:flex-start;gap:12px}.account-simple .account-identity h2{font-size:22px}.account-simple .account-direct-tasks>a{gap:12px}.account-simple .account-search>.field{min-width:0;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.account-simple :is(.account-direct-tasks>a,.account-group>summary){transition:none}}
/* Touch targets. On coarse pointers every icon button, pill, tab, pager and disclosure
   toggle gets at least a 44x44 hit area; mouse layouts keep their compact sizes. Field
   chips stay visually small and get an invisible 44px hit area instead. */
@media (pointer:coarse){
 .icon-btn,button.heart,.search-btn,.nav a,.btn.pill,[role=tab],.verified-pill,.hardware-quantity button,.gd-message-actions summary,.rooms-pagination button{min-width:44px;min-height:44px}
 .header .icon-btn,.experience-shell .header-actions .search-btn,.photo-market .market-photo-tile>.heart,.photo-market-controls>.btn,.game-day .gd-room-open .gd-tabs button,.game-day .gd-detail-tabs button,html.v5 .hardware-editorial-model .holo-product-actions button{min-width:44px;min-height:44px}
 .btn.sm,.collector-home .person .btn,.rail .price-range .input,.vault-inspect-controls .btn,.card-inspection-controls .btn,.hardware-hero-actions .btn,.order-nav nav .btn,.photo-market-heading .btn,.photo-market-browse select,.photo-market-browse>button,.photo-sort .input,.gd-leagues button,.gd-message-actions button,.gd-heading .btn,.gd-section-heading .btn,.gd-quick-poll>div:first-child button,.gd-action-heading a,.gdp-topline .btn,.gdp-search>.btn,.gdp-profile>.btn,.gdp-link-card>.btn,.lens-quick-details summary,.lens-ai-details>summary,.cr-checklist summary,.cr-set-grid .btn,.dm-filters button,.photo-market-links a,.seller-balance-home summary,.seller-periods button,.game-day .gd-heading-actions .btn,.gd-live-studio .gd-court-heading button,.commerce-active-filters>button,.commerce-photo-heading>.btn,.commerce-photo-selector>button{min-height:44px}
 .lf:not(.is-3d) .lf-chip{overflow:visible}
 .lf:not(.is-3d) .lf-chip img{border-radius:50%}
 .lf:not(.is-3d) .lf-chip::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%}
}

.account-simple .account-identity .who>span{display:block;overflow-wrap:anywhere;line-height:1.5}
.account-simple .account-next{display:grid;gap:12px}
.account-simple .account-next>div{display:grid;gap:8px;min-width:0}
.account-simple .account-next :is(h2,p){margin:0;overflow-wrap:anywhere}
.account-simple .account-next>.btn{justify-self:start;max-width:100%;white-space:normal;line-height:1.5}
.account-simple .account-group>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}
.account-simple .account-group>summary small{display:block}
.account-simple .account-footer-actions{gap:12px}
.account-simple .account-footer-actions>.btn{white-space:normal;line-height:1.5}

/* Settings rows lead with a 29px tinted square, the Settings shape; section titles are small caps. */
.menu .menu-tint{width:29px;height:29px;border-radius:7px;background:var(--tint,#8E8E93);display:inline-flex;align-items:center;justify-content:center;flex:none}
.menu .menu-tint svg{width:16px;height:16px;stroke:#fff}
.menu a>svg:last-child{stroke:var(--muted);opacity:.7}
.settings-section>h2{font-size:13px;line-height:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:6px 0 0 16px}
.settings-section .menu a b{font-weight:500}

/* layout-clarity.css */
/* Cross-screen layout rules for readable copy, reachable actions and natural
   wrapping. Field coordinates, card artwork and transcript grouping are not
   scaled by this layer. */
.page :is(.page-head,.section-head,.photo-market-heading,.gd-heading){min-width:0;gap:16px;flex-wrap:wrap;align-items:center}
.page :is(.page-head,.section-head,.photo-market-heading,.gd-heading)>div:first-child{min-width:0;flex:1 1 180px}
.page :is(.page-head,.section-head,.photo-market-heading,.gd-heading) :is(h1,h2,h3){margin:0;line-height:1.25;overflow-wrap:break-word}
.page :is(.page-head,.section-head,.photo-market-heading,.gd-heading) p{margin:8px 0 0;line-height:1.5}
.page :is(.page-head,.section-head)>.row{min-width:0;max-width:100%;flex-wrap:wrap}
.page :is(.page-head,.section-head)>.row>.btn{flex-shrink:1}
.page .input-wrap,.page .tools,.sheet .field{min-width:0}
.page .input-wrap input{min-width:0;max-width:100%}
.page :is(.card.pad,.notice,.empty),.sheet-body{overflow-wrap:break-word}
:is(.page,.sheet-body) .btn{max-width:100%;white-space:normal;overflow-wrap:break-word;line-height:1.4;height:auto;padding-block:10px}
:is(.page,.sheet-body) .btn>svg{flex:none}
:is(.page,.sheet-body) :is(input,select,textarea){scroll-margin-block:100px;min-width:0}
:is(.page,.sheet-body) :is(.btn,.icon-btn,summary,a):focus-visible{outline:2px solid var(--focus,#8FCBFF);outline-offset:3px}
.page .section-head{margin-block:24px 16px}
.page .section-head:first-child{margin-top:0}
.sheet .sheet-body{padding-bottom:max(24px,env(safe-area-inset-bottom))}
.sheet :is(.row.wrap,.field){min-width:0}
.sheet .row.wrap>.btn{flex:1 1 160px}
/* A compact, labelled entry keeps secondary market tasks one tap away. */
.photo-market .photo-market-links{overflow:visible;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding-block:0;border-bottom:0}
.photo-market .photo-market-links>a{margin-left:0;min-height:44px;display:inline-flex;align-items:center;gap:8px;white-space:normal}
.photo-market .market-tools-menu{position:relative;display:block;flex:0 1 auto;margin-left:auto;max-width:100%}
.photo-market .market-tools-menu>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:600;color:var(--text);list-style:none}
.photo-market .market-tools-menu>summary::-webkit-details-marker{display:none}
.photo-market .market-tools-menu>div{position:absolute;right:0;top:100%;z-index:12;display:grid;min-width:min(240px,80vw);padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--bg);box-shadow:0 12px 36px #0005}
.photo-market .market-tools-menu:not([open])>div{display:none}
.photo-market .market-tools-menu>div>a{margin:0;display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;white-space:normal;line-height:1.4}
.photo-market .market-tools-menu>div>a:hover{background:var(--raised)}
/* Names get two lines, so similarly named cards can be distinguished. */
.photo-market .market-photo-tile .name{-webkit-line-clamp:2;white-space:normal;line-height:1.45}
@media(max-width:650px){
 .page :is(.page-head,.photo-market-heading,.gd-heading){align-items:flex-start}
 .page :is(.page-head,.photo-market-heading,.gd-heading)>div:first-child{flex-basis:150px}
 .page>.page-head{margin-bottom:20px}
 .page .tools{display:flex;flex-wrap:wrap;gap:12px}
 .page .tools>.input-wrap{flex:1 1 100%;width:100%;min-width:0}
 .page .tools>select{flex:1 1 130px;width:auto;max-width:100%}
 .page .tools>:is(.row,.btn-group){max-width:100%;flex-wrap:wrap}
 .sheet .sheet-body{padding-inline:16px}
 .photo-market .photo-market-controls{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .photo-market .photo-market-browse{flex-wrap:wrap;gap:12px}
 .photo-market .photo-market-browse>span{white-space:normal;flex-shrink:1}
 .vault-page .tools>:is(.vault-layout-toggle,.vault-layout-switch){margin-left:0}
 :is(.page,.sheet-body) :is(input.input,select.input,textarea.input,.input-wrap input){font-size:max(16px,1em)}
}
@media(max-width:380px){
 .page .tools>select{flex-basis:100%;width:100%}
 .photo-market .photo-market-controls{grid-template-columns:minmax(0,1fr)}
 .photo-market .photo-market-controls>.btn{justify-self:end;min-height:44px;max-width:100%;width:auto}
 .page :is(.page-head,.photo-market-heading,.gd-heading)>.btn{min-height:44px}
 .account-simple .account-simple-heading{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 :is(.page,.sheet-body) .btn{transition:background-color 100ms linear,color 100ms linear;transform:none}
 :is(.page,.sheet-body) .btn:active{transform:none}
}

/* Setup remains a single next step even with larger text; its action does not
   take half the reading width away from the description. */
.setup-card .setup-head{min-width:0;align-items:flex-start}
.setup-card .setup-head>b{min-width:0;line-height:1.4;overflow-wrap:break-word}
.setup-card .setup-head>:is(.setup-count,.tip-close){flex:none}
.setup-card .setup-step{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;column-gap:12px;row-gap:8px}
.setup-card .setup-text{grid-column:2;line-height:1.5;overflow-wrap:break-word}
.setup-card .setup-action{grid-column:2;min-height:44px;white-space:normal;line-height:1.4}
.setup-card .setup-action>svg{flex:none}
.setup-card .tip-close{min-width:44px;min-height:44px}

/* Primary browsing controls and identity copy should not read like footnotes. */
.photo-market .photo-market-heading .btn,.photo-market .photo-market-heading p,
.photo-market .photo-market-links a,.photo-market .market-tools-menu>summary,
.photo-market .photo-market-controls>.btn,.photo-market .photo-market-browse :is(select,button){font-size:14px}
.photo-market .photo-market-browse>span{font-size:12px}
.photo-market .market-photo-tile .name{font-size:14px}
.photo-market .market-photo-tile :is(.meta,.photo-seller),.photo-market .market-photo-tile .photo-price>span{font-size:12px;line-height:1.5}
.vault-page .tile>.body{padding:12px 12px 16px;min-width:0}
.vault-page .page-head>.row{flex:0 1 auto;width:auto}
.vault-page .page-head>.row>.btn{flex:none;width:auto}
