:root{--bg:#060608;--ink:#fafafa;--muted:#a1a1aa;--accent:#c4b5fd;--accent-strong:#8b5cf6;--accent-dim:#8b5cf61f;--accent-warm:#fbbf24;--ring:#ffffff0f;--card:#141418b8;--card-solid:#141418;--surface:#0c0c0f;--shadow:0 24px 80px #0000008c;--glow:0 0 120px #8b5cf614;--radius:22px;--radius-sm:14px;--font-sans:"DM Sans", system-ui, sans-serif;--font-display:"Syne", system-ui, sans-serif;--ease:cubic-bezier(.25, 1, .5, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100dvh;font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;background-image:radial-gradient(100% 80% at 15% -30%,#8b5cf62e 0%,#0000 55%),radial-gradient(80% 50% at 90% 20%,#fbbf240f 0%,#0000 45%),radial-gradient(60% 40% at 50% 100%,#8b5cf60d 0%,#0000 50%);margin:0;font-size:16px;line-height:1.65;overflow-x:clip}body.nav-drawer-open{touch-action:none;overflow:hidden}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5em;font-weight:700;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.35rem,3vw,1.85rem)}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:#ddd6fe}.muted{color:var(--muted)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell--game-fs{background:var(--bg);background-image:radial-gradient(100% 80% at 15% -30%,#8b5cf62e 0%,#0000 55%),radial-gradient(80% 50% at 90% 20%,#fbbf240f 0%,#0000 45%),radial-gradient(60% 40% at 50% 100%,#8b5cf60d 0%,#0000 50%);flex-direction:column;height:100dvh;min-height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.app-header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(1.2);border-bottom:1px solid var(--ring);background:#08080abf;position:sticky;top:0}.app-header-inner{max-width:1200px;padding:max(12px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.app-logo{color:var(--ink);font-family:var(--font-display);flex-shrink:1;align-items:center;gap:10px;min-width:0;font-size:clamp(.95rem,3.5vw,1.1rem);font-weight:800;display:inline-flex}.app-logo-text{white-space:nowrap;text-overflow:ellipsis;max-width:min(52vw,220px);overflow:hidden}@media (width>=480px){.app-logo-text{max-width:none}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-nav-toggle{border:1px solid var(--ring);border-radius:var(--radius-sm);background:var(--surface);width:48px;height:48px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;display:none}.app-nav-toggle-bars{flex-direction:column;justify-content:center;gap:5px;width:22px;display:flex}.app-nav-toggle-bars span{height:2px;transition:transform .25s var(--ease), opacity .2s ease;background:currentColor;border-radius:1px;display:block}.app-nav-toggle-bars.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.app-nav-toggle-bars.is-open span:nth-child(2){opacity:0}.app-nav-toggle-bars.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.app-nav-backdrop{display:none}.app-nav{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:6px;display:flex}.app-nav a{color:#e4e4e7;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;font-size:.92rem;font-weight:500;display:inline-flex}.app-nav a:hover{background:var(--accent-dim);color:var(--ink)}.app-nav a.active{color:#0a0a0c;background:linear-gradient(135deg,#8b5cf6,#a78bfa);font-weight:700}.audio-banner{border-bottom:1px solid var(--ring);background:linear-gradient(90deg,#8b5cf614,#141418e6)}.audio-banner-inner{max-width:1200px;padding:12px max(16px, env(safe-area-inset-left)) 12px max(16px, env(safe-area-inset-right));flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;display:flex}.audio-banner-title{font-family:var(--font-display);flex:200px;min-width:0;font-size:clamp(.88rem,3vw,.98rem);font-weight:700;line-height:1.35}.audio-banner-player{flex:220px;min-width:0;max-width:100%}.audio-banner-cta{flex-shrink:0;justify-content:center;width:100%;padding:12px 18px!important;font-size:.9rem!important}@media (width>=640px){.audio-banner-cta{width:auto}}@media (width<=639px){.audio-banner-inner{flex-direction:column;align-items:stretch}.audio-banner-title{flex:none;width:100%}}.main-content{max-width:1200px;padding:40px max(16px, env(safe-area-inset-left)) max(80px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));flex:1;width:100%;margin:0 auto}.card{background:var(--card);border:1px solid var(--ring);border-radius:var(--radius);box-shadow:var(--shadow), var(--glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .35s var(--ease), border-color .25s ease;padding:26px}.card:hover{border-color:#8b5cf638}.btn{cursor:pointer;color:#0a0a0c;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .25s;display:inline-flex;box-shadow:0 12px 32px #8b5cf640}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px #8b5cf659}.btn-ghost{color:var(--ink);border:1px solid var(--ring);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--accent-dim);border-color:#8b5cf659}.btn-dark{background:var(--surface);color:var(--ink);border:1px solid var(--ring);box-shadow:none}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.section{margin-top:32px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:36px;display:grid}@media (width<=900px){.hero{grid-template-columns:1fr}.app-nav-toggle{display:inline-flex}.app-nav-backdrop{z-index:198;-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0000008c;transition:opacity .25s;display:block;position:fixed;inset:0}.app-nav-backdrop.is-visible{opacity:1;pointer-events:auto}.app-nav{width:min(100vw - 48px,320px);max-width:100%;padding:max(20px, env(safe-area-inset-top)) 16px 24px max(16px, env(safe-area-inset-right));border-left:1px solid var(--ring);z-index:200;transition:transform .3s var(--ease);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0a0a0cf7;flex-flow:column;flex:none;justify-content:flex-start;align-items:stretch;gap:4px;margin:0;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-12px 0 40px #00000073}.app-nav.is-open{transform:translate(0)}.app-nav a{border-radius:var(--radius-sm);justify-content:flex-start;padding:14px 16px;font-size:1rem}}@media (width>=901px){.app-nav-backdrop{display:none!important}}.hero-media{border-radius:var(--radius);border:1px solid var(--ring);background:var(--surface);padding:14px;overflow:hidden}.hero-media img{border-radius:var(--radius-sm);width:100%;display:block}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:24px;display:grid}.stat-card{border-radius:var(--radius-sm);border:1px solid var(--ring);background:#0c0c0fcc;padding:16px}.stat-card strong{font-family:var(--font-display);color:var(--accent);margin-bottom:4px;font-size:1.15rem;display:block}.reveal{opacity:0;animation:revealUp .7s var(--ease) forwards;transform:translateY(20px)}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--ring);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:12px 14px}input:focus,select:focus,textarea:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.form{gap:12px;display:grid}.form-grid-2{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=540px){.form-grid-2{grid-template-columns:1fr 1fr}}.review-card{border:1px solid var(--ring);border-radius:var(--radius-sm);background:#0c0c0f99;padding:18px}.review-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;display:flex}.verified-badge{background:var(--accent-strong);color:#fff;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:800}.admin-badge{color:var(--accent);letter-spacing:.04em;background:#8b5cf640;border-radius:6px;padding:2px 8px;font-size:.65rem;font-weight:800}.reviews-debug{border-radius:var(--radius-sm);color:var(--muted);background:#fbbf2414;border:1px solid #fbbf2459;max-width:1200px;margin:0 24px 20px;padding:14px 16px;font-size:.92rem}.reviews-debug code{color:var(--ink);font-size:.85em}.mason-reply{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--ring);overflow-wrap:anywhere;margin-top:12px;padding:14px 16px}.mason-reply-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.mason-reply-body{color:var(--ink)}.review-thread{text-align:left}.review-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.review-score{color:var(--muted);font-size:.92rem;font-weight:600}.review-voter-input{flex:1;min-width:120px;max-width:220px;padding:8px 12px;font-size:.9rem}.vote-btn{background:var(--surface);color:var(--ink);border:1px solid var(--ring);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s var(--ease), transform .15s var(--ease);padding:10px 14px;font-size:1.1rem;line-height:1}.vote-btn:hover:not(:disabled){border-color:#8b5cf673;transform:translateY(-1px)}.vote-btn:disabled{opacity:.5;cursor:not-allowed}.review-replies-list{border-top:1px solid var(--ring);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.review-reply-item{border-top:1px solid #ffffff0a;padding:10px 0}.review-reply-item:first-child{border-top:none;padding-top:0}.review-reply-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-reply-box{margin-top:12px}.reply-btn{background:linear-gradient(135deg, var(--accent-strong), #7c3aed);color:#fff;border:none;box-shadow:0 8px 24px #8b5cf640}.reply-btn:hover{filter:brightness(1.06)}.review-reply-form{margin-top:12px}.custom-audio-ui{background:var(--surface);border:1px solid var(--ring);border-radius:var(--radius-sm);touch-action:manipulation;flex:1;align-items:center;gap:10px;width:100%;min-width:0;max-width:420px;padding:10px 12px;display:flex}.custom-audio-native{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.custom-audio-play{color:#0a0a0c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1rem;display:flex}.custom-audio-progress-outer{cursor:pointer;flex:1;align-items:center;min-width:0;padding:12px 0;display:flex}.custom-audio-progress-wrap{background:var(--ring);border-radius:999px;width:100%;height:10px;overflow:hidden}.custom-audio-progress-fill{background:var(--accent-strong);border-radius:999px;width:0%;height:100%}.custom-audio-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.ms-maintenance{z-index:40000;background:#060608f5;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ms-maintenance-inner{text-align:center;font-family:var(--font-display);max-width:28ch;font-size:1.75rem}.ms-admin-block-modal{z-index:45000;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ms-admin-block-modal-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000e0;position:absolute;inset:0}.ms-admin-block-modal-dialog{background:var(--card-solid);border:1px solid var(--ring);border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);padding:28px;position:relative}.ms-admin-block-modal-dialog h2{margin-top:0}.ms-admin-block-modal-body{color:var(--muted);white-space:pre-wrap;line-height:1.65}.ms-admin-block-modal-cta{margin-top:20px}.ms-admin-block-modal-cta a{color:#0a0a0c;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border-radius:999px;padding:12px 24px;font-weight:700;display:inline-block}.forums-layout{grid-template-columns:minmax(280px,1fr) minmax(0,1.4fr);align-items:start;gap:20px;display:grid}@media (width<=980px){.forums-layout{grid-template-columns:1fr}}.forums-thread-item{border:1px solid var(--ring);border-radius:var(--radius-sm);cursor:pointer;background:#0c0c0f80;margin-bottom:10px;padding:14px 16px}.forums-thread-item.active{border-color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent-dim)}.forums-reply-item{border:1px solid var(--ring);border-radius:var(--radius-sm);margin-bottom:10px;padding:12px 14px}.price{font-size:1.85rem;font-weight:800;font-family:var(--font-display);color:var(--accent)}blockquote{border-radius:var(--radius-sm);border-left:4px solid var(--accent-strong);color:var(--muted);background:#0c0c0f99;margin:0;padding:20px 22px}.cta-banner{border-radius:var(--radius);border:1px solid var(--ring);background:#0c0c0fb3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding:20px 24px;display:flex}.pill{background:var(--accent-dim);color:var(--accent);border-radius:999px;padding:10px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:8px;font-size:.68rem;font-weight:600}.chart-card{border-radius:var(--radius);border:1px solid var(--ring);background:var(--card);margin-top:24px;padding:24px}.lightbox{z-index:20000;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--radius);max-width:min(100%,1000px);max-height:85vh}.app-footer{padding:24px max(16px, env(safe-area-inset-left)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-right));border-top:1px solid var(--ring);margin-top:auto}.app-footer-inner{flex-wrap:wrap;justify-content:center;gap:18px;max-width:1200px;margin:0 auto;display:flex}.app-footer a{color:var(--muted);transition:color .2s var(--ease);font-size:.9rem;text-decoration:none}.app-footer a:hover,.app-footer a.active{color:var(--accent)}@media (width<=480px){.main-content{padding-top:24px}.card{padding:18px 16px}.stat-grid{grid-template-columns:1fr}.reviews-debug{margin-left:0;margin-right:0}.cta-banner{text-align:center;flex-direction:column;align-items:stretch}.cta-banner a{justify-content:center;width:100%}.chart-header,.chart-controls{flex-direction:column;align-items:stretch!important}.ms-admin-block-modal-dialog{-webkit-overflow-scrolling:touch;max-height:min(85dvh,100%);overflow-y:auto}.lightbox{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.review-actions{flex-direction:column;align-items:stretch}.review-voter-input{width:100%;max-width:none}}.mason-runner-fs{box-sizing:border-box;width:100%;max-width:100vw;min-height:0;padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;flex:1;display:flex}.mason-runner-fs-bar{border-bottom:1px solid var(--ring);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;padding-bottom:12px;display:flex}.mason-runner-fs-back{color:var(--muted);border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;margin:-8px 0 -8px -8px;padding:10px 12px;font-size:.92rem;font-weight:600}.mason-runner-fs-back:hover{color:var(--accent);background:var(--accent-dim)}.mason-runner-fs-title{font-family:var(--font-display);letter-spacing:-.02em;pointer-events:none;font-size:clamp(1rem,3vw,1.25rem);font-weight:800}.mason-runner-fs-fsbtn{border:1px solid var(--ring);background:var(--surface);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;flex-shrink:0;padding:10px 14px;font-size:.88rem;font-weight:600}.mason-runner-fs-fsbtn:hover{color:var(--accent);border-color:#8b5cf673}.mason-runner-fs-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:stretch;gap:14px;min-height:0;display:grid}.mason-runner-fs-play{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.mason-runner-fs-play .mason-runner-canvas-wrap{flex:1;width:100%;min-height:min(52dvh,420px)}.mason-runner-tip--fs{text-align:center;flex-shrink:0;margin:0;font-size:.82rem}.mason-runner-side--fs{flex-direction:column;min-height:0;margin:0;display:flex;overflow:hidden;padding:16px!important}.mason-runner-side--fs .mason-runner-leaderboard{flex-direction:column;flex:1;min-height:0;display:flex}.mason-runner-side--fs .mason-runner-lb-rows{flex:1;min-height:120px;max-height:none}@media (width<=900px){.mason-runner-fs-main{-webkit-overflow-scrolling:touch;grid-template-rows:minmax(280px,1fr) auto;grid-template-columns:1fr;overflow-y:auto}.mason-runner-fs-play .mason-runner-canvas-wrap{flex:1;min-height:240px}.mason-runner-side--fs .mason-runner-lb-rows{max-height:min(38vh,320px)}}.mason-runner-canvas-wrap{border-radius:var(--radius);box-shadow:var(--shadow), 0 0 0 1px #8b5cf614;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#0a0612;border:1px solid #8b5cf659;position:relative;overflow:hidden}.mason-runner-canvas{vertical-align:middle;width:100%;height:auto;display:block}.mason-runner-overlay{text-align:center;pointer-events:none;background:radial-gradient(80% 70% at 50% 40%,#0f0a1cbf,#06040ceb);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.mason-runner-overlay.is-pulse .mason-runner-overlay-hint{opacity:.65}.mason-runner-overlay-title{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(135deg,#e9d5ff,#a78bfa);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,5vw,2.1rem);font-weight:800}.mason-runner-overlay-hint{color:var(--muted);margin:0;font-size:.95rem;transition:opacity .45s}.mason-runner-overlay--dead{pointer-events:auto;background:radial-gradient(90% 80% at 50% 45%,#280c14e0,#08040cf0)}.mason-runner-dead-title{font-family:var(--font-display);color:#fb7185;margin:0 0 4px;font-size:1.75rem;font-weight:800}.mason-runner-dead-score{color:var(--ink);margin:0 0 20px;font-size:1.35rem;font-weight:700}.mason-runner-again{min-height:48px;padding-left:28px;padding-right:28px}.mason-runner-score-float{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#fde68a;text-shadow:0 2px 24px #0009;pointer-events:none;font-size:clamp(1.35rem,4vw,1.85rem);font-weight:800;position:absolute;top:14px;right:16px}.mason-runner-side{flex-direction:column;gap:16px;display:flex}.mason-runner-name{flex-direction:column;gap:8px;display:flex}.mason-runner-name label{color:var(--muted);font-size:.82rem;font-weight:600}.mason-runner-submit-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mason-runner-submit-note{color:var(--muted);margin:0;font-size:.85rem}.mason-runner-leaderboard{border-radius:var(--radius-sm);border:1px solid var(--ring);background:#0c0c10a6;overflow:hidden}.mason-runner-lb-head{border-bottom:1px solid var(--ring);font-family:var(--font-display);justify-content:space-between;align-items:center;padding:12px 14px;font-size:1rem;font-weight:700;display:flex}.mason-runner-lb-rows{-webkit-overflow-scrolling:touch;max-height:min(52vh,420px);overflow-y:auto}.mason-runner-lb-row{border-bottom:1px solid #ffffff0a;grid-template-columns:36px 1fr 72px;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;display:grid}.mason-runner-lb-row:nth-child(2n){background:#ffffff05}.mason-runner-lb-rank{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:800}.mason-runner-lb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mason-runner-lb-score{text-align:right;color:var(--accent-warm);font-variant-numeric:tabular-nums;font-weight:700}.mason-runner-lb-empty{color:var(--muted);margin:0;padding:20px 14px;font-size:.92rem}.mason-runner-tip{color:var(--muted);margin:0;font-size:.88rem;line-height:1.5}
