:root{
  font-family:Inter,"Segoe UI",system-ui,sans-serif;
  color:#fff;background:#05040e;font-synthesis:none;
  --pink:#ff5bac;--violet:#735df9;--cyan:#30d4d4;--panel:rgba(16,13,41,.88);--line:rgba(255,255,255,.14);
  --theme-deep:#100d29;--theme-panel:#15102f;--theme-accent:#ff5bac;--theme-accent2:#735df9;--theme-text:#fff;--theme-muted:#c9c0e8;--button-text:#100d29;
}
*{box-sizing:border-box}html,body,#app{margin:0;min-width:100%;min-height:100%;background:#05040e}body{min-height:100vh}button,input,select,textarea{font:inherit}button{border:0}.app{min-height:100vh;position:relative;overflow-x:hidden;background:#05040e;color:var(--theme-text)}
.bg{position:fixed;inset:0;background-size:cover;background-position:center;z-index:0}.bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-deep) 35%,transparent),color-mix(in srgb,var(--theme-deep) 78%,transparent))}
.shell{position:relative;z-index:1;width:min(1500px,100%);margin:auto;padding:28px 34px 44px}

/* Launcher artwork is one complete 2560x1440 composition. The baked-in logo occupies the top ~450px; tiles begin at ~32% of the rendered height (460px at 1440p). */
.home{background:#05040e;overflow:hidden}.home-bg{position:fixed;inset:0;background:#05040e url('/assets/background.png') center top/cover no-repeat;z-index:0}.home-shell{position:relative;z-index:1;width:min(1440px,calc(100% - 32px));margin:0 auto;padding-top:clamp(260px,26vw,430px);padding-bottom:10px}.tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}.game-tile{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#15102f;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 18px 42px rgba(0,0,0,.42);transition:transform .14s,border-color .14s}.game-tile:hover{transform:translateY(-5px) scale(1.006);border-color:rgba(255,255,255,.68);box-shadow:0 18px 42px rgba(0,0,0,.42)}.game-tile:focus-visible{outline:4px solid #fff;outline-offset:4px}.game-tile img{width:100%;height:100%;object-fit:cover;display:block}.tile-fallback{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#221846,#100d29);font-size:2.5rem;font-weight:950}
.topbar{display:flex;align-items:center;gap:14px;margin-bottom:22px}.back,.ghost,.primary,.danger,.small{cursor:pointer;border-radius:14px;padding:12px 18px;font-weight:850}.back,.ghost,.small{color:var(--theme-text);background:color-mix(in srgb,var(--theme-panel) 72%,transparent);border:1px solid color-mix(in srgb,var(--theme-accent) 32%,transparent)}.primary{color:var(--button-text);background:linear-gradient(135deg,var(--theme-accent),var(--theme-accent2));box-shadow:0 10px 28px color-mix(in srgb,var(--theme-accent) 25%,transparent)}.primary:hover{opacity:.96}.primary:disabled{opacity:.4;cursor:not-allowed}.danger{color:#fff;background:#a9274d}.game-logo{max-width:380px;max-height:120px;object-fit:contain}.game-title-fallback{font-size:clamp(2.2rem,5vw,4.3rem);font-weight:1000;margin:0}.spacer{flex:1}
.hero-card,.panel,.setup-section,.lobby-card,.game-card,.scoreboard{border:1px solid var(--line);background:color-mix(in srgb,var(--theme-panel) 96%,#05040e 4%);box-shadow:0 14px 34px rgba(0,0,0,.34);contain:layout style paint}.hero-card{border-radius:30px;padding:34px;max-width:980px;margin:60px auto;text-align:center}.hero-card h1{font-size:clamp(2.5rem,6vw,5.8rem);margin:0 0 12px}.hero-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:28px}.hero-actions button{min-width:220px;font-size:1.15rem;padding:18px 24px}
.panel{border-radius:26px;padding:24px}.setup-wrap{display:grid;gap:18px}.setup-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.setup-toolbar h1{margin:0;font-size:2.2rem}.save-state{color:var(--theme-muted)}.setup-section{border-radius:22px;padding:18px}.setup-section summary{cursor:pointer;font-weight:950;font-size:1.1rem;list-style:none;display:flex;align-items:center;gap:10px}.setup-section summary::-webkit-details-marker{display:none}.setup-section summary:before{content:"▸";transition:transform .15s}.setup-section[open] summary:before{transform:rotate(90deg)}.section-body{margin-top:18px;display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:7px;min-width:0}.field span{font-size:.85rem;color:var(--theme-muted);font-weight:750}.field input,.field select,.field textarea{width:100%;color:#fff;background:color-mix(in srgb,var(--theme-deep) 82%,#000 18%);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:11px 12px;outline:none}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 18%,transparent)}.checkbox{display:flex;gap:9px;align-items:center;color:#eee}.checkbox input{width:18px;height:18px}.subcard{border-radius:16px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.1);padding:14px}.subcard-head{display:flex;align-items:center;gap:10px}.subcard-head strong{flex:1}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions button{padding:8px 11px}.entry-list{display:grid;gap:12px}.choice-grid{display:grid;grid-template-columns:1.8fr .7fr 1fr auto;gap:9px;align-items:end}.scan-strip{display:flex;gap:10px;overflow-x:auto;padding:8px 0}.scan-thumb{width:90px;flex:none;text-align:center;font-size:.72rem;color:var(--theme-muted)}.scan-thumb img{width:90px;height:70px;object-fit:contain;background:#090717;border-radius:10px;border:1px solid var(--line)}
.lobby-card{max-width:1000px;margin:35px auto;border-radius:30px;padding:36px;text-align:center}.room-code{font-size:clamp(4rem,12vw,9rem);font-weight:1000;letter-spacing:.12em;line-height:1;margin:20px 0}.lobby-caption{color:var(--theme-muted);font-size:1.1rem}.player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0}.player-pill{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:rgba(255,255,255,.08)}.avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:#2b2251;display:grid;place-items:center;font-weight:900;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.everybody{font-size:1.25rem;padding:18px 28px;min-width:260px}
.game-stage{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.game-card{border-radius:28px;padding:28px;min-height:590px;text-align:center}.scoreboard{border-radius:22px;padding:16px;position:sticky;top:20px}.scoreboard h3{margin:3px 0 14px}.score-row{display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;padding:9px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.score-row:last-child{border-bottom:0}.score-value{font-weight:950}.score-adjust{display:flex;gap:5px}.score-adjust button{width:28px;height:28px;padding:0;border-radius:8px}.phase-label{text-transform:uppercase;letter-spacing:.15em;color:var(--theme-accent);font-weight:950;font-size:.76rem}.big-prompt{font-size:clamp(2rem,5vw,4rem);margin:20px auto;max-width:1000px}.spectrum{position:relative;height:90px;margin:55px 45px 30px}.spectrum-line{height:12px;border-radius:999px;background:linear-gradient(90deg,#188bff,#fff,#ff7a18);position:absolute;left:0;right:0;top:36px}.spectrum-labels{display:flex;justify-content:space-between;gap:20px;font-weight:900;font-size:1.2rem}.marker{position:absolute;top:20px;width:5px;height:45px;background:#fff;border-radius:5px;transform:translateX(-50%);box-shadow:0 0 0 4px rgba(255,255,255,.15)}.target-marker{width:16px;background:#ffd84d;box-shadow:0 0 0 8px rgba(255,216,77,.25)}.submission-note{margin:25px;color:var(--theme-muted)}.game-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}.question-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:22px 0}.question-images img{width:100%;max-height:390px;object-fit:contain;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid var(--line)}.answer-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:20px 0}.answer-display .answer{border-radius:16px;padding:14px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-weight:800}.answer img{display:block;width:100%;height:130px;object-fit:contain;margin-bottom:8px;border-radius:10px}.reveal{font-size:clamp(2rem,5vw,4.4rem);font-weight:1000;color:var(--theme-accent);margin:24px}.leaderboard-big{max-width:760px;margin:20px auto;text-align:left}.leader-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:12px;padding:15px;border-bottom:1px solid rgba(255,255,255,.1);font-size:1.25rem}.leader-row:first-child{font-size:1.6rem}.error{background:#5a1129;border:1px solid #ff6b98;padding:12px;border-radius:12px}.muted{color:var(--theme-muted)}.hidden{display:none!important}
.hue-board{display:grid;grid-template-columns:repeat(30,1fr);gap:2px;margin:20px auto;max-width:1100px;background:#05040e;padding:5px;border-radius:12px}.hue-cell{aspect-ratio:1;border-radius:2px}.psychic-callout{font-size:1.3rem;font-weight:850;color:#67e8c8}.final-title{font-size:clamp(3rem,8vw,6rem);margin:20px 0}.empty-art{padding:28px;border:2px dashed rgba(255,255,255,.2);border-radius:18px;color:var(--theme-muted)}
@media(max-width:900px){.home-shell{width:calc(100% - 20px);padding-top:clamp(150px,25vh,210px)}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shell{padding:18px}.form-grid,.form-grid.three{grid-template-columns:1fr}.game-stage{grid-template-columns:1fr}.scoreboard{position:relative;top:auto}.choice-grid{grid-template-columns:1fr 1fr}.choice-grid>*:nth-child(3){grid-column:1/-1}}

/* Shade Off */
.shade-setup-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shade-setup-previews>div{display:grid;gap:6px;color:var(--theme-muted);font-size:.8rem;font-weight:800}.shade-setup-previews img{width:100%;aspect-ratio:16/9;object-fit:contain;border-radius:14px;background:rgba(0,0,0,.28);border:1px solid var(--line)}.shade-question-preview{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.shade-frame{position:relative;width:min(900px,92%);aspect-ratio:16/9;margin:20px auto;border-radius:22px;overflow:hidden;background:rgba(0,0,0,.28);border:1px solid var(--line)}.shade-frame img,.shade-color-fill{position:absolute;inset:0;width:100%;height:100%}.shade-frame img{object-fit:contain;z-index:2}.shade-color-fill{z-index:1;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.shade-ready{display:inline-block;margin:8px auto 4px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:950}.shade-ready.all-ready{background:var(--theme-accent);color:var(--button-text);font-size:1.15rem}.shade-host-timer{font-size:1.25rem;font-weight:950;color:var(--theme-accent);margin:12px}.shade-swatch-row{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px}.shade-swatch{width:44px;height:44px;display:inline-block;border-radius:12px;border:3px solid rgba(255,255,255,.9);box-shadow:0 5px 20px #0008;flex:none}.shade-results{max-width:760px;margin:22px auto;display:grid;gap:10px}.shade-result{display:grid;grid-template-columns:55px 52px 1fr 90px 60px;gap:10px;align-items:center;text-align:left;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);font-size:1.05rem}.shade-result:first-child{font-size:1.2rem;border-color:var(--theme-accent)}
@media(max-width:700px){.shade-setup-previews{grid-template-columns:1fr}.shade-result{grid-template-columns:45px 45px 1fr auto}.shade-result>*:nth-child(4){display:none}}


/* Persistent public join address */
.join-site-footer{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);z-index:9500;pointer-events:none;white-space:nowrap;padding:7px 16px;border-radius:999px;background:#080617d9;border:1px solid #ffffff24;box-shadow:0 8px 24px #0008;color:#ddd7f2;font-size:clamp(.78rem,1.1vw,1rem);letter-spacing:.015em}.join-site-footer strong{color:#fff}



/* Software-renderer performance mode: keeps long editors responsive without GPU compositor glitches. */
.setup-section,.subcard{content-visibility:auto;contain-intrinsic-size:1px 420px}
.scan-thumb,.shade-setup-previews>div{content-visibility:auto;contain-intrinsic-size:90px 90px}
.entry-list{contain:layout style}
.shade-setup-previews img,.scan-thumb img{transform:translateZ(0)}
@media (prefers-reduced-motion: no-preference){.game-tile{will-change:transform}}



/* Fine Print — artwork-aligned purple / pink / cyan UI */
.fine-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.fine-cat{align-items:flex-start;padding:12px;border-radius:14px;background:#51249b24;border:1px solid #28c2d74a}.fine-cat span{display:grid;gap:3px}.fine-cat small{display:block;color:var(--theme-muted);line-height:1.3}.fine-prompt-card{max-width:820px;margin:28px auto;padding:26px;border-radius:22px;background:#51249b2b;border:2px solid #28c2d7;text-align:left}.fine-prompt-card.red{background:#ff37671c;border-color:#ff3767}.fine-prompt-card span{display:block;color:#28c2d7;font-size:.76rem;letter-spacing:.15em;font-weight:950;margin-bottom:9px}.fine-prompt-card.red span{color:#ff3767}.fine-prompt-card strong{font-size:clamp(1.3rem,2.5vw,2rem);line-height:1.25}.fine-contract{max-width:700px;margin:35px auto;padding:42px 25px;border:3px solid #28c2d7;background:#fff1cf;color:#25113f;font-size:clamp(2rem,5vw,4rem);font-weight:1000;box-shadow:0 18px 45px #0008;transform:rotate(-1deg)}.fine-contract small{font-size:1rem;font-weight:650}.fine-duo{max-width:900px;margin:22px auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.fine-half{min-height:190px;padding:24px;border-radius:22px;text-align:left;display:flex;flex-direction:column;gap:12px;justify-content:center}.fine-half span{font-size:.76rem;font-weight:1000;letter-spacing:.15em}.fine-half strong{font-size:clamp(1.25rem,2.8vw,2.2rem);line-height:1.25}.fine-half.green{background:#28c2d71c;border:2px solid #28c2d7}.fine-half.green span{color:#28c2d7}.fine-half.red{background:#ff37671c;border:2px solid #ff3767}.fine-half.red span{color:#ff3767}.fine-duo.winner{filter:none}.fine-authors{margin:22px auto;color:var(--theme-muted);font-size:1.1rem;line-height:1.7}.fine-authors strong{color:#fff1cf}@media(max-width:900px){.fine-category-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.fine-duo{grid-template-columns:1fr}}@media(max-width:600px){.fine-category-grid{grid-template-columns:1fr}}

/* Size Matters — blueprint teal/orange scale game */
.size-object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.size-object-card{display:grid;gap:12px}.size-setup-preview{height:150px;display:grid;place-items:center;border-radius:14px;background:#101820;border:1px solid #64ccc54a}.size-mask-preview{width:80%;height:80%;background:#64CCC5;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.size-color-host{max-width:700px;margin:28px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.size-color-person{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;background:#101820cc;border:1px solid #64ccc53d}.size-color-dot{width:26px;height:26px;border-radius:50%;border:2px solid #fff6e5;display:inline-block;flex:none}.size-host-scene{min-height:350px;display:flex;justify-content:center;align-items:flex-end;gap:50px;margin:20px auto;padding:25px;border-bottom:4px solid #9fb8c4;overflow:hidden}.size-host-object{display:grid;justify-items:center;gap:8px}.size-host-object span{font-size:.7rem;letter-spacing:.14em;color:#9FB8C4;font-weight:950}.size-silhouette{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center bottom;mask-position:center bottom;-webkit-mask-size:contain;mask-size:contain;flex:none}.size-question-mark{font-size:7rem;font-weight:1000;color:#FF9B42;align-self:center}.size-reveal-line{min-height:370px;display:flex;align-items:flex-end;justify-content:center;gap:18px;overflow-x:auto;padding:25px 15px;border-bottom:4px solid #9fb8c4}.size-reveal-item{min-width:105px;display:grid;justify-items:center;gap:7px}.size-reveal-item.true{color:#FFD166}.size-ground{height:285px;display:flex;align-items:flex-end;justify-content:center}.size-reveal-item small{color:#9FB8C4}.size-results{max-width:780px;margin:20px auto;display:grid;gap:9px}.size-result{display:grid;grid-template-columns:45px 35px 1fr 75px 55px;gap:8px;align-items:center;text-align:left;padding:11px 13px;border-radius:13px;background:#101820d9;border:1px solid #64ccc536}.size-result:first-child{border-color:#FFD166;font-size:1.1rem}@media(max-width:800px){.size-object-grid{grid-template-columns:1fr}.size-host-scene{gap:18px}.size-question-mark{font-size:4rem}}

/* Multi-game flow polish */
.auto-countdown,.smart-timer{display:table;margin:12px auto;padding:10px 16px;border-radius:999px;background:#ffffff12;border:1px solid #ffffff28;font-weight:950;color:var(--theme-accent)}
.close-reveal-spectrum{height:120px}.close-band{position:absolute;top:25px;height:35px;border-radius:10px;border:1px solid #ffffff44;display:flex;align-items:flex-start;justify-content:center;pointer-events:none}.close-band span{font-size:.68rem;font-weight:950;background:#070b15d9;padding:2px 5px;border-radius:5px;transform:translateY(-19px)}.close-band.band1{background:#ffffff15;z-index:1}.close-band.band2{background:#64ccc524;z-index:2}.close-band.band3{background:#ff9b4230;z-index:3}.close-band.band4{background:#ffd84d42;z-index:4}
.hue-board{grid-template-columns:22px repeat(30,1fr);grid-template-rows:18px repeat(16,1fr);align-items:center}.hue-axis-num,.hue-axis-letter{font-size:clamp(6px,.55vw,9px);font-weight:900;color:#fff7dd;text-align:center;line-height:1}.hue-axis-letter{font-size:clamp(8px,.7vw,11px)}.hue-axis-corner{width:22px}
.size-reveal-line{height:390px;min-height:0;overflow:hidden;gap:8px;padding:12px 8px 6px;align-items:end}.size-reveal-item{min-width:0;flex:1;height:100%;grid-template-rows:minmax(0,1fr) auto auto}.size-ground{height:100%;min-height:0;max-width:100%;overflow:visible}.size-reveal-item strong,.size-reveal-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* v5 reveal scaling + timer visibility */
.size-reveal-line{overflow:hidden!important;gap:4px!important}
.size-ground{overflow:hidden!important}
.smart-timer{font-size:1.2rem;background:#101820e6;border-color:#FFD16688;color:#FFD166;box-shadow:0 8px 24px #0006}


/* v6 Size Matters reveal uses the whole canvas instead of equal-width slots */
.size-reveal-line{height:clamp(390px,48vh,500px)!important;min-height:390px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:5px!important;padding:6px 8px 3px!important;overflow:hidden!important}
.size-reveal-item{flex:none!important;min-width:0!important;height:100%!important;grid-template-rows:minmax(0,1fr) auto auto!important}
.size-ground{height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}


/* Consolidated Hue Knew + Size Matters host polish — 9 Sep 2026 */
.score-name-line{display:flex;align-items:center;gap:7px}.hue-score-dot{width:13px;height:13px;border-radius:50%;border:2px solid #05040e;box-shadow:0 0 0 1px #ffffff55;display:inline-block;flex:none}
.hue-host-cell{position:relative}.hue-marker-stack{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2px;z-index:3;pointer-events:none}.hue-guess-dot{width:11px;height:11px;border-radius:50%;border:2px solid #05040e;box-shadow:0 0 0 1px #ffffff22;display:inline-block}.hue-guess-dot.token-2{width:9px;height:9px}.hue-reveal-key{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:12px auto 4px;color:var(--theme-muted);font-size:.84rem;font-weight:850}.hue-reveal-key span{display:flex;align-items:center;gap:7px}.hue-demo-player,.hue-demo-answer{width:14px;height:14px;border-radius:50%;display:inline-block}.hue-demo-player{background:#ff5c8a;border:2px solid #05040e}.hue-demo-answer{background:transparent;border:3px solid #fff}
.size-reveal-line{height:clamp(470px,58vh,650px)!important;min-height:470px!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:5px!important;padding:8px 8px 4px!important;overflow:hidden!important;border-bottom:4px solid #9fb8c4}
.size-reveal-item{flex:none!important;min-width:0!important;height:100%!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto auto!important}.size-ground{height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}.size-reveal-item strong,.size-reveal-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* Launcher decorative Coming Soon tiles */
.coming-soon-tile{
  cursor:default!important;
  pointer-events:none!important;
  user-select:none;
}
.coming-soon-tile:hover{
  transform:none!important;
  border-color:transparent!important;
  box-shadow:0 18px 42px rgba(0,0,0,.42)!important;
}
.coming-soon-tile img{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

/* Artificial Beef --------------------------------------------------------- */
.beef-phone-notice{display:grid;gap:10px;margin:16px 0 22px;padding:18px;border-radius:18px;background:#0d0b0be8;border:1px solid #ffc85766;line-height:1.5}.beef-phone-notice p{margin:0}.beef-voice-list{display:grid;gap:10px;margin:18px 0}.beef-voice-option{display:grid;grid-template-columns:minmax(0,1fr) 54px 92px;gap:8px;align-items:center;padding:12px;border-radius:16px;background:#0d0b0bd9;border:1px solid #ffffff1f}.beef-voice-option>div{display:grid;gap:3px}.beef-voice-option small{color:#bfae9b}.beef-voice-option.selected{border-color:#ffc857;box-shadow:0 0 0 2px #ffc85733}.beef-voice-option.taken{opacity:.45}.beef-voice-option button{width:auto;min-height:46px;padding:8px}.beef-theme-prompt{padding:14px 16px;border-left:4px solid #ff7a18;background:#351014aa;border-radius:12px;line-height:1.45}.beef-ammo{width:100%;min-height:120px;padding:14px;border-radius:14px;border:1px solid #ffffff2b;background:#0d0b0b;color:#fff2d8;resize:vertical;font:inherit;outline:none}.beef-ammo:focus{border-color:#ff7a18;box-shadow:0 0 0 3px #ff7a1828}.beef-versions{display:grid;gap:12px;margin:18px 0}.beef-version{padding:16px;border-radius:18px;background:#0d0b0be8;border:1px solid #f238384d}.beef-version.chosen{border-color:#ffc857}.beef-version>span{display:block;color:#ffc857;font-size:.72rem;font-weight:1000;letter-spacing:.13em;margin-bottom:10px}.beef-version p{margin:6px 0;font-weight:800;line-height:1.35}.beef-version button{margin-top:12px}.beef-regen{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid #ffffff1f}.beef-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.beef-locked{margin:18px 0 0;padding:15px;border-radius:14px;background:#ffc85722;border:1px solid #ffc85788;color:#ffc857;text-align:center;font-weight:1000}.beef-loader{text-align:center;padding:35px 8px}.beef-loader small{color:#bfae9b}.beef-eq{height:72px;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:20px}.beef-eq i{display:block;width:9px;height:18px;border-radius:999px;background:#ff7a18;animation:beef-eq .75s ease-in-out infinite alternate}.beef-eq i:nth-child(2){animation-delay:.13s}.beef-eq i:nth-child(3){animation-delay:.27s}.beef-eq i:nth-child(4){animation-delay:.08s}.beef-eq i:nth-child(5){animation-delay:.2s}@keyframes beef-eq{from{height:14px}to{height:66px}}@media(prefers-reduced-motion:reduce){.beef-eq i{animation:none;height:32px}}.beef-vote-list{display:grid;gap:12px;margin-top:18px}.beef-vote-list .choice{text-align:center;font-size:1.3rem}.beef-phone .field textarea{font-size:16px}
@media(max-width:420px){.beef-voice-option{grid-template-columns:minmax(0,1fr) 48px 78px}.beef-quick{grid-template-columns:1fr}}

/* ========================================================================
   PLAYER WEB BASE UI REPAIR — 12 Sep 2026
   Restores the player join/profile layout and Suggest a Game presentation.
   This intentionally lives after the accidentally-host-styled base so the
   player-specific rules win without disturbing the current game CSS below.
   ======================================================================== */

/* Player page shell */
.app{
  min-height:100vh;
  position:relative;
  overflow-x:hidden;
  background:radial-gradient(circle at top,#30255f,transparent 40%),#05040e;
  color:var(--theme-text);
}
.wrap{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  margin:0 auto;
  padding:24px 18px 44px;
}
.card{
  width:100%;
  background:color-mix(in srgb,var(--theme-panel) 90%,transparent);
  border:1px solid rgba(255,255,255,.15);
  border-radius:26px;
  padding:24px;
  box-shadow:0 22px 65px rgba(0,0,0,.42);
}

/* Main Shady Pack banner on the public join page */
.brand{
  display:block;
  width:min(680px,94vw);
  max-width:100%;
  max-height:190px;
  margin:0 auto 22px;
  object-fit:contain;
  object-position:center;
}
.fallback{
  font-size:clamp(2.2rem,8vw,3.3rem);
  font-weight:1000;
  text-align:center;
  margin:12px 0 24px;
  background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

/* Center the join experience while keeping form controls comfortable */
.wrap > .brand + .card,
.wrap > .fallback + .card{
  max-width:620px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.wrap > .brand + .card .field,
.wrap > .fallback + .card .field{
  text-align:left;
}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.75rem;
  font-weight:900;
  color:var(--theme-accent);
  text-align:center;
}
.title{
  font-size:clamp(2rem,8vw,4rem);
  margin:8px 0 18px;
  text-align:center;
}

/* Player form controls */
.field{
  display:grid;
  gap:7px;
  margin:14px 0;
  min-width:0;
}
.field span{
  font-size:.84rem;
  font-weight:800;
  color:var(--theme-muted);
}
.field input,
.field select,
.field textarea{
  width:100%;
  font-size:1.05rem;
  color:var(--theme-text);
  background:color-mix(in srgb,var(--theme-deep) 84%,transparent);
  border:1px solid #ffffff2b;
  border-radius:14px;
  padding:14px;
  outline:none;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--theme-accent);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-accent) 18%,transparent);
}
.primary,.ghost{
  min-height:52px;
  border:0;
  border-radius:14px;
  font-weight:900;
  cursor:pointer;
  padding:13px;
}
.card > .primary,
.card > .ghost{
  width:100%;
}
.primary{
  background:linear-gradient(135deg,var(--theme-accent),var(--theme-accent2));
  color:var(--button-text);
}
.ghost{background:#ffffff18;color:#fff}
.primary:disabled,.ghost:disabled{opacity:.48;cursor:not-allowed}

/* Profile picker/player header */
.avatar-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:14px 0 20px;
}
.avatar-option{
  aspect-ratio:1;
  padding:4px;
  border:3px solid transparent;
  border-radius:18px;
  overflow:hidden;
  background:#ffffff0d;
  cursor:pointer;
}
.avatar-option.selected{border-color:#fff}
.avatar-option img{width:100%;height:100%;object-fit:cover;border-radius:12px}
.profile{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.avatar{width:52px;height:52px;border-radius:50%;background:#2b2251;overflow:hidden;display:grid;place-items:center;font-weight:900;flex:none}
.avatar img{width:100%;height:100%;object-fit:cover}
.game-logo{max-width:65%;max-height:95px;display:block;margin:0 auto 18px;object-fit:contain}
.muted{color:var(--theme-muted)}
.error{background:#5a1129;border:1px solid #ff6b98;padding:12px;border-radius:12px;margin:12px 0}

/* Common phone gameplay controls */
.choices{display:grid;gap:10px}
.choice{width:100%;padding:16px;border:1px solid #ffffff24;background:#ffffff12;color:#fff;border-radius:16px;text-align:left;cursor:pointer;font-weight:800}
.choice.selected{outline:4px solid #fff}
.choice:disabled{opacity:.58;cursor:not-allowed}
.choice img{width:100%;max-height:170px;object-fit:contain;display:block;margin-bottom:9px;border-radius:10px}
.slider{width:100%;margin:30px 0}
.slider-labels{display:flex;justify-content:space-between;gap:16px;font-weight:850}
.big-value{text-align:center;font-size:3rem;font-weight:1000}
.submit-note{text-align:center;color:#c9c0e8;margin:12px}
.swatch{height:210px;border-radius:22px;border:5px solid #fff;margin:20px 0;box-shadow:0 16px 45px #0008}
.code{font-size:4rem;text-align:center;font-weight:1000}
.waiting{text-align:center;padding:30px 0}
.waiting .dots{font-size:2rem;letter-spacing:.2em}
.leader{display:grid;grid-template-columns:50px 1fr auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #ffffff15}

/* Suggest a Game — floating player-side feature */
.suggestion-fab{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9000;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #ffffff38;
  border-radius:999px;
  padding:11px 16px;
  background:linear-gradient(135deg,#ff5bac,#735df9);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 35px #0008;
  cursor:pointer;
}
.suggestion-fab:active{transform:translateY(1px)}
.suggestion-fab-icon{font-size:1.25rem;line-height:1}
.suggestion-modal{position:fixed;inset:0;z-index:9100;display:grid;place-items:center;padding:18px}
.suggestion-backdrop{position:absolute;inset:0;background:#05040ed9}
.suggestion-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:24px;padding:26px;background:#120e2b;border:1px solid #ffffff28;box-shadow:0 28px 80px #000b;color:#fff}
.suggestion-dialog h2{font-size:clamp(1.8rem,7vw,2.6rem);margin:4px 34px 8px 0}
.suggestion-eyebrow{margin:0;color:#ff75bd;font-size:.76rem;font-weight:950;letter-spacing:.15em}
.suggestion-copy{color:#d7d0ed;margin:0 0 18px}
.suggestion-x{position:absolute;right:14px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff14;color:#fff;font-size:1.7rem;cursor:pointer}
.suggestion-field{display:grid;gap:7px;margin:14px 0}
.suggestion-field span{font-size:.84rem;font-weight:850;color:#d7d0ed}
.suggestion-field em{font-weight:500}
.suggestion-field input,.suggestion-field textarea{width:100%;border:1px solid #ffffff2c;border-radius:14px;padding:13px 14px;background:#090719;color:#fff;outline:none;resize:vertical}
.suggestion-field input:focus,.suggestion-field textarea:focus{border-color:#ff5bac;box-shadow:0 0 0 3px #ff5bac2d}
.suggestion-primary{width:100%;min-height:50px;border:0;border-radius:14px;padding:12px 16px;background:linear-gradient(135deg,#ff5bac,#735df9);color:#fff;font-weight:950;cursor:pointer}
.suggestion-primary:disabled{opacity:.55;cursor:wait}
.suggestion-error{margin:12px 0;padding:10px 12px;border-radius:11px;background:#5a1129;border:1px solid #ff6b98}
.suggestion-count{text-align:right;margin:-7px 2px 12px;color:#9f96bd;font-size:.78rem}
.suggestion-success{text-align:center;padding:18px 4px 4px}
.suggestion-success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#ffffff16;border:2px solid #ff5bac;font-size:2rem;font-weight:950}
.suggestion-success p{color:#d7d0ed;margin-bottom:20px}

@media(max-width:480px){
  .wrap{padding:16px 10px 30px}
  .card{padding:18px}
  .brand{width:min(560px,96vw);max-height:145px;margin-bottom:16px}
  .avatar-grid{grid-template-columns:repeat(3,1fr)}
  .suggestion-fab{right:12px;bottom:12px;padding:11px 13px}
  .suggestion-fab span:last-child{display:none}
  .suggestion-fab-icon{font-size:1.5rem}
  .suggestion-dialog{padding:22px 18px}
}


/* Hear Me Out — player */
.hear-phone{max-width:760px}.hear-phone-title{font-size:clamp(1.5rem,7vw,2.6rem);margin:4px 0 10px}.hear-phone-image{height:min(48vh,430px);display:flex;align-items:center;justify-content:center;margin:10px 0}.hear-phone-image img{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px;box-shadow:0 12px 32px #0008}.hear-phone-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.hear-choice{min-height:78px;border:0;border-radius:18px;font-size:1.5rem;font-weight:1000;color:white;cursor:pointer}.hear-choice.smash{background:#ff4f9a}.hear-choice.pass{background:#7c5cff}.hear-choice:disabled{cursor:default;opacity:.45}.hear-choice.chosen{opacity:1;outline:4px solid white;outline-offset:-4px}.hear-phone-verdict{display:table;margin:10px auto;padding:10px 22px;border-radius:999px;font-size:2.2rem;font-weight:1000}.hear-phone-verdict.smash{background:#ff4f9a}.hear-phone-verdict.pass{background:#7c5cff}.hear-mini-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.hear-mini-results>div{display:grid;gap:6px;padding:12px;border-radius:14px;background:#ffffff10}.hear-mini-results strong{color:var(--theme-accent)}


/* ========================================================================
   14 Sep 2026 — gameplay UI repair
   Restores missing game-specific phone styles after the player stylesheet split.
   ======================================================================== */

/* Shared colour chooser — large, touchable swatches for Hue Knew + Size Matters */
.size-color-picker{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));gap:12px;margin:22px auto;max-width:560px}.size-color-choice{display:block!important;appearance:none!important;width:100%!important;min-width:54px!important;height:auto!important;aspect-ratio:1!important;border-radius:18px!important;border:4px solid rgba(255,255,255,.38)!important;box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),0 7px 20px #0007!important;cursor:pointer!important;padding:0!important}.size-color-choice:hover:not(:disabled){transform:translateY(-2px);border-color:#fff!important}.size-color-choice.selected{border-color:#fff!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-accent) 50%,transparent),0 10px 25px #0008!important}.size-color-choice:disabled:not(.selected){opacity:.22!important;filter:saturate(.35);cursor:not-allowed!important}.size-color-choice.selected:disabled{opacity:1!important}

/* Fine Print — styled phone experience matching the purple/pink/cyan artwork */
.fine-phone-card{background:linear-gradient(160deg,color-mix(in srgb,#35145D 92%,transparent),color-mix(in srgb,#25113F 96%,transparent));border-color:#28C2D766}.fine-phone-choices{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0}.fine-category-choice,.fine-choice-option{width:100%;min-height:68px;padding:16px 18px;border-radius:17px;border:2px solid #28C2D76b;background:linear-gradient(135deg,#51249B80,#35145Dcc);color:#FFF1CF;text-align:left;font-size:1.08rem;font-weight:950;box-shadow:0 8px 22px #0005;cursor:pointer}.fine-category-choice:hover,.fine-choice-option:hover{border-color:#28C2D7;transform:translateY(-1px);background:linear-gradient(135deg,#6430b5,#452071)}.fine-textarea{display:block;width:100%;min-height:150px;margin:18px 0;padding:17px 18px;border-radius:18px;border:2px solid #28C2D766;background:#1d0c33e8;color:#FFF1CF;font-size:1.05rem;line-height:1.5;resize:vertical;outline:none;box-shadow:inset 0 0 0 1px #ffffff10}.fine-textarea:focus{border-color:#FF3767;box-shadow:0 0 0 4px #ff376728}.fine-assigned,.fine-red-result{display:grid;gap:9px;margin:18px 0;padding:19px;border-radius:18px;text-align:left}.fine-assigned{background:#28C2D718;border:2px solid #28C2D7}.fine-red-result{background:#FF376718;border:2px solid #FF3767}.fine-assigned span,.fine-red-result span{display:block;font-size:.74rem;font-weight:1000;letter-spacing:.15em}.fine-assigned span{color:#28C2D7}.fine-red-result span{color:#FF3767}.fine-assigned strong,.fine-red-result strong{display:block;font-size:clamp(1.15rem,5vw,1.55rem);line-height:1.35;color:#FFF1CF;overflow-wrap:anywhere}

/* Shade Off — subtle spectrum treatment, correctly fitted image + usable RGB sliders */
.game-theme[style*="--theme-deep:#071629"] .card{border-color:#ffffff24}.shade-phone-frame{position:relative;width:min(100%,620px);aspect-ratio:16/9;margin:16px auto 20px;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#102548,#211243);border:1px solid #ffffff2b}.shade-phone-frame img,.shade-phone-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.shade-phone-fill{z-index:1;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.shade-phone-frame img{z-index:2}.shade-controls{display:grid;gap:14px;margin:20px 0;padding:16px;border-radius:20px;background:linear-gradient(135deg,#21C7D915,#F2367815 55%,#FFD43B12);border:1px solid #ffffff24}.shade-slider{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:center}.shade-slider span{display:flex;align-items:center;gap:8px;font-weight:1000}.shade-channel-dot{display:inline-block;width:17px;height:17px;border-radius:5px;border:2px solid #fff;box-shadow:0 2px 8px #0008}.shade-slider.r .shade-channel-dot{background:#ff425c}.shade-slider.g .shade-channel-dot{background:#42db72}.shade-slider.b .shade-channel-dot{background:#4d8dff}.shade-slider input[type=range]{display:block!important;width:100%!important;height:32px!important;margin:0!important;appearance:none;background:transparent;cursor:pointer}.shade-slider input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:999px;border:1px solid #ffffff55}.shade-slider.r input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#25050a,#ff425c)}.shade-slider.g input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#05230f,#42db72)}.shade-slider.b input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#06142f,#4d8dff)}.shade-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:25px;height:25px;margin-top:-8px;border-radius:50%;background:#fff;border:4px solid #111;box-shadow:0 3px 10px #0009}.shade-hex{display:table;margin:10px auto 18px;padding:9px 14px;border-radius:12px;background:#090d19cc;border:1px solid #ffffff2d;font-family:ui-monospace,Consolas,monospace;font-weight:900}.shade-timer,.smart-phone-timer,.phone-auto-countdown{display:table;margin:12px auto;padding:9px 15px;border-radius:999px;background:#101820e6;border:1px solid color-mix(in srgb,var(--theme-accent) 55%,transparent);color:var(--theme-accent);font-weight:950}

/* Size Matters camera selectors referenced by the active JS */
.size-wide-wrap,.hue-wide-wrap{width:min(900px,100%)}.size-wide-card,.hue-wide-card{overflow:hidden}.size-camera{position:relative;width:100%;height:clamp(330px,48vh,500px);margin:18px auto;overflow:hidden;border-radius:20px;background:linear-gradient(#64ccc50d 1px,transparent 1px),linear-gradient(90deg,#64ccc50d 1px,transparent 1px),#0c151c;background-size:32px 32px;border:1px solid #64ccc548}.size-camera .size-phone-silhouette{position:absolute;bottom:50px;left:50%;transform-origin:center bottom;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center bottom;mask-position:center bottom;-webkit-mask-size:contain;mask-size:contain}.size-camera-label{position:absolute;bottom:9px;width:46%;display:grid;gap:2px;text-align:center}.size-camera-label.ref{left:2%}.size-camera-label.target{right:2%}.size-camera-label small{color:#9FB8C4;font-weight:850}.size-reference-level{position:absolute;left:0;right:0;border-top:2px dashed #FFD16688;z-index:4;pointer-events:none}.size-reference-level span{position:absolute;right:8px;top:-23px;padding:3px 7px;border-radius:7px;background:#101820cc;color:#FFD166;font-size:.66rem;font-weight:950}.size-measured-grid{position:absolute;inset:0;pointer-events:none}.size-measure-line{position:absolute;left:0;right:0;border-top:1px solid #ffffff18}.size-measure-line span{position:absolute;left:6px;top:-17px;color:#9fb8c4;font-size:.62rem}.size-measure-centre{position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed #ffffff1d}.size-range{width:100%;margin:18px 0}.size-scale-labels{display:flex;justify-content:space-between;color:#9FB8C4;font-size:.8rem;font-weight:800}

/* Hue board */
.hue-board-scroll{width:100%;overflow-x:auto;padding-bottom:5px}.hue-board{display:grid;grid-template-columns:22px repeat(30,minmax(17px,1fr));grid-template-rows:18px repeat(16,minmax(17px,1fr));gap:2px;min-width:620px;background:#041112;padding:6px;border-radius:13px}.hue-cell{min-width:0;aspect-ratio:1;border:0;border-radius:3px;padding:0;cursor:pointer}.hue-cell.selected{outline:4px solid #fff;outline-offset:-2px;z-index:2}.hue-axis-num,.hue-axis-letter{font-size:8px;font-weight:950;display:grid;place-items:center;color:#FFF7DD}.hue-axis-letter{font-size:10px}.hue-axis-corner{width:22px}.hue-lock.locked,.primary.locked{opacity:.55}

/* Auto-profile */
.auto-profile-toggle{display:flex;align-items:flex-start;gap:11px;margin:17px 0 20px;padding:14px;border-radius:16px;background:#ffffff0d;border:1px solid #ffffff1f;text-align:left}.auto-profile-toggle input{width:21px;height:21px;flex:none;margin-top:2px}.auto-profile-toggle span{display:grid;gap:3px}.auto-profile-toggle small{color:var(--theme-muted);line-height:1.35}.profile-editable{cursor:pointer;padding:7px 9px;border-radius:16px;transition:background .14s}.profile-editable:hover{background:#ffffff10}.profile-editable:after{content:'Edit';margin-left:auto;padding:5px 9px;border-radius:999px;background:#ffffff16;color:var(--theme-muted);font-size:.72rem;font-weight:900}.profile-edit-modal{position:fixed;inset:0;z-index:9200;display:grid;place-items:center;padding:18px}.profile-edit-backdrop{position:absolute;inset:0;background:#05040ee8}.profile-edit-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:24px;border-radius:24px;background:#120e2b;border:1px solid #ffffff28;box-shadow:0 25px 80px #000c}.profile-edit-x{position:absolute;right:12px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#ffffff14;color:#fff;font-size:1.6rem}

@media(max-width:520px){.size-color-picker{grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px}.size-color-choice{min-width:44px!important;border-radius:13px!important}.shade-slider{grid-template-columns:54px minmax(0,1fr)}.hue-board{min-width:600px}}

/* Fine Print final judge choices */
.fine-pick-list{display:grid;gap:12px;margin:18px 0}.fine-pick{width:100%;display:grid;gap:8px;padding:17px 18px;border-radius:18px;border:2px solid #28C2D766;background:linear-gradient(145deg,#35145Dee,#51249B99);color:#FFF1CF;text-align:left;cursor:pointer;box-shadow:0 8px 22px #0005}.fine-pick:hover{border-color:#FF3767;transform:translateY(-1px)}.fine-pick span{font-size:.7rem;font-weight:1000;letter-spacing:.14em;color:#28C2D7}.fine-pick strong{font-size:1.16rem;line-height:1.35}.fine-pick em{font-style:normal;color:#ff8aa3;font-weight:850;line-height:1.35}

/* Admin phone + size/shade repair */
.shady-admin-bar{position:fixed;left:8px;right:8px;bottom:8px;z-index:12000;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:9px;border-radius:18px;background:#080617f2;border:1px solid #ff5bac88;box-shadow:0 10px 34px #000b}.shady-admin-bar strong{font-size:.7rem;letter-spacing:.15em;color:#ff78bd}.shady-admin-bar button{padding:9px 11px;border-radius:10px;background:#221846;color:#fff;border:1px solid #ffffff27;font-weight:850}.size-camera #sizeReference{left:24%!important}.size-camera #sizeTarget{left:68%!important}.shade-phone .primary,.game-theme[style*="--theme-deep:#071629"] #shadeSubmit{background:linear-gradient(100deg,#21C7D9,#8A5CFF,#F23678,#FFD43B)!important;color:#071629!important}.shade-phone-frame{max-height:52vh}.shade-phone-frame img,.shade-phone-fill{object-fit:contain!important}

/* 14 Sep 2026 r2 — discreet admin login + performance */
.admin-login-corner{
  position:fixed;left:10px;bottom:10px;z-index:9800;
  padding:7px 10px;border-radius:999px;
  background:rgba(10,8,24,.78);color:#d9d3e9;
  border:1px solid rgba(255,255,255,.16);
  font-size:.72rem;font-weight:850;letter-spacing:.04em;cursor:pointer;
  opacity:.72;
}
.admin-login-corner:hover,.admin-login-corner:focus-visible{opacity:1;border-color:rgba(255,255,255,.4)}
.bg{pointer-events:none;contain:strict}

/* Shade Off phone rainbow polish + brightness — R5 */
.shade-phone .card{border-color:#ffffff28;background:linear-gradient(160deg,#0b1f3ae8,#151735e8)}
.shade-phone .primary,.shade-phone .choice,.shade-phone button:not(.profile-edit-x){background:linear-gradient(100deg,#21C7D9 0%,#7B61FF 34%,#F23678 67%,#FFD43B 100%)!important;color:#071629!important;border:1px solid #ffffff66!important;box-shadow:0 8px 22px #0006!important}
.shade-phone .primary:disabled,.shade-phone button:disabled{filter:saturate(.45) brightness(.7);opacity:.65}
.shade-slider.brightness .shade-channel-dot{background:linear-gradient(135deg,#111,#fff)}
.shade-slider.brightness input::-webkit-slider-runnable-track{background:linear-gradient(90deg,#080808,#707070,#fff)!important}
.shade-phone .shade-timer{background:#0b1f3aed;border-color:#ffffff38;color:#fff}

/* Whose Is It? uses its own fixed identity roster. */
.whose-profile-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.whose-profile-picker.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:60vh;overflow:auto}.whose-profile-option{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:12px;border-radius:18px;background:#541126cc;color:#fff;border:2px solid #ff477e55;text-align:left;font-weight:900}.whose-profile-option img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#310814}.whose-profile-option.selected{border-color:#FF8A80;box-shadow:0 0 0 3px #ff8a8030}.whose-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.whose-answer-choice{display:grid!important;grid-template-columns:46px 1fr!important;align-items:center!important;gap:10px!important;text-align:left!important}.whose-answer-choice img{width:46px!important;height:46px!important;border-radius:50%!important;object-fit:cover!important;margin:0!important}
@media(max-width:480px){.whose-profile-picker,.whose-answer-grid{grid-template-columns:1fr}}


/* R6 — Shade Off brightness control is a clear fourth control, not a cryptic sun row. */
.shade-slider.brightness{margin-top:4px;padding-top:12px;border-top:1px solid #ffffff20}
.shade-slider.brightness span{font-size:.9rem;min-width:0;white-space:nowrap}
.shade-slider.brightness #VNum{margin-left:auto;color:#fff}


/* Whose Is It? + Spot the Bullshit image zoom viewer */
.shady-zoom-source{position:relative!important}.shady-zoom-item{position:relative;min-width:0}.shady-zoom-item>img{width:100%}.shady-image-zoom-button{position:absolute;right:10px;bottom:10px;z-index:20;padding:9px 13px;border-radius:999px;background:rgba(5,4,14,.88);border:1px solid rgba(255,255,255,.38);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.45);touch-action:manipulation}.shady-image-zoom-button:hover{background:rgba(20,16,47,.96)}
.shady-image-zoom{position:fixed;inset:0;z-index:30000;background:rgba(0,0,0,.94);display:grid;grid-template-rows:auto minmax(0,1fr);padding:12px;overscroll-behavior:contain}.shady-image-zoom-toolbar{display:flex;justify-content:center;gap:8px;padding:0 0 10px}.shady-image-zoom-toolbar button{min-width:48px;height:44px;border-radius:12px;background:#171421;color:#fff;border:1px solid rgba(255,255,255,.25);font-weight:950;font-size:1.05rem;cursor:pointer}.shady-image-zoom-toolbar [data-zoom="reset"]{min-width:78px}.shady-image-zoom-toolbar [data-zoom="close"]{margin-left:8px;font-size:1.5rem}.shady-image-zoom-stage{min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:zoom-in;user-select:none}.shady-image-zoom-stage.can-pan{cursor:grab}.shady-image-zoom-stage.can-pan:active{cursor:grabbing}.shady-image-zoom-stage img{display:block;max-width:96vw;max-height:calc(100vh - 82px);width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;transition:transform .08s ease-out;pointer-events:none}.whose-player-media{position:relative;margin:14px 0 18px;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.14)}.whose-player-media img{display:block;width:100%;max-height:min(48vh,420px);object-fit:contain;margin:auto}
@media(max-width:600px){.shady-image-zoom{padding:8px}.shady-image-zoom-toolbar{justify-content:space-between}.shady-image-zoom-toolbar button{height:42px;min-width:44px}.shady-image-zoom-toolbar [data-zoom="close"]{margin-left:0}.shady-image-zoom-button{right:7px;bottom:7px;padding:8px 11px;font-size:.82rem}.whose-player-media img{max-height:42vh}}





/* 19 Sep 2026 — final per-game button palettes */
.game-theme[style*="--theme-deep:#310814"] button.primary{background:linear-gradient(135deg,#FF477E,#FFF1E6);color:#310814}
.game-theme[style*="--theme-deep:#071629"][style*="--theme-accent:#188BFF"] button.primary{background:linear-gradient(135deg,#188BFF,#5DCBFF 62%,#FFD84D);color:#071629}
.game-theme[style*="--theme-deep:#061B1C"] button.primary{background:linear-gradient(135deg,#67E8C8,#0E7774 58%,#FFD84D);color:#061B1C}
.game-theme[style*="--theme-deep:#0A1008"] button.primary{background:linear-gradient(135deg,#B6F23A,#FAFFF4 55%,#9457E6);color:#0A1008}
.game-theme[style*="--theme-accent:#21C7D9"] button.primary{background:linear-gradient(100deg,#21C7D9,#8A5CFF,#F23678,#FFD43B)!important;color:#071629!important}
.game-theme[style*="--theme-deep:#25113F"] button.primary{background:linear-gradient(135deg,#51249B,#FF3767 58%,#28C2D7)!important;color:#FFFFFF!important;border:1px solid rgba(255,255,255,.35)}
.game-theme[style*="--theme-deep:#101820"] button.primary{background:linear-gradient(135deg,#64CCC5,#176B87 58%,#FFF6E5);color:#101820}
.game-theme[style*="--theme-deep:#160B1D"] button.primary{background:linear-gradient(135deg,#FF4F9A,#39D9D1 65%,#FFFFFF);color:#160B1D}
.room-closed-card{max-width:620px;margin:18vh auto 0}.room-closed-card .primary{margin-top:18px;min-width:220px}



/* Player persistent Home button — return to room-code screen from any joined/player page. */
.player-home-button{position:fixed;top:14px;right:14px;z-index:9500;display:flex;align-items:center;gap:7px;min-height:42px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.26);background:rgba(16,13,41,.94);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.45);font-weight:900;cursor:pointer;backdrop-filter:none}
.player-home-button:hover,.player-home-button:focus-visible{border-color:var(--theme-accent,#ff5bac);box-shadow:0 8px 24px rgba(0,0,0,.45),0 0 0 2px color-mix(in srgb,var(--theme-accent,#ff5bac) 28%,transparent);outline:none}
@media(max-width:520px){.player-home-button{top:10px;right:10px;padding:9px 11px}.player-home-button span{display:none}}

/* Artificial Beef — writing + clapback phone UI */
.beef-write-bars{display:grid;gap:12px;margin:16px 0}.beef-fixed-bar{padding:16px;border-radius:16px;background:#351014;border:1px solid #ff7a1866;font-size:1.05rem;font-weight:850;line-height:1.45}.beef-fixed-bar span{display:block;margin-bottom:5px;color:#ffc857;font-size:.7rem;letter-spacing:.13em}.beef-rhyme-help{display:grid;gap:6px;padding:13px 14px;border-radius:14px;background:#0d0b0be6;border:1px solid #ffc85755;text-align:left}.beef-rhyme-help>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.beef-rhyme-help p,.beef-rhyme-help small{margin:0;color:#bfae9b}.beef-rhyme-help.blocked{border-color:#f23838aa;color:#ff7777}.beef-difficulty{padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:950}.beef-difficulty.easy{background:#2ca36b33;color:#7ff0ae}.beef-difficulty.tricky{background:#ffc85722;color:#ffc857}.beef-difficulty.nightmare{background:#f2383833;color:#ff7777}.beef-card-box{margin:18px 0;padding:12px;border-radius:16px;background:#ffc85712;border:2px solid #ffc85788}.beef-card-box summary{cursor:pointer;color:#ffc857;font-weight:1000}.beef-card-choice{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px;border-radius:12px;background:#0d0b0b99;text-align:left}.beef-card-choice input{margin-top:4px}.beef-card-choice span{display:grid;gap:3px}.beef-card-choice small{color:#bfae9b}.beef-card-used{margin:15px 0;padding:12px;border-radius:14px;background:#ffffff0d;color:#bfae9b}.beef-opponent-verse{display:grid;gap:7px;margin:16px 0;padding:15px;border-radius:18px;background:#351014;border:1px solid #f2383866;text-align:left}.beef-opponent-verse>div{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;line-height:1.4}.beef-opponent-verse span{color:#ffc857;font-weight:1000}.beef-phone textarea{min-height:82px}


/* Artificial Beef r5 — contextual prompts + four-bar fixed-ending clapbacks */
.beef-word-prompt small{display:block;color:#ffc857;font-size:.78rem;line-height:1.35;margin-top:-2px}
.beef-clap-grid{display:grid;gap:14px;margin:18px 0}.beef-clap-row{display:grid;gap:8px;padding:13px;border-radius:16px;background:#0d0b0be8;border:1px solid #f2383845}.beef-clap-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.beef-clap-head strong{color:#ffc857}.beef-clap-head span{font-size:.78rem;color:#bfae9b;text-align:right}.beef-clap-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.beef-clap-compose textarea{min-height:72px;width:100%;resize:vertical;border:1px solid #ffffff2b;border-radius:12px;padding:12px;background:#080707;color:#fff2d8;font:inherit;outline:none}.beef-clap-compose textarea:focus{border-color:#ff7a18;box-shadow:0 0 0 3px #ff7a1828}.beef-ending{display:flex;align-items:center;justify-content:center;min-width:92px;max-width:130px;padding:10px;border-radius:12px;background:#ffc857;color:#0d0b0b;font-weight:1000;overflow-wrap:anywhere;text-align:center}.beef-ending.wildcard{background:#f23838;color:#fff}.beef-clap-rhyme{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#bfae9b;font-size:.78rem}.beef-clap-rhyme .beef-reroll{min-height:36px;padding:7px 10px;margin-left:auto}.beef-clap-rhyme .beef-reroll:disabled{opacity:.42}
@media(max-width:480px){.beef-clap-head{align-items:flex-start;flex-direction:column;gap:3px}.beef-clap-head span{text-align:left}.beef-clap-compose{grid-template-columns:1fr}.beef-ending{max-width:none;min-width:0}.beef-clap-rhyme{align-items:flex-start;flex-direction:column}.beef-clap-rhyme .beef-reroll{margin-left:0;width:100%}}

/* Who Is Sus? + Drawn Wrong */
.sus-private-prompt{margin:24px 0;padding:26px;border-radius:20px;background:#ffffff10;border:2px solid var(--theme-accent);font-size:clamp(1.5rem,7vw,2.5rem);font-weight:950;line-height:1.2}.draw-toolbar{display:grid;gap:10px;margin:12px 0}.draw-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.draw-color{aspect-ratio:1;border-radius:12px;border:3px solid #ffffff55;position:relative;min-width:0}.draw-color span{position:absolute;right:5px;bottom:3px;font-weight:1000;font-size:.72rem;color:#000;text-shadow:0 0 3px #fff}.draw-color.selected,.draw-tools .selected{outline:3px solid var(--theme-accent);outline-offset:2px}.draw-tools{display:flex;gap:7px;flex-wrap:wrap}.draw-phone canvas{width:100%;height:auto;aspect-ratio:4/3;display:block;background:#fff;border-radius:14px;border:2px solid var(--theme-accent);touch-action:none;margin:10px 0 14px}.draw-phone-preview{width:100%;aspect-ratio:4/3;background:#fff;border-radius:14px;overflow:hidden;margin:12px 0;border:2px solid var(--theme-accent)}.draw-phone-preview img{width:100%;height:100%;object-fit:contain}.draw-phone .card{max-width:820px}

/* Who Is Sus? — answers are public only once discussion/voting begins */
.sus-answer-grid{margin:15px 0;display:grid;gap:9px}.sus-answer-card{display:grid;gap:6px;padding:13px 14px;border-radius:14px;background:#ffffff0d;border:1px solid #ffffff20;text-align:left}.sus-answer-card span{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:1000;color:var(--theme-accent)}.sus-answer-card strong{line-height:1.35;overflow-wrap:anywhere}.game-theme textarea#susAnswerInput{min-height:110px;font-size:16px}


/* Drawn Wrong r10 — drawer-controlled close-enough scoring */
.draw-judge-list{display:grid;gap:10px;margin:16px 0 18px}.draw-judge-row{display:grid;gap:10px;padding:14px;border-radius:15px;background:#ffffff0d;border:1px solid #ffffff20;text-align:left}.draw-judge-row>div:first-child{display:grid;gap:4px}.draw-judge-row span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:1000;color:var(--theme-accent)}.draw-judge-row strong{font-size:1.05rem;overflow-wrap:anywhere}.draw-judge-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.draw-judge-buttons .choice{min-height:48px}.draw-judge-buttons .choice.selected{outline:3px solid var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-panel))}

/* 11 Oct 2026 — restored game voting + collapsible game guide */
.game-vote-drawer[hidden]{display:none!important}.game-vote-drawer{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9800;display:flex;align-items:flex-start;pointer-events:none}.game-vote-tab{pointer-events:auto;width:54px;min-height:118px;border:1px solid #ff5bac88;border-right:0;border-radius:18px 0 0 18px;background:#100d29f2;color:#fff;box-shadow:-10px 12px 32px #0008;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:1000}.game-vote-tab span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.12em;font-size:.73rem}.game-vote-tab b{min-width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:#ff5bac;color:#100d29;font-size:.75rem}.game-vote-panel{pointer-events:auto;width:min(330px,calc(100vw - 62px));max-height:min(680px,82vh);overflow:auto;padding:18px;background:#100d29f7;border:1px solid #ff5bac88;border-right:0;border-radius:20px 0 0 20px;box-shadow:-16px 18px 48px #0009;transform:translateX(100%);opacity:0;transition:transform .18s ease,opacity .18s ease}.game-vote-drawer.open .game-vote-panel{transform:translateX(0);opacity:1}.game-vote-drawer.open .game-vote-tab{display:none}.game-vote-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.game-vote-title>div{display:grid;gap:2px}.game-vote-title span{font-size:.68rem;letter-spacing:.14em;color:#ff5bac;font-weight:1000}.game-vote-title strong{font-size:1.3rem}.game-vote-title button{width:36px;height:36px;border-radius:10px;background:#ffffff12;color:#fff;font-size:1.45rem;cursor:pointer}.game-vote-panel>p{margin:10px 0 14px;color:#c9c0e8;font-size:.84rem}.game-vote-options{display:grid;gap:8px}.game-vote-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:11px 12px;border-radius:13px;border:1px solid #ffffff18;background:#ffffff0b;color:#fff;text-align:left;cursor:pointer;font-weight:850}.game-vote-option b{min-width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#ffffff12;font-size:.78rem}.game-vote-option.selected{border-color:#30d4d4;background:#30d4d419}.game-vote-option.selected:before{content:'✓';color:#30d4d4;font-weight:1000}.game-vote-option.selected{grid-template-columns:auto minmax(0,1fr) auto}@media(max-width:560px){.game-vote-tab{width:46px}.game-vote-panel{width:calc(100vw - 54px);max-height:76vh;padding:14px}}
.player-game-guide{max-width:620px;margin:14px auto 70px;border:1px solid #ffffff24;border-radius:18px;background:#100d29dc;overflow:hidden}.player-game-guide>summary{cursor:pointer;list-style:none;padding:14px 16px;font-weight:950;text-align:center;color:#fff}.player-game-guide>summary::-webkit-details-marker{display:none}.player-game-guide>summary:after{content:' ▾';color:#ff5bac}.player-game-guide[open]>summary:after{content:' ▴'}.player-game-guide-list{display:grid;border-top:1px solid #ffffff18;text-align:left}.player-game-guide-list>div{display:grid;gap:3px;padding:11px 14px;border-bottom:1px solid #ffffff10}.player-game-guide-list strong{font-size:.9rem}.player-game-guide-list span{color:#c9c0e8;font-size:.8rem;line-height:1.3}

/* Persistent party room */
.player-room-strip{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;margin:0 auto 10px;padding:7px 13px;border-radius:999px;background:#080617dd;border:1px solid #ffffff2c}.player-room-strip span{font-size:.7rem;font-weight:950;letter-spacing:.13em;color:#c9c0e8}.player-room-strip strong{font-size:1.15rem;letter-spacing:.13em}.whose-profile-option.taken{opacity:.35;filter:grayscale(.7)}

/* 11 Oct 2026 party/gameplay polish */
.hue-theme-card{display:grid;gap:5px;padding:16px;margin:14px 0;border-radius:16px;background:#67e8c818;border:1px solid #67e8c866}.hue-theme-card span{font-size:.72rem;letter-spacing:.14em;font-weight:1000;color:#67e8c8}.hue-theme-card strong{font-size:1.15rem}.hue-target-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.hue-target-options button{min-height:110px;border-radius:18px;padding:12px;background:#101820;border:1px solid #ffffff2b;color:#fff;display:grid;gap:8px;place-items:center;cursor:pointer}.hue-target-options button span{display:block;width:72px;height:72px;border-radius:16px;border:3px solid #fff;box-shadow:0 8px 20px #0007}.hue-target-options button strong{font-size:1.15rem}.hue-target-options button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hear-phone-buttons.four{grid-template-columns:1fr 1fr}.hear-choice.looks{background:#ff9ac6;color:#160b1d}.hear-choice.personality{background:#39d9d1;color:#160b1d}.hear-mini-results.four{display:grid;grid-template-columns:1fr 1fr;gap:9px}.hear-mini-results.four>div{min-width:0}.smart-phone-timer{margin:12px auto}
@media(max-width:420px){.hue-target-options{grid-template-columns:1fr 1fr}.hue-target-options button{min-height:92px}.hue-target-options button span{width:58px;height:58px}.hear-phone-buttons.four,.hear-mini-results.four{grid-template-columns:1fr}}


/* 12 Oct 2026 — tile-aligned button palettes for Who Is Sus?, Drawn Wrong and Spot the Bullshit */
.game-theme[style*="--theme-deep:#071322"] .primary,
.game-theme[style*="--theme-deep:#071322"] .choice{background:linear-gradient(120deg,#FF315F 0%,#5D68FF 52%,#05D9E8 100%)!important;color:#fff!important;border-color:#ffffff55!important}
.game-theme[style*="--theme-deep:#071322"] .ghost,
.game-theme[style*="--theme-deep:#071322"] .small{border-color:#05D9E866!important;background:#111D38e8!important;color:#F8FBFF!important}

.game-theme[style*="--theme-deep:#111326"] .primary,
.game-theme[style*="--theme-deep:#111326"] .choice{background:linear-gradient(120deg,#FF2D8D 0%,#7D36D8 35%,#00D9E8 68%,#FFE642 100%)!important;color:#111326!important;border-color:#ffffff66!important}
.game-theme[style*="--theme-deep:#111326"] .ghost,
.game-theme[style*="--theme-deep:#111326"] .small{border-color:#00D9E866!important;background:#25163Be8!important;color:#fff!important}

.game-theme[style*="--theme-deep:#10150B"] .primary,
.game-theme[style*="--theme-deep:#10150B"] .choice{background:linear-gradient(120deg,#CFFF19 0%,#88D414 45%,#F23838 100%)!important;color:#10150B!important;border-color:#ffffff55!important}
.game-theme[style*="--theme-deep:#10150B"] .ghost,
.game-theme[style*="--theme-deep:#10150B"] .small{border-color:#CFFF1966!important;background:#202B16e8!important;color:#FFFBEA!important}
