:root{
  --bg:#f3efff;--bg2:#eef4ff;--ink:#2e2630;--muted:#6f6880;--pink:#ef9fc8;--pink2:#ffd5e9;--pink3:#f7b9d7;
  --rose:#d96ba7;--cream:#fff8ef;--lilac:#eee5fb;--white:#fff;--line:rgba(63,40,57,.10);--shadow:0 20px 60px rgba(62,51,114,.12);
  --deep:#1f1720;--deep2:#2a1e29;--radius:26px;--topbar:76px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:
  radial-gradient(circle at 12% 10%, rgba(160,132,255,.22) 0, transparent 24%),
  radial-gradient(circle at 88% 14%, rgba(118,177,255,.18) 0, transparent 22%),
  radial-gradient(circle at 75% 78%, rgba(255,170,220,.18) 0, transparent 24%),
  linear-gradient(180deg,#f6f1ff 0%,#eef2ff 48%,#fbf1fa 100%);font-family:'DM Sans',sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}a{color:inherit}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.32) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),transparent 45%);z-index:-2}
body:after{content:"";position:fixed;inset:-12% -10% auto auto;width:58vw;height:58vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(205,190,255,.28),rgba(205,190,255,0) 68%);filter:blur(18px);pointer-events:none;z-index:-3}.petal-field{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.petal-field span{position:absolute;color:rgba(228,111,170,.14);font-size:26px;animation:floatPetal 18s linear infinite}.petal-field span:nth-child(1){left:5%;top:15%;animation-delay:-3s}.petal-field span:nth-child(2){left:18%;top:70%;animation-delay:-9s}.petal-field span:nth-child(3){left:42%;top:35%;animation-delay:-6s}.petal-field span:nth-child(4){left:68%;top:80%;animation-delay:-12s}.petal-field span:nth-child(5){left:82%;top:24%;animation-delay:-15s}.petal-field span:nth-child(6){left:94%;top:62%;animation-delay:-2s}@keyframes floatPetal{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-35px) rotate(18deg)}100%{transform:translateY(0) rotate(0)}}
.topbar{height:var(--topbar);position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:22px;padding:0 24px;background:rgba(246,242,255,.74);backdrop-filter:blur(20px);border-bottom:1px solid rgba(73,48,67,.08)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:180px}.brand img{width:46px;height:46px;border-radius:16px;object-fit:cover;object-position:50% 28%;box-shadow:0 7px 18px rgba(180,87,137,.18)}.brand span{display:grid;line-height:1}.brand strong{font-family:'Playfair Display',serif;font-size:18px}.brand small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose);margin-top:5px}.room-nav{display:flex;align-items:center;gap:3px;margin:auto}.room-nav a{font-size:11px;text-decoration:none;padding:10px 11px;border-radius:999px;color:#695d67;transition:.2s}.room-nav a:hover,.room-nav a.active{background:#fff;color:#3b2a35;box-shadow:0 6px 18px rgba(101,62,86,.08)}.room-nav .play-link{color:#9f5fa2}.room-nav .support-link{color:#b95389}.header-actions{display:flex;align-items:center;gap:7px}.discord-pill,.watch-pill{border:1px solid var(--line);text-decoration:none;border-radius:999px;padding:9px 12px;font-size:10px;font-weight:700}.watch-pill{background:var(--deep);color:#fff}.watch-pill span{color:#ffabd1;margin-right:4px}.mobile-menu{display:none;border:0;background:none;width:42px;height:42px;border-radius:12px}.mobile-menu span{display:block;width:20px;height:2px;background:var(--ink);margin:4px auto}
.app-shell{min-height:calc(100vh - var(--topbar))}.room-panel{display:none;padding:16px 22px 24px;min-height:calc(100vh - var(--topbar) - 40px)}.room-panel.active{display:block;animation:panelIn .35s ease}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.soft-card{background:rgba(255,255,255,.78);border:1px solid rgba(103,86,152,.10);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(12px)}.eyebrow{display:block;font-size:9px;letter-spacing:.16em;font-weight:700;color:#b45e8d;margin-bottom:10px}.primary-btn,.secondary-btn{border:0;border-radius:999px;padding:12px 18px;font-weight:700;font-size:11px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s}.primary-btn{background:linear-gradient(135deg,#ef8fc1,#f6b2d5);color:#351f2c;box-shadow:0 10px 24px rgba(211,95,158,.18)}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(211,95,158,.25)}.secondary-btn{background:#fff;color:#443540;border:1px solid var(--line)}.compact{padding:10px 14px;font-size:10px}.hidden{display:none!important}
.home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.72fr);gap:14px;height:calc(100vh - var(--topbar) - 56px);min-height:660px}.welcome-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;background:linear-gradient(145deg,rgba(255,255,255,.95) 0,rgba(250,245,255,.95) 45%,rgba(238,236,255,.92) 100%)}.welcome-card:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(239,159,200,.28),transparent 66%);right:-120px;top:-90px}.welcome-copy{position:relative;z-index:2;padding:clamp(40px,6vw,78px);display:flex;flex-direction:column;justify-content:center}.welcome-copy h1{font-family:'Playfair Display',serif;font-size:clamp(48px,5.6vw,82px);line-height:.93;margin:0 0 22px;letter-spacing:-.04em}.welcome-copy h1 em{font-weight:600;color:#c76d9b}.welcome-copy>p{font-size:14px;line-height:1.7;color:var(--muted);max-width:600px;margin:0 0 22px}.hero-actions{display:flex;gap:9px;flex-wrap:wrap}.social-strip{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;border-top:1px solid var(--line);padding-top:15px}.social-strip a{text-decoration:none;font-size:9px;color:#867784}.social-strip a:hover{color:var(--rose)}.logo-stage{position:relative;z-index:2;display:grid;place-items:center;padding:30px}.main-logo{max-width:min(92%,590px);max-height:86%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 24px 34px rgba(105,43,76,.16))}.logo-glow{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.6) 35%,transparent 70%)}.sticker{position:absolute;background:#fff;border:1px solid rgba(132,74,109,.12);box-shadow:0 10px 24px rgba(90,45,71,.12);padding:9px 13px;border-radius:999px;font-size:9px;font-weight:700}.sticker-one{top:19%;left:2%;transform:rotate(-7deg)}.sticker-two{bottom:18%;right:2%;transform:rotate(6deg)}
.home-rail{display:grid;grid-template-rows:auto auto 1fr auto;gap:10px}.feature-card{border:1px solid rgba(103,86,152,.10);text-align:left;border-radius:22px;padding:17px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;cursor:pointer;box-shadow:var(--shadow);transition:.2s;backdrop-filter:blur(10px)}.feature-card:hover,.mini-card:hover,.community-note:hover{transform:translateY(-2px)}.live-feature{background:linear-gradient(135deg,#221923,#39243a);color:#fff}.quiz-feature{background:linear-gradient(135deg,#f9dff0,#f2c8e6)}.feature-icon{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-weight:800}.feature-card>span:nth-child(2){display:grid;gap:2px}.feature-card small{font-size:8px;letter-spacing:.14em;opacity:.65}.feature-card strong{font-family:'Playfair Display',serif;font-size:17px}.feature-card em{font-style:normal;font-size:9px;opacity:.68}.feature-card b{font-size:18px}.home-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-card{border:1px solid rgba(103,86,152,.10);background:rgba(255,255,255,.74);box-shadow:0 12px 32px rgba(76,48,64,.07);border-radius:22px;padding:17px;text-align:left;cursor:pointer;transition:.2s;display:grid;align-content:center;backdrop-filter:blur(10px)}.mini-card>span{font-size:22px;margin-bottom:16px}.mini-card small{font-size:8px;letter-spacing:.14em;color:#a5698a}.mini-card strong{font-family:'Playfair Display',serif;font-size:15px;margin-top:4px}.community-note{border:1px solid rgba(103,86,152,.10);border-radius:20px;text-align:left;padding:15px 17px;background:linear-gradient(135deg,rgba(255,250,236,.96),rgba(245,238,255,.96));box-shadow:0 12px 32px rgba(76,48,64,.06);display:grid;gap:4px;cursor:pointer;backdrop-filter:blur(10px)}.community-note span{font-size:8px;letter-spacing:.14em;color:#a7747e}.community-note strong{font-size:12px}.community-note small{font-size:9px;color:#a0748b}
.section-banner{min-height:165px;border-radius:28px;padding:28px 34px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative;border:1px solid var(--line)}.section-banner h2{font-family:'Playfair Display',serif;font-size:clamp(36px,4.5vw,62px);letter-spacing:-.035em;line-height:1;margin:0 0 10px}.section-banner p{margin:0;color:rgba(58,42,53,.67);font-size:12px;max-width:670px;line-height:1.6}.pink-banner{background:linear-gradient(120deg,#ffe2f0,#f6c5dd)}.cream-banner{background:linear-gradient(120deg,#fff6e8,#ffeef6)}.lilac-banner{background:linear-gradient(120deg,#eee7fa,#faedf6)}.kitchen-banner{background:linear-gradient(120deg,#fff5df,#ffe8ef)}.play-banner{background:linear-gradient(120deg,#fbe5f3,#ece3fb)}.support-banner-top{background:linear-gradient(120deg,#ffe5f1,#f7c8df)}.dark-banner{color:white;background:linear-gradient(120deg,#1e1720,#4a2c44);background-size:cover;background-position:center}.dark-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,17,25,.92),rgba(26,17,25,.25));z-index:0}.dark-banner>div{position:relative;z-index:1}.dark-banner p{color:rgba(255,255,255,.7)}.banner-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.banner-chips span{background:rgba(255,255,255,.65);border:1px solid rgba(80,49,67,.08);border-radius:999px;padding:9px 11px;font-size:9px}.banner-logo{height:132px;width:132px;object-fit:cover;object-position:50% 28%;border-radius:28px;box-shadow:0 15px 35px rgba(101,58,83,.16)}.week-badge{background:rgba(255,255,255,.55);border:1px solid rgba(76,43,67,.08);padding:14px 16px;border-radius:18px;display:grid;text-align:center}.week-badge small{font-size:8px;letter-spacing:.12em;color:#9f7590}.week-badge strong{font-family:'Playfair Display',serif;font-size:15px;margin-top:3px}
.live-layout{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(300px,.48fr);gap:14px;min-height:650px}.stream-card{padding:13px;display:grid;grid-template-rows:auto 1fr;min-height:650px}.stream-head{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 12px}.creator-chip{display:flex;align-items:center;gap:9px}.creator-chip img{width:38px;height:38px;border-radius:13px;object-fit:cover;object-position:50% 28%}.creator-chip span{display:grid}.creator-chip strong{font-size:11px}.creator-chip small{font-size:8px;color:var(--muted)}.stream-head>a{font-size:9px;text-decoration:none;color:#9d6585}.twitch-embed{min-height:560px;border-radius:20px;overflow:hidden;background:#151017}.twitch-embed iframe{width:100%!important;height:100%!important;min-height:560px}.embed-placeholder{height:100%;min-height:560px;color:#e8dce4;display:grid;place-content:center;text-align:center;gap:8px;padding:30px}.embed-placeholder span{font-size:42px;color:#ef9fc8}.embed-placeholder strong{font-family:'Playfair Display',serif;font-size:22px}.embed-placeholder small{color:#a99aa5;max-width:480px}.live-side{display:grid;grid-template-rows:1fr .75fr;gap:14px}.support-quick,.discord-card{padding:24px}.support-quick h3,.discord-card h3,.donation-card h3,.hall-card h3,.game-title h3,.leaderboard h3,.coming-card h3{font-family:'Playfair Display',serif;font-size:25px;margin:4px 0 8px}.support-quick>p,.discord-card>p,.donation-card>p,.hall-card>p,.game-intro,.coming-card>p{font-size:11px;line-height:1.6;color:var(--muted)}.support-quick>a,.donation-grid>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:16px;text-decoration:none;margin-top:8px;background:rgba(255,255,255,.6)}.support-quick>a b,.donation-grid>a b{width:36px;height:36px;border-radius:12px;background:#fbe5f1;display:grid;place-items:center;color:#a64e7e}.support-quick>a span,.donation-grid>a span{display:grid}.support-quick>a strong,.donation-grid>a strong{font-size:10px}.support-quick>a small,.donation-grid>a small{font-size:8px;color:var(--muted)}.support-quick>a i,.donation-grid>a i{font-style:normal;color:#b785a1}.support-quick .primary-btn{margin-top:12px;width:100%}.discord-card{background:linear-gradient(145deg,#f4edff,#fff)}.discord-bubble{width:44px;height:44px;border-radius:16px;background:#7b6eb2;color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:18px}
.split-tabs-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:14px;min-height:590px}.subtab-list{display:grid;align-content:start;gap:8px}.subtab-list button{border:1px solid var(--line);background:rgba(255,255,255,.62);border-radius:18px;padding:15px;text-align:left;display:grid;grid-template-columns:36px 1fr;gap:3px 11px;cursor:pointer;transition:.2s}.subtab-list button>span{grid-row:span 2;width:36px;height:36px;border-radius:13px;background:#fff;display:grid;place-items:center}.subtab-list strong{font-size:11px}.subtab-list small{font-size:8px;color:var(--muted)}.subtab-list button.active{background:linear-gradient(135deg,#f9d9e9,#fff);box-shadow:0 10px 26px rgba(95,52,78,.08);border-color:rgba(214,111,165,.22)}.subtab-stage{padding:34px;position:relative;overflow:hidden;min-height:590px}.subpanel{display:none;height:100%}.subpanel.active{display:block;animation:panelIn .25s ease}.subpanel h3{font-family:'Playfair Display',serif;font-size:clamp(34px,4vw,55px);margin:6px 0 18px;letter-spacing:-.03em}.subpanel p{font-size:13px;line-height:1.78;color:var(--muted);max-width:820px}.fact-pills,.place-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.fact-pills span,.place-cloud span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 11px;font-size:9px}.portrait-slot{position:absolute;right:26px;bottom:26px;width:36%;height:42%;border-radius:24px}.media-slot{background-size:cover;background-position:center;position:relative}.media-slot.has-media>.media-placeholder{display:none}.media-placeholder{height:100%;min-height:130px;border:1px dashed rgba(128,83,110,.2);background:linear-gradient(145deg,rgba(247,213,231,.45),rgba(255,255,255,.35));display:grid;place-content:center;text-align:center;gap:5px;padding:20px;color:#a37d95;font-size:10px;border-radius:inherit}.media-placeholder span{font-size:28px}.media-placeholder strong{font-family:'Playfair Display',serif;font-size:16px}.quote-card{margin-top:28px;border-left:3px solid var(--pink);padding:18px 20px;background:#fff7fb;border-radius:0 18px 18px 0;font-family:'Playfair Display',serif;font-size:24px;line-height:1.4;max-width:760px}.hobby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:26px}.hobby-grid span{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;font-size:10px}.timeline{display:flex;align-items:center;gap:10px;margin-top:32px;flex-wrap:wrap}.timeline span{border:1px solid var(--line);background:#fff;border-radius:17px;padding:13px 16px;display:grid}.timeline b{font-size:10px}.timeline small{font-size:8px;color:var(--muted);margin-top:4px}.timeline i{font-style:normal;color:#c38aa9}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.stat-cards span{border-radius:20px;background:linear-gradient(145deg,#fff,#fbecf4);border:1px solid var(--line);padding:20px;display:grid}.stat-cards small{font-size:8px;letter-spacing:.12em;color:#9a7489}.stat-cards strong{font-family:'Playfair Display',serif;font-size:23px;margin-top:5px}.gaming-stage{background:linear-gradient(145deg,#fff,#faf3f8)}
.photo-banner{background:linear-gradient(120deg,#e8f2ee,#faedf4)}.photo-meta{display:grid;text-align:right}.photo-meta strong{font-family:'Playfair Display',serif;font-size:17px}.photo-meta small{font-size:9px;color:var(--muted);margin-top:4px}.photo-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;min-height:620px}.location-list{display:flex;flex-direction:column;gap:5px;max-height:650px;overflow:auto;padding-right:4px}.location-list button{border:0;background:rgba(255,255,255,.55);border-radius:13px;text-align:left;padding:10px 12px;font-size:9px;cursor:pointer;color:#74636f}.location-list button.active{background:#fff;box-shadow:0 8px 20px rgba(78,44,64,.07);color:#9d4f7b}.location-list button span{float:right;background:#f6dbe9;border-radius:999px;padding:1px 6px}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:185px;gap:9px;max-height:650px;overflow:auto;padding-right:3px}.photo-tile{border:0;border-radius:20px;overflow:hidden;cursor:pointer;position:relative;background:linear-gradient(145deg,#f7dce9,#efe7f4);min-height:185px}.photo-tile.tall{grid-row:span 2}.photo-tile.wide{grid-column:span 2}.photo-tile>span{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:14px;background:rgba(31,23,32,.64);backdrop-filter:blur(9px);color:white;display:grid;text-align:left}.photo-tile>span small{font-size:7px;letter-spacing:.13em;opacity:.68}.photo-tile>span strong{font-family:'Playfair Display',serif;font-size:14px}.photo-tile.filtered-out{display:none}.photo-tile.has-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(16,10,15,.35),transparent 45%)}.photo-tile.has-media>span{z-index:2}
.empty-room-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;min-height:590px}.empty-feature{border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#f6ddea,#e9e3f4)}.coming-card{padding:34px;display:flex;flex-direction:column;justify-content:center}.ghost-posts{display:grid;gap:8px;margin:20px 0}.ghost-posts span{height:58px;border-radius:17px;background:linear-gradient(90deg,#f8edf3,#fff)}.coming-card>small{font-size:9px;color:#9b8b95}.recipe-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;min-height:590px}.recipe-placeholder{border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#fff3dd,#fbe6ee);position:relative}.recipe-placeholder>.media-placeholder{min-height:590px}.recipe-placeholder>span{position:absolute;left:18px;right:18px;bottom:18px;border-radius:18px;padding:16px;background:rgba(255,255,255,.84);backdrop-filter:blur(10px);display:grid}.recipe-placeholder>span small{font-size:8px;letter-spacing:.12em;color:#a37d85}.recipe-placeholder>span strong{font-family:'Playfair Display',serif;font-size:20px;margin-top:3px}
.play-layout{display:grid;grid-template-columns:230px minmax(0,1fr) 280px;gap:14px;min-height:610px}.game-selector{display:grid;align-content:start;gap:8px}.game-selector button{border:1px solid var(--line);background:rgba(255,255,255,.63);border-radius:18px;padding:15px;text-align:left;display:grid;grid-template-columns:37px 1fr;gap:3px 10px;cursor:pointer}.game-selector button>span{grid-row:span 2;width:37px;height:37px;border-radius:13px;background:#fff;display:grid;place-items:center}.game-selector strong{font-size:10px}.game-selector small{font-size:8px;color:var(--muted)}.game-selector button.active{background:linear-gradient(135deg,#f7d8e8,#f1e9fb);border-color:rgba(203,111,163,.22);box-shadow:0 10px 24px rgba(80,48,67,.08)}.game-stage{padding:26px;overflow:hidden}.game-panel{display:none;height:100%}.game-panel.active{display:block}.game-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.game-title h3{margin-top:2px}.score-chip{background:#fff4fa;border:1px solid var(--line);border-radius:999px;padding:8px 11px;font-size:9px;white-space:nowrap}.trivia-shell{margin-top:20px}.trivia-question{font-family:'Playfair Display',serif;font-size:26px;line-height:1.25;margin:0 0 18px}.trivia-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trivia-option{border:1px solid var(--line);background:#fff;border-radius:17px;padding:14px 15px;text-align:left;cursor:pointer;font-size:11px;transition:.16s}.trivia-option:hover{border-color:#e4a8c7;transform:translateY(-1px)}.trivia-option.selected{background:#f9ddec;border-color:#d98bb3}.trivia-option.correct{background:#e8f6ec;border-color:#95cca2}.trivia-option.wrong{background:#fde7ed;border-color:#e6a7b7}.trivia-next{margin-top:16px}.trivia-result{text-align:center;padding:34px 10px}.trivia-result .big-score{font-family:'Playfair Display',serif;font-size:70px;color:#c76799;line-height:1}.trivia-result p{color:var(--muted);font-size:11px}.trivia-submit{display:flex;justify-content:center;gap:7px;margin-top:18px}.trivia-submit input,.game-submit input{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;font-size:10px;outline:none}.game-loading{padding:40px;text-align:center;color:#8f7d89}.petal-arena{height:390px;border-radius:22px;background:linear-gradient(180deg,#fff8fc,#f8e9f4);border:1px solid var(--line);position:relative;overflow:hidden;margin-top:17px}.petal-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;background:#2b202a;color:#fff;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer}.catch-item{position:absolute;border:0;background:transparent;font-size:30px;cursor:pointer;filter:drop-shadow(0 5px 8px rgba(103,54,83,.16));animation:itemPop .25s ease}@keyframes itemPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.game-submit{display:flex;align-items:center;gap:7px;margin-top:12px}.pairs-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;max-width:540px}.pair-card{aspect-ratio:1;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#f9deec,#f0e7fa);font-size:28px;cursor:pointer;display:grid;place-items:center;position:relative;transform-style:preserve-3d;transition:.18s}.pair-card:not(.flipped):not(.matched){font-size:0}.pair-card:not(.flipped):not(.matched):after{content:'♡';font-size:24px;color:#ca7ba5}.pair-card.matched{background:#edf7f0;border-color:#a8d2b2}.pairs-actions{display:flex;gap:10px;align-items:center;margin-top:15px;flex-wrap:wrap}.poll-options{display:grid;gap:10px;margin-top:24px}.poll-option{position:relative;border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;text-align:left;overflow:hidden;cursor:pointer}.poll-option .poll-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#f7d7e8,#efe8fb);width:0;transition:.4s;z-index:0}.poll-option span{position:relative;z-index:1;display:flex;justify-content:space-between;font-size:11px}.poll-option.voted{border-color:#d98db4}.privacy-note{display:block;margin-top:14px;color:#9b8a95;font-size:8px}.leaderboard{padding:22px;display:flex;flex-direction:column}.leaderboard-head{border-bottom:1px solid var(--line);padding-bottom:14px}.leaderboard h3{font-size:22px}.leaderboard-head>small{font-size:8px;color:var(--muted)}.leaderboard ol{list-style:none;padding:0;margin:10px 0;overflow:auto}.leaderboard li{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:10px 4px;border-bottom:1px solid rgba(70,48,63,.06);font-size:9px}.leaderboard li b{width:24px;height:24px;border-radius:9px;background:#fae5ef;display:grid;place-items:center}.leaderboard li strong{font-size:9px}.leaderboard li span:last-child{color:#b55f8e;font-weight:700}.leaderboard-empty{display:block!important;color:#978791!important;text-align:center;padding:28px 6px!important}.leaderboard-note{margin-top:auto;font-size:7px;color:#9c8c97;line-height:1.5;border-top:1px solid var(--line);padding-top:10px}
.support-layout{display:grid;grid-template-columns:1.15fr 1fr .65fr;gap:14px;min-height:590px}.support-photo{border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#f7ddeb,#e7efe7);position:relative}.support-photo>.media-placeholder{min-height:590px}.support-photo-label{position:absolute;left:18px;right:18px;bottom:18px;border-radius:18px;padding:15px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);display:grid}.support-photo-label small{font-size:8px;letter-spacing:.12em;color:#a56587}.support-photo-label strong{font-family:'Playfair Display',serif;font-size:18px;margin-top:4px}.donation-card,.hall-card{padding:28px}.donation-grid{display:grid;gap:7px;margin-top:18px}.donation-grid>a.disabled{opacity:.45;pointer-events:none}.legal-note{display:block;margin-top:14px;font-size:8px;color:#9c8b95;line-height:1.5}.heart-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.heart-wall span{height:72px;border-radius:18px;background:#fff8fb;border:1px solid var(--line);display:grid;place-items:center;color:#d37ba9;font-size:22px}.hall-card>small{font-size:8px;color:#9d8c97;line-height:1.5}
.floating-dock{position:fixed;right:16px;bottom:18px;z-index:55;display:flex;gap:4px;padding:5px;border-radius:18px;background:linear-gradient(135deg,rgba(27,21,43,.92),rgba(45,34,73,.88));backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(52,31,45,.22)}.floating-dock a,.floating-dock button{border:0;background:transparent;color:#fff;text-decoration:none;width:48px;height:46px;border-radius:14px;display:grid;place-content:center;text-align:center;gap:1px;cursor:pointer}.floating-dock a:hover,.floating-dock button:hover{background:rgba(255,255,255,.10)}.floating-dock span{font-size:13px;color:#ffbad8}.floating-dock small{font-size:6px;letter-spacing:.09em;text-transform:uppercase}.site-footer{height:40px;display:flex;align-items:center;justify-content:center;gap:26px;font-size:7px;letter-spacing:.1em;text-transform:uppercase;color:#817799}.site-footer a{text-decoration:none}.lightbox{position:fixed;inset:0;background:rgba(25,16,23,.92);backdrop-filter:blur(18px);z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;padding:28px}.lightbox.open{display:flex}.lightbox-image{width:min(1100px,92vw);height:min(760px,80vh);background-size:contain;background-repeat:no-repeat;background-position:center}.lightbox-caption{color:#fff;margin-top:10px;font-family:'Playfair Display',serif;font-size:18px}.lightbox-close{position:absolute;right:22px;top:18px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer}
@media(max-width:1280px){.room-nav a{padding:9px 7px;font-size:10px}.header-actions .discord-pill{display:none}.home-grid{grid-template-columns:1.2fr .8fr}.welcome-copy{padding:46px}.play-layout{grid-template-columns:205px minmax(0,1fr) 250px}.support-layout{grid-template-columns:1fr 1fr}.hall-card{grid-column:span 2}.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1020px){.room-nav{display:none;position:absolute;top:68px;left:12px;right:12px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--shadow);flex-wrap:wrap}.room-nav.open{display:flex}.mobile-menu{display:block;margin-left:auto}.header-actions{display:none}.topbar{height:68px}.home-grid{height:auto;min-height:0;grid-template-columns:1fr}.welcome-card{min-height:680px}.home-rail{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.home-mini-grid{grid-column:span 2}.community-note{grid-column:span 2}.live-layout{grid-template-columns:1fr}.live-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.split-tabs-layout{grid-template-columns:230px 1fr}.photo-workspace{grid-template-columns:190px 1fr}.play-layout{grid-template-columns:190px 1fr}.leaderboard{grid-column:2}.support-layout{grid-template-columns:1fr 1fr}.support-photo{grid-row:span 2}.recipe-preview-grid{min-height:520px}.recipe-placeholder>.media-placeholder{min-height:520px}}
@media(max-width:760px){.room-panel{padding:10px 10px 60px}.brand{min-width:0}.brand span{display:none}.home-grid{display:block}.welcome-card{grid-template-columns:1fr;min-height:0}.welcome-copy{padding:34px 24px 16px}.welcome-copy h1{font-size:52px}.logo-stage{min-height:440px}.main-logo{max-width:90%;max-height:410px}.home-rail{display:grid;margin-top:10px}.section-banner{min-height:150px;padding:22px}.section-banner h2{font-size:38px}.banner-chips,.banner-logo,.photo-meta{display:none}.live-side{grid-template-columns:1fr}.stream-card{min-height:560px}.twitch-embed,.twitch-embed iframe,.embed-placeholder{min-height:500px}.split-tabs-layout,.photo-workspace,.play-layout,.support-layout,.empty-room-grid{grid-template-columns:1fr}.subtab-list,.game-selector{grid-template-columns:repeat(2,1fr)}.subtab-list button,.game-selector button{padding:11px}.subtab-stage{min-height:560px;padding:24px}.portrait-slot{position:relative;right:auto;bottom:auto;width:100%;height:230px;margin-top:20px}.hobby-grid{grid-template-columns:1fr 1fr}.photo-workspace{display:block}.location-list{flex-direction:row;overflow:auto;max-height:none;padding-bottom:8px}.location-list button{white-space:nowrap}.photo-grid{grid-template-columns:1fr 1fr;max-height:none}.photo-tile.wide{grid-column:span 2}.photo-tile.tall{grid-row:span 1;min-height:260px}.play-layout{display:block}.game-selector{display:grid;margin-bottom:10px}.game-stage{min-height:610px}.leaderboard{margin-top:10px;min-height:330px}.support-photo>.media-placeholder{min-height:480px}.support-photo{min-height:480px}.hall-card{grid-column:auto}.recipe-preview-grid{grid-template-columns:1fr;min-height:0}.recipe-placeholder>.media-placeholder{min-height:430px}.recipe-placeholder{min-height:430px}.site-footer{height:auto;padding:14px;flex-wrap:wrap}.floating-dock{right:8px;bottom:8px}.trivia-options{grid-template-columns:1fr}.stat-cards{grid-template-columns:1fr}.timeline i{display:none}}
@media(max-width:500px){.topbar{padding:0 12px}.welcome-copy h1{font-size:44px}.welcome-copy>p{font-size:12px}.home-rail{grid-template-columns:1fr}.home-mini-grid,.community-note{grid-column:auto}.home-mini-grid{grid-template-columns:1fr 1fr}.logo-stage{min-height:380px}.sticker{display:none}.subtab-list,.game-selector{grid-template-columns:1fr 1fr}.subtab-list button>span,.game-selector button>span{display:none}.subtab-list button,.game-selector button{grid-template-columns:1fr}.hobby-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.photo-tile.wide{grid-column:auto}.pairs-board{gap:5px}.pair-card{border-radius:12px}.game-title{display:block}.score-chip{display:inline-block;margin-bottom:8px}.trivia-submit,.game-submit{flex-direction:column}.trivia-submit input,.game-submit input{width:100%}.support-photo>.media-placeholder{min-height:400px}.support-photo{min-height:400px}}

/* V5 word games */
.cozyword-board{display:grid;gap:7px;max-width:370px;margin:22px auto 16px}.cozyword-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.cozyword-tile{aspect-ratio:1;border:1px solid rgba(93,75,120,.14);border-radius:14px;background:rgba(255,255,255,.78);display:grid;place-items:center;font-weight:800;font-size:22px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);text-transform:uppercase}.cozyword-tile.correct{background:linear-gradient(145deg,#ef9fc8,#f8bddb);color:#452438;border-color:#e98fbc}.cozyword-tile.present{background:linear-gradient(145deg,#d9cff8,#c9c2f2);color:#3e355f;border-color:#b8ace6}.cozyword-tile.absent{background:#e8e6ec;color:#7b7580;border-color:#dedbe3}.cozyword-input-row{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.cozyword-input-row input{width:170px;text-align:center;letter-spacing:.16em;font-weight:800;border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:999px;padding:10px 14px;outline:none}.cozyword-keyboard{display:grid;gap:5px;margin:14px auto 0;max-width:520px}.cozyword-keyboard>div{display:flex;justify-content:center;gap:4px}.cozyword-keyboard button{border:1px solid rgba(91,74,114,.10);background:rgba(255,255,255,.78);border-radius:9px;min-width:30px;height:34px;font-size:9px;font-weight:800;cursor:pointer}.cozyword-keyboard button.correct{background:#ef9fc8}.cozyword-keyboard button.present{background:#d9cff8}.cozyword-keyboard button.absent{background:#dedbe3;color:#8b8590}.word-game-message{text-align:center;font-size:10px;color:#8d7486;margin:12px 0;min-height:18px}.cozyword-submit{justify-content:center}
.wordsearch-layout{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:20px;align-items:start;margin-top:16px}.wordsearch-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;background:linear-gradient(145deg,rgba(248,224,240,.7),rgba(230,231,252,.75));padding:10px;border-radius:22px;border:1px solid rgba(102,83,137,.10);max-width:620px}.wordsearch-cell{aspect-ratio:1;min-width:0;border:0;border-radius:8px;background:rgba(255,255,255,.80);font-size:clamp(8px,1vw,12px);font-weight:800;cursor:pointer;padding:0;transition:.15s}.wordsearch-cell:hover,.wordsearch-cell.selected{background:#f8c4df;transform:scale(1.05)}.wordsearch-cell.found{background:linear-gradient(145deg,#f0a6cc,#d7c9f7);color:#3e2f4d}.wordsearch-side{padding:6px}.wordsearch-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 18px}.wordsearch-list span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid var(--line);font-size:8px;font-weight:700;letter-spacing:.06em}.wordsearch-list span.found{text-decoration:line-through;background:#f6d6e7;color:#a76b8a}.wordsearch-side .word-game-message{text-align:left}.wordsearch-side .game-submit{flex-direction:column;align-items:stretch}.wordsearch-side .game-submit input{width:100%}
@media(max-width:760px){.wordsearch-layout{grid-template-columns:1fr}.wordsearch-grid{width:100%;max-width:none;padding:7px;gap:2px}.wordsearch-cell{border-radius:6px;font-size:8px}.wordsearch-side{padding:0}.wordsearch-side .word-game-message{text-align:center}.cozyword-board{max-width:330px}.cozyword-tile{border-radius:11px;font-size:19px}}
@media(max-width:420px){.cozyword-keyboard button{min-width:27px;height:32px}.cozyword-board{gap:5px}.cozyword-row{gap:5px}.wordsearch-grid{padding:5px}.wordsearch-cell{font-size:7px}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* ============================================================
   V6 — RESTORED ORIGINAL COMFY CORNER PALETTE
   Uses the deep plum / midnight purple / lilac glow scheme from
   the original template while retaining all V5 rooms and games.
   ============================================================ */
:root{
  --bg:#100b13;
  --bg2:#17101b;
  --ink:#fff7fb;
  --muted:#c9b9c8;
  --pink:#f6a9d0;
  --pink2:#ffc7e5;
  --pink3:#e99ac7;
  --rose:#ef87bb;
  --cream:#f0d39c;
  --lilac:#ba9cff;
  --white:#fff;
  --line:rgba(255,255,255,.10);
  --shadow:0 24px 80px rgba(0,0,0,.34);
  --deep:#100b13;
  --deep2:#21162a;
}

body{
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 10%,rgba(246,169,208,.11),transparent 28%),
    radial-gradient(circle at 86% 16%,rgba(111,142,255,.10),transparent 25%),
    radial-gradient(circle at 88% 86%,rgba(186,156,255,.11),transparent 27%),
    radial-gradient(circle at 20% 82%,rgba(102,71,161,.08),transparent 25%),
    linear-gradient(150deg,#100b13 0%,#14101c 38%,#101323 70%,#100b13 100%);
  background-attachment:fixed;
}
body:before{
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);
  background-size:23px 23px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.42),transparent 55%);
  opacity:.65;
}
body:after{
  inset:auto -14vw -26vw auto;
  width:72vw;height:72vw;max-width:1100px;max-height:1100px;
  background:radial-gradient(circle,rgba(108,91,207,.17),rgba(108,91,207,0) 68%);
  filter:blur(34px);
}
.petal-field span{color:rgba(246,169,208,.16)}

.topbar{
  background:rgba(16,11,19,.86);
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 35px rgba(0,0,0,.12);
}
.brand strong{color:#fff7fb}.brand small{color:var(--pink2)}
.room-nav a{color:#cabeca}
.room-nav a:hover,.room-nav a.active{
  background:rgba(255,255,255,.075);color:#fff;
  box-shadow:none;
}
.room-nav .play-link{color:var(--lilac)}
.room-nav .support-link{color:var(--pink2)}
.discord-pill,.watch-pill{border-color:var(--line);color:#fff}
.discord-pill{background:rgba(255,255,255,.035)}
.watch-pill{background:linear-gradient(130deg,rgba(246,169,208,.18),rgba(186,156,255,.13))}
.mobile-menu span{background:#fff}

.soft-card{
  background:linear-gradient(145deg,rgba(34,23,38,.86),rgba(22,15,25,.90));
  border:1px solid var(--line);
  box-shadow:0 22px 60px rgba(0,0,0,.22);
  backdrop-filter:blur(18px);
}
.eyebrow{color:var(--pink2)}
.secondary-btn{background:rgba(255,255,255,.055);color:#fff;border-color:var(--line)}
.primary-btn{background:linear-gradient(135deg,var(--pink2),var(--rose));color:#29141f}

.welcome-card{
  background:
    radial-gradient(circle at 80% 22%,rgba(246,169,208,.20),transparent 27%),
    radial-gradient(circle at 25% 78%,rgba(186,156,255,.15),transparent 34%),
    linear-gradient(145deg,#241426 0%,#171019 70%,#11121d 100%);
}
.welcome-card:after{background:radial-gradient(circle,rgba(186,156,255,.15),transparent 66%)}
.welcome-copy h1 em{color:var(--pink2)}
.welcome-copy>p,.social-strip a{color:var(--muted)}
.social-strip a:hover{color:var(--pink2)}
.logo-glow{background:radial-gradient(circle,rgba(246,169,208,.20) 0,rgba(186,156,255,.10) 34%,transparent 70%)}
.main-logo{filter:drop-shadow(0 28px 46px rgba(0,0,0,.32))}
.sticker{background:rgba(20,13,22,.80);color:#fbeff7;border-color:var(--line);box-shadow:0 12px 30px rgba(0,0,0,.24)}

.live-feature{background:linear-gradient(135deg,#221923,#39243a)}
.quiz-feature{background:linear-gradient(135deg,rgba(246,169,208,.18),rgba(186,156,255,.15));color:#fff}
.mini-card{
  border-color:var(--line);
  background:rgba(255,255,255,.045);
  box-shadow:0 16px 42px rgba(0,0,0,.15);
}
.mini-card small{color:var(--pink2)}
.community-note{
  border-color:var(--line);
  background:linear-gradient(135deg,rgba(246,169,208,.12),rgba(186,156,255,.09));
  box-shadow:0 16px 42px rgba(0,0,0,.15);
}
.community-note span{color:var(--pink2)}.community-note small{color:var(--muted)}

.section-banner{border-color:var(--line);color:#fff}
.section-banner p{color:var(--muted)}
.pink-banner{background:linear-gradient(120deg,rgba(246,169,208,.17),rgba(78,43,78,.35))}
.cream-banner{background:linear-gradient(120deg,rgba(240,211,156,.10),rgba(91,52,85,.27))}
.lilac-banner{background:linear-gradient(120deg,rgba(186,156,255,.17),rgba(61,49,93,.33))}
.kitchen-banner{background:linear-gradient(120deg,rgba(240,211,156,.12),rgba(90,54,73,.27))}
.play-banner{background:linear-gradient(120deg,rgba(246,169,208,.16),rgba(186,156,255,.17),rgba(80,107,180,.10))}
.support-banner-top{background:linear-gradient(120deg,rgba(246,169,208,.18),rgba(83,48,80,.30))}
.banner-chips span,.week-badge{background:rgba(255,255,255,.055);border-color:var(--line);color:#f7edf5}
.week-badge small{color:var(--pink2)}

/* Generic light surfaces inside rooms */
.subtab-list,.location-list,.game-selector,.journal-list,.recipe-card,.donation-card,.hall-card,.leaderboard,.stream-card,.live-side>*,.photo-tile,.story-card,.stream-history,.featured-note,.subtab-stage,.game-stage{
  color:var(--ink);
}
.subtab-list button,.location-list button,.game-selector button,.note-row,.poll-option,.trivia-option,.donation-grid>a{
  color:var(--ink);
}
.subtab-list button:hover,.subtab-list button.active,.location-list button:hover,.location-list button.active,.game-selector button:hover,.game-selector button.active{
  background:rgba(246,169,208,.10);color:#fff;border-color:rgba(246,169,208,.18)
}

/* Inputs / forms */
input,textarea,select,
.trivia-submit input,.game-submit input,.cozyword-input-row input{
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  border-color:var(--line)!important;
}
input::placeholder,textarea::placeholder{color:#978a9a}

/* Game surfaces */
.petal-arena{
  background:
    radial-gradient(circle at 20% 20%,rgba(246,169,208,.12),transparent 28%),
    radial-gradient(circle at 80% 78%,rgba(186,156,255,.12),transparent 30%),
    linear-gradient(180deg,#1c1421,#14101a);
  border-color:var(--line);
}
.pair-card{background:linear-gradient(145deg,#2a1b2b,#20182d);border-color:var(--line);color:#fff}
.pair-card:not(.flipped):not(.matched):after{color:var(--pink2)}
.pair-card.matched{background:linear-gradient(145deg,rgba(174,232,213,.22),rgba(186,156,255,.16));border-color:rgba(174,232,213,.35)}
.poll-option{background:rgba(255,255,255,.045);border-color:var(--line)}
.poll-option .poll-fill{background:linear-gradient(90deg,rgba(246,169,208,.18),rgba(186,156,255,.16))}
.leaderboard li{border-bottom-color:rgba(255,255,255,.06)}
.leaderboard li b{background:rgba(246,169,208,.10);color:var(--pink2)}
.leaderboard li span:last-child{color:var(--pink2)}

/* Word games */
.cozyword-tile{background:rgba(255,255,255,.055);border-color:var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);color:#fff}
.cozyword-tile.correct{background:linear-gradient(145deg,#ef87bb,#d76aaa);color:#fff;border-color:#ef87bb}
.cozyword-tile.present{background:linear-gradient(145deg,#8068c7,#a78ee9);color:#fff;border-color:#ad95ea}
.cozyword-tile.absent{background:#332a36;color:#aca1ae;border-color:#443849}
.cozyword-keyboard button{background:rgba(255,255,255,.065);color:#f6edf5;border-color:var(--line)}
.cozyword-keyboard button.correct{background:#ef87bb;color:#fff}.cozyword-keyboard button.present{background:#8068c7;color:#fff}.cozyword-keyboard button.absent{background:#332a36;color:#948895}
.word-game-message{color:var(--muted)}
.wordsearch-grid{
  background:linear-gradient(145deg,rgba(246,169,208,.10),rgba(85,74,143,.14));
  border-color:var(--line)
}
.wordsearch-cell{background:rgba(255,255,255,.06);color:#f7eef6}
.wordsearch-cell:hover,.wordsearch-cell.selected{background:rgba(246,169,208,.28)}
.wordsearch-cell.found{background:linear-gradient(145deg,#d774ab,#8068c7);color:#fff}
.wordsearch-list span{background:rgba(255,255,255,.055);border-color:var(--line);color:#f6edf5}
.wordsearch-list span.found{background:rgba(246,169,208,.16);color:var(--pink2)}

/* Support / hearts */
.support-photo{background:linear-gradient(145deg,#382031,#1b121c)}
.support-photo-label{background:rgba(18,11,20,.76);color:#fff;border:1px solid var(--line)}
.support-photo-label small{color:var(--pink2)}
.heart-wall span{background:rgba(246,169,208,.06);border-color:var(--line);color:var(--pink2)}
.legal-note,.hall-card>small,.privacy-note,.leaderboard-note{color:#9e909f}

.floating-dock{background:rgba(20,13,22,.86);border:1px solid var(--line);box-shadow:0 18px 45px rgba(0,0,0,.30)}
.site-footer{color:#746a76}.site-footer a{color:#8d8190}.site-footer a:hover{color:var(--pink2)}

@media(max-width:1020px){
  .room-nav{background:#171019;border-color:var(--line)}
}


/* Mascot overlay */
.hidden{display:none !important;}
.mascot-toggle-wrap{position:fixed;left:18px;bottom:18px;z-index:58}.mascot-toggle{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(29,20,40,.95),rgba(71,40,97,.90));color:#fff;border-radius:999px;padding:12px 16px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 16px 36px rgba(14,8,24,.28)}.mascot-toggle:hover{transform:translateY(-1px)}
.mascot-stage{position:fixed;left:0;right:0;bottom:52px;height:260px;z-index:54;pointer-events:none;overflow:hidden}.mascot-stage.is-off{display:none}.mascot-speech{position:absolute;left:50%;transform:translateX(-50%);bottom:188px;max-width:min(420px,80vw);padding:12px 16px;border-radius:18px 18px 18px 6px;background:rgba(255,247,252,.94);border:1px solid rgba(235,184,218,.55);color:#6c4a67;font-size:12px;font-weight:700;box-shadow:0 16px 32px rgba(19,12,29,.18);text-align:center;opacity:0;transition:opacity .45s ease, transform .45s ease}.mascot-stage.show-speech .mascot-speech{opacity:1;transform:translateX(-50%) translateY(-4px)}
.mascot{position:absolute;bottom:0;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 18px 30px rgba(5,4,12,.26));transition:opacity .35s ease}.mascot-jessi{height:210px;left:55%}.mascot-arthas{height:170px;left:70%}.mascot-duo{height:230px;left:54%}
.mascot-stage.scene-welcome .mascot-jessi{animation:jessiWelcome 7s ease-in-out infinite}.mascot-stage.scene-welcome .mascot-arthas{animation:arthasSit 3.2s ease-in-out infinite}
.mascot-stage.scene-chase .mascot-jessi{height:205px;left:auto;animation:jessiChase 7.5s linear infinite}.mascot-stage.scene-chase .mascot-arthas{height:155px;left:auto;animation:arthasChase 7.5s linear infinite}
.mascot-stage.scene-treat .mascot-jessi{height:220px;left:54%;animation:jessiTreat 4.4s ease-in-out infinite}.mascot-stage.scene-treat .mascot-arthas{height:168px;left:71%;animation:arthasBeg 2.4s ease-in-out infinite}
.mascot-stage.scene-ball .mascot-duo{animation:duoBounce 5.5s ease-in-out infinite}
@keyframes jessiWelcome{0%,100%{transform:translateY(0) rotate(0deg)}35%{transform:translateY(-8px) rotate(-1deg)}50%{transform:translateY(0) rotate(1deg)}70%{transform:translateY(-5px) rotate(-1deg)}}
@keyframes arthasSit{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.02)}}
@keyframes jessiTreat{0%,100%{transform:translateY(0) translateX(0)}45%{transform:translateY(-4px) translateX(-6px)}75%{transform:translateY(0) translateX(4px)}}
@keyframes arthasBeg{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.03)}}
@keyframes duoBounce{0%,100%{transform:translateX(0) translateY(0)}40%{transform:translateX(14px) translateY(-6px)}60%{transform:translateX(-10px) translateY(0)}}
@keyframes jessiChase{0%{left:102%;transform:translateY(0) scaleX(1)}100%{left:-18%;transform:translateY(-2px) scaleX(1)}}
@keyframes arthasChase{0%{left:118%;transform:translateY(0) scaleX(1)}100%{left:-5%;transform:translateY(-3px) scaleX(1)}}
@media (max-width: 1080px){.mascot-stage{height:220px}.mascot-speech{bottom:162px;font-size:11px}.mascot-jessi{height:184px;left:50%}.mascot-arthas{height:146px;left:69%}.mascot-duo{height:196px;left:49%}}
@media (max-width: 760px){.mascot-stage{height:148px;bottom:76px}.mascot-speech{bottom:116px;padding:10px 12px;font-size:10px;max-width:72vw}.mascot-jessi{height:122px;left:44%}.mascot-arthas{height:98px;left:69%}.mascot-duo{height:128px;left:43%}.mascot-toggle-wrap{left:12px;bottom:74px}.mascot-toggle{padding:10px 13px;font-size:9px}}
@media (prefers-reduced-motion: reduce){.mascot-stage,.mascot-speech{transition:none}.mascot-stage .mascot,.mascot-stage.scene-welcome .mascot-jessi,.mascot-stage.scene-welcome .mascot-arthas,.mascot-stage.scene-chase .mascot-jessi,.mascot-stage.scene-chase .mascot-arthas,.mascot-stage.scene-treat .mascot-jessi,.mascot-stage.scene-treat .mascot-arthas,.mascot-stage.scene-ball .mascot-duo{animation:none !important}.mascot-stage{height:160px}.mascot-speech{opacity:1}}


/* Living mascot system v16 — normalized frame assets for smoother motion */
.living-mascot-controls{position:fixed;left:18px;bottom:18px;z-index:58}
.living-mascot-toggle{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(27,19,38,.96),rgba(68,39,92,.94));color:#fff;border-radius:999px;padding:11px 15px;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 34px rgba(12,7,20,.30);backdrop-filter:blur(12px);transition:transform .18s ease,background .18s ease}.living-mascot-toggle:hover{transform:translateY(-2px);background:linear-gradient(135deg,rgba(38,25,51,.98),rgba(88,49,116,.96))}
.living-mascot-world{position:fixed;left:0;right:0;bottom:70px;height:220px;pointer-events:none;overflow:hidden;z-index:42}.living-mascot-world.is-off{display:none}.living-mascot-world.low-profile{opacity:.70}
.living-mascot{position:absolute;bottom:-10px;transform:translateX(-50%);will-change:left,opacity;opacity:1;overflow:visible}.living-mascot.offstage{opacity:0}
.living-jessi{width:128px;height:128px}.living-arthas{width:108px;height:108px}
.sprite-frame{position:absolute;left:50%;bottom:0;width:100%;height:100%;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 4px 8px rgba(12,7,18,.12));image-rendering:auto;user-select:none;-webkit-user-drag:none;pointer-events:none}
.mascot-shadow{position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:56%;height:10px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(7,4,12,.28),rgba(7,4,12,0) 72%);filter:blur(4px);opacity:.58}.living-arthas .mascot-shadow{width:60%;height:9px}
.actor-speech{position:absolute;left:50%;bottom:calc(100% - 8px);transform:translateX(-50%) translateY(5px);min-width:max-content;max-width:188px;padding:8px 11px;border-radius:14px 14px 14px 5px;background:rgba(255,249,253,.97);border:1px solid rgba(239,180,218,.46);color:#694a64;font-size:10px;font-weight:800;letter-spacing:.01em;box-shadow:0 10px 24px rgba(19,12,29,.16);opacity:0;transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.actor-speech.show{opacity:1;transform:translateX(-50%) translateY(0)}.actor-speech.hidden{display:none!important}.actor-speech:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(255,249,253,.97);border-bottom:0}
.living-ball{position:absolute;bottom:48px;left:50%;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff1a7 0,#dff66f 30%,#b7d52d 67%,#7f9c18 100%);box-shadow:0 7px 16px rgba(154,190,36,.28),inset 0 0 0 1px rgba(255,255,255,.4)}.living-ball.hidden,.mouth-ball.hidden{display:none!important}
.mouth-ball{position:absolute;bottom:38px;left:68%;z-index:4;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff1a7 0,#dff66f 30%,#b7d52d 67%,#7f9c18 100%);box-shadow:0 6px 12px rgba(154,190,36,.28),inset 0 0 0 1px rgba(255,255,255,.4)}.living-arthas.facing-left .mouth-ball{left:24%}
@media(max-width:1080px){.living-mascot-world{height:196px;bottom:72px}.living-jessi{width:116px;height:116px}.living-arthas{width:98px;height:98px}.actor-speech{font-size:9px;max-width:176px}.living-ball{bottom:42px;width:18px;height:18px}.mouth-ball{bottom:34px;width:14px;height:14px}}
@media(max-width:760px){.living-mascot-world{height:148px;bottom:92px}.living-jessi{width:92px;height:92px}.living-arthas{width:76px;height:76px}.actor-speech{font-size:8px;padding:7px 9px;max-width:140px}.living-ball{width:14px;height:14px;bottom:30px}.mouth-ball{bottom:26px;width:12px;height:12px}.living-mascot-controls{left:12px;bottom:76px}.living-mascot-toggle{padding:9px 12px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.actor-speech{transition:none!important}}

/* V10 animation lab */
.animation-lab{margin-top:20px;padding:24px;display:grid;grid-template-columns:minmax(280px, .95fr) minmax(0,1.25fr);gap:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(38,26,56,.7),rgba(28,20,42,.68));}
.animation-lab h3{margin:8px 0 10px;font-family:'Playfair Display',serif;font-size:26px;color:#fff6fb}.animation-lab p{margin:0 0 12px;color:#d8d0e8}.animation-lab-copy .eyebrow{color:#f0a6cc}.animation-lab-list{margin:0;padding-left:18px;color:#e4dff0;display:grid;gap:8px}.animation-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.animation-sheet-card{margin:0;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 36px rgba(10,7,18,.16)}.animation-sheet-card img{display:block;width:100%;height:auto;background:#20162a}.animation-sheet-card figcaption{display:grid;gap:3px;padding:12px 14px;background:rgba(18,11,28,.48)}.animation-sheet-card strong{font-size:14px;color:#fff}.animation-sheet-card small{color:#ccbddd;font-size:12px}.animation-sheet-card:hover{transform:translateY(-2px)}
@media(max-width:980px){.animation-lab{grid-template-columns:1fr}.animation-sheet-grid{grid-template-columns:1fr}}

/* ============================================================
   V11 — readability + story-first Gaming + playlists + crossword
   ============================================================ */

/* High-contrast room controls: dark theme should never put pale text on white cards. */
.subtab-list button,
.game-selector button,
.location-list button,
.trivia-option,
.poll-option,
.timeline span,
.stat-cards span,
.score-chip,
.fact-pills span,
.place-cloud span,
.hobby-grid span{
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
  color:#fff7fb;
  border-color:rgba(255,255,255,.11);
}
.subtab-list button>span,.game-selector button>span{background:rgba(255,255,255,.10);color:#fff}
.subtab-list strong,.game-selector strong,.timeline b,.stat-cards strong{color:#fff7fb}
.subtab-list small,.game-selector small,.timeline small,.stat-cards small{color:#c9b9c8}
.subtab-list button:hover,.subtab-list button.active,.game-selector button:hover,.game-selector button.active{
  background:linear-gradient(135deg,rgba(246,169,208,.21),rgba(186,156,255,.15));
  border-color:rgba(246,169,208,.30);color:#fff;
}
.game-stage,.subtab-stage,.leaderboard{color:#fff7fb}
.game-intro,.leaderboard-head>small,.leaderboard-note,.privacy-note{color:#c9b9c8}
.score-chip{background:rgba(255,255,255,.07);color:#fceff7}
.trivia-option{font-weight:650;color:#fff7fb}
.trivia-option:hover{background:rgba(246,169,208,.14);border-color:rgba(246,169,208,.38)}
.trivia-option.selected{background:linear-gradient(135deg,rgba(239,135,187,.35),rgba(128,104,199,.25));border-color:#ef87bb;color:#fff}
.trivia-option.correct{background:rgba(88,181,126,.26);border-color:rgba(133,226,170,.60);color:#f3fff7}
.trivia-option.wrong{background:rgba(213,84,115,.25);border-color:rgba(245,132,157,.55);color:#fff2f5}
.timeline i{color:#ef9fc8}.stat-cards span{box-shadow:0 12px 30px rgba(0,0,0,.12)}

/* Story-first gaming room. */
.gaming-stage{min-height:650px;background:linear-gradient(145deg,rgba(28,18,31,.94),rgba(17,13,24,.96))}
.gaming-story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:30px;align-items:start}
.gaming-copy h3{font-size:clamp(34px,4vw,58px);max-width:900px}
.gaming-copy p{max-width:920px;color:#ddd0dd;font-size:13px;line-height:1.88;margin:0 0 15px}
.gaming-media{min-height:430px;border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:linear-gradient(145deg,rgba(246,169,208,.09),rgba(186,156,255,.08));position:sticky;top:96px;background-size:cover;background-position:center}
.gaming-media .media-placeholder{min-height:430px;background:linear-gradient(145deg,rgba(246,169,208,.08),rgba(186,156,255,.06));border:0;color:#d5bfd0}
.gaming-watch-card{display:grid;place-content:center;min-height:520px;text-align:center;max-width:760px;margin:auto}
.gaming-watch-card h3{font-size:clamp(38px,5vw,64px)}.gaming-watch-card p{color:#c9b9c8;max-width:650px;margin:0 auto 22px;line-height:1.75}.gaming-watch-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

/* Listen / playlists room. */
.listen-banner{background:linear-gradient(120deg,rgba(94,76,179,.25),rgba(246,169,208,.15),rgba(31,22,44,.72))}
.playlist-intro{padding:24px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:24px}.playlist-intro h3{font-family:'Playfair Display',serif;font-size:30px;margin:4px 0 7px}.playlist-intro p{color:#c9b9c8;margin:0;max-width:760px;line-height:1.6;font-size:11px}
.playlist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.playlist-card{padding:16px;overflow:hidden}.playlist-card-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.playlist-card-head>span{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,rgba(246,169,208,.18),rgba(186,156,255,.16));display:grid;place-items:center;font-size:18px}.playlist-card-head div{display:grid}.playlist-card-head small{font-size:8px;letter-spacing:.15em;color:#f6a9d0;font-weight:800}.playlist-card-head strong{font-family:'Playfair Display',serif;font-size:18px;color:#fff}.playlist-card-head p{margin:3px 0 0;color:#c9b9c8;font-size:9px}.playlist-card iframe{width:100%;border:0;border-radius:16px;background:#0d0b11}.playlist-empty{grid-column:1/-1;min-height:300px;display:grid;place-content:center;text-align:center;padding:34px}.playlist-empty>span{font-size:42px}.playlist-empty h3{font-family:'Playfair Display',serif;font-size:28px;margin:8px 0}.playlist-empty p{color:#c9b9c8}


.youtube-playlist-card{grid-column:1/-1}
.youtube-player-wrap{width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#09080d}
.youtube-player-wrap iframe{width:100%!important;height:100%!important;border:0}
.youtube-browser-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:17px 4px 10px;border-bottom:1px solid rgba(255,255,255,.09)}
.youtube-browser-head>div{display:grid;gap:2px}.youtube-browser-head strong{font-family:'Playfair Display',serif;color:#fff;font-size:18px}.youtube-browser-head small,.youtube-browser-head>span{color:#a99aa9;font-size:9px}
.youtube-track-list{display:grid;max-height:520px;overflow:auto;padding:7px 2px 2px;scrollbar-width:thin;scrollbar-color:#8e5a82 transparent}
.youtube-track-row{display:grid;grid-template-columns:30px 94px minmax(0,1fr) 28px;gap:11px;align-items:center;width:100%;padding:8px;border:0;border-radius:13px;background:transparent;color:#fff;text-align:left;cursor:pointer;transition:background .15s ease,transform .15s ease}
.youtube-track-row:hover{background:rgba(255,255,255,.07);transform:translateX(2px)}
.youtube-track-row.active{background:linear-gradient(90deg,rgba(246,169,208,.18),rgba(121,92,178,.14));box-shadow:inset 2px 0 #f6a9d0}
.youtube-track-row img{width:94px;aspect-ratio:16/9;object-fit:cover;border-radius:9px;background:#0d0b11}
.youtube-track-number{font-size:10px;color:#aaa0aa;text-align:center}.youtube-track-copy{min-width:0;display:grid;gap:3px}.youtube-track-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.youtube-track-copy small{font-size:8px;color:#aaa0aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.youtube-track-play{font-size:11px;color:#f6a9d0;text-align:center}
.youtube-load-more{display:block;margin:10px auto 2px;border:1px solid rgba(246,169,208,.26);border-radius:999px;padding:9px 15px;background:rgba(246,169,208,.10);color:#fff;font-size:9px;font-weight:800;cursor:pointer}.youtube-load-more:hover{background:rgba(246,169,208,.18)}.youtube-load-more:disabled{opacity:.55;cursor:wait}
.youtube-track-message{padding:22px;text-align:center;color:#bbaebb;font-size:10px}
@media(max-width:760px){.youtube-browser-head{align-items:flex-start;flex-direction:column}.youtube-track-list{max-height:440px}.youtube-track-row{grid-template-columns:24px 74px minmax(0,1fr) 20px;gap:8px;padding:7px}.youtube-track-row img{width:74px}.youtube-track-copy strong{font-size:10px}.youtube-browser-head>span{display:none}}

/* Word search can now scale to mixed-length 15x15 puzzles. */
.wordsearch-grid{grid-template-columns:repeat(var(--ws-size,15),1fr);max-width:690px}.wordsearch-cell{font-size:clamp(7px,.72vw,10px);border-radius:6px}

/* Crossword. */
.crossword-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;margin-top:16px;align-items:start}.crossword-grid{display:grid;grid-template-columns:repeat(var(--cw-size,15),1fr);gap:2px;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:linear-gradient(145deg,rgba(246,169,208,.08),rgba(91,75,154,.10));max-width:670px}.crossword-block{aspect-ratio:1;background:rgba(5,4,9,.58);border-radius:3px}.crossword-cell{aspect-ratio:1;position:relative;background:rgba(255,255,255,.075);border-radius:4px;overflow:hidden}.crossword-cell small{position:absolute;left:2px;top:1px;font-size:6px;color:#cbbaca;z-index:2}.crossword-cell input{width:100%;height:100%;border:0!important;border-radius:0!important;background:transparent!important;text-align:center;padding:4px 1px 1px!important;font-size:clamp(8px,.85vw,13px);font-weight:800;text-transform:uppercase;color:#fff!important;outline:none}.crossword-cell input:focus{background:rgba(246,169,208,.20)!important}.crossword-cell input.correct{background:rgba(92,190,132,.24)!important}.crossword-cell input.wrong{background:rgba(220,76,110,.27)!important}.crossword-side{display:grid;gap:15px}.crossword-clues{display:grid;gap:16px}.crossword-clues ol{margin:7px 0 0;padding-left:27px;color:#e8dfe8;display:grid;gap:8px;font-size:9px;line-height:1.4}.crossword-actions{display:flex;gap:7px;flex-wrap:wrap}.crossword-side .word-game-message{text-align:left}.crossword-side .game-submit{flex-direction:column;align-items:stretch}.crossword-side .game-submit input{width:100%}

@media(max-width:1000px){.gaming-story-grid{grid-template-columns:1fr}.gaming-media{position:relative;top:auto;min-height:360px}.gaming-media .media-placeholder{min-height:360px}.playlist-grid{grid-template-columns:1fr}.crossword-layout{grid-template-columns:1fr}.crossword-grid{max-width:none}}
@media(max-width:760px){.playlist-intro{align-items:flex-start;flex-direction:column}.wordsearch-grid{max-width:none}.crossword-grid{padding:6px;gap:1px}.crossword-cell small{font-size:5px}.gaming-copy p{font-size:12px}.gaming-story-grid{gap:18px}}


/* ============================================================
   V27 — PROFESSIONAL PHOTO WALL + COOKBOOK KITCHEN
   ============================================================ */
.room-panel{max-width:1840px;margin:0 auto;width:100%}

/* Photo Wall — uniform editorial cards rather than mixed masonry sizes. */
.photo-workspace{grid-template-columns:210px minmax(0,1fr);gap:18px;align-items:start}
.location-list{position:sticky;top:92px;max-height:calc(100vh - 120px);padding:8px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:20px;backdrop-filter:blur(12px)}
.location-list button{padding:11px 12px;border:1px solid transparent;border-radius:12px;background:transparent;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.location-list button:hover{transform:translateX(2px)}
.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;gap:12px;max-height:none;overflow:visible;padding:0;align-content:start}
.photo-tile,.photo-tile.tall,.photo-tile.wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3;min-height:0;height:auto;border-radius:18px;background-size:cover;background-position:center;box-shadow:0 12px 32px rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.photo-tile:hover{transform:translateY(-3px);border-color:rgba(246,169,208,.24);box-shadow:0 18px 42px rgba(0,0,0,.24)}
.photo-tile>.media-placeholder{position:absolute;inset:0;min-height:0;height:100%;border:0;background:linear-gradient(145deg,rgba(246,169,208,.10),rgba(186,156,255,.06));color:#c9a9bd}
.photo-tile>span{left:10px;right:10px;bottom:10px;padding:10px 12px;border-radius:12px;background:linear-gradient(180deg,rgba(21,14,23,.46),rgba(21,14,23,.82));border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.16)}
.photo-tile>span strong{font-size:15px}.photo-tile>span small{font-size:7px;color:#f8c9e1;opacity:1}
.photo-tile.has-media:after{background:linear-gradient(to top,rgba(10,6,12,.50),transparent 50%)}

/* Kitchen — warm paper cookbook within the dark Comfy Corner. */
.kitchen-banner{background:radial-gradient(circle at 82% 20%,rgba(240,211,156,.16),transparent 28%),linear-gradient(120deg,rgba(240,211,156,.12),rgba(90,54,73,.30))}
.cookbook-shell{position:relative;padding:28px;border:1px solid rgba(240,211,156,.17);border-radius:30px;background:linear-gradient(145deg,rgba(45,31,39,.94),rgba(25,18,28,.96));box-shadow:0 26px 70px rgba(0,0,0,.25);overflow:hidden}
.cookbook-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 8%,rgba(246,169,208,.08),transparent 24%),radial-gradient(circle at 88% 82%,rgba(240,211,156,.06),transparent 28%)}
.cookbook-heading{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px;padding:0 4px}.cookbook-heading h3{font-family:'Playfair Display',serif;font-size:clamp(30px,3.2vw,46px);margin:0}.cookbook-heading p{max-width:560px;margin:0;color:var(--muted);font-size:11px;line-height:1.65;text-align:right}
.cookbook-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.recipe-card-pro{min-width:0;overflow:hidden;border-radius:22px;background:#fff8ee;color:#3d3035;border:1px solid rgba(109,78,70,.12);box-shadow:0 18px 42px rgba(0,0,0,.20);transition:transform .22s ease,box-shadow .22s ease}
.recipe-card-pro:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(0,0,0,.28)}
.recipe-photo{aspect-ratio:4/3;min-height:0;background-size:cover;background-position:center;overflow:hidden;border-bottom:1px solid rgba(96,66,62,.10)}
.recipe-photo>.media-placeholder{height:100%;min-height:0;border:0;border-radius:0;background:linear-gradient(145deg,#f5e8d4,#f8e5ed);color:#9f7982}.recipe-photo>.media-placeholder span{font-size:32px}.recipe-photo>.media-placeholder strong{font-family:'Playfair Display',serif;color:#725962;font-size:17px}.recipe-photo>.media-placeholder small{font-size:8px;letter-spacing:.13em}
.recipe-page{position:relative;padding:22px 22px 20px;min-height:282px;background:linear-gradient(180deg,#fffaf2,#fff5e9)}
.recipe-page:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.32;background-image:radial-gradient(rgba(117,85,76,.14) .65px,transparent .65px);background-size:8px 8px}
.recipe-page>*{position:relative;z-index:1}.recipe-page>small{font-size:7px;letter-spacing:.16em;color:#b07884;font-weight:800}.recipe-page h3{font-family:'Playfair Display',serif;font-size:25px;line-height:1.08;margin:8px 38px 8px 0;color:#443239}.recipe-page>p{font-size:10px;line-height:1.55;color:#806c72;min-height:47px;margin:0 0 15px}.recipe-number{position:absolute;right:18px;top:17px;font-family:'Playfair Display',serif;font-size:28px;color:rgba(185,117,143,.30)}
.recipe-meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:13px 0 16px}.recipe-meta-row span{display:grid;padding:9px 8px;border-radius:11px;background:rgba(194,121,145,.08);border:1px solid rgba(160,104,121,.10)}.recipe-meta-row small{font-size:6px;letter-spacing:.13em;color:#a47a84}.recipe-meta-row b{font-size:9px;color:#5a464d;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.recipe-open{width:100%;border:0;border-radius:999px;background:#392832;color:#fff;padding:10px 13px;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:.18s}.recipe-open:hover{background:#543444;transform:translateY(-1px)}.recipe-open span{color:#ffc5e1;font-size:14px}
.recipe-dialog{width:min(1050px,94vw);max-height:90vh;border:1px solid rgba(255,255,255,.10);border-radius:26px;padding:0;background:#171019;color:#fff;box-shadow:0 35px 110px rgba(0,0,0,.55);overflow:auto}.recipe-dialog::backdrop{background:rgba(6,4,8,.72);backdrop-filter:blur(8px)}.recipe-dialog-close{position:sticky;float:right;top:14px;right:14px;z-index:5;width:38px;height:38px;margin:14px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(20,13,22,.82);color:#fff;font-size:24px;cursor:pointer}.recipe-dialog-layout{display:grid;grid-template-columns:.85fr 1.15fr;min-height:600px}.recipe-dialog-photo{min-height:600px;background:linear-gradient(145deg,#2a1b2b,#17121b);background-size:cover;background-position:center}.recipe-dialog-photo.empty:after{content:"Dish photo";height:100%;display:grid;place-items:center;color:#8f7a89;font-size:11px}.recipe-dialog-paper{padding:52px 44px;background:linear-gradient(180deg,#fffaf2,#fff4e7);color:#413238}.recipe-dialog-paper .eyebrow{color:#b96f91}.recipe-dialog-paper>h3{font-family:'Playfair Display',serif;font-size:42px;line-height:1;margin:8px 0 12px}.recipe-dialog-paper>p{font-size:11px;color:#7c676d;line-height:1.6}.recipe-dialog-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.recipe-dialog-meta span{padding:11px;border:1px solid rgba(112,82,77,.10);border-radius:12px;background:rgba(197,126,151,.07);display:grid}.recipe-dialog-meta small{font-size:6px;letter-spacing:.14em;color:#a17680}.recipe-dialog-meta b{font-size:10px;margin-top:3px}.recipe-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;border-top:1px solid rgba(90,65,62,.12);padding-top:18px}.recipe-detail-grid h4{font-family:'Playfair Display',serif;font-size:20px;margin:0 0 10px}.recipe-detail-grid ul,.recipe-detail-grid ol{margin:0;padding-left:18px}.recipe-detail-grid li{font-size:10px;line-height:1.55;color:#6f5b61;margin:6px 0}

@media(max-width:1280px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cookbook-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1020px){.photo-workspace{grid-template-columns:1fr}.location-list{position:relative;top:auto;max-height:none;display:flex;flex-direction:row;overflow:auto}.location-list button{white-space:nowrap}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cookbook-grid{grid-template-columns:1fr 1fr}.cookbook-heading{align-items:flex-start}.cookbook-heading p{text-align:left}.recipe-dialog-layout{grid-template-columns:1fr}.recipe-dialog-photo{min-height:340px}.recipe-dialog-paper{padding:34px}}
@media(max-width:760px){.photo-grid{grid-template-columns:1fr 1fr}.photo-tile,.photo-tile.tall,.photo-tile.wide{aspect-ratio:4/3;min-height:0}.cookbook-shell{padding:16px}.cookbook-heading{display:block}.cookbook-heading p{margin-top:8px}.cookbook-grid{grid-template-columns:1fr}.recipe-card-pro{max-width:560px;width:100%;margin:auto}.recipe-dialog-paper>h3{font-size:34px}.recipe-detail-grid{grid-template-columns:1fr}.recipe-dialog-photo{min-height:280px}}
@media(max-width:500px){.photo-grid{grid-template-columns:1fr}.cookbook-shell{border-radius:22px}.recipe-page{min-height:0}}


/* ============================================================
   V28 — COMPACT COOKBOOK + DESKTOP PLAYLIST LAYOUT
   ============================================================ */

/* Keep the cookbook intentional and book-like instead of stretching cards
   across an ultrawide screen. */
[data-panel="recipes"] .cookbook-shell{max-width:1260px;margin:0 auto;padding:24px}
[data-panel="recipes"] .cookbook-heading{margin-bottom:18px}
[data-panel="recipes"] .cookbook-grid{grid-template-columns:repeat(3,minmax(260px,360px));justify-content:center;gap:18px}
[data-panel="recipes"] .recipe-card-pro{width:100%;max-width:360px;border-radius:20px}
[data-panel="recipes"] .recipe-photo{aspect-ratio:16/10}
[data-panel="recipes"] .recipe-page{min-height:0;padding:18px 18px 16px}
[data-panel="recipes"] .recipe-page h3{font-size:22px;margin-top:7px;margin-bottom:6px}
[data-panel="recipes"] .recipe-page>p{min-height:38px;font-size:9px;margin-bottom:11px}
[data-panel="recipes"] .recipe-number{font-size:24px;top:15px;right:15px}
[data-panel="recipes"] .recipe-meta-row{margin:10px 0 12px;gap:5px}
[data-panel="recipes"] .recipe-meta-row span{padding:7px 7px}
[data-panel="recipes"] .recipe-open{padding:9px 12px}

/* YouTube playlist: video and browser share one contained media console.
   On desktop the video is a normal player size, not a full-width cinema. */
.youtube-playlist-card{grid-column:1/-1;width:min(1180px,100%);margin:0 auto;padding:16px;display:grid;grid-template-columns:minmax(0,640px) minmax(320px,1fr);grid-template-areas:"yt-head yt-head" "yt-player yt-browser-head" "yt-player yt-tracks";grid-template-rows:auto auto minmax(0,1fr);column-gap:18px;align-items:start}
.youtube-playlist-card>.playlist-card-head{grid-area:yt-head;margin-bottom:12px}
.youtube-player-wrap{grid-area:yt-player;width:100%;max-width:640px;aspect-ratio:16/9;border-radius:15px;align-self:start}
.youtube-browser-head{grid-area:yt-browser-head;padding:4px 2px 10px;align-items:flex-start}
.youtube-browser-head>span{max-width:180px;text-align:right;line-height:1.4}
.youtube-track-list{grid-area:yt-tracks;height:318px;max-height:318px;overflow-y:auto;overflow-x:hidden;padding:2px 4px 2px 0;border-top:1px solid rgba(255,255,255,.06)}
.youtube-track-row{grid-template-columns:26px 74px minmax(0,1fr) 24px;gap:9px;padding:6px;border-radius:11px;min-height:58px}
.youtube-track-row img{width:74px;border-radius:8px}
.youtube-track-copy strong{font-size:10px}.youtube-track-copy small{font-size:7px}
.youtube-track-number{font-size:9px}.youtube-track-play{font-size:10px}

@media(max-width:1100px){
  [data-panel="recipes"] .cookbook-grid{grid-template-columns:repeat(2,minmax(280px,360px))}
  .youtube-playlist-card{grid-template-columns:1fr;grid-template-areas:"yt-head" "yt-player" "yt-browser-head" "yt-tracks";width:min(760px,100%)}
  .youtube-player-wrap{max-width:720px;margin:0 auto}
  .youtube-browser-head{padding-top:14px}
  .youtube-track-list{height:360px;max-height:360px}
}
@media(max-width:760px){
  [data-panel="recipes"] .cookbook-shell{padding:15px}
  [data-panel="recipes"] .cookbook-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  [data-panel="recipes"] .recipe-card-pro{max-width:430px;margin:0 auto}
  .youtube-playlist-card{padding:11px;border-radius:18px}
  .youtube-track-list{height:330px;max-height:330px}
  .youtube-track-row{grid-template-columns:22px 64px minmax(0,1fr) 18px;gap:7px;min-height:52px;padding:5px}
  .youtube-track-row img{width:64px}
}


/* V29 — recipes paginate three-at-a-time; playlists are separated by platform tabs. */
.recipe-paged-hidden{display:none!important}
.recipe-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px auto 2px;padding:4px 0}
.recipe-pager[hidden]{display:none!important}
.recipe-page-btn{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;padding:9px 14px;font-size:9px;font-weight:800;cursor:pointer;transition:.18s}
.recipe-page-btn:hover:not(:disabled){background:rgba(246,169,208,.14);border-color:rgba(246,169,208,.30);transform:translateY(-1px)}
.recipe-page-btn:disabled{opacity:.28;cursor:not-allowed}
.recipe-page-status{display:grid;justify-items:center;gap:6px;min-width:110px}.recipe-page-status>span{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:#c9b9c8}
.recipe-page-dots{display:flex;gap:5px}.recipe-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.20);cursor:pointer}.recipe-dot.active{background:#f6a9d0;box-shadow:0 0 0 3px rgba(246,169,208,.10)}

.playlist-type-tabs{width:min(1180px,100%);margin:0 auto 16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.playlist-type-tab{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:17px;background:rgba(255,255,255,.035);color:#fff;cursor:pointer;transition:.18s}
.playlist-type-tab>span{grid-row:1/3;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(246,169,208,.10);font-size:15px}.playlist-type-tab strong{font-family:'Playfair Display',serif;font-size:16px}.playlist-type-tab small{font-size:8px;color:#9f909e;margin-top:1px}
.playlist-type-tab:hover{background:rgba(255,255,255,.055);transform:translateY(-1px)}.playlist-type-tab.active{border-color:rgba(246,169,208,.35);background:linear-gradient(135deg,rgba(246,169,208,.13),rgba(129,100,180,.08));box-shadow:0 12px 30px rgba(0,0,0,.13)}.playlist-type-tab.active>span{background:rgba(246,169,208,.18)}
.spotify-playlist-card{min-width:0}
@media(max-width:760px){.recipe-pager{gap:9px}.recipe-page-btn{padding:8px 10px}.playlist-type-tabs{grid-template-columns:1fr}.playlist-type-tab{padding:10px 12px}}


/* V30 — true multi-playlist library */
.playlist-grid{display:block;width:min(1180px,100%);margin:0 auto}
.playlist-shelf{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 12px;margin-bottom:12px;scrollbar-width:thin;scrollbar-color:#8e5a82 transparent;scroll-snap-type:x proximity}
.playlist-shelf-btn{flex:0 0 min(290px,78vw);display:flex;align-items:center;gap:11px;min-height:74px;padding:11px 13px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer;scroll-snap-align:start;transition:.18s ease}
.playlist-shelf-btn:hover{background:rgba(255,255,255,.07);transform:translateY(-1px)}.playlist-shelf-btn.active{border-color:rgba(246,169,208,.48);background:linear-gradient(135deg,rgba(246,169,208,.14),rgba(155,116,203,.10));box-shadow:0 12px 30px rgba(8,5,15,.16)}
.playlist-shelf-btn>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:rgba(246,169,208,.12);color:#f6a9d0}.playlist-shelf-btn>div{display:grid;min-width:0;gap:2px}.playlist-shelf-btn small{font-size:7px;letter-spacing:.14em;color:#cf8caf;font-weight:900}.playlist-shelf-btn strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-shelf-btn em{font-style:normal;font-size:8px;color:#ae9dad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.playlist-selected{width:100%}.playlist-selected>.playlist-card{margin:0 auto}.spotify-playlist-card{width:min(780px,100%);margin:0 auto}.spotify-playlist-card iframe{min-height:470px}
@media(max-width:760px){.playlist-shelf-btn{flex-basis:min(245px,82vw)}.spotify-playlist-card iframe{min-height:420px}}

/* V31 — clearer home social hub + dynamic photo library */
.social-hub{margin-top:26px;border-top:1px solid var(--line);padding-top:15px;display:grid;gap:10px}.social-hub-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.social-hub-head>span{font-size:8px;font-weight:900;letter-spacing:.16em;color:#d493b6}.social-hub-head small{font-size:8px;color:var(--muted)}.social-link-grid-home{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.social-link-grid-home>a{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr) 12px;align-items:center;gap:7px;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(145deg,rgba(42,30,44,.86),rgba(27,24,39,.86));text-decoration:none;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.10);transition:transform .16s ease,border-color .16s ease,background .16s ease}.social-link-grid-home>a:hover{transform:translateY(-2px);border-color:rgba(246,169,208,.32);background:linear-gradient(145deg,rgba(54,36,52,.94),rgba(35,28,47,.94))}.social-link-grid-home>a>b{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:12px}.social-link-grid-home>a>span{min-width:0;display:grid}.social-link-grid-home strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-link-grid-home small{font-size:6.5px;color:#b8a9b6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-link-grid-home i{font-style:normal;font-size:9px;color:#efa6cd}.photo-empty-state{grid-column:1/-1;min-height:260px;border:1px dashed rgba(246,169,208,.22);border-radius:18px;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;color:var(--muted);background:rgba(255,255,255,.02)}.photo-empty-state>span{font-size:26px}.photo-empty-state>strong{font-family:'Playfair Display',serif;color:var(--ink);font-size:18px}.photo-empty-state>small{font-size:9px;max-width:300px}.photo-grid .photo-tile{background-repeat:no-repeat}
@media(max-width:1500px){.social-link-grid-home{grid-template-columns:repeat(4,minmax(0,1fr))}.welcome-copy{padding:38px 42px}.welcome-copy h1{font-size:clamp(46px,4.7vw,72px)}}
@media(max-width:1100px){.social-link-grid-home{grid-template-columns:repeat(5,minmax(0,1fr))}.social-hub-head small{display:none}}
@media(max-width:760px){.social-link-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}.social-link-grid-home strong{font-size:9px}.social-link-grid-home small{font-size:7px}}

/* V33 — social links should be instantly readable, never abbreviated */
.social-link-grid-home{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.social-link-grid-home>a{
  grid-template-columns:34px minmax(0,1fr) 18px;
  gap:10px;
  min-height:58px;
  padding:11px 13px;
  border-radius:14px;
}
.social-link-grid-home>a>b{
  width:34px;
  height:34px;
  border-radius:10px;
  font-size:15px;
}
.social-link-grid-home>a>span{
  min-width:0;
  overflow:visible;
  gap:2px;
}
.social-link-grid-home strong{
  display:block;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  font-size:10px;
  line-height:1.15;
  font-weight:800;
}
.social-link-grid-home small{
  display:block;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  font-size:7px;
  line-height:1.2;
}
.social-link-grid-home i{
  justify-self:end;
  font-size:11px;
}
@media(min-width:1500px){
  .social-link-grid-home{grid-template-columns:repeat(2,minmax(220px,1fr))}
}
@media(max-width:1100px){
  .social-link-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .social-link-grid-home{grid-template-columns:1fr}
  .social-link-grid-home>a{min-height:56px}
  .social-link-grid-home strong{font-size:10px}
  .social-link-grid-home small{font-size:7.5px}
}


/* V34 — Studio Mode access + dynamic recipe empty state */
.studio-mode-pill{border:1px solid rgba(239,159,200,.28);border-radius:999px;padding:9px 12px;background:linear-gradient(135deg,#2a1e29,#412b3b);color:#fff;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(48,25,40,.16);transition:.18s}.studio-mode-pill:hover{transform:translateY(-1px);border-color:rgba(239,159,200,.55);background:linear-gradient(135deg,#352437,#533249)}
.studio-access-dialog{width:min(430px,calc(100vw - 28px));border:1px solid rgba(239,159,200,.22);border-radius:26px;padding:30px;background:linear-gradient(145deg,#211822,#17121d);color:#fff;box-shadow:0 34px 100px rgba(12,7,18,.48)}.studio-access-dialog::backdrop{background:rgba(11,7,14,.72);backdrop-filter:blur(8px)}.studio-access-dialog h2{font-family:'Playfair Display',serif;font-size:32px;margin:5px 0 8px}.studio-access-dialog p{color:#b9abb8;font-size:11px;line-height:1.55;margin:0 0 18px}.studio-access-dialog form{display:grid;gap:9px}.studio-access-dialog input{width:100%;padding:13px 14px;border-radius:13px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.07);color:#fff;outline:none}.studio-access-dialog input:focus{border-color:#ef9fc8;box-shadow:0 0 0 3px rgba(239,159,200,.10)}.studio-access-dialog .primary-btn{width:100%}.studio-access-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#c9b9c8;font-size:24px;cursor:pointer}.studio-access-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#ef9fc8,#9d78c7);color:#231420;font-size:21px;margin-bottom:14px}.studio-access-status{min-height:18px;margin-top:10px;color:#e9a8ca;font-size:9px}
.recipe-empty-public{grid-column:1/-1;min-height:280px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(239,159,200,.24);border-radius:22px;background:rgba(255,255,255,.025);padding:32px}.recipe-empty-public>div{display:grid;justify-items:center;gap:6px}.recipe-empty-public span{font-size:30px}.recipe-empty-public strong{font-family:'Playfair Display',serif;font-size:22px;color:#fff}.recipe-empty-public small{font-size:9px;color:#aa99a9;max-width:340px;line-height:1.5}
@media(max-width:1100px){.studio-mode-pill{display:none}}

.studio-mode-mobile{display:none;border:0;background:transparent;padding:10px 11px;border-radius:999px;color:#dba6c5;font-size:10px;font-weight:800;cursor:pointer}
@media(max-width:1020px){.studio-mode-mobile{display:block;background:rgba(239,159,200,.10);border:1px solid rgba(239,159,200,.18)}.studio-mode-pill{display:none}}


/* V35 — Home social hub moved out of the hero so links never clip */
[data-panel="home"]{overflow:visible}
.home-grid{height:auto;min-height:calc(100vh - var(--topbar) - 56px);align-items:stretch}
.welcome-card{min-height:660px}
.home-social-panel{margin-top:14px;padding:18px 20px 20px;background:linear-gradient(145deg,rgba(37,27,40,.96),rgba(24,20,34,.96));border-color:rgba(246,169,208,.10);overflow:visible}
.home-social-panel .social-hub{margin-top:0;border-top:0;padding-top:0;gap:13px}
.home-social-panel .social-hub-head{padding:0 2px 2px}
.home-social-panel .social-hub-head>span{font-size:10px;letter-spacing:.18em;color:#efa6cd}
.home-social-panel .social-hub-head small{font-size:9px;color:#b9aab8}
.home-social-panel .social-link-grid-home{grid-template-columns:repeat(5,minmax(170px,1fr));gap:9px}
.home-social-panel .social-link-grid-home>a{min-width:0;min-height:64px;padding:11px 12px;grid-template-columns:36px minmax(0,1fr) 16px;overflow:hidden}
.home-social-panel .social-link-grid-home>a>span{min-width:0;overflow:hidden}
.home-social-panel .social-link-grid-home strong{font-size:10px;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip}
.home-social-panel .social-link-grid-home small{font-size:7.5px;line-height:1.2;white-space:normal;overflow:visible;text-overflow:clip;color:#b9aab8}
@media(max-width:1600px){.home-social-panel .social-link-grid-home{grid-template-columns:repeat(4,minmax(170px,1fr))}}
@media(max-width:1250px){.home-social-panel .social-link-grid-home{grid-template-columns:repeat(3,minmax(170px,1fr))}.welcome-card{min-height:620px}}
@media(max-width:920px){.home-social-panel .social-link-grid-home{grid-template-columns:repeat(2,minmax(0,1fr))}.home-social-panel{padding:16px}.welcome-card{min-height:0}}
@media(max-width:560px){.home-social-panel .social-link-grid-home{grid-template-columns:1fr}.home-social-panel .social-hub-head{align-items:flex-start;flex-direction:column}.home-social-panel .social-hub-head small{display:block}}


/* ============================================================
   V36 — SITE-WIDE READABILITY / CONTRAST PASS
   Keeps the Comfy Corner palette while ensuring text is readable
   on every card, placeholder, banner and empty state.
   ============================================================ */

/* Room banners: never use white text over a pale background. */
.section-banner{
  color:#fff8fc;
  border-color:rgba(255,255,255,.12);
  box-shadow:0 18px 48px rgba(0,0,0,.18);
}
.section-banner h2{color:#fff8fc;text-shadow:0 1px 14px rgba(0,0,0,.18)}
.section-banner p{color:#d8cbd7}
.section-banner .eyebrow{color:#ffc5e2}
.pink-banner{background:linear-gradient(120deg,#311b2f 0%,#44243e 52%,#2a2038 100%)}
.cream-banner{background:linear-gradient(120deg,#34291f 0%,#3f2b35 48%,#292034 100%)}
.lilac-banner{background:linear-gradient(120deg,#28213d 0%,#38294a 50%,#251d32 100%)}
.kitchen-banner{background:linear-gradient(120deg,#36291f 0%,#432c36 52%,#2b2133 100%)}
.play-banner{background:linear-gradient(120deg,#2b2038 0%,#392749 48%,#1f2a42 100%)}
.support-banner-top{background:linear-gradient(120deg,#361f31 0%,#49293f 52%,#2b2036 100%)}
.photo-banner{
  background:
    radial-gradient(circle at 86% 22%,rgba(166,220,203,.13),transparent 28%),
    linear-gradient(120deg,#1c2a2a 0%,#292337 48%,#342033 100%);
}
.photo-meta strong{color:#fff8fc}.photo-meta small{color:#cabdca}
.banner-chips span,.week-badge{background:rgba(255,255,255,.075);color:#fff;border-color:rgba(255,255,255,.11)}

/* Generic cards and text hierarchy. */
.soft-card,
.stream-card,.leaderboard,.subtab-stage,.game-stage,.playlist-intro,.playlist-card,.playlist-empty,
.donation-card,.hall-card,.coming-card{
  color:#fff7fb;
}
.soft-card h2,.soft-card h3,.soft-card h4,
.stream-card h2,.stream-card h3,.leaderboard h3,.playlist-intro h3,.playlist-card h3,.playlist-empty h3,
.donation-card h3,.hall-card h3,.coming-card h3{color:#fff8fc}
.soft-card p,.soft-card small,.soft-card li,
.playlist-intro p,.playlist-card p,.donation-card p,.hall-card p,.coming-card p{color:#cfc1ce}

/* Generic media placeholders should look deliberate on the dark site. */
.media-placeholder{
  background:linear-gradient(145deg,rgba(246,169,208,.075),rgba(186,156,255,.055));
  border-color:rgba(246,169,208,.20);
  color:#d8c6d3;
}
.media-placeholder strong{color:#fff4fa}
.media-placeholder small{color:#bdacbb}

/* Photography room — readable controls and empty state. */
.location-list{background:linear-gradient(145deg,rgba(36,25,39,.90),rgba(22,18,31,.92));border-color:rgba(255,255,255,.10)}
.location-list button{color:#d4c7d2}
.location-list button:hover,.location-list button.active{color:#fff;background:linear-gradient(135deg,rgba(246,169,208,.16),rgba(186,156,255,.10));border-color:rgba(246,169,208,.20)}
.location-list button span{background:rgba(246,169,208,.13);color:#ffd0e8}
.photo-empty-state{
  background:linear-gradient(145deg,rgba(31,23,34,.88),rgba(19,18,31,.92));
  border-color:rgba(246,169,208,.27);
  color:#cfc1ce;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.photo-empty-state>strong{color:#fff7fb}.photo-empty-state>small{color:#bcaeba}
.photo-tile>.media-placeholder{color:#d4bfd0}.photo-tile>.media-placeholder strong{color:#fff5fb}

/* Journal: remove the impression of giant blank white boxes. */
.empty-room-grid{align-items:stretch}
.empty-feature{
  background:linear-gradient(145deg,#2d1d2c,#1b1728);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 52px rgba(0,0,0,.20);
}
.empty-feature .media-placeholder{min-height:590px;background:linear-gradient(145deg,rgba(246,169,208,.08),rgba(120,100,190,.07));color:#d9c8d6}
.coming-card{
  background:linear-gradient(145deg,rgba(39,27,42,.96),rgba(23,18,31,.97));
  border-color:rgba(255,255,255,.10);
  justify-content:center;
}
.coming-card>p{color:#d5c8d3;font-size:12px}
.journal-coming-grid{display:grid;gap:10px;margin:22px 0 18px}
.journal-coming-item{
  display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;
  padding:13px 14px;border-radius:16px;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.09);
}
.journal-coming-item>b{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(246,169,208,.12);color:#ffc5e2;font-size:17px}
.journal-coming-item>span{display:grid;gap:3px}.journal-coming-item strong{font-size:11px;color:#fff8fc}.journal-coming-item small{font-size:8px;line-height:1.45;color:#bcaeba}
.journal-owner-note{display:block;color:#9f919f!important;line-height:1.5}
.ghost-posts{display:none}

/* Common light-looking surfaces that previously inherited white text. */
.discord-card{
  background:linear-gradient(145deg,rgba(43,31,51,.96),rgba(25,21,37,.96));
  color:#fff7fb;border-color:rgba(255,255,255,.10);
}
.discord-card>p{color:#cfc1ce}
.support-quick>a,.donation-grid>a{
  background:rgba(255,255,255,.055);
  color:#fff7fb;
  border-color:rgba(255,255,255,.10);
}
.support-quick>a small,.donation-grid>a small{color:#baaab8}
.support-quick>a b,.donation-grid>a b{background:rgba(246,169,208,.12);color:#ffc5e2}
.quote-card{background:#fff2f8;color:#4d3543;border-left-color:#df77ad}
.quote-card *{color:inherit}

/* Stronger secondary text across interactive rooms. */
.subpanel p,.gaming-copy p,.game-intro,.privacy-note,.leaderboard-note,.playlist-card-head p,
.youtube-browser-head small,.youtube-browser-head>span,.youtube-track-copy small,
.social-hub-head small{color:#cbbdca}

/* Focus / hover visibility for keyboard and mouse users. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid #ffc1e2;outline-offset:3px;
}

@media(max-width:760px){
  .empty-feature .media-placeholder{min-height:320px}
  .coming-card{padding:24px}
  .journal-coming-item{grid-template-columns:36px 1fr;padding:11px}
  .journal-coming-item>b{width:36px;height:36px}
}

/* V37 — preserve Jessi's original voice while keeping the redesign editorial and readable. */
.home-story-note{margin-top:22px;padding:17px 19px;border:1px solid rgba(246,169,208,.18);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(246,169,208,.035));max-width:650px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.home-story-note>span{display:block;color:#eda7cb;font-size:8px;letter-spacing:.19em;font-weight:900;margin-bottom:7px}
.home-story-note>strong{display:block;color:#fff6fb;font-family:'Playfair Display',serif;font-size:17px;margin-bottom:6px}
.home-story-note>p{margin:0!important;color:#d7cbd8!important;line-height:1.65!important;font-size:10px!important;max-width:620px!important}
.original-story-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:15px;margin:18px 0 24px;padding:28px 34px;border:1px solid rgba(246,169,208,.18);border-radius:28px;background:linear-gradient(135deg,rgba(42,27,45,.96),rgba(24,22,38,.96));box-shadow:0 22px 55px rgba(5,3,12,.17),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden}
.original-story-card:after{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(246,169,208,.10),transparent 68%);pointer-events:none}
.story-card-mark{font-family:'Playfair Display',serif;font-size:82px;line-height:.78;color:#eaa2c8;opacity:.62;align-self:start;text-align:center}
.story-card-copy{position:relative;z-index:1;max-width:1080px}
.story-card-copy h3{margin:5px 0 10px;color:#fff6fb;font-family:'Playfair Display',serif;font-size:clamp(25px,2.2vw,38px)}
.story-card-copy>p{margin:0;color:#e1d5df;font-size:11px;line-height:1.9;max-width:1040px}
.story-card-signoff{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.story-card-signoff span{color:#f3b1d2;font-weight:900;font-size:9px;letter-spacing:.11em;text-transform:uppercase}.story-card-signoff small{color:#aa9baa;font-size:9px}
.first-person-story{font-size:11px!important;line-height:1.8!important;color:#ddd0dc!important}
@media(max-width:760px){.original-story-card{grid-template-columns:1fr;padding:22px 20px;border-radius:22px}.story-card-mark{display:none}.story-card-copy>p{font-size:10px;line-height:1.75}.story-card-signoff{align-items:flex-start;flex-direction:column;gap:4px}.home-story-note{padding:15px 16px}}


/* V38 Journal / blog system */
.journal-banner{background:radial-gradient(circle at 84% 18%,rgba(239,159,200,.18),transparent 29%),linear-gradient(135deg,#211524,#33203a 58%,#1a1c34);border-color:rgba(239,159,200,.16)}
.journal-banner h2,.journal-banner p,.journal-banner .eyebrow{color:#fff}.journal-banner p{color:#c9bbc7}.journal-banner .eyebrow{color:#efa5cb}.journal-banner .banner-chips span,.journal-banner .banner-chips button{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#eadde8}.journal-toolbar button{font:inherit;border-radius:999px;padding:9px 13px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.journal-toolbar button:hover{transform:translateY(-1px);background:rgba(255,255,255,.12);border-color:rgba(239,159,200,.32)}.journal-toolbar button.active{background:#f0a2ca;color:#291a26;border-color:#f0a2ca;box-shadow:0 8px 22px rgba(240,162,202,.14)}.journal-toolbar button:focus-visible{outline:2px solid #ffd3e8;outline-offset:3px}
.journal-shell{margin:16px 0 0;padding:26px;border:1px solid rgba(255,255,255,.08);border-radius:30px;background:linear-gradient(145deg,rgba(31,21,34,.94),rgba(18,16,31,.96));box-shadow:0 24px 70px rgba(8,5,11,.22)}
.journal-intro-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);gap:28px;align-items:end;padding:3px 3px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.journal-intro-row h3{font-family:'Playfair Display',serif;font-size:34px;margin:4px 0 7px;color:#fff}.journal-intro-row p{max-width:680px;margin:0;color:#b9abb8;font-size:11px;line-height:1.65}.journal-intro-row .eyebrow{color:#e493bc}
.journal-filter-bar{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.journal-filter-bar button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);color:#d6cad4;border-radius:999px;padding:9px 12px;font-size:9px;font-weight:800;cursor:pointer}.journal-filter-bar button span{margin-left:5px;color:#e99bc4}.journal-filter-bar button:hover,.journal-filter-bar button.active{background:#f0a2ca;color:#291a26;border-color:#f0a2ca}.journal-filter-bar button.active span{color:#6f3655}
.journal-list{display:grid;padding:4px 0}.journal-post-card{display:grid;grid-template-columns:1fr;border-bottom:1px solid rgba(255,255,255,.08);padding:27px 5px;min-height:180px}.journal-post-card.has-cover{grid-template-columns:minmax(0,1fr) 270px;gap:26px}.journal-card-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3px 10px}.journal-card-meta{display:flex;align-items:center;gap:11px;color:#c8b8c5;font-size:9px;letter-spacing:.04em}.journal-card-meta i{width:3px;height:3px;border-radius:50%;background:#e492bb}.journal-card-copy h3{font-family:'Playfair Display',serif;color:#fff;font-size:30px;line-height:1.08;margin:11px 0 8px}.journal-card-copy p{color:#c2b4bf;font-size:11px;line-height:1.65;max-width:900px;margin:0 0 15px}.journal-card-cover{min-height:170px;border-radius:20px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.08)}.journal-read-btn{align-self:flex-start;border:0;background:transparent;padding:3px 0;color:#efa3ca;font-size:10px;font-weight:800;cursor:pointer}.journal-read-btn span{display:inline-block;margin-left:5px;transition:transform .18s}.journal-read-btn:hover span{transform:translateX(4px)}
.journal-empty{min-height:300px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;border:1px dashed rgba(239,159,200,.20);border-radius:24px;margin-top:20px;background:rgba(255,255,255,.025)}.journal-empty>span{font-size:24px}.journal-empty strong{font-family:'Playfair Display',serif;color:#fff;font-size:23px}.journal-empty small{color:#9f909c}.journal-more{display:block;margin:18px auto 0}
.journal-dialog{width:min(970px,94vw);max-height:92vh;border:1px solid rgba(255,255,255,.10);border-radius:28px;padding:0;background:#171019;color:#fff;box-shadow:0 35px 110px rgba(0,0,0,.58);overflow:auto}.journal-dialog::backdrop{background:rgba(6,4,8,.78);backdrop-filter:blur(8px)}.journal-dialog-close{position:sticky;float:right;top:14px;right:14px;z-index:6;width:40px;height:40px;margin:14px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(20,13,22,.88);color:#fff;font-size:24px;cursor:pointer}.journal-reader-cover{height:min(47vh,480px);background-size:cover;background-position:center}.journal-reader-paper{padding:52px 64px 62px;background:linear-gradient(180deg,#fffaf7,#fff5f9);color:#3b2d38}.journal-reader-meta{display:flex;align-items:center;gap:10px;color:#a65f82;font-size:10px}.journal-reader-meta i{width:3px;height:3px;border-radius:50%;background:#d37aa8}.journal-reader-paper h2{font-family:'Playfair Display',serif;font-size:48px;line-height:1.02;margin:10px 0 14px;color:#30232d}.journal-reader-excerpt{font-size:14px;line-height:1.65;color:#755f70;padding-bottom:22px;margin:0 0 26px;border-bottom:1px solid rgba(86,57,76,.12)}.journal-reader-body{font-size:13px;line-height:1.85;color:#594751}.journal-reader-body p{margin:0 0 20px}
@media(max-width:900px){.journal-intro-row{grid-template-columns:1fr}.journal-filter-bar{justify-content:flex-start}.journal-post-card.has-cover{grid-template-columns:1fr 210px}.journal-reader-paper{padding:40px 34px}.journal-reader-paper h2{font-size:40px}}
@media(max-width:680px){.journal-shell{padding:16px;border-radius:22px}.journal-post-card.has-cover{grid-template-columns:1fr}.journal-card-cover{grid-row:1;min-height:210px}.journal-card-copy h3{font-size:26px}.journal-reader-cover{height:260px}.journal-reader-paper{padding:34px 22px 44px}.journal-reader-paper h2{font-size:34px}}

/* V39 Journal interaction modes */
.journal-shell.reading-mode{max-width:1180px;margin-left:auto;margin-right:auto;padding:34px 42px}
.journal-shell.reading-mode .journal-intro-row{grid-template-columns:1fr;max-width:860px;margin:0 auto;padding-bottom:26px}
.journal-shell.reading-mode .journal-filter-bar{justify-content:flex-start}
.journal-shell.reading-mode .journal-list{max-width:860px;margin:0 auto}
.journal-shell.reading-mode .journal-post-card{padding:38px 0;min-height:0}
.journal-shell.reading-mode .journal-post-card.has-cover{grid-template-columns:1fr;gap:18px}
.journal-shell.reading-mode .journal-card-cover{grid-row:1;min-height:320px}
.journal-shell.reading-mode .journal-card-copy{padding:0 8px}
.journal-shell.reading-mode .journal-card-copy h3{font-size:38px;line-height:1.08}
.journal-shell.reading-mode .journal-card-copy p{font-size:13px;line-height:1.82;max-width:760px}
.journal-shell.reading-mode .journal-card-meta{font-size:10px}
@media(max-width:760px){.journal-shell.reading-mode{padding:20px 17px}.journal-shell.reading-mode .journal-card-cover{min-height:230px}.journal-shell.reading-mode .journal-card-copy h3{font-size:30px}.journal-toolbar{display:flex;flex-wrap:wrap}.journal-toolbar button{font-size:9px;padding:8px 10px}}


/* =========================================================
   V40 — Playroom usability, responsive scaling & co-op games
   ========================================================= */
.play-layout{grid-template-columns:minmax(0,1fr) 285px;align-items:start;gap:16px;min-height:0}
.game-selector{grid-column:1/-1;display:flex;gap:9px;overflow-x:auto;overflow-y:hidden;padding:3px 2px 8px;scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.game-selector button{flex:0 0 170px;min-height:72px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-content:center;padding:11px 12px;border-radius:17px;scroll-snap-align:start;touch-action:manipulation}
.game-selector button>span{width:34px;height:34px;border-radius:11px}.game-selector strong{font-size:10px}.game-selector small{font-size:7.5px;line-height:1.25}
.game-stage{min-width:0;padding:24px}.leaderboard{min-width:0;max-height:720px;position:sticky;top:88px}
.game-panel{min-height:520px}.game-panel.active{animation:gameFade .18s ease}@keyframes gameFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.game-title{align-items:center}.game-title h3{font-size:clamp(22px,2.2vw,30px)}.game-intro{max-width:820px;font-size:11px;line-height:1.65}
.primary-btn,.secondary-btn,.trivia-option,.poll-option,.game-selector button,.pair-card,.wordsearch-cell,.cozyword-keyboard button,.sync-pad{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* Better touch sizing */
.trivia-option{min-height:52px;padding:14px 16px}.trivia-next{min-height:44px}.petal-arena{height:clamp(300px,45vh,420px)}.catch-item{min-width:48px;min-height:48px;font-size:32px;display:grid;place-items:center}
.pairs-board{width:min(100%,560px);grid-template-columns:repeat(4,minmax(58px,1fr));gap:9px}.pair-card{min-width:0;font-size:30px}
.cozyword-keyboard{max-width:590px}.cozyword-keyboard button{min-width:36px;height:42px;font-size:10px}.cozyword-keyboard button.word-key-wide{min-width:62px;padding-inline:9px}

/* Word search: stays usable on touch screens */
.wordsearch-layout{grid-template-columns:minmax(0,1fr) 210px}.wordsearch-grid{width:min(100%,680px);margin-inline:auto;touch-action:none;user-select:none}.wordsearch-cell{min-width:0;min-height:0}.wordsearch-cell.selecting{background:rgba(247,166,207,.34);box-shadow:inset 0 0 0 1px rgba(247,166,207,.55)}
.wordsearch-cell.ws-start{background:rgba(247,166,207,.42)}

/* Crossword: dynamic cropped board with clue-aware navigation */
.crossword-layout{grid-template-columns:minmax(360px,1fr) minmax(260px,330px);gap:20px}.crossword-grid{grid-template-columns:repeat(var(--cw-cols,11),minmax(0,1fr));width:min(100%,680px);max-width:680px;margin-inline:auto;gap:2px;touch-action:manipulation}
.crossword-cell,.crossword-block{aspect-ratio:1}.crossword-cell{overflow:visible;transition:background .12s ease,box-shadow .12s ease}.crossword-cell.active-word{background:rgba(135,106,194,.22)}.crossword-cell.active-cell{background:rgba(246,169,208,.34);box-shadow:inset 0 0 0 2px rgba(246,169,208,.75)}
.crossword-cell input{font-size:clamp(11px,1.1vw,16px);caret-color:transparent;cursor:pointer}.crossword-cell small{font-size:clamp(5px,.5vw,7px);pointer-events:none}
.crossword-clues ol{gap:5px}.crossword-clues li{padding:0;border-radius:10px;transition:.12s}.crossword-clues li.active{background:rgba(246,169,208,.14)}.crossword-clues li button{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:8px 9px;font:inherit;line-height:1.4;cursor:pointer;border-radius:10px}.crossword-clues li button:hover{background:rgba(255,255,255,.05)}
.crossword-direction{padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.045);font-size:9px;color:#f1dbe9;min-height:36px;display:flex;align-items:center}.crossword-actions button{min-height:40px}

/* Duo Quiz */
.duo-setup{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:end;margin:24px 0}.duo-setup label{display:grid;gap:6px}.duo-setup label span{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.duo-setup input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:12px;outline:none}.duo-plus{font-family:'Playfair Display',serif;font-size:28px;color:var(--pink2);padding-bottom:6px}
.duoquiz-shell{margin-top:18px}.duo-question{font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,34px);line-height:1.2;margin:8px 0 18px}.duo-turn{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(246,169,208,.09);border:1px solid rgba(246,169,208,.15);margin-bottom:12px}.duo-turn strong{font-size:11px}.duo-turn span{font-size:9px;color:#cdbdcb}.duo-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.duo-option{min-height:58px;border:1px solid var(--line);background:rgba(255,255,255,.055);color:#fff;border-radius:16px;padding:13px;text-align:left;font-weight:700;cursor:pointer}.duo-option:hover{background:rgba(255,255,255,.09)}.duo-option.locked{opacity:.55;pointer-events:none}.duo-answer-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.duo-answer-summary>div{padding:12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:9px}.duo-answer-summary strong{display:block;color:#fff;font-size:10px;margin-bottom:3px}.duo-result-note{padding:12px 14px;border-radius:14px;background:rgba(246,169,208,.11);color:#f7eaf3;font-size:10px;margin:12px 0}

/* Heart Sync */
.sync-status{text-align:center;font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,34px);margin:28px 0 16px;color:#fff}.sync-board{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:12px;max-width:760px;margin:0 auto}.sync-pad{height:230px;border:1px solid rgba(255,255,255,.10);border-radius:28px;background:linear-gradient(145deg,rgba(244,153,200,.12),rgba(109,84,158,.15));color:#fff;display:grid;place-content:center;gap:7px;text-align:center;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.sync-pad span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#cbb9c7}.sync-pad strong{font-family:'Playfair Display',serif;font-size:34px}.sync-pad small{font-size:10px;color:#f5bddb;min-height:14px}.sync-pad.cued{background:linear-gradient(145deg,rgba(239,111,178,.42),rgba(130,99,202,.34));box-shadow:0 0 0 2px rgba(246,169,208,.34),0 18px 55px rgba(196,83,145,.18);transform:scale(1.015)}.sync-pad.tapped{background:rgba(92,190,132,.22)}.sync-pad.early{background:rgba(220,76,110,.24)}.sync-heart{font-size:44px;text-align:center;color:#ef9fc8;transition:transform .18s ease,color .18s ease}.sync-heart.go{transform:scale(1.45);color:#fff}.sync-actions{text-align:center;margin-top:18px}

@media(max-width:1100px){
  .play-layout{grid-template-columns:1fr}.game-selector,.game-stage,.leaderboard{grid-column:1}.leaderboard{position:relative;top:auto;max-height:none}.leaderboard ol{max-height:250px}.crossword-layout{grid-template-columns:1fr}.crossword-side{grid-template-columns:1fr 1fr;align-items:start}.crossword-actions,.crossword-side .word-game-message,.crossword-side .game-submit,.crossword-direction{grid-column:1/-1}.wordsearch-layout{grid-template-columns:1fr}.wordsearch-side{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.wordsearch-list,.wordsearch-side .word-game-message,.wordsearch-side .game-submit{grid-column:1/-1}
}
@media(max-width:760px){
  .play-banner .week-badge{display:none}.play-layout{gap:10px}.game-selector{margin:0 -2px;padding-bottom:7px}.game-selector button{flex-basis:145px;min-height:64px;padding:9px 10px}.game-selector button>span{width:30px;height:30px}.game-stage{padding:17px 13px;border-radius:19px}.game-panel{min-height:0}.leaderboard{padding:16px}.game-title{display:flex;flex-wrap:wrap}.game-title h3{font-size:24px}.score-chip{margin:0;padding:7px 9px}.game-intro{font-size:10px}.petal-arena{height:330px;border-radius:18px}.catch-item{min-width:52px;min-height:52px}.pairs-board{grid-template-columns:repeat(4,1fr);gap:6px}.pair-card{border-radius:13px;font-size:26px}.cozyword-board{width:min(100%,330px)}.cozyword-keyboard{margin-inline:-5px}.cozyword-keyboard>div{gap:3px}.cozyword-keyboard button{min-width:29px;height:40px;padding:0 4px}.cozyword-keyboard button.word-key-wide{min-width:48px;font-size:8px}.wordsearch-grid{padding:6px;gap:1px}.wordsearch-cell{font-size:clamp(7px,2.1vw,10px);border-radius:4px}.crossword-grid{padding:5px;gap:1px;max-width:100%}.crossword-cell input{font-size:clamp(10px,3.2vw,15px);padding:1px!important}.crossword-side{display:block}.crossword-clues{grid-template-columns:1fr 1fr}.crossword-clues ol{font-size:8px;padding-left:19px}.crossword-clues li button{padding:7px 5px}.crossword-actions{margin-top:12px}.duo-setup{grid-template-columns:1fr 1fr}.duo-plus{display:none}.duo-setup .primary-btn{grid-column:1/-1}.duo-options{grid-template-columns:1fr}.sync-board{grid-template-columns:1fr 38px 1fr;gap:6px}.sync-pad{height:190px;border-radius:20px}.sync-pad strong{font-size:28px}.sync-heart{font-size:30px}.duo-answer-summary{grid-template-columns:1fr}
}
@media(max-width:480px){
  .game-selector button{flex-basis:132px}.game-selector small{display:block}.trivia-question{font-size:22px}.trivia-options{gap:7px}.pairs-board{gap:5px}.pair-card{font-size:23px}.crossword-clues{grid-template-columns:1fr}.crossword-grid{overflow:visible}.sync-pad{height:165px}.sync-pad strong{font-size:24px}.sync-pad span{font-size:7px}.sync-heart{font-size:26px}.duo-setup{grid-template-columns:1fr}.duo-question{font-size:24px}
}

.game-ready-card{grid-column:1/-1;min-height:240px;border:1px dashed rgba(246,169,208,.24);border-radius:20px;display:grid;place-content:center;text-align:center;gap:7px;padding:24px;background:rgba(255,255,255,.025)}.game-ready-card span{font-size:34px}.game-ready-card strong{font-family:'Playfair Display',serif;font-size:22px}.game-ready-card small{color:var(--muted);font-size:9px;max-width:310px}


/* V41 crossword typing flow + instant validation */
.crossword-cell.letter-correct{background:rgba(71,190,118,.24)!important;box-shadow:inset 0 0 0 1px rgba(105,238,158,.54)}
.crossword-cell.letter-correct input{color:#d9ffe7!important;text-shadow:0 0 10px rgba(99,239,157,.22)}
.crossword-cell.letter-wrong{background:rgba(224,74,111,.28)!important;box-shadow:inset 0 0 0 2px rgba(255,110,145,.72);animation:cwWrongShake .24s ease}
.crossword-clues ol{list-style:none;padding-left:0!important}
.crossword-clues li.solved{background:rgba(71,190,118,.14)!important;box-shadow:inset 2px 0 rgba(105,238,158,.7)}
.crossword-clues li.solved button{color:#d9ffe7}
.crossword-clues li.solved b{color:#6fee9e}
@keyframes cwWrongShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}

/* V43 — Comfy Circle community hub */
.community-banner{background:linear-gradient(135deg,#2b1b31 0%,#39243f 45%,#182036 100%);border-color:rgba(244,167,209,.20)}
.home-circle-strip{margin-top:18px;padding:22px 24px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);gap:22px;align-items:center;background:linear-gradient(135deg,rgba(43,27,49,.97),rgba(29,27,49,.96));border-color:rgba(244,167,209,.18)}
.home-circle-copy h3{font-family:'Playfair Display',serif;font-size:27px;margin:6px 0 8px}.home-circle-copy p{margin:0;color:#c8b9c7;line-height:1.65;font-size:12px;max-width:630px}.home-circle-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.home-circle-actions button{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#fff;border-radius:18px;padding:15px;text-align:left;cursor:pointer;display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;align-items:center;transition:.2s ease}.home-circle-actions button:hover{transform:translateY(-2px);background:rgba(248,166,207,.10);border-color:rgba(248,166,207,.32)}.home-circle-actions button>span{grid-row:1/3;width:38px;height:38px;border-radius:12px;background:rgba(248,166,207,.10);display:grid;place-items:center;font-size:18px}.home-circle-actions strong{font-size:11px}.home-circle-actions small{font-size:8px;color:#aa9dad;margin-top:2px}
.community-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.circle-card{padding:24px;border-color:rgba(244,167,209,.14);background:linear-gradient(145deg,rgba(30,20,35,.97),rgba(25,22,39,.97));min-width:0}.circle-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.circle-card-head h3{font-family:'Playfair Display',serif;font-size:25px;margin:4px 0 0}.circle-card-head p{color:#b8a9b7;font-size:10px;line-height:1.55;max-width:620px;margin:7px 0 0}.circle-icon{width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,rgba(248,166,207,.14),rgba(141,115,197,.12));display:grid;place-items:center;font-size:20px;flex:0 0 auto}.circle-profile-card,.weekly-question-card{min-height:360px}.girls-night-card,.member-wall-card{grid-column:1/-1}.circle-profile-body>p,.compliment-card>p{color:#bcaebc;line-height:1.62;font-size:10px;margin:0 0 15px}.circle-field{display:grid;gap:6px;font-size:9px;color:#d7c7d5;font-weight:700;margin:10px 0}.circle-field small{font-weight:400;color:#8f8190}.circle-field input,.circle-field textarea{width:100%;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:#fff;border-radius:13px;padding:11px 12px;font:inherit;outline:none;resize:vertical}.circle-field input:focus,.circle-field textarea:focus{border-color:rgba(248,166,207,.55);box-shadow:0 0 0 3px rgba(248,166,207,.08)}.avatar-picker{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 15px}.avatar-picker button{width:39px;height:39px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);cursor:pointer;font-size:18px}.avatar-picker button.active{background:rgba(248,166,207,.18);border-color:#f7a5cf;box-shadow:0 0 0 2px rgba(247,165,207,.10)}.circle-join{margin-top:3px}.circle-status{display:block;color:#a899a8;font-size:8px;margin-top:9px;min-height:13px}.circle-profile-live{display:grid;grid-template-columns:70px minmax(0,1fr);gap:16px;align-items:center;padding:18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.circle-profile-avatar{width:70px;height:70px;border-radius:22px;background:linear-gradient(135deg,rgba(248,166,207,.18),rgba(128,105,191,.17));display:grid;place-items:center;font-size:34px}.circle-profile-live h4{font-size:18px;margin:0 0 4px}.circle-profile-live p{font-size:9px;color:#a899a8;margin:0}.circle-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.circle-badges span{padding:6px 9px;border-radius:999px;background:rgba(248,166,207,.10);border:1px solid rgba(248,166,207,.16);font-size:8px;color:#f2dce8}.community-question-options{display:grid;gap:9px}.community-question-option{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);border-radius:15px;padding:12px 13px;color:#fff;cursor:pointer;text-align:left;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.community-question-option:hover:not(:disabled){border-color:rgba(248,166,207,.38)}.community-question-option .bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(248,166,207,.17),rgba(152,122,209,.11));z-index:0}.community-question-option span,.community-question-option b{position:relative;z-index:1}.community-question-option span{font-size:10px}.community-question-option b{font-size:9px;color:#f5bddb}.community-question-option.voted{border-color:rgba(248,166,207,.45)}.girls-night-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.girls-night-item{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);border-radius:17px;padding:16px;display:grid;gap:8px;min-height:175px}.girls-night-item .event-top{display:flex;justify-content:space-between;gap:10px}.girls-night-item .event-tag{font-size:7px;letter-spacing:.12em;font-weight:800;color:#f4a9cf;text-transform:uppercase}.girls-night-item .event-date{font-size:8px;color:#9f929f}.girls-night-item h4{font-size:14px;margin:0}.girls-night-item p{font-size:9px;line-height:1.5;color:#afa2af;margin:0}.girls-night-item .event-location{font-size:8px;color:#d7c7d5}.girls-night-item button{margin-top:auto;border:1px solid rgba(248,166,207,.22);background:rgba(248,166,207,.09);color:#fff;border-radius:12px;padding:9px;cursor:pointer;font-size:9px;font-weight:700}.girls-night-item button:disabled{opacity:.7;cursor:default}.compliment-submit-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.compliment-submit-row>span{font-size:8px;color:#8f8190}.compliment-showcase{display:grid;gap:8px;margin-top:16px}.compliment-note{padding:12px 13px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);font-size:10px;line-height:1.55;color:#e8dce5}.compliment-note small{display:block;color:#9f919e;font-size:7px;margin-top:5px}.circle-member-wall{display:flex;flex-wrap:wrap;gap:8px}.circle-member-chip{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);font-size:9px}.circle-member-chip span{font-size:16px}.circle-empty{padding:18px;border-radius:15px;border:1px dashed rgba(248,166,207,.20);color:#9e909d;font-size:9px;text-align:center;grid-column:1/-1}
@media(max-width:1050px){.home-circle-strip{grid-template-columns:1fr}.girls-night-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.home-circle-actions{grid-template-columns:1fr}.community-hub-grid{grid-template-columns:1fr}.girls-night-card,.member-wall-card{grid-column:auto}.girls-night-list{grid-template-columns:1fr}.circle-card{padding:17px}.circle-card-head h3{font-size:21px}.circle-profile-card,.weekly-question-card{min-height:0}.compliment-submit-row{align-items:stretch;flex-direction:column}.compliment-submit-row .primary-btn{width:100%}}


/* V45 uploaded-media fit pass */
.support-photo.has-media,
.gaming-media.has-media,
.portrait-slot.has-media{
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-color:#1b121c;
  isolation:isolate;
}
.support-photo.has-media::before,
.gaming-media.has-media::before,
.portrait-slot.has-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:var(--media-url);
  background-size:cover;
  background-position:center;
  filter:blur(24px) saturate(.85);
  transform:scale(1.08);
  opacity:.18;
}
.support-photo.has-media::after,
.gaming-media.has-media::after,
.portrait-slot.has-media::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(17,11,20,.05),rgba(17,11,20,.24));
  pointer-events:none;
}
.support-photo-label{z-index:3}
.recipe-photo.has-media,
.section-banner.has-media{
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
}
.support-photo{min-height:520px;aspect-ratio:4/3}
.support-photo>.media-placeholder{min-height:520px}
@media(max-width:1020px){
  .support-photo{min-height:440px;aspect-ratio:4/3}
  .support-photo>.media-placeholder{min-height:440px}
}
@media(max-width:760px){
  .support-photo{min-height:0;aspect-ratio:4/3}
  .support-photo>.media-placeholder{min-height:0;height:100%}
}


/* V46 About-page alignment + transparent branding */
.about-banner-logo{
  width:170px !important;
  height:132px !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 12px 22px rgba(74,34,60,.16));
  flex:0 0 auto;
}

.about-hello-panel.active{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:42px;
  align-items:center;
  min-height:510px;
}

.about-hello-panel .about-copy{
  min-width:0;
  align-self:center;
  padding:8px 0 14px;
}

.about-hello-panel .about-copy h3{
  max-width:760px;
}

.about-hello-panel .about-copy p{
  max-width:760px;
}

.about-hello-panel .portrait-slot{
  position:relative !important;
  right:auto !important;
  bottom:auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4/5;
  max-width:390px;
  justify-self:end;
  align-self:center;
  margin:0 !important;
  border-radius:26px;
  overflow:hidden;
}

.about-hello-panel .portrait-slot .media-placeholder{
  min-height:100%;
}

@media(max-width:1100px){
  .about-hello-panel.active{
    grid-template-columns:1fr minmax(260px,340px);
    gap:28px;
  }
  .about-banner-logo{
    width:145px !important;
    height:118px !important;
  }
}

@media(max-width:820px){
  .about-hello-panel.active{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .about-hello-panel .portrait-slot{
    justify-self:stretch;
    max-width:none;
    aspect-ratio:16/10;
  }
}

@media(max-width:600px){
  .section-banner:has(.about-banner-logo){
    align-items:flex-start;
  }
  .about-banner-logo{
    width:108px !important;
    height:94px !important;
  }
  .about-hello-panel .portrait-slot{
    aspect-ratio:4/3;
  }
}


/* V47 About stories: every tab gets its own photo + personal story */
.about-tabs-layout{min-height:0}
.about-story-stage{min-height:560px;padding:26px}
.about-story-panel.active{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);
  gap:38px;
  align-items:start;
  min-height:505px;
}
.about-story-image{
  position:relative;
  width:100%;
  max-width:640px;
  justify-self:start;
  aspect-ratio:var(--uploaded-ratio,4 / 5);
  min-height:0;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(239,159,200,.18);
  background:linear-gradient(145deg,#2c1e30,#171522);
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  box-shadow:0 22px 50px rgba(0,0,0,.17);
}
.about-story-image:not(.has-media){
  min-height:420px;
}
.about-story-image.has-media{
  min-height:0;
  height:auto;
}
.about-story-image.has-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:var(--media-url);
  background-size:cover;
  background-position:center;
  filter:blur(28px) saturate(.82);
  transform:scale(1.10);
  opacity:.17;
}
.about-story-image.has-media>.media-placeholder{display:none}
.about-story-copy{min-width:0;max-width:790px;padding:12px 6px}
.about-story-copy h3{font-size:clamp(38px,4.4vw,62px);line-height:.98;margin:9px 0 22px}
.about-story-copy .first-person-story{
  max-width:760px;
  color:#d8cad5;
  font-size:14px;
  line-height:1.9;
  white-space:pre-line;
}
.about-subtabs button strong{white-space:normal}
@media(max-width:1050px){
  .about-story-panel.active{grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:26px}
  .about-story-image:not(.has-media){min-height:360px}
  .about-story-image.has-media{min-height:0}
}
@media(max-width:820px){
  .about-story-stage{padding:18px}
  .about-story-panel.active{grid-template-columns:1fr;gap:22px;min-height:0}
  .about-story-image{aspect-ratio:var(--uploaded-ratio,16 / 10);min-height:0;max-height:none;width:100%}
  .about-story-copy{padding:0 4px 8px}
}
@media(max-width:560px){
  .about-story-stage{padding:12px}
  .about-story-image{aspect-ratio:var(--uploaded-ratio,4 / 3);border-radius:20px;width:100%}
  .about-story-copy h3{font-size:36px}
  .about-story-copy .first-person-story{font-size:12px;line-height:1.75}
}

/* V49: uploaded About photos use their real intrinsic ratio; no forced tall minimum. */
.about-story-image.has-media{aspect-ratio:var(--uploaded-ratio,4 / 5)!important;min-height:0!important;height:auto!important}
@media(max-width:820px){.about-story-image.has-media{aspect-ratio:var(--uploaded-ratio,16 / 10)!important}}
@media(max-width:560px){.about-story-image.has-media{aspect-ratio:var(--uploaded-ratio,4 / 3)!important}}


/* V50 — Comfy Circle clarity + functional navigation */
.community-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:center}
.community-hero-copy p{max-width:880px!important;font-size:12px!important;line-height:1.7!important;color:#d2c3d0!important}
.community-hero-note{display:grid;gap:8px;justify-items:stretch}
.community-hero-note span{display:flex;align-items:center;min-height:38px;padding:9px 12px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);font-size:9px;color:#eadde7}
.circle-start{margin:14px 0 16px;padding:20px 22px;display:grid;grid-template-columns:minmax(210px,.42fr) minmax(0,1.58fr);gap:22px;align-items:center;background:linear-gradient(135deg,rgba(34,23,39,.98),rgba(24,25,44,.98));border-color:rgba(244,167,209,.18)}
.circle-start-copy h3{font-family:'Playfair Display',serif;font-size:24px;margin:4px 0 6px}.circle-start-copy p{margin:0;color:#b8a9b7;font-size:9px;line-height:1.55}
.circle-action-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.circle-action-grid button{min-width:0;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:15px;color:#fff;padding:12px;text-align:left;cursor:pointer;display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.circle-action-grid button:hover,.circle-action-grid button:focus-visible{transform:translateY(-2px);background:rgba(248,166,207,.10);border-color:rgba(248,166,207,.38);box-shadow:0 10px 24px rgba(0,0,0,.13);outline:none}
.circle-action-grid button>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;background:rgba(248,166,207,.11);display:grid;place-items:center;font-size:15px}.circle-action-grid strong{font-size:9px;line-height:1.2;white-space:normal}.circle-action-grid small{font-size:7px;color:#aa9dab;line-height:1.3}.circle-action-grid i{grid-column:2;font-style:normal;font-size:7px;color:#f2a5cd;font-weight:800;margin-top:2px}
.community-hub-grid-v50{align-items:start}.community-hub-grid-v50 .circle-profile-card,.community-hub-grid-v50 .weekly-question-card{min-height:0}.community-hub-grid-v50 .member-wall-card{grid-column:auto}.community-hub-grid-v50 .compliment-card,.community-hub-grid-v50 .member-wall-card{height:100%}.community-hub-grid-v50 .girls-night-card{grid-column:1/-1}
.circle-howto{display:grid;gap:4px;padding:11px 12px;border-radius:13px;background:rgba(248,166,207,.06);border:1px solid rgba(248,166,207,.14);margin-bottom:12px}.circle-howto b{font-size:8px;color:#f2b3d3}.circle-howto span{font-size:8px;line-height:1.45;color:#b8a9b7}.circle-mini-label{display:block;font-size:8px;color:#d7c7d5;font-weight:700;margin-top:10px}
.circle-card[data-community-section]{scroll-margin-top:95px;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.circle-card.community-focus-flash{border-color:rgba(248,166,207,.55)!important;box-shadow:0 0 0 3px rgba(248,166,207,.08),0 18px 42px rgba(0,0,0,.16);transform:translateY(-2px)}
.circle-empty{display:grid!important;place-items:center;gap:5px;min-height:88px}.circle-empty>span{font-size:22px}.circle-empty>strong{font-family:'Playfair Display',serif;color:#dbcbd7;font-size:13px}.circle-empty>small{max-width:560px;line-height:1.5;color:#8f8290;font-size:8px}
@media(max-width:1250px){.circle-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.community-hero{grid-template-columns:1fr}.community-hero-note{grid-template-columns:repeat(3,minmax(0,1fr))}.circle-start{grid-template-columns:1fr}.circle-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.community-hero-note{grid-template-columns:1fr}.circle-start{padding:16px}.circle-action-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:3px}.circle-action-grid button{min-width:210px;scroll-snap-align:start}.community-hub-grid-v50 .member-wall-card{grid-column:auto}.circle-card[data-community-section]{scroll-margin-top:78px}}


/* ============================================================
   V51 — USER-SELECTABLE COLOUR THEMES
   Saved locally in each visitor's browser. No account required.
   ============================================================ */

.theme-picker-pill,.studio-mode-pill{
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 12px;
  background:rgba(255,255,255,.035);
  color:var(--ink);
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.theme-picker-pill:hover{border-color:rgba(246,169,208,.35);background:rgba(246,169,208,.09)}
.theme-mode-mobile{display:none}

.theme-picker-dialog{
  width:min(840px,94vw);
  max-height:90vh;
  overflow:auto;
  border:1px solid var(--tone-line,rgba(255,255,255,.12));
  border-radius:28px;
  padding:30px;
  background:var(--tone-card-solid,#171019);
  color:var(--tone-text,#fff7fb);
  box-shadow:0 34px 110px rgba(0,0,0,.48);
}
.theme-picker-dialog::backdrop{background:rgba(5,4,9,.68);backdrop-filter:blur(9px)}
.theme-picker-close{
  position:absolute;right:16px;top:14px;width:38px;height:38px;border:1px solid var(--tone-line,rgba(255,255,255,.12));
  border-radius:50%;background:var(--tone-chip,rgba(255,255,255,.06));color:inherit;font-size:23px;cursor:pointer
}
.theme-picker-dialog h2{font-family:'Playfair Display',serif;font-size:clamp(31px,4vw,48px);line-height:1;margin:7px 42px 10px 0}
.theme-picker-intro{margin:0 0 22px;color:var(--tone-muted,#c9b9c8);font-size:12px;line-height:1.65;max-width:680px}
.theme-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme-choice{
  width:100%;display:grid;grid-template-columns:82px minmax(0,1fr) 22px;gap:13px;align-items:center;text-align:left;
  border:1px solid var(--tone-line,rgba(255,255,255,.10));border-radius:19px;padding:12px;
  background:var(--tone-chip,rgba(255,255,255,.045));color:inherit;cursor:pointer;transition:.18s ease
}
.theme-choice:hover{transform:translateY(-2px);border-color:var(--tone-accent,#f6a9d0)}
.theme-choice.active{border-color:var(--tone-accent,#f6a9d0);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone-accent,#f6a9d0) 14%,transparent)}
.theme-choice>span:nth-child(2){display:grid;gap:3px;min-width:0}
.theme-choice strong{font-size:11px}.theme-choice small{font-size:8px;line-height:1.35;color:var(--tone-muted,#c9b9c8)}
.theme-choice>b{opacity:0;color:var(--tone-accent,#f6a9d0);font-size:16px}.theme-choice.active>b{opacity:1}
.theme-swatch{height:58px;border-radius:14px;padding:8px;display:flex;align-items:flex-end;gap:5px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.theme-swatch i{display:block;width:17px;border-radius:999px;height:28px}.theme-swatch i:nth-child(2){height:39px}.theme-swatch i:nth-child(3){height:21px}
.swatch-plum{background:linear-gradient(145deg,#100b13,#21162a)}.swatch-plum i:nth-child(1){background:#f6a9d0}.swatch-plum i:nth-child(2){background:#ba9cff}.swatch-plum i:nth-child(3){background:#5e5fa6}
.swatch-pink{background:linear-gradient(145deg,#fff,#fff0f7)}.swatch-pink i:nth-child(1){background:#ef8fbd}.swatch-pink i:nth-child(2){background:#ffcbe3}.swatch-pink i:nth-child(3){background:#d8b9d8}
.swatch-gold{background:linear-gradient(145deg,#fffdf8,#fff1dc)}.swatch-gold i:nth-child(1){background:#ef9ec4}.swatch-gold i:nth-child(2){background:#f5e4bf}.swatch-gold i:nth-child(3){background:#d6af56}
.swatch-spring{background:linear-gradient(145deg,#f8fbf4,#f6eaf4)}.swatch-spring i:nth-child(1){background:#e79ac2}.swatch-spring i:nth-child(2){background:#a9c69f}.swatch-spring i:nth-child(3){background:#cdb9e8}
.swatch-autumn{background:linear-gradient(145deg,#24140f,#3c2118)}.swatch-autumn i:nth-child(1){background:#cc6d3d}.swatch-autumn i:nth-child(2){background:#e4ad56}.swatch-autumn i:nth-child(3){background:#8f4b36}
.swatch-winter{background:linear-gradient(145deg,#0c1524,#172946)}.swatch-winter i:nth-child(1){background:#b9dcf2}.swatch-winter i:nth-child(2){background:#d9d4ff}.swatch-winter i:nth-child(3){background:#6e92c6}
.swatch-christmas{background:linear-gradient(145deg,#071a16,#123127)}.swatch-christmas i:nth-child(1){background:#b94355}.swatch-christmas i:nth-child(2){background:#d9b765}.swatch-christmas i:nth-child(3){background:#438263}
.theme-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--tone-line,rgba(255,255,255,.10))}
.theme-picker-footer span{font-size:9px;color:var(--tone-muted,#c9b9c8)}

/* Theme tokens */
html[data-theme="plum"]{
  --tone-bg1:#100b13;--tone-bg2:#14101c;--tone-bg3:#101323;
  --tone-text:#fff7fb;--tone-muted:#c9b9c8;--tone-card:rgba(34,23,38,.86);--tone-card2:rgba(22,15,25,.91);--tone-card-solid:#171019;
  --tone-line:rgba(255,255,255,.10);--tone-accent:#f6a9d0;--tone-accent2:#ba9cff;--tone-chip:rgba(255,255,255,.05);
  --tone-topbar:rgba(16,11,19,.88);--tone-input:rgba(255,255,255,.07);--tone-placeholder:#978a9a;
  --tone-banner1:rgba(246,169,208,.17);--tone-banner2:rgba(78,43,78,.35);--tone-deep:#100b13;
}
html[data-theme="pink"]{
  --tone-bg1:#fff9fc;--tone-bg2:#fff1f7;--tone-bg3:#f6eef8;
  --tone-text:#352733;--tone-muted:#766875;--tone-card:rgba(255,255,255,.91);--tone-card2:rgba(255,247,251,.94);--tone-card-solid:#fffafd;
  --tone-line:rgba(105,67,91,.13);--tone-accent:#df7fb1;--tone-accent2:#b68bc9;--tone-chip:rgba(223,127,177,.08);
  --tone-topbar:rgba(255,250,253,.91);--tone-input:rgba(89,57,78,.055);--tone-placeholder:#a48f9f;
  --tone-banner1:#ffe5f1;--tone-banner2:#f6edf9;--tone-deep:#fff6fb;
}
html[data-theme="gold"]{
  --tone-bg1:#fffaf5;--tone-bg2:#fff4ea;--tone-bg3:#fffdfa;
  --tone-text:#433038;--tone-muted:#76616a;--tone-card:rgba(255,252,248,.95);--tone-card2:rgba(255,246,236,.97);--tone-card-solid:#fffaf4;
  --tone-line:rgba(161,123,87,.17);--tone-accent:#dc8bb3;--tone-accent2:#d3ab58;--tone-chip:rgba(211,171,88,.10);
  --tone-topbar:rgba(255,250,245,.90);--tone-input:rgba(102,78,64,.055);--tone-placeholder:#a08b82;
  --tone-banner1:#fff3f7;--tone-banner2:#f9eedb;--tone-deep:#fff6ef;
  --ink:#4b3341;
  --ink-soft:#7a5d68;
  --panel:rgba(255,252,248,.95);
  --panel-strong:rgba(255,248,239,.98);
  --line:rgba(196,154,83,.18);
  --shadow:0 20px 45px rgba(188,146,79,.12);
  --deep:#fff7f1;
  --deep2:#fff3e6;
  --rose:#de89b2;
  --cream:#d5ae59;
  --lilac:#d8b6cb;
  --white:#fffdf9;
}

html[data-theme="spring"]{
  --tone-bg1:#f8fbf4;--tone-bg2:#f2f8ef;--tone-bg3:#f8edf5;
  --tone-text:#324033;--tone-muted:#68766a;--tone-card:rgba(255,255,252,.90);--tone-card2:rgba(248,252,244,.94);--tone-card-solid:#fbfdf8;
  --tone-line:rgba(72,101,73,.13);--tone-accent:#df8eb7;--tone-accent2:#9ebd96;--tone-chip:rgba(151,188,144,.10);
  --tone-topbar:rgba(249,252,246,.91);--tone-input:rgba(71,98,74,.055);--tone-placeholder:#8b9a8e;
  --tone-banner1:#f7e1ee;--tone-banner2:#e8f2e4;--tone-deep:#f7fbf4;
}
html[data-theme="autumn"]{
  --tone-bg1:#160d0a;--tone-bg2:#23130e;--tone-bg3:#2b1a13;
  --tone-text:#fff4e7;--tone-muted:#d1b9a6;--tone-card:rgba(48,28,21,.88);--tone-card2:rgba(29,18,14,.92);--tone-card-solid:#21130f;
  --tone-line:rgba(255,222,190,.11);--tone-accent:#d87848;--tone-accent2:#e2ae5f;--tone-chip:rgba(255,220,184,.055);
  --tone-topbar:rgba(24,13,10,.90);--tone-input:rgba(255,235,212,.07);--tone-placeholder:#a88976;
  --tone-banner1:rgba(201,96,50,.18);--tone-banner2:rgba(130,73,40,.30);--tone-deep:#160d0a;
}
html[data-theme="winter"]{
  --tone-bg1:#08111e;--tone-bg2:#0d1a2d;--tone-bg3:#111b32;
  --tone-text:#f3f8ff;--tone-muted:#bac8d8;--tone-card:rgba(18,31,49,.88);--tone-card2:rgba(11,22,37,.93);--tone-card-solid:#0e1a2b;
  --tone-line:rgba(208,231,255,.11);--tone-accent:#9dcbe9;--tone-accent2:#c9c2ff;--tone-chip:rgba(211,232,255,.055);
  --tone-topbar:rgba(8,17,30,.90);--tone-input:rgba(221,237,255,.07);--tone-placeholder:#869aae;
  --tone-banner1:rgba(110,159,204,.18);--tone-banner2:rgba(112,101,171,.26);--tone-deep:#08111e;
}
html[data-theme="christmas"]{
  --tone-bg1:#07130f;--tone-bg2:#0c2119;--tone-bg3:#17141a;
  --tone-text:#fff7ed;--tone-muted:#cbbfb4;--tone-card:rgba(17,43,32,.87);--tone-card2:rgba(9,25,20,.93);--tone-card-solid:#0d2019;
  --tone-line:rgba(255,241,218,.11);--tone-accent:#c94d60;--tone-accent2:#d7b35d;--tone-chip:rgba(255,239,214,.055);
  --tone-topbar:rgba(7,19,15,.91);--tone-input:rgba(255,245,224,.07);--tone-placeholder:#9a8f83;
  --tone-banner1:rgba(178,55,74,.18);--tone-banner2:rgba(32,99,69,.28);--tone-deep:#07130f;
}

/* Apply tokens across the main UI */
html[data-theme] body{
  color:var(--tone-text);
  background:
    radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--tone-accent) 16%,transparent),transparent 28%),
    radial-gradient(circle at 86% 16%,color-mix(in srgb,var(--tone-accent2) 14%,transparent),transparent 25%),
    radial-gradient(circle at 88% 86%,color-mix(in srgb,var(--tone-accent2) 13%,transparent),transparent 27%),
    linear-gradient(150deg,var(--tone-bg1) 0%,var(--tone-bg2) 45%,var(--tone-bg3) 78%,var(--tone-bg1) 100%);
  background-attachment:fixed;
}
html[data-theme] body:after{background:radial-gradient(circle,color-mix(in srgb,var(--tone-accent2) 18%,transparent),transparent 68%)}
html[data-theme] .topbar{background:var(--tone-topbar);border-color:var(--tone-line)}
html[data-theme] .brand strong,
html[data-theme] .room-nav a:hover,
html[data-theme] .room-nav a.active{color:var(--tone-text)}
html[data-theme] .brand small,
html[data-theme] .eyebrow,
html[data-theme] .mini-card small,
html[data-theme] .community-note span{color:var(--tone-accent)}
html[data-theme] .room-nav a{color:var(--tone-muted)}
html[data-theme] .room-nav .play-link{color:var(--tone-accent2)}
html[data-theme] .room-nav .support-link{color:var(--tone-accent)}
html[data-theme] .room-nav a:hover,
html[data-theme] .room-nav a.active{background:var(--tone-chip)}
html[data-theme] .mobile-menu span{background:var(--tone-text)}
html[data-theme] .discord-pill,
html[data-theme] .theme-picker-pill,
html[data-theme] .studio-mode-pill{background:var(--tone-chip);border-color:var(--tone-line);color:var(--tone-text)}

html[data-theme] .soft-card,
html[data-theme] .subtab-stage,
html[data-theme] .game-stage,
html[data-theme] .leaderboard,
html[data-theme] .donation-card,
html[data-theme] .hall-card,
html[data-theme] .circle-card{
  background:linear-gradient(145deg,var(--tone-card),var(--tone-card2));
  border-color:var(--tone-line);
  color:var(--tone-text);
}
html[data-theme] .welcome-card{
  background:
    radial-gradient(circle at 80% 22%,color-mix(in srgb,var(--tone-accent) 20%,transparent),transparent 27%),
    radial-gradient(circle at 25% 78%,color-mix(in srgb,var(--tone-accent2) 15%,transparent),transparent 34%),
    linear-gradient(145deg,var(--tone-card),var(--tone-card2));
}
html[data-theme] .welcome-copy h1 em{color:var(--tone-accent)}
html[data-theme] .welcome-copy>p,
html[data-theme] .community-note small,
html[data-theme] .theme-choice small{color:var(--tone-muted)}
html[data-theme] .mini-card,
html[data-theme] .community-note,
html[data-theme] .quiz-feature{
  background:linear-gradient(145deg,var(--tone-card),var(--tone-card2));
  border-color:var(--tone-line);
  color:var(--tone-text);
}
html[data-theme] .sticker{background:var(--tone-card-solid);border-color:var(--tone-line);color:var(--tone-text)}
html[data-theme] .section-banner{color:var(--tone-text);border-color:var(--tone-line)}
html[data-theme] .section-banner p{color:var(--tone-muted)}
html[data-theme] .pink-banner,
html[data-theme] .cream-banner,
html[data-theme] .lilac-banner,
html[data-theme] .kitchen-banner,
html[data-theme] .play-banner,
html[data-theme] .support-banner-top{
  background:linear-gradient(120deg,var(--tone-banner1),var(--tone-banner2));
}
html[data-theme] .banner-chips span,
html[data-theme] .week-badge{background:var(--tone-chip);border-color:var(--tone-line);color:var(--tone-text)}

html[data-theme] .subtab-list button,
html[data-theme] .location-list button,
html[data-theme] .game-selector button,
html[data-theme] .note-row,
html[data-theme] .poll-option,
html[data-theme] .trivia-option,
html[data-theme] .donation-grid>a,
html[data-theme] .social-link-grid-home>a,
html[data-theme] .circle-action-card,
html[data-theme] .youtube-track-row{
  color:var(--tone-text);
  border-color:var(--tone-line);
}
html[data-theme] .subtab-list button,
html[data-theme] .location-list button,
html[data-theme] .game-selector button{
  background:var(--tone-chip);
}
html[data-theme] .subtab-list button:hover,
html[data-theme] .subtab-list button.active,
html[data-theme] .location-list button:hover,
html[data-theme] .location-list button.active,
html[data-theme] .game-selector button:hover,
html[data-theme] .game-selector button.active{
  background:color-mix(in srgb,var(--tone-accent) 14%,var(--tone-chip));
  color:var(--tone-text);
  border-color:color-mix(in srgb,var(--tone-accent) 30%,var(--tone-line));
}

html[data-theme] input,
html[data-theme] textarea,
html[data-theme] select,
html[data-theme] .trivia-submit input,
html[data-theme] .game-submit input,
html[data-theme] .cozyword-input-row input{
  background:var(--tone-input)!important;
  color:var(--tone-text)!important;
  border-color:var(--tone-line)!important;
}
html[data-theme] input::placeholder,
html[data-theme] textarea::placeholder{color:var(--tone-placeholder)!important}
html[data-theme] .site-footer{color:var(--tone-muted)}
html[data-theme] .site-footer a{color:var(--tone-text)}
html[data-theme] .floating-dock{background:color-mix(in srgb,var(--tone-card-solid) 94%,transparent);border-color:var(--tone-line)}
html[data-theme] .floating-dock button,
html[data-theme] .floating-dock a{color:var(--tone-text)}

/* Light themes need dark copy everywhere that previously assumed a dark room. */
html[data-theme="pink"] .soft-card,
html[data-theme="gold"] .soft-card,
html[data-theme="pink"] .section-banner,
html[data-theme="gold"] .section-banner,
html[data-theme="pink"] .subtab-stage,
html[data-theme="gold"] .subtab-stage,
html[data-theme="pink"] .game-stage,
html[data-theme="gold"] .game-stage,
html[data-theme="pink"] .circle-card,
html[data-theme="gold"] .circle-card,
html[data-theme="pink"] .mini-card,
html[data-theme="gold"] .mini-card,
html[data-theme="pink"] .community-note,
html[data-theme="gold"] .community-note,
html[data-theme="pink"] .quiz-feature,
html[data-theme="gold"] .quiz-feature,
html[data-theme="spring"] .soft-card,
html[data-theme="spring"] .section-banner,
html[data-theme="spring"] .subtab-stage,
html[data-theme="spring"] .game-stage,
html[data-theme="spring"] .circle-card,
html[data-theme="spring"] .mini-card,
html[data-theme="spring"] .community-note,
html[data-theme="spring"] .quiz-feature{color:var(--tone-text)}
html[data-theme="pink"] .first-person-story,
html[data-theme="gold"] .first-person-story,
html[data-theme="pink"] .circle-card p,
html[data-theme="gold"] .circle-card p,
html[data-theme="pink"] .home-story-note p,
html[data-theme="pink"] .about-story-copy .first-person-story,
html[data-theme="gold"] .about-story-copy .first-person-story,
html[data-theme="spring"] .first-person-story,
html[data-theme="spring"] .circle-card p,
html[data-theme="spring"] .home-story-note p,
html[data-theme="spring"] .about-story-copy .first-person-story{color:var(--tone-muted)!important}
html[data-theme="pink"] .dark-banner,
html[data-theme="gold"] .dark-banner,
html[data-theme="spring"] .dark-banner{color:#fff;background:linear-gradient(120deg,#31202f,#49324c)}
html[data-theme="pink"] .live-feature,
html[data-theme="gold"] .live-feature,
html[data-theme="spring"] .live-feature{color:#fff}

/* Seasonal atmosphere */
html[data-theme="spring"] .petal-field span{color:rgba(190,111,154,.20)}
html[data-theme="autumn"] .petal-field span{color:rgba(218,129,72,.19)}
html[data-theme="winter"] .petal-field span{color:rgba(186,218,241,.20)}
html[data-theme="christmas"] .petal-field span{color:rgba(211,177,92,.18)}
html[data-theme="pink"] .petal-field span{color:rgba(222,118,171,.18)}

/* A slightly warmer/cooler focus ring that follows the user's theme. */
html[data-theme] :focus-visible{outline:2px solid var(--tone-accent);outline-offset:3px}

@media(max-width:900px){
  .theme-choice-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .theme-picker-pill{display:none}
  .theme-mode-mobile{display:block;width:100%;border:0;border-radius:12px;padding:11px 12px;background:rgba(255,255,255,.06);color:inherit;text-align:left;font-size:11px;font-weight:800}
  .theme-picker-dialog{padding:24px 16px 18px;border-radius:22px}
  .theme-choice{grid-template-columns:68px minmax(0,1fr) 20px}
  .theme-swatch{height:52px}
}
@media(max-width:480px){
  .theme-picker-dialog h2{font-size:32px}
  .theme-choice{grid-template-columns:58px minmax(0,1fr) 18px;padding:10px}
  .theme-swatch{height:48px;padding:6px}
}


/* ============================================================
   V52 — THEME-AWARE COMPONENT / CONTRAST PASS
   Theme choice now changes the actual UI surfaces, controls and
   text hierarchy instead of only changing the page background.
   ============================================================ */

/* More semantic tokens shared by every theme. */
html[data-theme]{
  --ui-text:var(--tone-text);
  --ui-muted:var(--tone-muted);
  --ui-border:var(--tone-line);
  --ui-accent:var(--tone-accent);
  --ui-accent-2:var(--tone-accent2);
  --ui-surface:var(--tone-card);
  --ui-surface-strong:var(--tone-card2);
  --ui-solid:var(--tone-card-solid);
  --ui-soft:var(--tone-chip);
  --ui-input:var(--tone-input);
  --ui-button-primary:var(--tone-accent);
  --ui-button-primary-text:#281b25;
  --ui-button-secondary:color-mix(in srgb,var(--tone-card-solid) 72%,var(--tone-accent) 8%);
  --ui-button-secondary-text:var(--tone-text);
  --ui-icon-bg:color-mix(in srgb,var(--tone-accent) 12%,var(--tone-chip));
  --ui-hover:color-mix(in srgb,var(--tone-accent) 14%,var(--tone-chip));
}

/* Light themes need purpose-built light controls, not dark-theme components. */
html[data-theme="pink"],
html[data-theme="gold"],
html[data-theme="spring"]{
  --ui-button-primary-text:#352331;
  --ui-button-secondary:rgba(255,255,255,.82);
  --ui-button-secondary-text:var(--tone-text);
  --ui-icon-bg:color-mix(in srgb,var(--tone-accent) 13%,#fff);
  --ui-hover:color-mix(in srgb,var(--tone-accent) 12%,#fff);
}

/* Buttons */
html[data-theme] .primary-btn{
  background:linear-gradient(135deg,var(--tone-accent),color-mix(in srgb,var(--tone-accent) 72%,#fff));
  color:var(--ui-button-primary-text)!important;
  border:1px solid color-mix(in srgb,var(--tone-accent) 72%,transparent);
  box-shadow:0 10px 26px color-mix(in srgb,var(--tone-accent) 22%,transparent);
}
html[data-theme] .primary-btn:hover{
  box-shadow:0 14px 32px color-mix(in srgb,var(--tone-accent) 30%,transparent);
}
html[data-theme] .secondary-btn{
  background:var(--ui-button-secondary)!important;
  color:var(--ui-button-secondary-text)!important;
  border-color:var(--ui-border)!important;
}
html[data-theme] .secondary-btn:hover{
  background:var(--ui-hover)!important;
  border-color:color-mix(in srgb,var(--tone-accent) 36%,var(--ui-border))!important;
}

/* Section banners and major headings */
html[data-theme] .section-banner h2,
html[data-theme] .section-banner h3{
  color:var(--tone-text);
  text-shadow:none;
}
html[data-theme] .section-banner .eyebrow{color:var(--tone-accent)}
html[data-theme] .section-banner p{color:var(--tone-muted)}
html[data-theme] .banner-chips span,
html[data-theme] .week-badge{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .week-badge small{color:var(--tone-muted)}

/* Intentionally dark hero/banner media remains dark and readable. */
html[data-theme] .dark-banner,
html[data-theme] .journal-banner{
  color:#fff8fc;
}
html[data-theme] .dark-banner h2,
html[data-theme] .dark-banner h3,
html[data-theme] .journal-banner h2,
html[data-theme] .journal-banner h3{color:#fff8fc}
html[data-theme] .dark-banner .eyebrow,
html[data-theme] .journal-banner .eyebrow{color:#ffc1df}
html[data-theme] .dark-banner p,
html[data-theme] .journal-banner p{color:#ddcfdb}

/* Generic cards: reset old readability-pass white text where a theme is light. */
html[data-theme] .soft-card,
html[data-theme] .subtab-stage,
html[data-theme] .game-stage,
html[data-theme] .circle-card{
  color:var(--tone-text);
}
html[data-theme] .soft-card h1,
html[data-theme] .soft-card h2,
html[data-theme] .soft-card h3,
html[data-theme] .soft-card h4,
html[data-theme] .subtab-stage h1,
html[data-theme] .subtab-stage h2,
html[data-theme] .subtab-stage h3,
html[data-theme] .subtab-stage h4,
html[data-theme] .game-stage h1,
html[data-theme] .game-stage h2,
html[data-theme] .game-stage h3,
html[data-theme] .circle-card h1,
html[data-theme] .circle-card h2,
html[data-theme] .circle-card h3,
html[data-theme] .circle-card h4{
  color:var(--tone-text);
}
html[data-theme] .soft-card p,
html[data-theme] .soft-card small,
html[data-theme] .soft-card li,
html[data-theme] .subtab-stage p,
html[data-theme] .subtab-stage small,
html[data-theme] .game-stage p,
html[data-theme] .game-stage small,
html[data-theme] .circle-card p,
html[data-theme] .circle-card small{
  color:var(--tone-muted);
}

/* Homepage editorial note */
html[data-theme] .home-story-note{
  background:linear-gradient(135deg,var(--ui-soft),color-mix(in srgb,var(--tone-accent) 5%,var(--ui-soft)));
  border-color:color-mix(in srgb,var(--tone-accent) 24%,var(--ui-border));
}
html[data-theme] .home-story-note>span{color:var(--tone-accent)}
html[data-theme] .home-story-note>strong{color:var(--tone-text)}
html[data-theme] .home-story-note>p{color:var(--tone-muted)!important}

/* Homepage feature cards */
html[data-theme] .quiz-feature,
html[data-theme] .mini-card,
html[data-theme] .community-note{
  background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface-strong));
  color:var(--tone-text);
  border-color:var(--ui-border);
}
html[data-theme] .feature-card small,
html[data-theme] .feature-card em,
html[data-theme] .community-note small{color:var(--tone-muted);opacity:1}
html[data-theme] .feature-card strong,
html[data-theme] .community-note strong,
html[data-theme] .mini-card strong{color:var(--tone-text)}
html[data-theme] .mini-card small,
html[data-theme] .community-note span{color:var(--tone-accent)}
html[data-theme] .feature-icon{background:var(--ui-icon-bg);color:var(--tone-text)}

/* Keep Live Lounge deliberately dark across all themes. */
html[data-theme] .live-feature{
  background:linear-gradient(135deg,#211722,#38263b)!important;
  color:#fff!important;
}
html[data-theme] .live-feature strong,
html[data-theme] .live-feature small,
html[data-theme] .live-feature em{color:#fff!important}
html[data-theme] .live-feature small,
html[data-theme] .live-feature em{opacity:.72}

/* Social hub: its cards should belong to the selected theme too. */
html[data-theme] .home-social-panel{
  background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface-strong));
  border-color:var(--ui-border);
}
html[data-theme] .home-social-panel .social-hub-head>span{color:var(--tone-accent)}
html[data-theme] .home-social-panel .social-hub-head small{color:var(--tone-muted)}
html[data-theme] .social-link-grid-home>a,
html[data-theme] .home-social-panel .social-link-grid-home>a{
  background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface-strong));
  color:var(--tone-text);
  border-color:var(--ui-border);
  box-shadow:0 8px 22px color-mix(in srgb,var(--tone-bg1) 12%,transparent);
}
html[data-theme] .social-link-grid-home>a:hover{
  background:var(--ui-hover);
  border-color:color-mix(in srgb,var(--tone-accent) 38%,var(--ui-border));
}
html[data-theme] .social-link-grid-home>a>b{
  background:var(--ui-icon-bg);
  color:var(--tone-text);
}
html[data-theme] .social-link-grid-home strong{color:var(--tone-text)}
html[data-theme] .social-link-grid-home small,
html[data-theme] .home-social-panel .social-link-grid-home small{color:var(--tone-muted)}
html[data-theme] .social-link-grid-home i{color:var(--tone-accent)}

/* Home Comfy Circle strip */
html[data-theme] .home-circle-strip{
  background:linear-gradient(135deg,var(--ui-surface),var(--ui-surface-strong));
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .home-circle-copy h3{color:var(--tone-text)}
html[data-theme] .home-circle-copy p{color:var(--tone-muted)}
html[data-theme] .home-circle-actions button{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .home-circle-actions button:hover{
  background:var(--ui-hover);
  border-color:color-mix(in srgb,var(--tone-accent) 36%,var(--ui-border));
}
html[data-theme] .home-circle-actions button>span{background:var(--ui-icon-bg)}
html[data-theme] .home-circle-actions strong{color:var(--tone-text)}
html[data-theme] .home-circle-actions small{color:var(--tone-muted)}

/* About / Gaming tab controls */
html[data-theme] .subtab-list button{
  background:var(--ui-soft);
  color:var(--tone-text);
  border-color:var(--ui-border);
}
html[data-theme] .subtab-list button>span{
  background:var(--ui-icon-bg);
  color:var(--tone-text);
}
html[data-theme] .subtab-list strong{color:var(--tone-text)}
html[data-theme] .subtab-list small{color:var(--tone-muted)}
html[data-theme] .subtab-list button.active{
  background:linear-gradient(135deg,color-mix(in srgb,var(--tone-accent) 15%,var(--ui-surface)),var(--ui-surface));
  color:var(--tone-text);
  border-color:color-mix(in srgb,var(--tone-accent) 38%,var(--ui-border));
}
html[data-theme] .about-story-copy .eyebrow,
html[data-theme] .gaming-copy .eyebrow{color:var(--tone-accent)}
html[data-theme] .about-story-copy h3,
html[data-theme] .gaming-copy h3{color:var(--tone-text)}
html[data-theme] .about-story-copy .first-person-story,
html[data-theme] .gaming-copy p{color:var(--tone-muted)!important}

/* Gaming timeline / stat surfaces */
html[data-theme] .timeline span,
html[data-theme] .stat-cards span,
html[data-theme] .fact-pills span,
html[data-theme] .place-cloud span,
html[data-theme] .hobby-grid span{
  background:var(--ui-soft);
  color:var(--tone-text);
  border-color:var(--ui-border);
}
html[data-theme] .timeline small,
html[data-theme] .stat-cards small{color:var(--tone-muted)}
html[data-theme] .timeline i{color:var(--tone-accent)}

/* Media placeholders also need theme-aware copy. */
html[data-theme] .media-placeholder{
  background:linear-gradient(145deg,color-mix(in srgb,var(--tone-accent) 7%,var(--ui-surface)),var(--ui-surface));
  border-color:color-mix(in srgb,var(--tone-accent) 25%,var(--ui-border));
  color:var(--tone-muted);
}
html[data-theme] .media-placeholder strong{color:var(--tone-text)}
html[data-theme] .media-placeholder small{color:var(--tone-muted)}

/* Circle hub */
html[data-theme] .community-hero-copy h2,
html[data-theme] .community-hero-copy h3{color:var(--tone-text)}
html[data-theme] .community-hero-copy p{color:var(--tone-muted)!important}
html[data-theme] .community-hero-note span{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .circle-start{
  background:linear-gradient(135deg,var(--ui-surface),var(--ui-surface-strong));
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .circle-start-copy h3{color:var(--tone-text)}
html[data-theme] .circle-start-copy p{color:var(--tone-muted)}
html[data-theme] .circle-action-grid button{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .circle-action-grid button:hover,
html[data-theme] .circle-action-grid button:focus-visible{
  background:var(--ui-hover);
  border-color:color-mix(in srgb,var(--tone-accent) 40%,var(--ui-border));
}
html[data-theme] .circle-action-grid button>span{background:var(--ui-icon-bg)}
html[data-theme] .circle-action-grid strong{color:var(--tone-text)}
html[data-theme] .circle-action-grid small{color:var(--tone-muted)}
html[data-theme] .circle-action-grid i{color:var(--tone-accent)}
html[data-theme] .circle-howto{
  background:color-mix(in srgb,var(--tone-accent) 7%,var(--ui-soft));
  border-color:color-mix(in srgb,var(--tone-accent) 22%,var(--ui-border));
}
html[data-theme] .circle-howto b{color:var(--tone-accent)}
html[data-theme] .circle-howto span,
html[data-theme] .circle-mini-label{color:var(--tone-muted)}
html[data-theme] .circle-profile-live h4,
html[data-theme] .girls-night-item h4{color:var(--tone-text)}
html[data-theme] .circle-profile-live p,
html[data-theme] .girls-night-item p,
html[data-theme] .girls-night-item .event-date,
html[data-theme] .compliment-submit-row>span{color:var(--tone-muted)}
html[data-theme] .circle-profile-live,
html[data-theme] .community-question-option,
html[data-theme] .girls-night-item,
html[data-theme] .compliment-note,
html[data-theme] .circle-member-chip{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .community-question-option span,
html[data-theme] .compliment-note{color:var(--tone-text)}
html[data-theme] .community-question-option b,
html[data-theme] .girls-night-item .event-tag{color:var(--tone-accent)}
html[data-theme] .girls-night-item .event-location,
html[data-theme] .compliment-note small{color:var(--tone-muted)}
html[data-theme] .girls-night-item button{
  background:color-mix(in srgb,var(--tone-accent) 10%,var(--ui-soft));
  border-color:color-mix(in srgb,var(--tone-accent) 26%,var(--ui-border));
  color:var(--tone-text);
}
html[data-theme] .circle-empty{
  background:color-mix(in srgb,var(--tone-accent) 3%,var(--ui-soft));
  border-color:color-mix(in srgb,var(--tone-accent) 24%,var(--ui-border));
  color:var(--tone-muted);
}
html[data-theme] .circle-empty>strong{color:var(--tone-text)}
html[data-theme] .circle-empty>small{color:var(--tone-muted)}

/* Support cards and Discord card follow the selected theme. */
html[data-theme] .discord-card,
html[data-theme] .support-quick{
  background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface-strong));
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .discord-card h3,
html[data-theme] .support-quick h3{color:var(--tone-text)}
html[data-theme] .discord-card p,
html[data-theme] .support-quick p{color:var(--tone-muted)}
html[data-theme] .support-quick>a,
html[data-theme] .donation-grid>a{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .support-quick>a small,
html[data-theme] .donation-grid>a small{color:var(--tone-muted)}
html[data-theme] .support-quick>a b,
html[data-theme] .donation-grid>a b{
  background:var(--ui-icon-bg);
  color:var(--tone-accent);
}

/* Playlist selectors */
html[data-theme] .playlist-shelf-btn{
  background:var(--ui-soft);
  border-color:var(--ui-border);
  color:var(--tone-text);
}
html[data-theme] .playlist-shelf-btn:hover,
html[data-theme] .playlist-shelf-btn.active{
  background:var(--ui-hover);
  border-color:color-mix(in srgb,var(--tone-accent) 40%,var(--ui-border));
}
html[data-theme] .playlist-shelf-btn>span{background:var(--ui-icon-bg);color:var(--tone-accent)}
html[data-theme] .playlist-shelf-btn small{color:var(--tone-accent)}
html[data-theme] .playlist-shelf-btn em{color:var(--tone-muted)}

/* Explicit light-theme contrast rescue for legacy components with fixed white copy. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .welcome-copy h1,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .subpanel h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-copy h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .circle-card-head h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .circle-start-copy h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .home-circle-copy h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .social-link-grid-home strong,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .home-story-note>strong{
  color:var(--tone-text)!important;
  text-shadow:none!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .first-person-story,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .subpanel p,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-copy p,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .home-circle-copy p{
  color:var(--tone-muted)!important;
}

/* Pink & White gets a genuinely pink/white interface rather than purple cards. */
html[data-theme="pink"] .welcome-card,
html[data-theme="gold"] .welcome-card,
html[data-theme="pink"] .home-social-panel,
html[data-theme="gold"] .home-social-panel,
html[data-theme="pink"] .home-circle-strip,
html[data-theme="gold"] .home-circle-strip,
html[data-theme="pink"] .subtab-stage,
html[data-theme="gold"] .subtab-stage,
html[data-theme="pink"] .circle-start,
html[data-theme="gold"] .circle-start,
html[data-theme="pink"] .circle-card,
html[data-theme="gold"] .circle-card,
html[data-theme="pink"] .game-stage{
  background:
    radial-gradient(circle at 90% 8%,rgba(232,131,183,.08),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,244,250,.95))!important;
  border-color:rgba(115,68,96,.14)!important;
}
html[data-theme="pink"] .social-link-grid-home>a,
html[data-theme="gold"] .social-link-grid-home>a{
  background:linear-gradient(145deg,#fff,#fff3f9)!important;
  box-shadow:0 8px 24px rgba(126,76,105,.07)!important;
}
html[data-theme="pink"] .home-circle-actions button,
html[data-theme="gold"] .home-circle-actions button,
html[data-theme="pink"] .circle-action-grid button,
html[data-theme="pink"] .subtab-list button{
  background:linear-gradient(145deg,#fff8fc,#fdebf4)!important;
}
html[data-theme="pink"] .home-circle-actions button:hover,
html[data-theme="gold"] .home-circle-actions button:hover,
html[data-theme="pink"] .circle-action-grid button:hover,
html[data-theme="pink"] .subtab-list button:hover,
html[data-theme="pink"] .subtab-list button.active{
  background:linear-gradient(145deg,#ffe2f0,#fff8fc)!important;
}
html[data-theme="pink"] .section-banner:not(.dark-banner):not(.journal-banner),
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner){
  background:linear-gradient(120deg,#ffe3f0 0%,#fff9fc 56%,#f4eafa 100%)!important;
}
html[data-theme="pink"] .section-banner:not(.dark-banner):not(.journal-banner) h2,
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) h2{
  color:#3b2836!important;
}
html[data-theme="pink"] .section-banner:not(.dark-banner):not(.journal-banner) p,
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) p{
  color:#756574!important;
}

/* Spring also receives a complete light palette rather than leftover dark surfaces. */
html[data-theme="spring"] .welcome-card,
html[data-theme="spring"] .home-social-panel,
html[data-theme="spring"] .home-circle-strip,
html[data-theme="spring"] .subtab-stage,
html[data-theme="spring"] .circle-start,
html[data-theme="spring"] .circle-card,
html[data-theme="spring"] .game-stage{
  background:
    radial-gradient(circle at 88% 10%,rgba(222,142,183,.07),transparent 27%),
    linear-gradient(145deg,rgba(255,255,252,.96),rgba(242,249,239,.95))!important;
  border-color:rgba(72,101,73,.14)!important;
}
html[data-theme="spring"] .social-link-grid-home>a,
html[data-theme="spring"] .home-circle-actions button,
html[data-theme="spring"] .circle-action-grid button,
html[data-theme="spring"] .subtab-list button{
  background:linear-gradient(145deg,#fffefc,#eef6ea)!important;
}

/* Accessibility: preserve readable contrast at small text sizes. */
html[data-theme] .social-link-grid-home small,
html[data-theme] .subtab-list small,
html[data-theme] .circle-action-grid small,
html[data-theme] .home-circle-actions small{
  opacity:1!important;
}


/* ============================================================
   V53 — LIGHT THEME CONTRAST / LEGACY COLOUR CLEAN-UP
   Removes remaining hard-coded dark-theme whites from Pink/Spring.
   ============================================================ */

:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]){
  color-scheme:light;
}

/* ABOUT — old dark-theme h3/subtab colours were still winning in places. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-stage,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-panel{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-copy h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-copy h2,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-copy strong{
  color:var(--tone-text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-copy .eyebrow{
  color:var(--tone-accent)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-story-copy .first-person-story{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-subtabs button strong{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .about-subtabs button small{
  color:var(--tone-muted)!important;
}

/* GAMING — timeline/platform labels and story headings. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-stage{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-copy h3,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-copy h2{
  color:var(--tone-text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .gaming-copy p{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .timeline span{
  background:linear-gradient(145deg,#fff,#fff3f8)!important;
  border-color:rgba(100,61,85,.14)!important;
  box-shadow:0 8px 20px rgba(105,68,91,.06)!important;
}
html[data-theme="spring"] .timeline span{
  background:linear-gradient(145deg,#fffefc,#eef6ea)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .timeline b{
  color:var(--tone-text)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .timeline small{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .timeline i{
  color:var(--tone-accent)!important;
}

/* PHOTOGRAPHY — banner metadata was hard-coded white. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-meta strong{
  color:var(--tone-text)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-meta small{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-banner h2{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-banner p{
  color:var(--tone-muted)!important;
}

/* Photography directory and empty gallery become light-theme surfaces too. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-workspace .location-list button{
  background:var(--ui-soft)!important;
  color:var(--tone-text)!important;
  border:1px solid var(--ui-border)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-workspace .location-list button.active,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-workspace .location-list button:hover{
  background:var(--ui-hover)!important;
  color:var(--tone-text)!important;
  border-color:color-mix(in srgb,var(--tone-accent) 38%,var(--ui-border))!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-workspace .location-list button span{
  background:color-mix(in srgb,var(--tone-accent) 14%,#fff)!important;
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-empty-state{
  background:linear-gradient(145deg,rgba(255,255,255,.90),color-mix(in srgb,var(--tone-accent) 5%,#fff))!important;
  border-color:color-mix(in srgb,var(--tone-accent) 28%,var(--ui-border))!important;
  color:var(--tone-muted)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-empty-state>strong{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .photo-empty-state>small{
  color:var(--tone-muted)!important;
}

/* JOURNAL — make the shelf itself follow light themes rather than staying plum. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-shell{
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--tone-accent) 8%,transparent),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.96),color-mix(in srgb,var(--tone-accent) 4%,#fff))!important;
  border-color:var(--ui-border)!important;
  color:var(--tone-text)!important;
  box-shadow:0 22px 60px rgba(96,63,83,.09)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-intro-row{
  border-bottom-color:var(--ui-border)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-intro-row h3{
  color:var(--tone-text)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-intro-row p{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-intro-row .eyebrow{
  color:var(--tone-accent)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-filter-bar button{
  background:var(--ui-soft)!important;
  color:var(--tone-text)!important;
  border-color:var(--ui-border)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-filter-bar button span{
  color:var(--tone-accent)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-filter-bar button:hover,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-filter-bar button.active{
  background:linear-gradient(135deg,var(--tone-accent),color-mix(in srgb,var(--tone-accent) 72%,#fff))!important;
  color:#352331!important;
  border-color:var(--tone-accent)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-filter-bar button.active span{
  color:#5d314b!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-post-card{
  border-bottom-color:var(--ui-border)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-card-meta{
  color:var(--tone-muted)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-card-copy h3{
  color:var(--tone-text)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-card-copy p{
  color:var(--tone-muted)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-read-btn{
  color:var(--tone-accent)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-empty{
  background:linear-gradient(145deg,rgba(255,255,255,.76),color-mix(in srgb,var(--tone-accent) 4%,#fff))!important;
  border-color:color-mix(in srgb,var(--tone-accent) 28%,var(--ui-border))!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-empty strong{
  color:var(--tone-text)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-empty small{
  color:var(--tone-muted)!important;
  opacity:1!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-more{
  background:var(--ui-button-secondary)!important;
  color:var(--tone-text)!important;
  border:1px solid var(--ui-border)!important;
}

/* The top Journal hero intentionally stays dark, but its controls get stronger contrast. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-banner .journal-toolbar button{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff8fc!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-banner .journal-toolbar button:hover{
  background:rgba(255,255,255,.17)!important;
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .journal-banner .journal-toolbar button.active{
  background:#f0a2ca!important;
  color:#291a26!important;
  border-color:#f0a2ca!important;
}

/* Remaining common legacy headings/text on pale surfaces. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .subtab-stage :is(h1,h2,h3,h4,strong):not(.media-placeholder strong),
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .game-stage :is(h1,h2,h3,h4,strong):not(.media-placeholder strong){
  color:var(--tone-text);
}
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .subtab-stage :is(p,small),
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .game-stage :is(p,small){
  color:var(--tone-muted);
}

/* Do not let the generic light-surface rescue recolour explicit state feedback. */
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .trivia-option.correct,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .trivia-option.wrong,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .cozyword-tile.correct,
:is(html[data-theme="pink"],
html[data-theme="gold"],html[data-theme="spring"],html[data-theme="gold"]) .cozyword-tile.present{
  color:#fff!important;
}

/* Slightly stronger text contrast in Pink & White specifically. */
html[data-theme="pink"]{
  --tone-text:#352532;
  --tone-muted:#746572;
  --tone-line:rgba(91,55,78,.16);
}
html[data-theme="spring"]{
  --tone-text:#304033;
  --tone-muted:#627064;
  --tone-line:rgba(62,91,65,.16);
}


/* V56 — back to two user-selectable colour tones only. */
.theme-choice-grid-two{grid-template-columns:1fr 1fr}
.seasonal-overlay{display:none!important}
@media(max-width:700px){.theme-choice-grid-two{grid-template-columns:1fr}}


/* V57 — Pink, White & Gold theme */
html[data-theme="gold"] body{
  background:
    radial-gradient(circle at 12% 12%,rgba(238,145,189,.16),transparent 28%),
    radial-gradient(circle at 86% 14%,rgba(241,208,133,.18),transparent 24%),
    radial-gradient(circle at 82% 86%,rgba(212,170,83,.12),transparent 26%),
    radial-gradient(circle at 18% 82%,rgba(255,223,186,.16),transparent 22%),
    linear-gradient(150deg,#fffaf5 0%,#fff4ea 42%,#fffdf9 100%);
  background-attachment:fixed;
}
html[data-theme="gold"] body:before{
  background-image:radial-gradient(rgba(214,178,101,.15) 1px,transparent 1px);
  background-size:24px 24px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.22),transparent 55%);
  opacity:.65;
}
html[data-theme="gold"] body:after{
  inset:auto -10vw -24vw auto;
  width:68vw;height:68vw;max-width:980px;max-height:980px;
  background:radial-gradient(circle,rgba(223,184,109,.18),rgba(223,184,109,0) 70%);
  filter:blur(34px);
}
html[data-theme="gold"] .topbar{background:rgba(255,250,245,.88);border-bottom:1px solid rgba(196,154,83,.16);box-shadow:0 10px 30px rgba(192,151,91,.08)}
html[data-theme="gold"] .brand strong{color:#6a4b57}
html[data-theme="gold"] .brand small{color:#b98a36}
html[data-theme="gold"] .room-nav a{color:#8d6a77}
html[data-theme="gold"] .room-nav a:hover,
html[data-theme="gold"] .room-nav a.active{background:rgba(212,170,83,.14);color:#6c4454}
html[data-theme="gold"] .room-nav .play-link{color:#b98a36}
html[data-theme="gold"] .room-nav .support-link{color:#de89b2}
html[data-theme="gold"] .discord-pill,
html[data-theme="gold"] .watch-pill{border-color:rgba(196,154,83,.18);color:#6a4b57;background:rgba(255,255,255,.75)}
html[data-theme="gold"] .mobile-menu span{background:#8d6a77}
html[data-theme="gold"] .soft-card{background:linear-gradient(145deg,rgba(255,253,249,.95),rgba(255,246,236,.94));border:1px solid rgba(203,163,95,.16);box-shadow:0 18px 45px rgba(188,146,79,.12)}
html[data-theme="gold"] .eyebrow{color:#c79745}
html[data-theme="gold"] .secondary-btn{background:rgba(255,255,255,.82);color:#704b58;border-color:rgba(196,154,83,.18)}
html[data-theme="gold"] .primary-btn{background:linear-gradient(135deg,#f0d39c,#d9ad55);color:#4e3640}
html[data-theme="gold"] .primary-btn:hover{filter:brightness(1.03)}
html[data-theme="gold"] .subtab-list button:hover,
html[data-theme="gold"] .subtab-list button.active,
html[data-theme="gold"] .circle-action-grid button:hover,
html[data-theme="gold"] .home-circle-actions button:hover{background:rgba(212,170,83,.16);color:#6c4454}
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner){background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(255,244,232,.94));border-color:rgba(203,163,95,.16)}
html[data-theme="gold"] .dark-banner{background:linear-gradient(135deg,rgba(112,74,88,.92),rgba(185,138,54,.88));border-color:rgba(255,238,210,.22)}
html[data-theme="gold"] .dark-banner h2,
html[data-theme="gold"] .dark-banner p{color:#fffaf6}
html[data-theme="gold"] .petal-field span{color:rgba(213,174,89,.20)}
html[data-theme="gold"] .floating-dock button,
html[data-theme="gold"] .floating-dock a{background:rgba(255,251,247,.88);color:#7a5966;border:1px solid rgba(203,163,95,.14)}
html[data-theme="gold"] .floating-dock button:hover,
html[data-theme="gold"] .floating-dock a:hover{background:rgba(255,245,232,.96);color:#6c4454}


/* V58 — Gold theme polish: stronger hierarchy, softer borders, clearer luxury accents. */
html[data-theme="gold"]{
  --ui-button-primary:#d4ad58;
  --ui-button-primary-text:#38271f;
  --ui-button-secondary:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,247,239,.96));
  --ui-button-secondary-text:#5f4551;
  --ui-icon-bg:linear-gradient(145deg,rgba(212,173,88,.18),rgba(255,245,231,.95));
  --ui-hover:linear-gradient(145deg,rgba(255,244,230,.98),rgba(250,237,219,.98));
}
html[data-theme="gold"] .topbar{
  background:linear-gradient(180deg,rgba(255,251,247,.94),rgba(255,248,242,.88));
  border-bottom:1px solid rgba(176,137,96,.16);
  box-shadow:0 10px 32px rgba(181,141,91,.10);
}
html[data-theme="gold"] .room-nav a,
html[data-theme="gold"] .header-actions a,
html[data-theme="gold"] .header-actions button{font-weight:600}
html[data-theme="gold"] .room-nav a{color:#7a626c}
html[data-theme="gold"] .room-nav a:hover,
html[data-theme="gold"] .room-nav a.active{
  background:linear-gradient(145deg,rgba(212,173,88,.18),rgba(255,247,237,.96));
  border:1px solid rgba(200,160,101,.14);
  box-shadow:0 8px 18px rgba(176,137,96,.10);
  color:#58414b;
}
html[data-theme="gold"] .theme-picker-pill,
html[data-theme="gold"] .studio-mode-pill,
html[data-theme="gold"] .discord-pill,
html[data-theme="gold"] .watch-pill{
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,247,238,.96));
  border-color:rgba(176,137,96,.18);
  color:#5f4551;
  box-shadow:0 6px 18px rgba(188,146,79,.08);
}
html[data-theme="gold"] .watch-pill{
  background:linear-gradient(135deg,#f4e0b0,#d5af61);
  color:#3e2e24;
}
html[data-theme="gold"] .watch-pill span{color:#69424f}
html[data-theme="gold"] .soft-card,
html[data-theme="gold"] .subtab-stage,
html[data-theme="gold"] .game-stage,
html[data-theme="gold"] .circle-card,
html[data-theme="gold"] .home-social-panel,
html[data-theme="gold"] .home-circle-strip,
html[data-theme="gold"] .circle-start{
  background:
    radial-gradient(circle at 92% 10%,rgba(222,139,179,.07),transparent 26%),
    radial-gradient(circle at 10% 100%,rgba(214,176,98,.06),transparent 22%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,246,236,.96))!important;
  border-color:rgba(168,130,94,.15)!important;
  box-shadow:0 18px 46px rgba(188,146,79,.10), inset 0 1px 0 rgba(255,255,255,.72);
}
html[data-theme="gold"] .primary-btn{
  background:linear-gradient(135deg,#efd9a3,#d4ad58 65%,#c59a43);
  color:#3a291f!important;
  border-color:rgba(186,144,71,.34)!important;
  box-shadow:0 12px 28px rgba(190,147,78,.18);
}
html[data-theme="gold"] .primary-btn:hover{box-shadow:0 16px 34px rgba(190,147,78,.24)}
html[data-theme="gold"] .secondary-btn{
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,247,239,.96))!important;
  color:#5d4651!important;
  border-color:rgba(176,137,96,.18)!important;
}
html[data-theme="gold"] .secondary-btn:hover{
  background:linear-gradient(145deg,rgba(255,245,231,.98),rgba(250,236,217,.98))!important;
  border-color:rgba(203,163,95,.28)!important;
}
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner){
  background:linear-gradient(120deg,#fff4f8 0%,#fffaf6 54%,#f8eedc 100%)!important;
  border-color:rgba(168,130,94,.15)!important;
  box-shadow:0 16px 40px rgba(188,146,79,.08);
}
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) .eyebrow{color:#c79139!important}
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) h2,
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) h3{color:#3e2d34!important}
html[data-theme="gold"] .section-banner:not(.dark-banner):not(.journal-banner) p{color:#74626a!important}
html[data-theme="gold"] .banner-chips span,
html[data-theme="gold"] .week-badge{
  background:linear-gradient(145deg,rgba(255,252,247,.84),rgba(249,239,222,.95));
  border-color:rgba(182,142,94,.18);
  color:#5e4651;
}
html[data-theme="gold"] .feature-card:not(.live-feature){
  background:
    radial-gradient(circle at 88% 10%,rgba(219,140,179,.06),transparent 24%),
    linear-gradient(145deg,rgba(255,252,247,.96),rgba(252,242,229,.95));
  border-color:rgba(176,137,96,.18);
  box-shadow:0 14px 34px rgba(188,146,79,.10), inset 0 1px 0 rgba(255,255,255,.72);
  color:#433038;
}
html[data-theme="gold"] .feature-card:not(.live-feature) .feature-icon,
html[data-theme="gold"] .mini-card>span,
html[data-theme="gold"] .social-link-grid-home>a>b,
html[data-theme="gold"] .subtab-list button>span,
html[data-theme="gold"] .circle-action-grid button>span,
html[data-theme="gold"] .home-circle-actions button>span{
  background:linear-gradient(145deg,rgba(212,173,88,.16),rgba(255,245,231,.95));
  color:#7b5c2a;
}
html[data-theme="gold"] .quiz-feature{
  background:
    radial-gradient(circle at 92% 12%,rgba(219,140,179,.07),transparent 22%),
    linear-gradient(145deg,#fffaf3,#f8ecd9)!important;
  border-color:rgba(186,145,86,.24)!important;
  box-shadow:0 16px 34px rgba(192,151,91,.12), inset 0 1px 0 rgba(255,255,255,.75);
}
html[data-theme="gold"] .mini-card,
html[data-theme="gold"] .community-note,
html[data-theme="gold"] .social-link-grid-home>a,
html[data-theme="gold"] .home-circle-actions button,
html[data-theme="gold"] .circle-action-grid button,
html[data-theme="gold"] .subtab-list button,
html[data-theme="gold"] .timeline span,
html[data-theme="gold"] .stat-cards span,
html[data-theme="gold"] .fact-pills span,
html[data-theme="gold"] .place-cloud span,
html[data-theme="gold"] .hobby-grid span,
html[data-theme="gold"] .support-quick>a,
html[data-theme="gold"] .donation-grid>a,
html[data-theme="gold"] .playlist-shelf-btn{
  background:
    linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,246,236,.96))!important;
  border-color:rgba(176,137,96,.17)!important;
  box-shadow:0 8px 24px rgba(188,146,79,.08);
}
html[data-theme="gold"] .mini-card:hover,
html[data-theme="gold"] .community-note:hover,
html[data-theme="gold"] .social-link-grid-home>a:hover,
html[data-theme="gold"] .home-circle-actions button:hover,
html[data-theme="gold"] .circle-action-grid button:hover,
html[data-theme="gold"] .subtab-list button:hover,
html[data-theme="gold"] .playlist-shelf-btn:hover,
html[data-theme="gold"] .playlist-shelf-btn.active{
  background:linear-gradient(145deg,rgba(255,246,234,.98),rgba(250,236,218,.98))!important;
  border-color:rgba(203,163,95,.28)!important;
}
html[data-theme="gold"] .mini-card strong,
html[data-theme="gold"] .feature-card strong,
html[data-theme="gold"] .social-link-grid-home strong,
html[data-theme="gold"] .home-circle-copy h3,
html[data-theme="gold"] .circle-start-copy h3,
html[data-theme="gold"] .subtab-list strong,
html[data-theme="gold"] .timeline b,
html[data-theme="gold"] .stat-cards b{
  color:#433038!important;
}
html[data-theme="gold"] .mini-card small,
html[data-theme="gold"] .community-note span,
html[data-theme="gold"] .social-link-grid-home i,
html[data-theme="gold"] .section-banner .eyebrow,
html[data-theme="gold"] .home-story-note>span{color:#c79139!important}
html[data-theme="gold"] .feature-card em,
html[data-theme="gold"] .feature-card small,
html[data-theme="gold"] .mini-card small,
html[data-theme="gold"] .community-note small,
html[data-theme="gold"] .social-link-grid-home small,
html[data-theme="gold"] .subtab-list small,
html[data-theme="gold"] .welcome-copy>p,
html[data-theme="gold"] .home-story-note>p,
html[data-theme="gold"] .section-banner p,
html[data-theme="gold"] .circle-card p,
html[data-theme="gold"] .circle-card small,
html[data-theme="gold"] .soft-card p,
html[data-theme="gold"] .soft-card small,
html[data-theme="gold"] .subtab-stage p,
html[data-theme="gold"] .game-stage p{color:#74616a!important;opacity:1}
html[data-theme="gold"] .home-story-note{
  background:linear-gradient(135deg,rgba(255,252,247,.95),rgba(250,241,227,.95));
  border-color:rgba(183,144,95,.22);
}
html[data-theme="gold"] .home-story-note>strong{color:#433038!important}
html[data-theme="gold"] .floating-dock{
  background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(255,246,236,.94));
  border-color:rgba(176,137,96,.18);
  box-shadow:0 18px 40px rgba(188,146,79,.12);
}
html[data-theme="gold"] .floating-dock button,
html[data-theme="gold"] .floating-dock a{
  background:rgba(255,251,247,.88);
  color:#705560;
  border:1px solid rgba(203,163,95,.16);
}
html[data-theme="gold"] .floating-dock button:hover,
html[data-theme="gold"] .floating-dock a:hover{
  background:linear-gradient(145deg,#f5ddb0,#ddbb73);
  color:#4b342d;
  border-color:rgba(195,152,81,.28);
}
html[data-theme="gold"] .floating-dock span{color:#c79139}


/* V59 — Gold theme completion pass.
   Finish the remaining legacy dark-theme controls so the gold theme
   looks consistent across home, kitchen and listen sections. */
html[data-theme="gold"] .live-feature,
html[data-theme="gold"] .live-feature:hover{
  background:linear-gradient(135deg,#2a1c29,#4a3148)!important;
  border-color:rgba(237,214,170,.18)!important;
  box-shadow:0 18px 38px rgba(84,47,67,.18), inset 0 1px 0 rgba(255,255,255,.06);
}
html[data-theme="gold"] .live-feature .feature-icon{
  background:linear-gradient(145deg,rgba(255,246,233,.96),rgba(244,227,193,.96))!important;
  color:#6d5160!important;
}
html[data-theme="gold"] .live-feature strong,
html[data-theme="gold"] .live-feature small,
html[data-theme="gold"] .live-feature em,
html[data-theme="gold"] .live-feature b{
  color:#fff8fc!important;
}
html[data-theme="gold"] .live-feature small,
html[data-theme="gold"] .live-feature em{opacity:.8!important}

html[data-theme="gold"] .cookbook-shell{
  background:
    radial-gradient(circle at 88% 12%,rgba(222,139,179,.06),transparent 23%),
    radial-gradient(circle at 14% 86%,rgba(214,176,98,.06),transparent 22%),
    linear-gradient(145deg,rgba(255,252,247,.97),rgba(253,243,231,.97))!important;
  border:1px solid rgba(176,137,96,.18)!important;
  box-shadow:0 24px 60px rgba(188,146,79,.11), inset 0 1px 0 rgba(255,255,255,.72);
  color:#433038!important;
}
html[data-theme="gold"] .cookbook-heading h3,
html[data-theme="gold"] .cookbook-heading strong{color:#433038!important}
html[data-theme="gold"] .cookbook-heading p,
html[data-theme="gold"] .recipe-page-status>span{color:#76616a!important}
html[data-theme="gold"] .recipe-page-btn{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,246,236,.97))!important;
  color:#5e4651!important;
  border-color:rgba(176,137,96,.18)!important;
  box-shadow:0 8px 22px rgba(188,146,79,.08);
}
html[data-theme="gold"] .recipe-page-btn:hover:not(:disabled){
  background:linear-gradient(145deg,rgba(255,245,231,.98),rgba(250,236,218,.98))!important;
  border-color:rgba(203,163,95,.30)!important;
}
html[data-theme="gold"] .recipe-dot{background:rgba(176,137,96,.24)!important}
html[data-theme="gold"] .recipe-dot.active{background:#d4ad58!important;box-shadow:0 0 0 3px rgba(212,173,88,.16)!important}
html[data-theme="gold"] .recipe-empty-public{
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,246,236,.95))!important;
  border-color:rgba(183,144,95,.22)!important;
}
html[data-theme="gold"] .recipe-empty-public strong{color:#433038!important}
html[data-theme="gold"] .recipe-empty-public small{color:#76616a!important}

html[data-theme="gold"] .playlist-type-tab{
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(255,246,236,.96))!important;
  color:#433038!important;
  border-color:rgba(176,137,96,.18)!important;
  box-shadow:0 8px 22px rgba(188,146,79,.08);
}
html[data-theme="gold"] .playlist-type-tab:hover{
  background:linear-gradient(145deg,rgba(255,245,231,.98),rgba(250,236,218,.98))!important;
}
html[data-theme="gold"] .playlist-type-tab.active{
  background:linear-gradient(145deg,rgba(247,230,191,.96),rgba(255,247,235,.98))!important;
  border-color:rgba(203,163,95,.30)!important;
  box-shadow:0 12px 28px rgba(188,146,79,.12);
}
html[data-theme="gold"] .playlist-type-tab>span,
html[data-theme="gold"] .playlist-card-head>span{
  background:linear-gradient(145deg,rgba(212,173,88,.16),rgba(255,245,231,.95))!important;
  color:#7b5c2a!important;
}
html[data-theme="gold"] .playlist-type-tab strong,
html[data-theme="gold"] .playlist-card-head strong,
html[data-theme="gold"] .youtube-browser-head strong,
html[data-theme="gold"] .playlist-empty h3{
  color:#433038!important;
}
html[data-theme="gold"] .playlist-type-tab small,
html[data-theme="gold"] .playlist-card-head small,
html[data-theme="gold"] .playlist-card-head p,
html[data-theme="gold"] .playlist-empty p,
html[data-theme="gold"] .youtube-browser-head small,
html[data-theme="gold"] .youtube-browser-head>span,
html[data-theme="gold"] .youtube-track-copy small,
html[data-theme="gold"] .youtube-track-number{
  color:#76616a!important;
  opacity:1!important;
}
html[data-theme="gold"] .playlist-empty>span,
html[data-theme="gold"] .youtube-track-play{color:#c79139!important}
html[data-theme="gold"] .youtube-track-row{
  background:transparent!important;
  color:#433038!important;
}
html[data-theme="gold"] .youtube-track-row:hover{
  background:rgba(212,173,88,.10)!important;
}
html[data-theme="gold"] .youtube-track-row.active{
  background:linear-gradient(90deg,rgba(212,173,88,.16),rgba(222,139,179,.10))!important;
  box-shadow:inset 2px 0 #d4ad58!important;
}
html[data-theme="gold"] .youtube-track-copy strong{color:#433038!important}


/* V60 — background audio controls + Photography category polish. */
.ambient-audio-pill{border:1px solid rgba(95,62,80,.13);background:rgba(255,255,255,.48);border-radius:999px;padding:8px 12px;font:inherit;font-size:8px;font-weight:800;color:var(--ink);cursor:pointer;white-space:nowrap;transition:.18s ease}
.ambient-audio-pill:hover{transform:translateY(-1px)}
.ambient-audio-mobile{display:none}
html[data-theme] .ambient-audio-pill{background:var(--tone-chip);border-color:var(--tone-line);color:var(--tone-text)}
html[data-theme="gold"] .ambient-audio-pill{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,247,238,.96));border-color:rgba(176,137,96,.18);color:#5f4551;box-shadow:0 6px 18px rgba(188,146,79,.08)}
html[data-theme="gold"] .ambient-audio-pill:hover{background:linear-gradient(145deg,rgba(255,245,231,.98),rgba(250,236,217,.98));border-color:rgba(203,163,95,.28)}

html[data-theme="gold"] .photo-workspace .location-list{
  background:linear-gradient(145deg,rgba(255,252,247,.95),rgba(255,246,236,.96))!important;
  border-color:rgba(176,137,96,.18)!important;
  box-shadow:0 14px 34px rgba(188,146,79,.09);
}
html[data-theme="gold"] .photo-workspace .location-list button{
  background:transparent!important;
  color:#66515a!important;
  border-color:transparent!important;
}
html[data-theme="gold"] .photo-workspace .location-list button:hover{
  background:rgba(212,173,88,.09)!important;
  border-color:rgba(203,163,95,.16)!important;
}
html[data-theme="gold"] .photo-workspace .location-list button.active{
  background:linear-gradient(145deg,rgba(247,230,191,.88),rgba(255,247,235,.98))!important;
  border-color:rgba(203,163,95,.24)!important;
  color:#4f3b43!important;
  box-shadow:0 8px 20px rgba(188,146,79,.09)!important;
}
html[data-theme="gold"] .photo-workspace .location-list button span{
  background:rgba(212,173,88,.13)!important;
  color:#8a672c!important;
}

@media(max-width:1020px){
  .ambient-audio-pill{display:none}
  .ambient-audio-mobile{display:block;width:100%;border:0;border-radius:12px;padding:11px 12px;background:rgba(255,255,255,.06);color:inherit;text-align:left;font-size:11px;font-weight:800;cursor:pointer}
}


/* ============================================================
   V61 — GOLD THEME UI CONSISTENCY PASS
   Final high-specificity overrides for the remaining legacy dark
   surfaces and low-contrast copy seen in the current deployed UI.
   ============================================================ */

/* Home: keep Live Lounge as the one dark luxury accent, but make it legible. */
html[data-theme="gold"] body .home-rail .feature-card.live-feature,
html[data-theme="gold"] body .home-rail .feature-card.live-feature:hover{
  background:linear-gradient(135deg,#2b1d2b 0%,#493149 100%)!important;
  border:1px solid rgba(224,190,132,.22)!important;
  box-shadow:0 16px 34px rgba(72,45,62,.18), inset 0 1px 0 rgba(255,255,255,.06)!important;
  color:#fffaf7!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature .feature-icon{
  background:linear-gradient(145deg,#fff8ed,#ead3a7)!important;
  color:#684d5a!important;
  box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature small,
html[data-theme="gold"] body .home-rail .feature-card.live-feature strong,
html[data-theme="gold"] body .home-rail .feature-card.live-feature em,
html[data-theme="gold"] body .home-rail .feature-card.live-feature b{
  color:#fffaf7!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature small,
html[data-theme="gold"] body .home-rail .feature-card.live-feature em{color:#e9dce4!important;opacity:.9!important}

/* Journal: dark editorial hero is retained, but every word has enough contrast. */
html[data-theme="gold"] body .section-banner.journal-banner{
  background:
    radial-gradient(circle at 86% 16%,rgba(214,173,88,.13),transparent 28%),
    linear-gradient(135deg,#261a28 0%,#3e2940 58%,#25213a 100%)!important;
  border-color:rgba(220,184,116,.18)!important;
  box-shadow:0 18px 42px rgba(71,45,62,.14)!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .eyebrow{color:#e4b85f!important;opacity:1!important}
html[data-theme="gold"] body .section-banner.journal-banner h1,
html[data-theme="gold"] body .section-banner.journal-banner h2,
html[data-theme="gold"] body .section-banner.journal-banner h3{color:#fffaf7!important;opacity:1!important}
html[data-theme="gold"] body .section-banner.journal-banner p{color:#e5d7df!important;opacity:1!important}
html[data-theme="gold"] body .section-banner.journal-banner .banner-chips span,
html[data-theme="gold"] body .section-banner.journal-banner .banner-chips button,
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button{
  background:rgba(255,250,247,.09)!important;
  color:#fffaf7!important;
  border-color:rgba(255,245,236,.16)!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button:hover{
  background:rgba(229,184,95,.15)!important;
  border-color:rgba(229,184,95,.30)!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button.active{
  background:linear-gradient(135deg,#efd8a3,#d5ad58)!important;
  color:#402d32!important;
  border-color:rgba(213,173,88,.55)!important;
}

/* Kitchen: remove the giant dark legacy shell and blend it into the gold theme. */
html[data-theme="gold"] body [data-panel="recipes"] .cookbook-shell,
html[data-theme="gold"] body .cookbook-shell{
  background:
    radial-gradient(circle at 88% 10%,rgba(222,139,179,.07),transparent 24%),
    radial-gradient(circle at 10% 92%,rgba(214,176,98,.07),transparent 24%),
    linear-gradient(145deg,#fffdf9 0%,#fff7ed 56%,#fbefdf 100%)!important;
  border:1px solid rgba(177,137,94,.16)!important;
  box-shadow:0 22px 54px rgba(188,146,79,.11), inset 0 1px 0 rgba(255,255,255,.86)!important;
  color:#433038!important;
}
html[data-theme="gold"] body .cookbook-shell:before{opacity:.28!important}
html[data-theme="gold"] body .cookbook-shell .cookbook-heading .eyebrow{color:#c79139!important}
html[data-theme="gold"] body .cookbook-shell .cookbook-heading h1,
html[data-theme="gold"] body .cookbook-shell .cookbook-heading h2,
html[data-theme="gold"] body .cookbook-shell .cookbook-heading h3,
html[data-theme="gold"] body .cookbook-shell .cookbook-heading strong{color:#433038!important;opacity:1!important}
html[data-theme="gold"] body .cookbook-shell .cookbook-heading p{color:#74616a!important;opacity:1!important}
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro{
  border-color:rgba(177,137,94,.16)!important;
  box-shadow:0 14px 32px rgba(188,146,79,.09)!important;
}
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro .recipe-bottom{
  background:linear-gradient(180deg,#fffaf3,#fff4e8)!important;
}
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro .recipe-bottom h3,
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro .recipe-bottom strong{color:#433038!important}
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro .recipe-bottom p,
html[data-theme="gold"] body .cookbook-shell .recipe-card-pro .recipe-bottom small{color:#74616a!important}
html[data-theme="gold"] body .cookbook-shell .recipe-open-btn{
  background:linear-gradient(135deg,#5a3b50,#3e2a3b)!important;
  color:#fffaf7!important;
}
html[data-theme="gold"] body .cookbook-shell .recipe-open-btn:hover{background:linear-gradient(135deg,#6a465d,#493247)!important}

/* Listen: tabs were still inheriting white text from the old dark page. */
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab{
  background:linear-gradient(145deg,#fffdf9,#fff3e7)!important;
  color:#433038!important;
  border:1px solid rgba(177,137,94,.17)!important;
  box-shadow:0 9px 24px rgba(188,146,79,.09)!important;
}
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab:hover{
  background:linear-gradient(145deg,#fff7eb,#f9ead4)!important;
  border-color:rgba(203,163,95,.29)!important;
}
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab.active{
  background:linear-gradient(145deg,#f8e8bd,#fff7e9)!important;
  border-color:rgba(203,163,95,.34)!important;
  box-shadow:0 12px 28px rgba(188,146,79,.13)!important;
}
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab>span{
  background:linear-gradient(145deg,rgba(211,171,88,.20),#fff7e9)!important;
  color:#7b5c2a!important;
}
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab strong{color:#433038!important;opacity:1!important}
html[data-theme="gold"] body .playlist-type-tabs .playlist-type-tab small{color:#74616a!important;opacity:1!important}

/* Common gold-theme component text: avoid any dark-on-dark or white-on-white inheritance. */
html[data-theme="gold"] body .mini-card:not(.live-feature) strong,
html[data-theme="gold"] body .community-note strong,
html[data-theme="gold"] body .feature-card:not(.live-feature) strong,
html[data-theme="gold"] body .social-link-grid-home strong{color:#433038!important;opacity:1!important}
html[data-theme="gold"] body .mini-card:not(.live-feature) small,
html[data-theme="gold"] body .community-note small,
html[data-theme="gold"] body .feature-card:not(.live-feature) small,
html[data-theme="gold"] body .feature-card:not(.live-feature) em,
html[data-theme="gold"] body .social-link-grid-home small{color:#74616a!important;opacity:1!important}


/* ============================================================
   V62 — GOLD THEME: NO PLUM SURFACES
   The white / blush / champagne theme should remain light throughout.
   These high-specificity rules replace every intentional plum panel that
   was still surviving from the original dark design.
   ============================================================ */
html[data-theme="gold"] body .home-rail .feature-card.live-feature,
html[data-theme="gold"] body .home-rail .feature-card.live-feature:hover{
  background:
    radial-gradient(circle at 92% 12%,rgba(221,139,178,.12),transparent 30%),
    linear-gradient(135deg,#fffdf9 0%,#fff4f6 48%,#f7e8cb 100%)!important;
  border:1px solid rgba(187,145,82,.22)!important;
  box-shadow:0 16px 38px rgba(185,143,82,.12),inset 0 1px 0 rgba(255,255,255,.90)!important;
  color:#433038!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature .feature-icon{
  background:linear-gradient(145deg,#f8e7bd,#efd7a3)!important;
  color:#704b58!important;
  box-shadow:0 7px 18px rgba(187,145,82,.13)!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature small,
html[data-theme="gold"] body .home-rail .feature-card.live-feature strong,
html[data-theme="gold"] body .home-rail .feature-card.live-feature em,
html[data-theme="gold"] body .home-rail .feature-card.live-feature b{
  color:#433038!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-theme="gold"] body .home-rail .feature-card.live-feature small,
html[data-theme="gold"] body .home-rail .feature-card.live-feature em{color:#78656e!important}
html[data-theme="gold"] body .home-rail .feature-card.live-feature b{color:#b88938!important}

/* Photography: Jessi's original words card now belongs to the light gold theme. */
html[data-theme="gold"] body .original-story-card,
html[data-theme="gold"] body .photography-story{
  background:
    radial-gradient(circle at 94% 10%,rgba(224,143,181,.09),transparent 28%),
    linear-gradient(135deg,#fffdf9 0%,#fff6f4 54%,#f7ead3 100%)!important;
  border:1px solid rgba(185,144,89,.19)!important;
  box-shadow:0 20px 48px rgba(185,143,82,.10),inset 0 1px 0 rgba(255,255,255,.88)!important;
}
html[data-theme="gold"] body .original-story-card:after{
  background:radial-gradient(circle,rgba(222,139,179,.10),transparent 68%)!important;
}
html[data-theme="gold"] body .original-story-card .story-card-mark{color:#c99a45!important;opacity:.55!important}
html[data-theme="gold"] body .original-story-card .eyebrow{color:#bf8c35!important}
html[data-theme="gold"] body .original-story-card .story-card-copy h3{color:#433038!important}
html[data-theme="gold"] body .original-story-card .story-card-copy>p{color:#6f5d66!important}
html[data-theme="gold"] body .original-story-card .story-card-signoff{border-top-color:rgba(185,144,89,.18)!important}
html[data-theme="gold"] body .original-story-card .story-card-signoff span{color:#c08d39!important}
html[data-theme="gold"] body .original-story-card .story-card-signoff small{color:#806c74!important}

/* Journal: replace the remaining purple editorial hero with blush / ivory / gold. */
html[data-theme="gold"] body .section-banner.journal-banner{
  background:
    radial-gradient(circle at 88% 18%,rgba(221,139,178,.13),transparent 30%),
    radial-gradient(circle at 12% 84%,rgba(214,173,88,.10),transparent 28%),
    linear-gradient(125deg,#fff8f7 0%,#fffdf9 52%,#f5e6c8 100%)!important;
  border:1px solid rgba(185,144,89,.20)!important;
  box-shadow:0 18px 44px rgba(185,143,82,.11),inset 0 1px 0 rgba(255,255,255,.90)!important;
  color:#433038!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .eyebrow{color:#bf8c35!important}
html[data-theme="gold"] body .section-banner.journal-banner h1,
html[data-theme="gold"] body .section-banner.journal-banner h2,
html[data-theme="gold"] body .section-banner.journal-banner h3{color:#433038!important;text-shadow:none!important}
html[data-theme="gold"] body .section-banner.journal-banner p{color:#75626b!important}
html[data-theme="gold"] body .section-banner.journal-banner .banner-chips span,
html[data-theme="gold"] body .section-banner.journal-banner .banner-chips button,
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button{
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,246,235,.96))!important;
  color:#5d4651!important;
  border:1px solid rgba(185,144,89,.19)!important;
  box-shadow:0 7px 18px rgba(185,143,82,.07)!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button:hover{
  background:linear-gradient(145deg,#fff0f4,#f6e3c2)!important;
  color:#4c3841!important;
  border-color:rgba(193,148,77,.30)!important;
}
html[data-theme="gold"] body .section-banner.journal-banner .journal-toolbar button.active{
  background:linear-gradient(135deg,#efd9a3,#d3aa55)!important;
  color:#3f2f31!important;
  border-color:rgba(193,148,77,.42)!important;
}

/* Gaming banner: keep an uploaded image visible, but use a warm light wash instead of a plum overlay. */
html[data-theme="gold"] body .section-banner.dark-banner{
  color:#433038!important;
  border-color:rgba(185,144,89,.19)!important;
  box-shadow:0 18px 44px rgba(185,143,82,.10)!important;
}
html[data-theme="gold"] body .section-banner.dark-banner:after{
  background:linear-gradient(90deg,rgba(255,251,247,.94) 0%,rgba(255,247,241,.78) 48%,rgba(246,229,204,.55) 100%)!important;
}
html[data-theme="gold"] body .section-banner.dark-banner h1,
html[data-theme="gold"] body .section-banner.dark-banner h2,
html[data-theme="gold"] body .section-banner.dark-banner h3{color:#433038!important;text-shadow:none!important}
html[data-theme="gold"] body .section-banner.dark-banner p{color:#75626b!important}
html[data-theme="gold"] body .section-banner.dark-banner .eyebrow{color:#bf8c35!important}

/* Circle hero: no dark purple block in the gold theme. */
html[data-theme="gold"] body .section-banner.community-banner{
  background:
    radial-gradient(circle at 88% 12%,rgba(221,139,178,.12),transparent 28%),
    linear-gradient(125deg,#fff8f7 0%,#fffdf9 50%,#f5e6c8 100%)!important;
  border-color:rgba(185,144,89,.19)!important;
  box-shadow:0 18px 44px rgba(185,143,82,.10)!important;
  color:#433038!important;
}
html[data-theme="gold"] body .section-banner.community-banner h1,
html[data-theme="gold"] body .section-banner.community-banner h2,
html[data-theme="gold"] body .section-banner.community-banner h3{color:#433038!important}
html[data-theme="gold"] body .section-banner.community-banner p{color:#75626b!important}
html[data-theme="gold"] body .section-banner.community-banner .eyebrow{color:#bf8c35!important}

/* Audio elements are deliberately invisible; the visitor only sees the mute control. */
.ambient-audio-bank{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

/* ============================================================
   V63 — COMFY CRITTERS
   Original virtual-pet room with browser ownership + shared park.
   ============================================================ */
.critters-link{color:var(--tone-accent)!important}
.critter-feature{background:linear-gradient(135deg,rgba(255,245,251,.94),rgba(246,234,255,.94));color:#4d3543}
.critter-feature .feature-icon{background:rgba(221,129,177,.14);color:#b85f91}
.critter-banner{background:linear-gradient(120deg,var(--tone-banner1),var(--tone-banner2))}
.critter-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px;align-items:start}
.critter-home-card,.critter-park{padding:24px;min-height:640px}
.critter-loading{min-height:560px;display:grid;place-content:center;text-align:center;gap:8px;color:var(--tone-muted)}
.critter-loading span{font-size:38px;color:var(--tone-accent)}
.critter-loading strong{font-family:'Playfair Display',serif;font-size:24px;color:var(--tone-text)}
.critter-create{display:grid;gap:18px}
.critter-create-copy h3,.critter-profile h3,.critter-park-head h3,.critter-visit-copy h3{font-family:'Playfair Display',serif;color:var(--tone-text);margin:5px 0 6px}
.critter-create-copy h3{font-size:38px}.critter-create-copy p,.critter-park-head p,.critter-profile-head p,.critter-visit-copy>p{color:var(--tone-muted);font-size:10px;line-height:1.6;margin:0}
.critter-starter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.critter-starter{border:1px solid var(--tone-line);background:var(--tone-chip);color:var(--tone-text);border-radius:18px;padding:14px 10px;display:grid;justify-items:center;gap:5px;cursor:pointer;transition:.18s}
.critter-starter:hover,.critter-starter.active{transform:translateY(-2px);background:color-mix(in srgb,var(--tone-accent) 12%,var(--tone-card));border-color:color-mix(in srgb,var(--tone-accent) 36%,var(--tone-line));box-shadow:0 10px 24px color-mix(in srgb,var(--tone-accent) 12%,transparent)}
.critter-starter strong{font-size:10px}.critter-starter small{font-size:7px;color:var(--tone-muted)}
.critter-colours{display:flex;gap:8px;flex-wrap:wrap}.critter-colours button{width:28px;height:28px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--tone-line);cursor:pointer}.critter-colours button.active{border-color:var(--tone-card-solid);box-shadow:0 0 0 3px var(--tone-accent)}
.critter-colours [data-critter-tone="blush"]{background:#efadc9}.critter-colours [data-critter-tone="cream"]{background:#f1dfc1}.critter-colours [data-critter-tone="peach"]{background:#efb48f}.critter-colours [data-critter-tone="lilac"]{background:#c9b2df}.critter-colours [data-critter-tone="mint"]{background:#add5c1}.critter-colours [data-critter-tone="sky"]{background:#aacce4}
.critter-create-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.critter-create-fields label{display:grid;gap:5px;color:var(--tone-muted);font-size:8px;font-weight:800}.critter-create-fields input,.critter-restore input{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--tone-line);background:var(--tone-input);color:var(--tone-text);outline:0}
.critter-create-fields input:focus,.critter-restore input:focus{border-color:var(--tone-accent)}
.critter-restore{border-top:1px solid var(--tone-line);padding-top:15px;display:grid;gap:7px}.critter-restore>span{font-size:8px;color:var(--tone-muted)}.critter-restore>div{display:grid;grid-template-columns:1fr auto;gap:8px}
.critter-status{min-height:16px;margin:0;color:var(--tone-accent);font-size:9px}
.critter-owned{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.2fr);gap:20px;align-items:stretch}
.critter-room{min-height:540px;position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--tone-line);display:grid;place-items:end center;padding-bottom:74px;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--tone-accent) 16%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--tone-card) 94%,white 6%),color-mix(in srgb,var(--tone-card2) 94%,var(--tone-accent2) 6%))}
.critter-room:before{content:"";position:absolute;left:9%;right:9%;bottom:36px;height:74px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.11),transparent 68%);filter:blur(4px)}
.critter-room-glow{position:absolute;inset:auto 15% 16% 15%;height:180px;background:radial-gradient(circle,color-mix(in srgb,var(--tone-accent) 18%,transparent),transparent 68%);filter:blur(10px)}
.critter-room-star{position:absolute;color:var(--tone-accent2);opacity:.35;animation:critterTwinkle 4s ease-in-out infinite}.critter-room-star.s1{top:13%;left:15%}.critter-room-star.s2{top:20%;right:17%;animation-delay:-1.4s}.critter-room-star.s3{top:39%;left:12%;animation-delay:-2.2s}
.critter-avatar-wrap{position:relative;z-index:2;display:grid;place-items:center;animation:critterIdle 3.4s ease-in-out infinite}
.critter-speech{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:var(--tone-card-solid);border:1px solid var(--tone-line);color:var(--tone-text);font-size:9px;box-shadow:0 8px 22px rgba(0,0,0,.08);white-space:nowrap}
.critter-profile{display:flex;flex-direction:column;gap:14px;padding:8px 2px}.critter-profile-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.critter-profile-head h3{font-size:42px}.critter-level{width:74px;height:74px;border-radius:22px;background:var(--tone-chip);border:1px solid var(--tone-line);display:grid;place-content:center;text-align:center}.critter-level small{font-size:7px;color:var(--tone-muted);letter-spacing:.13em}.critter-level strong{font-family:'Playfair Display',serif;font-size:24px;color:var(--tone-accent2)}
.critter-xp{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.critter-xp>span{height:8px;border-radius:999px;background:var(--tone-chip);overflow:hidden}.critter-xp i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tone-accent),var(--tone-accent2));transition:width .25s}.critter-xp small{font-size:7px;color:var(--tone-muted)}
.critter-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.critter-stat{padding:10px 11px;border-radius:14px;background:var(--tone-chip);border:1px solid var(--tone-line);display:grid;gap:5px}.critter-stat-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.critter-stat-head span{font-size:8px;color:var(--tone-muted)}.critter-stat-head b{font-size:8px;color:var(--tone-text)}.critter-stat-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--tone-line) 55%,transparent);overflow:hidden}.critter-stat-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tone-accent),var(--tone-accent2))}
.critter-care-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.critter-care-actions button,.critter-social-actions button{border:1px solid var(--tone-line);background:var(--tone-chip);color:var(--tone-text);border-radius:15px;padding:10px 6px;display:grid;justify-items:center;gap:2px;cursor:pointer;transition:.16s}.critter-care-actions button:hover,.critter-social-actions button:hover{background:color-mix(in srgb,var(--tone-accent) 12%,var(--tone-card));transform:translateY(-2px)}.critter-care-actions button>span{font-size:17px}.critter-care-actions strong{font-size:8px}.critter-care-actions small{font-size:6px;color:var(--tone-muted)}
.critter-key-row{margin-top:auto;padding-top:13px;border-top:1px solid var(--tone-line);display:flex;align-items:center;justify-content:space-between;gap:12px}.critter-key-row>span{display:grid;gap:2px}.critter-key-row strong{font-size:8px;color:var(--tone-text)}.critter-key-row small{font-size:7px;color:var(--tone-muted);line-height:1.4}
.critter-park{min-height:640px}.critter-park-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.critter-park-head h3{font-size:28px}.critter-park-grid{display:grid;gap:8px;max-height:740px;overflow:auto;padding-right:3px}.critter-park-card{width:100%;border:1px solid var(--tone-line);background:var(--tone-chip);border-radius:17px;padding:10px;display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;color:var(--tone-text);cursor:pointer;transition:.16s}.critter-park-card:hover{background:color-mix(in srgb,var(--tone-accent) 10%,var(--tone-card));border-color:color-mix(in srgb,var(--tone-accent) 32%,var(--tone-line));transform:translateX(2px)}.critter-park-card-copy{display:grid;gap:2px;min-width:0}.critter-park-card-copy strong{font-family:'Playfair Display',serif;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.critter-park-card-copy small{font-size:7px;color:var(--tone-muted)}.critter-park-card-copy span{font-size:7px;color:var(--tone-accent)}.critter-park-card>i{font-style:normal;color:var(--tone-accent2);font-size:15px}.critter-park-empty{min-height:300px;display:grid;place-items:center;text-align:center;color:var(--tone-muted);font-size:9px}
.critter-visit-dialog{width:min(780px,94vw);max-height:90vh;border:1px solid var(--tone-line);border-radius:28px;padding:0;background:var(--tone-card-solid);color:var(--tone-text);box-shadow:0 35px 110px rgba(0,0,0,.40);overflow:auto}.critter-visit-dialog::backdrop{background:rgba(9,6,11,.60);backdrop-filter:blur(8px)}.critter-dialog-close{position:absolute;right:14px;top:14px;z-index:5;width:38px;height:38px;border-radius:50%;border:1px solid var(--tone-line);background:var(--tone-chip);color:var(--tone-text);font-size:22px;cursor:pointer}.critter-visit-dialog{display:none;grid-template-columns:.82fr 1.18fr}.critter-visit-dialog[open]{display:grid}.critter-visit-scene{min-height:520px;display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--tone-accent) 18%,transparent),transparent 28%),linear-gradient(180deg,var(--tone-card),var(--tone-card2));border-right:1px solid var(--tone-line)}.critter-visit-copy{padding:44px 28px 28px}.critter-visit-copy h3{font-size:40px}.critter-visit-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 0}.critter-visit-stat{padding:9px 10px;border-radius:12px;background:var(--tone-chip);border:1px solid var(--tone-line);display:flex;justify-content:space-between;gap:10px;font-size:8px}.critter-visit-stat span{color:var(--tone-muted)}.critter-social-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.critter-social-actions button{font-size:15px}.critter-social-actions button span{font-size:7px;font-weight:800}.critter-activity{display:grid;gap:6px;margin-top:15px;padding-top:12px;border-top:1px solid var(--tone-line)}.critter-activity-item{font-size:8px;color:var(--tone-muted);padding:8px 9px;border-radius:10px;background:var(--tone-chip)}

/* CSS critter character */
.critter-avatar{--fur:#efadc9;--fur2:#d98cac;position:relative;display:block;width:170px;height:210px;filter:drop-shadow(0 18px 22px rgba(55,33,50,.13))}.critter-avatar.mini{width:58px;height:72px;transform:scale(.9);transform-origin:center}.critter-avatar.tone-blush{--fur:#efadc9;--fur2:#d98cac}.critter-avatar.tone-cream{--fur:#f1dfc1;--fur2:#d7bd97}.critter-avatar.tone-peach{--fur:#efb48f;--fur2:#d58e68}.critter-avatar.tone-lilac{--fur:#c9b2df;--fur2:#a98bc5}.critter-avatar.tone-mint{--fur:#add5c1;--fur2:#84b79d}.critter-avatar.tone-sky{--fur:#aacce4;--fur2:#80aac7}
.critter-avatar .head{position:absolute;left:50%;top:38px;transform:translateX(-50%);width:118px;height:104px;border-radius:52% 52% 48% 48%;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.26),transparent 20%),linear-gradient(145deg,var(--fur),var(--fur2));box-shadow:inset 0 -5px 0 rgba(86,49,68,.06);z-index:3}.critter-avatar .body{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:102px;height:92px;border-radius:50% 50% 40% 40%;background:linear-gradient(145deg,var(--fur),var(--fur2));z-index:1}.critter-avatar .head b{position:absolute;top:44px;width:10px;height:13px;border-radius:50%;background:#49373f;box-shadow:inset 2px 2px 0 rgba(255,255,255,.28)}.critter-avatar .head b:first-child{left:30px}.critter-avatar .head b:nth-child(2){right:30px}.critter-avatar .head em{position:absolute;left:50%;top:67px;transform:translateX(-50%);width:22px;height:11px;border-bottom:3px solid #6f4c5d;border-radius:0 0 50% 50%}.critter-avatar .ear{position:absolute;z-index:2;background:linear-gradient(145deg,var(--fur),var(--fur2))}.species-bunny .ear{top:0;width:34px;height:82px;border-radius:50% 50% 45% 45%}.species-bunny .ear.e1{left:40px;transform:rotate(-8deg)}.species-bunny .ear.e2{right:40px;transform:rotate(8deg)}.species-cat .ear,.species-fox .ear{top:20px;width:50px;height:52px;clip-path:polygon(50% 0,100% 100%,0 100%)}.species-cat .ear.e1,.species-fox .ear.e1{left:28px;transform:rotate(-9deg)}.species-cat .ear.e2,.species-fox .ear.e2{right:28px;transform:rotate(9deg)}.species-bear .ear{top:24px;width:44px;height:44px;border-radius:50%}.species-bear .ear.e1{left:23px}.species-bear .ear.e2{right:23px}.species-fox .head{border-radius:50% 50% 58% 58%}.species-fox .tail{position:absolute;right:1px;bottom:24px;width:78px;height:48px;border-radius:60% 20% 60% 30%;background:linear-gradient(145deg,var(--fur),var(--fur2));transform:rotate(-18deg);z-index:0}.critter-avatar.mini .head{width:42px;height:37px;top:14px}.critter-avatar.mini .body{width:37px;height:33px;bottom:4px}.critter-avatar.mini .head b{top:15px;width:4px;height:5px}.critter-avatar.mini .head b:first-child{left:11px}.critter-avatar.mini .head b:nth-child(2){right:11px}.critter-avatar.mini .head em{top:24px;width:8px;height:5px;border-width:0 0 1px}.critter-avatar.mini.species-bunny .ear{width:12px;height:29px;top:1px}.critter-avatar.mini.species-bunny .ear.e1{left:14px}.critter-avatar.mini.species-bunny .ear.e2{right:14px}.critter-avatar.mini.species-cat .ear,.critter-avatar.mini.species-fox .ear{width:18px;height:19px;top:8px}.critter-avatar.mini.species-cat .ear.e1,.critter-avatar.mini.species-fox .ear.e1{left:10px}.critter-avatar.mini.species-cat .ear.e2,.critter-avatar.mini.species-fox .ear.e2{right:10px}.critter-avatar.mini.species-bear .ear{width:16px;height:16px;top:9px}.critter-avatar.mini.species-bear .ear.e1{left:8px}.critter-avatar.mini.species-bear .ear.e2{right:8px}.critter-avatar.mini.species-fox .tail{width:28px;height:17px;right:0;bottom:8px}
@keyframes critterIdle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes critterTwinkle{0%,100%{opacity:.18;transform:scale(.8)}50%{opacity:.65;transform:scale(1.15)}}

html[data-theme="gold"] .critter-feature{background:linear-gradient(145deg,#fffaf3,#f5e5c7)!important;color:#433038;border-color:rgba(186,145,86,.22)!important}.critter-feature strong{color:inherit!important}html[data-theme="gold"] .critter-feature small,html[data-theme="gold"] .critter-feature em{color:#74616a!important}html[data-theme="gold"] .critter-feature .feature-icon{background:linear-gradient(145deg,rgba(212,173,88,.18),#fff6e8);color:#8c6728}

@media(max-width:1100px){.critter-layout{grid-template-columns:1fr}.critter-park{min-height:0}.critter-park-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.critter-owned{grid-template-columns:320px 1fr}}
@media(max-width:760px){.critter-home-card,.critter-park{padding:15px}.critter-starter-grid{grid-template-columns:1fr 1fr}.critter-create-fields{grid-template-columns:1fr}.critter-owned{grid-template-columns:1fr}.critter-room{min-height:390px}.critter-profile-head h3{font-size:34px}.critter-care-actions{grid-template-columns:repeat(3,1fr)}.critter-park-grid{grid-template-columns:1fr}.critter-visit-dialog[open]{grid-template-columns:1fr}.critter-visit-scene{min-height:330px;border-right:0;border-bottom:1px solid var(--tone-line)}.critter-visit-copy{padding:26px 18px}.critter-create-copy h3{font-size:31px}}

/* --------------------------------------------------
   Comfy Critters — personality room upgrade (v64)
--------------------------------------------------- */
.critter-room{
  min-height:540px;
  position:relative;
  border-radius:26px;
  overflow:hidden;
  border:1px solid var(--tone-line);
  display:block;
  padding:0;
  background:
    radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--tone-accent) 18%,transparent),transparent 30%),
    linear-gradient(180deg,color-mix(in srgb,var(--tone-card) 97%,white 3%),color-mix(in srgb,var(--tone-card2) 94%,var(--tone-accent2) 6%));
}
.critter-room::before{content:"";position:absolute;left:0;right:0;bottom:0;height:114px;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--tone-accent2) 5%,transparent) 40%,color-mix(in srgb,var(--tone-card-solid) 95%,var(--tone-accent) 5%) 100%);z-index:0}
.critter-room::after{content:"";position:absolute;left:10%;right:10%;bottom:34px;height:78px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.14),transparent 70%);filter:blur(5px);z-index:0}
.critter-scene-props{position:absolute;inset:0;z-index:1;pointer-events:none}
.critter-prop{position:absolute;display:block}
.critter-bowl{left:7.5%;bottom:66px;width:70px;height:34px;border-radius:0 0 22px 22px;background:linear-gradient(180deg,#f8ecf2,#dd9ebd);border:1px solid rgba(162,92,128,.18);box-shadow:0 10px 18px rgba(76,30,58,.12)}
.critter-bowl::before{content:"";position:absolute;inset:3px 8px auto;height:8px;border-radius:999px;background:#fff6fb;opacity:.85}
.critter-bowl span{position:absolute;left:10px;right:10px;top:7px;height:12px;border-radius:999px;background:linear-gradient(90deg,#f9b468,#e88c61,#eaba78);box-shadow:0 0 0 1px rgba(147,91,67,.12) inset}
.critter-toy{left:44%;bottom:76px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 30%,#fff7ff,#f6d0e8 40%,#e7a6ca 100%);box-shadow:0 12px 20px rgba(89,33,77,.10);border:1px solid rgba(202,132,170,.18)}
.critter-toy::before,.critter-toy::after{content:"";position:absolute;top:13px;width:14px;height:18px;background:linear-gradient(180deg,#f7d8eb,#e4a4c6);border-radius:50% 50% 60% 60%}
.critter-toy::before{left:-8px;transform:rotate(-20deg)}
.critter-toy::after{right:-8px;transform:rotate(20deg)}
.critter-toy span{font-size:18px;opacity:.88}
.critter-bed{right:7%;bottom:58px;width:128px;height:68px;border-radius:28px;background:linear-gradient(145deg,#fdeef6,#f6d9e8);border:1px solid rgba(199,140,171,.22);box-shadow:0 14px 24px rgba(72,36,60,.12)}
.critter-bed::before{content:"";position:absolute;left:12px;right:12px;bottom:10px;height:28px;border-radius:20px;background:linear-gradient(145deg,#fff,#fbeff8)}
.critter-bed::after{content:"";position:absolute;left:16px;top:8px;width:40px;height:20px;border-radius:12px;background:linear-gradient(145deg,#fff7fc,#f3cade)}
.critter-room-glow{position:absolute;inset:auto 18% 16% 18%;height:180px;background:radial-gradient(circle,color-mix(in srgb,var(--tone-accent) 18%,transparent),transparent 68%);filter:blur(12px);z-index:0}
.critter-room-star{z-index:0}
.critter-avatar-wrap{position:absolute;left:0;right:0;bottom:86px;height:270px;z-index:2;pointer-events:none;animation:none}
.critter-avatar-container{--dir:1;position:absolute;left:50%;bottom:0;transform:translateX(-50%) scaleX(var(--dir));transform-origin:center bottom;will-change:left,transform;filter:drop-shadow(0 20px 24px rgba(63,32,55,.12))}
.critter-avatar-container.dir-left{--dir:-1}
.critter-avatar-container.state-walk .critter-avatar{animation:critterWalkBob .44s ease-in-out infinite}
.critter-avatar-container.state-bounce .critter-avatar{animation:critterBounce 1s ease-in-out infinite}
.critter-avatar-container.state-play .critter-avatar{animation:critterPlayHop .68s ease-in-out infinite}
.critter-avatar-container.state-eat .critter-avatar{animation:critterNibble .56s ease-in-out infinite}
.critter-avatar-container.state-idle .critter-avatar,.critter-avatar-container.state-cuddle .critter-avatar,.critter-avatar-container.state-clean .critter-avatar{animation:critterIdleBob 2.8s ease-in-out infinite}
.critter-avatar-container.state-sleep .critter-avatar{animation:critterSleepBob 3.3s ease-in-out infinite}
.critter-avatar-container.state-sleep{filter:drop-shadow(0 18px 22px rgba(63,32,55,.08)) saturate(.92)}
.critter-avatar-container.state-sleep .critter-avatar .head b{top:49px;height:2px;border-radius:999px;box-shadow:none;background:#6f4c5d}
.critter-avatar-container.state-sleep .critter-avatar .head em{top:70px;width:18px;height:4px;border:0;background:#7e6170;border-radius:999px}
.critter-avatar-container.state-eat .critter-avatar .head em{width:26px;top:68px;border-bottom-width:4px}
.critter-avatar-container.state-play .critter-avatar .head em,.critter-avatar-container.state-bounce .critter-avatar .head em{width:28px;top:66px;border-bottom-width:4px}
.critter-avatar-container.is-dirty .critter-avatar .body,.critter-avatar-container.is-dirty .critter-avatar .head{box-shadow:inset 0 -5px 0 rgba(86,49,68,.06), 0 0 0 3px rgba(162,122,87,.06)}
.critter-avatar-container.is-dirty .dust-puff{opacity:.95}
.critter-avatar-container.is-excited .heart-burst{opacity:1;animation:critterFloat 1.1s ease-in-out infinite}
.critter-avatar-container.state-clean .sparkle-burst{opacity:1;animation:critterTwinkle 1s ease-in-out infinite}
.critter-avatar-container.level-bow .avatar-bow,.critter-avatar-container.level-star .avatar-star,.critter-avatar-container.level-crown .avatar-crown{display:block}
.critter-avatar .avatar-bow,.critter-avatar .avatar-star,.critter-avatar .avatar-crown,.critter-avatar .sleep-zzz,.critter-avatar .dust-puff,.critter-avatar .sparkle-burst,.critter-avatar .heart-burst{position:absolute;display:none;z-index:5}
.critter-avatar .avatar-bow{top:54px;left:28px;width:26px;height:16px;background:linear-gradient(145deg,#f2c2da,#db90b7);border-radius:50% 30% 50% 30%;transform:rotate(-14deg)}
.critter-avatar .avatar-bow::before,.critter-avatar .avatar-bow::after{content:"";position:absolute;top:0;width:14px;height:16px;background:inherit;border-radius:50% 30% 50% 30%}
.critter-avatar .avatar-bow::before{left:-10px;transform:scaleX(-1)}
.critter-avatar .avatar-bow::after{right:-10px}
.critter-avatar .avatar-star{top:124px;right:18px;font-size:18px;color:#e1b85d;text-shadow:0 0 0 rgba(0,0,0,0)}
.critter-avatar .avatar-star::before{content:"✦"}
.critter-avatar .avatar-crown{top:16px;left:50%;transform:translateX(-50%);width:44px;height:20px;background:linear-gradient(180deg,#f2d889,#d7a94c);clip-path:polygon(0 100%,8% 45%,24% 82%,39% 15%,50% 68%,61% 15%,76% 82%,92% 45%,100% 100%);box-shadow:0 2px 0 rgba(118,82,22,.18)}
.critter-avatar .sleep-zzz{display:none;top:12px;right:-14px;font-size:16px;color:#a47ba6;text-shadow:0 5px 18px rgba(255,255,255,.8)}
.critter-avatar-container.state-sleep .sleep-zzz{display:block;animation:critterFloat 2s ease-in-out infinite}
.critter-avatar .dust-puff{left:-10px;bottom:36px;width:20px;height:20px;border-radius:50%;background:rgba(173,146,122,.38);box-shadow:18px 8px 0 3px rgba(173,146,122,.20),40px 0 0 2px rgba(173,146,122,.24);opacity:0}
.critter-avatar .sparkle-burst{left:-18px;top:34px;font-size:18px;color:#e3c26a;opacity:0}
.critter-avatar .sparkle-burst::before{content:"✦"}
.critter-avatar .heart-burst{right:-14px;top:28px;font-size:17px;color:#db84b5;opacity:0}
.critter-avatar .heart-burst::before{content:"♡"}
.critter-avatar.mini .avatar-bow,.critter-avatar.mini .avatar-star,.critter-avatar.mini .avatar-crown,.critter-avatar.mini .sleep-zzz,.critter-avatar.mini .dust-puff,.critter-avatar.mini .sparkle-burst,.critter-avatar.mini .heart-burst{display:none!important}
.critter-activity-pill{position:absolute;left:16px;top:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;max-width:min(250px,68%);padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.72);box-shadow:0 12px 26px rgba(48,24,44,.08);font-size:9px;color:var(--tone-text);font-weight:800;letter-spacing:.02em}
.critter-activity-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(180deg,var(--tone-accent),var(--tone-accent2));box-shadow:0 0 0 4px color-mix(in srgb,var(--tone-accent) 18%,transparent)}
.critter-speech{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:var(--tone-card-solid);border:1px solid var(--tone-line);color:var(--tone-text);font-size:9px;box-shadow:0 8px 22px rgba(0,0,0,.08);white-space:nowrap;max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis}
.critter-unlock-chip{padding:9px 12px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--tone-accent) 12%,var(--tone-card-solid)),color-mix(in srgb,var(--tone-accent2) 10%,var(--tone-card-solid)));border:1px solid color-mix(in srgb,var(--tone-accent) 26%,var(--tone-line));font-size:8px;color:var(--tone-text);font-weight:800;letter-spacing:.03em;justify-self:start}
.critter-park-card .critter-avatar{filter:drop-shadow(0 8px 10px rgba(55,33,50,.10))}

@keyframes critterWalkBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes critterIdleBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes critterBounce{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-16px) scale(1.03)}65%{transform:translateY(-4px) scale(.98)}}
@keyframes critterPlayHop{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-12px) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}75%{transform:translateY(-10px) rotate(-3deg)}}
@keyframes critterNibble{0%,100%{transform:translateY(0) rotate(0deg)}30%{transform:translateY(1px) rotate(-4deg)}60%{transform:translateY(-1px) rotate(3deg)}}
@keyframes critterSleepBob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(2px) rotate(-1deg)}}
@media(max-width:760px){
  .critter-room{min-height:420px}
  .critter-avatar-wrap{bottom:78px;height:220px}
  .critter-avatar{width:138px;height:176px}
  .critter-avatar .head{width:98px;height:88px;top:30px}
  .critter-avatar .body{width:86px;height:78px}
  .critter-avatar .head b:first-child{left:25px}.critter-avatar .head b:nth-child(2){right:25px}.critter-avatar .head em{top:58px}
  .species-bunny .ear{height:68px;width:28px}.species-bunny .ear.e1{left:34px}.species-bunny .ear.e2{right:34px}
  .species-cat .ear,.species-fox .ear{width:42px;height:44px;top:17px}.species-cat .ear.e1,.species-fox .ear.e1{left:26px}.species-cat .ear.e2,.species-fox .ear.e2{right:26px}
  .species-bear .ear{width:36px;height:36px}.species-bear .ear.e1{left:22px}.species-bear .ear.e2{right:22px}
  .species-fox .tail{width:64px;height:40px;bottom:20px}
  .critter-bowl{width:58px;height:30px;left:5%}
  .critter-bed{width:108px;height:58px;right:5%}
  .critter-toy{left:42%;width:40px;height:40px}
  .critter-activity-pill{max-width:75%;font-size:8px;padding:9px 12px}
}

/* --------------------------------------------------
   V65 — Critter personalities, growth stages & FX
--------------------------------------------------- */
.critter-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.critter-stage-chip,.critter-sfx-toggle{border:1px solid var(--tone-line);background:linear-gradient(145deg,color-mix(in srgb,var(--tone-accent) 7%,var(--tone-card)),var(--tone-card2));color:var(--tone-text);border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;text-align:left;box-shadow:0 8px 22px rgba(0,0,0,.045)}
.critter-stage-chip>span,.critter-sfx-toggle>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--tone-accent) 12%,var(--tone-card-solid));font-size:17px;flex:0 0 auto}
.critter-stage-chip>div,.critter-sfx-toggle>div{display:grid;gap:1px;min-width:0}
.critter-stage-chip small,.critter-sfx-toggle small{font-size:6px;letter-spacing:.14em;color:var(--tone-muted);font-weight:800}
.critter-stage-chip strong,.critter-sfx-toggle strong{font-family:'Playfair Display',serif;font-size:13px;color:var(--tone-text)}
.critter-stage-chip em{font-style:normal;font-size:7px;color:var(--tone-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.critter-sfx-toggle{cursor:pointer;min-width:132px;transition:.16s}
.critter-sfx-toggle:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--tone-accent) 10%,var(--tone-card))}
.critter-sfx-toggle[aria-pressed="false"]{opacity:.72}

/* Growth changes the silhouette rather than only changing the label. */
.critter-avatar-container.stage-baby .critter-avatar{scale:.87;transform-origin:center bottom}
.critter-avatar-container.stage-baby .critter-avatar .head{border-radius:55% 55% 50% 50%}
.critter-avatar-container.stage-growing .critter-avatar{scale:.96;transform-origin:center bottom}
.critter-avatar-container.stage-growing .critter-avatar .body{width:108px;height:98px}
.critter-avatar-container.stage-deluxe .critter-avatar{scale:1.055;transform-origin:center bottom;filter:drop-shadow(0 20px 24px rgba(55,33,50,.14)) drop-shadow(0 0 14px color-mix(in srgb,var(--tone-accent2) 20%,transparent))}
.critter-avatar-container.stage-deluxe .critter-avatar .head{background:radial-gradient(circle at 38% 25%,rgba(255,255,255,.34),transparent 20%),linear-gradient(145deg,color-mix(in srgb,var(--fur) 90%,white 10%),var(--fur2))}
.critter-avatar-container.stage-deluxe .critter-avatar .body{width:112px;height:101px}

/* Species-specific personality animation. */
.critter-avatar-container.state-hop .critter-avatar{animation:critterBunnyHop .62s cubic-bezier(.35,.05,.2,1) infinite}
.critter-avatar-container.state-zoomies .critter-avatar{animation:critterFoxZoom .32s ease-in-out infinite}
.critter-avatar-container.state-curl .critter-avatar{animation:critterCatCurl 3s ease-in-out infinite;transform-origin:center bottom}
.critter-avatar-container.state-doze .critter-avatar{animation:critterBearDoze 3.6s ease-in-out infinite;transform-origin:center bottom}
.critter-avatar-container.state-curl .critter-avatar .head b,.critter-avatar-container.state-doze .critter-avatar .head b{top:49px;height:2px;border-radius:999px;box-shadow:none;background:#6f4c5d}
.critter-avatar-container.state-curl .sleep-zzz,.critter-avatar-container.state-doze .sleep-zzz{display:block;animation:critterFloat 2s ease-in-out infinite}
.critter-avatar-container.state-zoomies .heart-burst,.critter-avatar-container.state-hop .heart-burst{opacity:1;animation:critterFloat 1s ease-in-out infinite}
@keyframes critterBunnyHop{0%,100%{transform:translateY(0) scaleY(1)}20%{transform:translateY(2px) scaleY(.94)}48%{transform:translateY(-17px) scaleY(1.03)}72%{transform:translateY(-5px) scaleY(.98)}}
@keyframes critterFoxZoom{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes critterCatCurl{0%,100%{transform:translateY(2px) rotate(-3deg) scale(.98)}50%{transform:translateY(4px) rotate(-5deg) scale(.96)}}
@keyframes critterBearDoze{0%,100%{transform:translateY(1px) rotate(1deg)}50%{transform:translateY(4px) rotate(-1deg)}}

/* Mood badges make Critter Park readable at a glance. */
.critter-park-title{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.critter-park-title>strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
.critter-mood-badge{flex:0 0 auto;border-radius:999px;padding:4px 7px;font-family:'DM Sans',sans-serif!important;font-size:6px!important;line-height:1!important;font-weight:800!important;background:color-mix(in srgb,var(--tone-accent) 9%,var(--tone-card-solid));border:1px solid color-mix(in srgb,var(--tone-accent) 20%,var(--tone-line));color:var(--tone-text)!important}
.critter-mood-badge.mood-hungry{background:color-mix(in srgb,#e49a6a 13%,var(--tone-card-solid))}
.critter-mood-badge.mood-sleepy{background:color-mix(in srgb,#9d90cf 13%,var(--tone-card-solid))}
.critter-mood-badge.mood-scruffy{background:color-mix(in srgb,#9eb9ad 13%,var(--tone-card-solid))}
.critter-mood-badge.mood-excited{background:color-mix(in srgb,#e5b85d 14%,var(--tone-card-solid))}
.critter-mood-badge.mood-loved{background:color-mix(in srgb,#e18bb8 14%,var(--tone-card-solid))}

html[data-theme="gold"] .critter-stage-chip,html[data-theme="gold"] .critter-sfx-toggle{background:linear-gradient(145deg,#fffdf9,#fbefdd);border-color:rgba(176,137,96,.17)}
html[data-theme="gold"] .critter-stage-chip>span,html[data-theme="gold"] .critter-sfx-toggle>span{background:linear-gradient(145deg,rgba(212,173,88,.16),#fff5e7);color:#856329}

@media(max-width:760px){
  .critter-meta-row{grid-template-columns:1fr}
  .critter-sfx-toggle{min-width:0;width:100%}
  .critter-stage-chip em{white-space:normal}
  .critter-park-title{align-items:flex-start}
}
@media(max-width:760px){
  .critter-avatar-container.stage-growing .critter-avatar .body{width:90px;height:82px}
  .critter-avatar-container.stage-deluxe .critter-avatar .body{width:94px;height:85px}
}


/* V67 — pin the new Lovable Jessica home/header logo and size it correctly. */
.brand img{
  width:110px!important;
  height:46px!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media(max-width:760px){
  .brand img{
    width:92px!important;
    height:38px!important;
  }
}
