:root {
    --bg: #050b14;
    --bg-deep: #02060c;
    --ink: #f7fbff;
    --muted: rgba(231, 242, 255, .64);
    --muted-strong: rgba(237, 246, 255, .78);
    --line: rgba(255,255,255,.13);
    --glass: rgba(14, 29, 48, .53);
    --glass-strong: rgba(19, 37, 61, .72);
    --blue: #64a9ff;
    --cyan: #7ee7ff;
    --violet: #9d8cff;
    --green: #60e0a6;
    --amber: #ffd27c;
    --radius-xl: 28px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --shadow: 0 30px 90px rgba(0,0,0,.36);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--ink);
    background:
        radial-gradient(circle at 12% 8%, rgba(41, 105, 188, .24), transparent 32rem),
        radial-gradient(circle at 86% 20%, rgba(22, 169, 210, .14), transparent 28rem),
        radial-gradient(circle at 60% 100%, rgba(109, 71, 190, .15), transparent 34rem),
        linear-gradient(145deg, #071221 0%, var(--bg) 45%, var(--bg-deep) 100%);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }

.ambient { position: fixed; border-radius: 50%; filter: blur(10px); pointer-events: none; opacity: .65; z-index: -3; }
.ambient-one { width: 420px; height: 420px; left: -180px; top: 10%; background: rgba(54,121,255,.12); }
.ambient-two { width: 360px; height: 360px; right: -120px; top: 6%; background: rgba(71,224,255,.1); }
.ambient-three { width: 520px; height: 520px; left: 45%; bottom: -310px; background: rgba(127,86,255,.1); }
.noise { position: fixed; inset: 0; pointer-events: none; z-index: -2; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E"); }

.glass-card, .glass-nav, .glass-stat {
    border: 1px solid var(--line);
    background: linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.025));
    box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(22px) saturate(135%);
    -webkit-backdrop-filter: blur(22px) saturate(135%);
}

.glass-card { position: relative; overflow: hidden; }

.brand-parent { font-size: .61rem; letter-spacing: .22em; font-weight: 700; color: rgba(235,246,255,.63); }
.crew-mark { display: block; font-family: Manrope, sans-serif; font-size: 2.6rem; line-height: 1; font-weight: 800; letter-spacing: .26em; margin-right: -.26em; }
.crew-mark.small { font-size: 1.25rem; margin-top: .28rem; }
.eyebrow { display: inline-block; color: var(--cyan); font-size: .69rem; letter-spacing: .19em; font-weight: 800; }

.primary-button, .secondary-button {
    width: 100%; min-height: 50px; border-radius: 14px; border: 0; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.primary-button { display: flex; align-items: center; justify-content: space-between; padding: 0 18px; background: linear-gradient(110deg, #e7f4ff, #88ceff); color: #05101d; font-weight: 800; box-shadow: 0 12px 32px rgba(65,166,255,.22); }
.primary-button:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(65,166,255,.3); }
.primary-button:disabled { cursor: default; opacity: .55; }
.primary-button.compact { width: auto; min-height: 42px; padding: 0 16px; gap: 18px; }
.secondary-button { border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.05); color: white; font-weight: 700; }
.secondary-button:hover { background: rgba(255,255,255,.09); transform: translateY(-1px); }

/* Login */
.login-shell { width: min(1380px, calc(100% - 40px)); min-height: calc(100vh - 40px); margin: 20px auto; display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(400px, .72fr); border: 1px solid rgba(255,255,255,.08); border-radius: 34px; overflow: hidden; background: rgba(2,8,15,.38); box-shadow: 0 40px 130px rgba(0,0,0,.44); }
.login-brand-panel { position: relative; min-height: 760px; padding: 54px 60px; overflow: hidden; background: radial-gradient(circle at 70% 46%, rgba(60,156,255,.25), transparent 29%), linear-gradient(130deg, rgba(12,30,53,.95), rgba(5,14,26,.68)); }
.login-brand-panel::before { content:""; position:absolute; width:740px; height:740px; border-radius:50%; border:1px solid rgba(132,211,255,.1); right:-190px; top:10%; box-shadow: 0 0 100px rgba(36,149,255,.08) inset; }
.login-story { position: relative; z-index: 2; max-width: 600px; margin-top: 17vh; }
.login-story h1 { margin: 12px 0 18px; font-family: Manrope, sans-serif; font-size: clamp(3.1rem, 6vw, 6.2rem); line-height: .96; letter-spacing: -.055em; }
.login-story h1 span { color: transparent; background: linear-gradient(90deg, #f9fdff, #83d5ff 55%, #a495ff); background-clip: text; -webkit-background-clip: text; }
.login-story p { width: min(580px, 90%); color: var(--muted); line-height: 1.7; font-size: 1.02rem; }
.brand-caption { position: absolute; bottom: 48px; left: 60px; color: rgba(235,246,255,.48); font-size: .63rem; letter-spacing: .22em; font-weight: 700; }
.world-orbit { position: absolute; width: 360px; height: 360px; right: -15px; bottom: -10px; opacity: .82; }
.orbit { position:absolute; border:1px solid rgba(161,221,255,.2); border-radius:50%; inset:40px; transform: rotate(-24deg) scaleY(.42); }
.orbit-b { inset:5px; transform:rotate(38deg) scaleY(.38); opacity:.6; }
.orbit-core { position:absolute; inset:116px; display:grid; place-items:center; border-radius:50%; background: radial-gradient(circle at 36% 30%, #a8e4ff, #337ad0 55%, #0b2856 80%); box-shadow:0 0 70px rgba(73,166,255,.45); font:800 3.8rem/1 Manrope; }
.orbit-dot { position:absolute; width:10px; height:10px; background:#b8eeff; border-radius:50%; box-shadow:0 0 20px #7bddff; }
.dot-one { left:41px; top:176px; }.dot-two { right:47px; top:92px; width:6px; height:6px; }.dot-three { right:82px; bottom:44px; width:8px; height:8px; }
.login-form-wrap { display:grid; place-items:center; padding:50px; background: linear-gradient(155deg, rgba(7,18,32,.86), rgba(3,9,17,.72)); }
.login-card { width:min(430px,100%); padding:34px; border-radius:var(--radius-xl); }
.login-card-heading h2 { font-family:Manrope; font-size:2rem; margin:26px 0 6px; letter-spacing:-.04em; }
.login-card-heading p, .sso-note { color:var(--muted); line-height:1.55; }
.mini-crew { font-weight:800; letter-spacing:.28em; font-family:Manrope; color:#d9efff; }
.login-form { display:grid; gap:16px; margin-top:28px; }
.login-form label { display:grid; gap:8px; }
.login-form label span { font-size:.77rem; font-weight:700; color:var(--muted-strong); }
.login-form input { width:100%; min-height:52px; border-radius:14px; border:1px solid rgba(255,255,255,.13); outline:none; padding:0 15px; color:white; background:rgba(3,10,18,.48); transition:border .2s, box-shadow .2s; }
.login-form input:focus { border-color:rgba(126,231,255,.55); box-shadow:0 0 0 4px rgba(126,231,255,.07); }
.login-form input::placeholder { color:rgba(231,242,255,.32); }
.divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:rgba(235,246,255,.35); text-transform:uppercase; font-size:.58rem; letter-spacing:.15em; }
.divider::before,.divider::after { content:""; height:1px; background:rgba(255,255,255,.09); flex:1; }
.sso-note { font-size:.72rem; text-align:center; margin:20px 8px 0; }
.alert { margin-top:18px; padding:11px 13px; border-radius:12px; font-size:.8rem; }.alert.error { border:1px solid rgba(255,121,121,.25); background:rgba(132,36,45,.16); color:#ffc8cc; }

/* App shell */
.app-shell { width:min(1260px, calc(100% - 40px)); margin:22px auto 50px; }
.glass-nav { position:sticky; top:16px; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:76px; padding:0 22px; border-radius:20px; }
.nav-brand { width:max-content; }
.desktop-nav { display:flex; gap:7px; padding:5px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:rgba(3,10,18,.27); }
.desktop-nav a { padding:9px 14px; border-radius:9px; color:var(--muted); font-size:.78rem; font-weight:700; transition:.2s; }
.desktop-nav a:hover,.desktop-nav a.active { color:white; background:rgba(255,255,255,.075); }
.profile-menu { justify-self:end; display:flex; align-items:center; gap:11px; }
.profile-copy { text-align:right; display:grid; gap:2px; }.profile-copy strong { font-size:.75rem; }.profile-copy span { font-size:.63rem; color:var(--muted); }
.avatar,.player-avatar { display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); background:linear-gradient(140deg,rgba(130,213,255,.24),rgba(112,77,206,.18)); font-weight:800; }
.avatar { width:38px; height:38px; border-radius:12px; font-size:.68rem; }
.icon-button { width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer; }.icon-button:hover{background:rgba(255,255,255,.07);color:white;}

.hero-section { padding:80px 4px 38px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; }
.hero-copy h1 { margin:9px 0 10px; font:800 clamp(2.5rem,5vw,4.8rem)/1 Manrope; letter-spacing:-.055em; }
.hero-copy p { color:var(--muted); max-width:620px; line-height:1.6; }
.hero-stats { display:flex; gap:10px; }
.glass-stat { min-width:132px; padding:14px; border-radius:16px; display:flex; align-items:center; gap:10px; }
.stat-icon { font-size:1rem; }.glass-stat div{display:grid;gap:2px}.glass-stat strong{font:800 1.12rem Manrope}.glass-stat span:last-child{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}

.spotlight { min-height:315px; border-radius:var(--radius-xl); padding:44px; display:grid; grid-template-columns:1.15fr .85fr; background:radial-gradient(circle at 78% 50%,rgba(80,171,255,.18),transparent 23%),linear-gradient(125deg,rgba(10,29,50,.78),rgba(10,23,42,.35)); }
.spotlight-copy { position:relative; z-index:2; max-width:660px; }.spotlight h2{font:800 clamp(2rem,4vw,3.4rem)/1.05 Manrope;letter-spacing:-.05em;margin:9px 0 13px}.spotlight p{color:var(--muted);line-height:1.65;max-width:620px}
.world-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.world-tags span,.progress-pill,.you-pill{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);border-radius:999px;font-size:.64rem;font-weight:700;color:var(--muted-strong)}.world-tags span{padding:7px 10px}
.spotlight-orb{position:relative;min-height:220px}.planet-glow{position:absolute;width:220px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:rgba(69,171,255,.15);filter:blur(30px)}.planet{position:absolute;width:150px;height:150px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 30% 25%,#bbf0ff,#438be1 38%,#132f68 66%,#08142a 82%);box-shadow:inset -20px -22px 40px rgba(0,0,0,.35),0 0 75px rgba(75,174,255,.24)}.planet-ring{position:absolute;width:250px;height:78px;left:50%;top:50%;border:1px solid rgba(185,231,255,.38);border-radius:50%;transform:translate(-50%,-50%) rotate(-20deg);box-shadow:0 0 20px rgba(102,202,255,.08)}

.section-block { padding-top:55px; }.section-heading,.card-heading-row { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }.section-heading h2,.card-heading-row h2{font:800 1.65rem/1.1 Manrope;letter-spacing:-.035em;margin:6px 0 0}.progress-pill{padding:8px 11px}
.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.game-card{min-height:335px;border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;justify-content:space-between}.word-card{background:radial-gradient(circle at 28% 45%,rgba(82,185,255,.13),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}.trivia-card{background:radial-gradient(circle at 65% 40%,rgba(144,98,255,.14),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}.game-card-top{display:flex;justify-content:space-between}.game-kicker,.points{font-size:.62rem;letter-spacing:.13em;font-weight:800}.game-kicker{color:var(--cyan)}.points{color:var(--muted)}
.mini-word-grid{display:flex;gap:8px;margin:38px 0}.mini-word-grid span{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:rgba(255,255,255,.055);font:800 1.1rem Manrope;box-shadow:inset 0 1px rgba(255,255,255,.08)}.mini-word-grid span:nth-child(1){background:rgba(63,205,151,.18);border-color:rgba(96,224,166,.35)}.mini-word-grid span:nth-child(2){background:rgba(255,198,96,.16);border-color:rgba(255,210,124,.31)}
.trivia-visual{height:130px;position:relative;display:grid;place-items:center}.question-mark{font:800 6.4rem/1 Manrope;color:transparent;-webkit-text-stroke:1px rgba(171,221,255,.53);text-shadow:0 0 35px rgba(87,181,255,.22)}.spark{position:absolute;color:#aceaff}.spark-a{right:28%;top:12%;font-size:1.4rem}.spark-b{left:29%;bottom:6%;color:#ac9aff}
.game-card-bottom{display:flex;justify-content:space-between;gap:20px;align-items:end}.game-card h3{font:800 1.5rem Manrope;margin:0 0 6px;letter-spacing:-.035em}.game-card p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}

.dashboard-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:18px;padding-top:18px}.leaderboard-card,.streak-card{border-radius:var(--radius-lg);padding:27px}.card-heading-row{align-items:center}.text-button{border:0;background:transparent;color:var(--cyan);font-size:.72rem;font-weight:700;cursor:pointer}.leaderboard-list{display:grid;gap:7px}.leader-row{display:grid;grid-template-columns:34px 40px 1fr auto auto;align-items:center;gap:11px;min-height:58px;padding:7px 11px;border:1px solid transparent;border-radius:13px}.leader-row.is-me{border-color:rgba(125,221,255,.16);background:rgba(89,181,255,.07)}.rank{font:700 .74rem Manrope;color:var(--muted)}.player-avatar{width:36px;height:36px;border-radius:11px;font-size:.7rem}.player-meta{display:grid;gap:3px}.player-meta strong{font-size:.78rem}.player-meta span{font-size:.64rem;color:var(--muted)}.you-pill{padding:4px 7px;color:var(--cyan)}.score{font:800 .8rem Manrope}.score small{font-size:.54rem;color:var(--muted)}
.streak-card{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 50% 0,rgba(255,174,93,.13),transparent 33%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}.streak-number{font:800 5.2rem/1 Manrope;letter-spacing:-.08em;margin-top:22px;background:linear-gradient(180deg,#fff,#ffcb86);color:transparent;background-clip:text;-webkit-background-clip:text}.streak-card h2{font:800 1.5rem Manrope;margin:1px 0 8px}.streak-card p{color:var(--muted);font-size:.8rem;line-height:1.55}.week-strip{display:flex;justify-content:space-between;gap:6px;margin-top:22px}.day{display:grid;gap:7px;text-align:center}.day span{font-size:.56rem;color:var(--muted)}.day i{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-style:normal;border:1px solid rgba(255,255,255,.12);color:var(--muted)}.day.done i{background:rgba(96,224,166,.14);border-color:rgba(96,224,166,.27);color:#a8ffd5}
footer{display:flex;justify-content:space-between;padding:28px 4px 0;color:rgba(235,246,255,.32);font-size:.63rem}

@media (max-width: 960px){
    .login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:430px;padding:38px}.login-story{margin-top:80px}.login-form-wrap{padding:38px 24px}.brand-caption{left:38px;bottom:30px}.world-orbit{width:260px;height:260px;right:-70px;bottom:-35px}.orbit-core{inset:85px}.hero-section{grid-template-columns:1fr}.hero-stats{justify-content:flex-start}.spotlight{grid-template-columns:1fr}.spotlight-orb{display:none}.dashboard-grid{grid-template-columns:1fr}.profile-copy{display:none}
}
@media (max-width: 720px){
    .app-shell{width:min(100% - 22px,1260px);margin-top:10px}.glass-nav{top:8px;grid-template-columns:1fr auto;min-height:68px;padding:0 15px}.desktop-nav{display:none}.game-grid{grid-template-columns:1fr}.hero-section{padding-top:58px}.hero-copy h1{font-size:2.9rem}.wide-mobile-hide{display:none}.spotlight{padding:28px;min-height:auto}.spotlight h2{font-size:2rem}.section-heading{align-items:center}.game-card{min-height:300px;padding:23px}.game-card-bottom{align-items:flex-start;flex-direction:column}.primary-button.compact{width:100%}.dashboard-grid{padding-top:14px}.leader-row{grid-template-columns:27px 36px 1fr auto}.leader-row .you-pill{display:none}.profile-menu{gap:7px}.crew-mark.small{font-size:1rem}.brand-parent{font-size:.47rem}.login-shell{width:calc(100% - 16px);min-height:calc(100vh - 16px);margin:8px;border-radius:24px}.login-brand-panel{min-height:360px;padding:28px}.login-story{margin-top:66px}.login-story h1{font-size:3rem}.login-story p{font-size:.88rem}.login-form-wrap{padding:22px 14px}.login-card{padding:25px}.brand-caption{left:28px}.world-orbit{opacity:.42}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Daily Word */
.word-shell { padding-bottom: 45px; }
.word-main { padding-top: 54px; }
.word-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; padding: 25px 4px 27px; }
.word-heading > div:first-child { display:grid; gap:7px; }
.word-heading h1 { margin:0; font:800 clamp(2.8rem,5vw,4.8rem)/1 Manrope; letter-spacing:-.06em; }
.word-heading p { margin:3px 0 0; color:var(--muted); line-height:1.6; }
.back-link { width:max-content; color:var(--muted); font-size:.72rem; font-weight:700; margin-bottom:15px; transition:.2s; }
.back-link:hover { color:white; transform:translateX(-2px); }
.word-score { min-width:158px; }
.word-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:18px; align-items:start; }
.word-game-panel { border-radius:var(--radius-xl); min-height:680px; padding:28px; background:radial-gradient(circle at 50% 32%,rgba(81,179,255,.12),transparent 33%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); }
.word-panel-top { display:flex; justify-content:space-between; align-items:start; gap:20px; position:relative; z-index:2; }
.word-panel-top > div { display:grid; gap:6px; }
.word-attempt-label { color:var(--muted); font-size:.72rem; }
.help-chip { border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.05); color:var(--muted-strong); border-radius:999px; padding:8px 11px; font-size:.68rem; font-weight:700; cursor:pointer; }
.help-chip:hover { background:rgba(255,255,255,.09); color:white; }
.word-help { position:relative; z-index:2; margin:18px auto 0; max-width:590px; padding:13px 15px; border:1px solid rgba(126,231,255,.13); border-radius:13px; background:rgba(6,18,31,.58); color:var(--muted); font-size:.74rem; line-height:1.6; }
.word-message { position:relative; z-index:2; min-height:38px; display:grid; place-items:center; margin:5px auto; color:var(--muted-strong); font-size:.76rem; font-weight:700; text-align:center; }
.word-message.error { color:#ffc2c6; }
.word-message.success { color:#a8ffd5; }
.word-message.neutral { color:#d9e6f3; }
.word-board { width:max-content; margin:4px auto 28px; display:grid; gap:7px; position:relative; z-index:2; }
.word-row { display:flex; gap:7px; }
.word-tile { width:62px; height:62px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:12px; background:rgba(255,255,255,.045); box-shadow:inset 0 1px 0 rgba(255,255,255,.055); font:800 1.65rem/1 Manrope; text-transform:uppercase; transition:border-color .16s ease, transform .16s ease, background .2s ease; transform-style:preserve-3d; }
.word-tile.filled { border-color:rgba(166,224,255,.46); transform:scale(1.035); background:rgba(113,193,255,.07); }
.word-tile.correct { background:linear-gradient(145deg,rgba(70,225,166,.42),rgba(28,121,90,.32)); border-color:rgba(120,255,203,.53); box-shadow:0 0 24px rgba(78,226,169,.09),inset 0 1px rgba(255,255,255,.12); }
.word-tile.present { background:linear-gradient(145deg,rgba(255,201,105,.35),rgba(155,105,28,.28)); border-color:rgba(255,218,145,.48); }
.word-tile.absent { background:linear-gradient(145deg,rgba(95,113,135,.3),rgba(39,49,62,.38)); border-color:rgba(179,197,219,.19); color:rgba(241,247,255,.76); }
.word-tile.flip { animation:tile-flip .58s ease both; }
.word-row.shake { animation:row-shake .34s ease; }
.keyboard-legend { max-width:650px; margin:0 auto 12px; display:flex; flex-wrap:wrap; justify-content:center; gap:7px 14px; position:relative; z-index:2; color:rgba(217,230,243,.68); font:700 .58rem/1.2 Manrope; letter-spacing:.015em; }
.keyboard-legend span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.legend-swatch { width:10px; height:10px; border-radius:3px; border:1px solid rgba(255,255,255,.2); box-shadow:inset 0 1px 0 rgba(255,255,255,.09); }
.legend-swatch.available { background:#344658; border-color:rgba(208,231,249,.36); }
.legend-swatch.absent { background:#121a24; border-color:rgba(134,151,169,.22); }
.legend-swatch.present { background:#a96f19; border-color:#e6b959; }
.legend-swatch.correct { background:#15795b; border-color:#55d9aa; }
.word-keyboard { max-width:650px; margin:0 auto; display:grid; gap:8px; position:relative; z-index:2; user-select:none; }
.keyboard-row { display:flex; justify-content:center; gap:7px; }
.key { position:relative; flex:1 1 0; max-width:52px; min-width:44px; height:56px; padding:0; border:1px solid rgba(201,226,246,.31); border-radius:11px; background:linear-gradient(180deg,#344659 0%,#293747 100%); color:#f8fbff; box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 14px rgba(0,0,0,.14); font:800 .86rem/1 Manrope; letter-spacing:.01em; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:transform .11s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, opacity .16s ease; }
.key:hover:not(:disabled) { background:linear-gradient(180deg,#40556a 0%,#304154 100%); border-color:rgba(217,238,255,.48); box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 7px 17px rgba(0,0,0,.17); transform:translateY(-1px); }
.key:focus-visible { outline:2px solid #7ee7ff; outline-offset:2px; }
.key:active:not(:disabled) { transform:translateY(1px) scale(.985); }
.key.key-wide { flex:1.55 1 0; max-width:84px; min-width:74px; font-size:.59rem; letter-spacing:.035em; }
.key.key-delete { font-size:.55rem; }
.key.correct { background:linear-gradient(180deg,#1c986f 0%,#11684f 100%); border-color:#70efc0; color:#ffffff; box-shadow:inset 0 -3px 0 rgba(5,52,39,.34),inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(100,228,181,.10),0 0 18px rgba(43,212,157,.24),0 7px 18px rgba(5,55,42,.28); }
.key.present { background:linear-gradient(180deg,#c78924 0%,#925e12 100%); border-color:#ffd06a; color:#ffffff; box-shadow:inset 0 -3px 0 rgba(90,54,5,.32),inset 0 1px 0 rgba(255,255,255,.17),0 0 0 1px rgba(240,196,95,.08),0 0 18px rgba(236,169,49,.20),0 7px 18px rgba(70,43,7,.24); }
.key.absent { background:linear-gradient(180deg,#151e29 0%,#101720 100%); border-color:rgba(127,148,168,.18); color:#90a0af; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.key:disabled { cursor:default; }
.word-side-stack { display:grid; gap:18px; }
.word-side-card { border-radius:var(--radius-lg); padding:27px; }
.word-side-card h2 { font:800 1.45rem/1.15 Manrope; letter-spacing:-.04em; margin:10px 0 17px; }
.word-side-card > p { color:var(--muted); font-size:.76rem; line-height:1.65; margin:18px 0 0; }
.score-scale { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.score-scale div { display:flex; align-items:center; justify-content:space-between; gap:7px; min-height:40px; padding:0 10px; border:1px solid rgba(255,255,255,.09); border-radius:11px; background:rgba(255,255,255,.04); }
.score-scale span { color:var(--muted); font-size:.68rem; }
.score-scale strong { font:800 .78rem Manrope; color:#d9f4ff; }
.result-card { text-align:center; background:radial-gradient(circle at 50% 10%,rgba(92,221,175,.13),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); }
.result-card[hidden] { display:none; }
.result-icon { width:58px; height:58px; display:grid; place-items:center; margin:21px auto 8px; border-radius:18px; border:1px solid rgba(119,245,197,.29); background:rgba(70,210,158,.13); color:#afffdc; font:800 1.5rem Manrope; }
.result-card h2 { margin-bottom:7px; }
.result-card p { margin:0 auto; }
.result-points { display:flex; align-items:baseline; justify-content:center; gap:6px; margin:18px 0; }
.result-points strong { font:800 2.6rem/1 Manrope; letter-spacing:-.06em; }
.result-points span { color:var(--muted); font-size:.6rem; font-weight:800; letter-spacing:.12em; }
.result-home { margin-top:6px; }
@keyframes tile-flip { 0%{transform:rotateX(0)} 48%{transform:rotateX(90deg)} 52%{transform:rotateX(90deg)} 100%{transform:rotateX(0)} }
@keyframes row-shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-7px)} 40%{transform:translateX(7px)} 60%{transform:translateX(-5px)} 80%{transform:translateX(5px)} }

@media (max-width: 920px) {
    .word-layout { grid-template-columns:1fr; }
    .word-side-stack { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
    .word-main { padding-top:40px; }
    .word-heading { align-items:flex-start; padding-top:20px; }
    .word-heading h1 { font-size:3rem; }
    .word-score { display:none; }
    .word-game-panel { padding:20px 12px 24px; min-height:620px; }
    .word-panel-top { padding:0 7px; }
    .word-tile { width:min(15.2vw,58px); height:min(15.2vw,58px); border-radius:10px; font-size:1.4rem; }
    .word-board,.word-row { gap:5px; }
    .keyboard-legend { margin-bottom:10px; gap:6px 10px; font-size:.52rem; }
    .word-keyboard { width:100%; gap:6px; }
    .keyboard-row { width:100%; gap:4px; }
    .key { flex:1 1 0; max-width:none; min-width:0; width:auto; height:52px; border-radius:9px; font-size:.74rem; padding:0; }
    .key.key-wide { flex:1.5 1 0; max-width:none; min-width:0; width:auto; }
    .word-side-stack { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .word-tile.flip, .word-row.shake { animation:none !important; }
}

/* CREW weekly game system */
.weekly-hero { padding-bottom: 30px; }
.today-challenge { min-height: 330px; border-radius: var(--radius-xl); padding: 42px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr); align-items:center; gap:30px; }
.today-challenge::before,.weekly-game-card::before,.game-stage::before,.trivia-stage::before,.timer-stage::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.9; }
.game-tone-mystery::before { background:radial-gradient(circle at 85% 20%,rgba(88,220,151,.14),transparent 34%); }
.game-tone-trivia::before { background:radial-gradient(circle at 85% 20%,rgba(255,213,91,.13),transparent 34%); }
.game-tone-word::before { background:radial-gradient(circle at 85% 20%,rgba(100,169,255,.17),transparent 34%); }
.game-tone-tick_tock::before { background:radial-gradient(circle at 85% 20%,rgba(157,140,255,.16),transparent 34%); }
.today-copy { position:relative; z-index:2; }
.today-copy h2 { margin:10px 0 10px; font:800 clamp(2.4rem,5vw,4.4rem)/1 Manrope; letter-spacing:-.055em; }
.today-copy p { max-width:620px; color:var(--muted); line-height:1.65; }
.today-meta { display:flex; gap:10px; margin:20px 0; flex-wrap:wrap; }
.today-meta span { padding:8px 11px; border-radius:999px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.045); color:var(--muted-strong); font-size:.67rem; font-weight:700; }
.today-copy .primary-button { width:max-content; }
.today-glyph { position:relative; z-index:1; justify-self:center; width:190px; height:190px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.14); background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.17),rgba(93,163,255,.08) 45%,rgba(1,8,17,.18) 75%); box-shadow:0 0 80px rgba(75,172,255,.12),inset 0 0 50px rgba(255,255,255,.05); font:800 3.7rem Manrope; letter-spacing:-.06em; }
.off-day-card .today-glyph { width:210px; height:210px; font-size:1.35rem; letter-spacing:.22em; }
.weekly-game-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.weekly-game-card { border-radius:22px; padding:22px; min-height:350px; display:flex; flex-direction:column; }
.weekly-card-top { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:8px; }
.day-pill,.status-dot { font-size:.57rem; font-weight:800; letter-spacing:.13em; }
.day-pill { color:var(--cyan); }
.status-dot { color:var(--muted); padding:6px 8px; border-radius:999px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }
.weekly-game-card.live .status-dot { color:#b9ffe0; border-color:rgba(96,224,166,.25); background:rgba(96,224,166,.08); }
.weekly-game-card.completed .status-dot { color:#b9ffe0; }
.weekly-glyph { position:relative; z-index:2; width:76px; height:76px; display:grid; place-items:center; margin:28px 0 20px; border-radius:21px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.055); font:800 2rem Manrope; }
.game-theme { position:relative; z-index:2; color:var(--muted); font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.weekly-game-card h3 { position:relative; z-index:2; font:800 1.35rem/1.1 Manrope; letter-spacing:-.035em; margin:8px 0; }
.weekly-game-card p { position:relative; z-index:2; color:var(--muted); font-size:.75rem; line-height:1.55; margin:0 0 22px; }
.game-open { position:relative; z-index:2; margin-top:auto; width:100%; padding:0 14px; display:flex; justify-content:space-between; align-items:center; }
.weekly-game-card.completed { border-color:rgba(96,224,166,.23); }

/* Shared game pages */
.game-shell { padding-bottom:48px; }
.single-game-main { padding-top:52px; }
.game-title-row { padding:26px 4px 28px; display:flex; align-items:end; justify-content:space-between; gap:30px; }
.game-title-row > div:first-child { display:grid; gap:7px; }
.game-title-row h1 { margin:0; font:800 clamp(2.8rem,5vw,4.8rem)/1 Manrope; letter-spacing:-.06em; }
.game-title-row p { margin:2px 0 0; color:var(--muted); line-height:1.6; }
.game-two-column { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr); gap:18px; align-items:start; }
.game-stage,.game-side-panel,.trivia-stage,.timer-stage { border-radius:var(--radius-xl); }
.game-stage { min-height:620px; padding:32px; }
.game-side-panel { padding:28px; }
.game-side-panel h2 { font:800 1.55rem Manrope; letter-spacing:-.04em; margin:10px 0 18px; }
.game-side-panel p { color:var(--muted); font-size:.76rem; line-height:1.65; }
.stage-top { position:relative; z-index:2; display:flex; justify-content:space-between; color:var(--muted); font-size:.7rem; }
.game-message { min-height:34px; display:grid; align-items:center; color:var(--muted); font-size:.76rem; font-weight:700; }
.game-message.success { color:#a8ffd5; }.game-message.error { color:#ffc2c6; }

/* Mystery */
.mystery-stage { background:radial-gradient(circle at 80% 12%,rgba(82,214,146,.12),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.clue-list { position:relative; z-index:2; display:grid; gap:10px; margin:30px 0 22px; }
.clue-card { display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:start; padding:17px; border-radius:15px; border:1px solid rgba(255,255,255,.1); background:rgba(3,12,21,.32); animation:clue-in .35s ease both; }
.clue-card span { width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(96,224,166,.09);color:#a8ffd5;font:.65rem/1 Manrope;font-weight:800; }
.clue-card p { margin:5px 0 0; color:var(--muted-strong); line-height:1.55; font-size:.82rem; }
.answer-entry { position:relative; z-index:2; display:grid; grid-template-columns:1fr auto; gap:10px; }
.answer-entry input { min-height:50px; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:rgba(3,10,18,.5); color:white; padding:0 15px; outline:none; text-transform:none; }
.answer-entry input:focus { border-color:rgba(126,231,255,.5); box-shadow:0 0 0 4px rgba(126,231,255,.06); }
.reveal-button { position:relative;z-index:2;margin-top:10px; }
.score-ladder { display:grid; gap:7px; }
.score-ladder span { display:flex;justify-content:space-between;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035);color:var(--muted);font-size:.72rem; }
.score-ladder b { color:white; }
@keyframes clue-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

/* Trivia */
.trivia-stage { max-width:900px; margin:0 auto; padding:36px; min-height:570px; background:radial-gradient(circle at 80% 15%,rgba(255,210,91,.11),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.trivia-progress { position:relative;z-index:2;display:flex;align-items:center;gap:16px;margin-bottom:36px;color:var(--muted);font-size:.67rem;font-weight:700; }
.progress-track { height:5px; flex:1; background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden; }.progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:inherit;transition:width .3s ease;}
.trivia-stage h2 { position:relative;z-index:2;font:800 clamp(1.8rem,4vw,3rem)/1.15 Manrope;letter-spacing:-.045em;margin:12px 0 28px;max-width:760px; }
.trivia-options { position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.trivia-options button { min-height:74px;display:flex;align-items:center;gap:14px;text-align:left;border:1px solid rgba(255,255,255,.11);border-radius:16px;background:rgba(255,255,255,.045);color:white;padding:13px 16px;cursor:pointer;transition:.18s; }
.trivia-options button:hover:not(:disabled){transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(126,231,255,.28)}
.trivia-options button span { width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:rgba(255,255,255,.07);font:.7rem Manrope;font-weight:800; }
.trivia-options button.correct { background:rgba(66,190,142,.15);border-color:rgba(96,224,166,.4); }.trivia-options button.wrong { background:rgba(179,64,76,.13);border-color:rgba(255,130,140,.35); }
#trivia-next { width:max-content; margin-top:10px; }
.game-result { position:relative;z-index:2;text-align:center;margin:50px auto 0;max-width:340px; }.game-result strong{display:block;font:800 5rem/1 Manrope;letter-spacing:-.08em}.game-result>span{font-size:.62rem;letter-spacing:.15em;color:var(--muted);font-weight:800}.game-result p{color:var(--muted);}.game-result .secondary-button{display:grid;place-items:center;margin-top:20px;}

/* Tick-Tock */
.timer-stage { max-width:820px;min-height:650px;margin:0 auto;padding:42px;text-align:center;background:radial-gradient(circle at 50% 40%,rgba(157,140,255,.15),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); }
.timer-label { position:relative;z-index:2;color:var(--muted);font-size:.62rem;letter-spacing:.18em;font-weight:800;margin:22px 0 5px; }
.target-time { position:relative;z-index:2;font:800 clamp(4rem,10vw,7rem)/1 Manrope;letter-spacing:-.08em; }.target-time small{font-size:.65rem;letter-spacing:.13em;color:var(--muted);margin-left:10px;}
.timer-visual { position:relative;z-index:2;display:grid;place-items:center;margin:34px auto 22px; }
.timer-ring { width:220px;height:220px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle,rgba(126,231,255,.08),rgba(157,140,255,.04) 50%,rgba(3,10,18,.2));box-shadow:0 0 80px rgba(100,169,255,.12),inset 0 0 50px rgba(255,255,255,.04); }
.timer-ring span { font:800 2rem Manrope;letter-spacing:.08em; }
.timer-action { width:min(360px,100%);margin:8px auto 0;justify-content:center;font-size:1rem; }
.timer-tip { color:rgba(235,246,255,.35);font-size:.65rem;margin-top:16px; }
.timer-result { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:560px;margin:22px auto 0; }.timer-result div{padding:15px;border-radius:14px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}.timer-result strong{display:block;font:800 1.4rem Manrope}.timer-result span{font-size:.52rem;color:var(--muted);letter-spacing:.12em;font-weight:800;}

@media (max-width: 1020px){.weekly-game-grid{grid-template-columns:1fr 1fr}.today-challenge{grid-template-columns:1fr auto}.game-two-column{grid-template-columns:1fr}.game-side-panel{max-width:none}}
@media (max-width: 720px){.today-challenge{padding:27px;grid-template-columns:1fr}.today-glyph{display:none}.today-copy .primary-button{width:100%}.weekly-game-grid{grid-template-columns:1fr}.weekly-game-card{min-height:300px}.game-title-row{align-items:flex-start}.game-title-row>.glass-stat{display:none}.game-stage,.trivia-stage,.timer-stage{padding:22px}.answer-entry{grid-template-columns:1fr}.trivia-options{grid-template-columns:1fr}.timer-ring{width:180px;height:180px}.timer-result{grid-template-columns:1fr 1fr 1fr}.single-game-main{padding-top:34px}}

/* Privacy-first CREW profiles */
.link-button { display:flex; align-items:center; justify-content:center; }
.account-link { display:block; margin-top:15px; color:var(--cyan); font-size:.72rem; font-weight:700; text-align:left; }
.account-link:hover { text-decoration:underline; }
.account-link.centered { text-align:center; margin-top:20px; }
.privacy-note { margin:18px 4px 0; color:var(--muted); font-size:.7rem; line-height:1.65; text-align:center; }
.privacy-note strong { color:var(--muted-strong); }
.privacy-box { padding:12px 13px; border:1px solid rgba(126,231,255,.12); border-radius:13px; background:rgba(58,157,214,.055); text-align:left; }
.login-form label small { color:rgba(231,242,255,.42); font-size:.62rem; line-height:1.4; }
.create-profile-card { width:min(510px,100%); }
.create-form-wrap { padding-block:34px; }
.create-brand-panel { min-height:900px; }
.create-story { margin-top:13vh; }
.privacy-stack { position:absolute; z-index:2; left:60px; bottom:55px; display:grid; gap:12px; }
.privacy-stack div { display:flex; align-items:center; gap:12px; color:var(--muted-strong); font-size:.76rem; }
.privacy-stack span { width:30px; height:30px; display:grid; place-items:center; border:1px solid rgba(126,231,255,.2); border-radius:9px; background:rgba(126,231,255,.06); color:var(--cyan); font:800 .62rem Manrope; }
.avatar-fieldset { border:0; padding:0; margin:2px 0; }
.avatar-fieldset legend { margin-bottom:10px; color:var(--muted-strong); font-size:.77rem; font-weight:700; }
.avatar-picker { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.avatar-choice { position:relative; display:block !important; cursor:pointer; }
.avatar-choice input { position:absolute; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }
.avatar-choice > span { min-height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:12px; background:rgba(255,255,255,.045); font-size:1.3rem !important; transition:.18s ease; }
.avatar-choice:hover > span { transform:translateY(-1px); background:rgba(255,255,255,.08); }
.avatar-choice input:checked + span { border-color:rgba(126,231,255,.55); background:rgba(126,231,255,.12); box-shadow:0 0 0 3px rgba(126,231,255,.06),0 8px 25px rgba(67,185,255,.1); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.avatar, .player-avatar { font-size:1.05rem; }
.player-avatar { font-size:1rem; }

.recovery-code-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }
.recovery-code-card { width:min(650px,100%); padding:42px; border-radius:var(--radius-xl); text-align:center; background:radial-gradient(circle at 50% 18%,rgba(80,182,255,.13),transparent 32%),linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.025)); }
.recovery-code-card .mini-crew { display:block; margin-bottom:35px; }
.recovery-code-card h1 { margin:10px 0; font:800 clamp(2rem,5vw,3.5rem)/1 Manrope; letter-spacing:-.05em; }
.recovery-code-card > p { max-width:530px; margin:0 auto; color:var(--muted); line-height:1.65; }
.recovery-code-value { margin:30px 0 12px; padding:22px 18px; border:1px solid rgba(126,231,255,.28); border-radius:16px; background:rgba(2,10,20,.58); color:#e7f8ff; font:800 clamp(.82rem,2.4vw,1.25rem)/1.4 Manrope; letter-spacing:.08em; overflow-wrap:anywhere; box-shadow:inset 0 1px rgba(255,255,255,.05),0 0 35px rgba(67,185,255,.08); }
.copy-code { width:auto; min-width:190px; padding:0 18px; }
.recovery-warning { display:grid; gap:5px; margin:28px 0; padding:15px; border:1px solid rgba(255,210,124,.17); border-radius:14px; background:rgba(255,190,77,.055); color:var(--muted); font-size:.72rem; line-height:1.5; }
.recovery-warning strong { color:#ffe4af; }

@media (max-width: 960px) {
    .create-brand-panel { min-height:480px; }
    .create-story { margin-top:72px; }
    .privacy-stack { position:relative; left:auto; bottom:auto; margin-top:35px; grid-template-columns:1fr 1fr 1fr; }
}
@media (max-width: 720px) {
    .avatar-picker { grid-template-columns:repeat(4,1fr); }
    .privacy-stack { display:none; }
    .create-brand-panel { min-height:370px; }
    .recovery-code-card { padding:28px 20px; }
}

/* Production auth polish */
.auth-shell {
    background: rgba(2, 8, 15, .46);
    box-shadow: 0 48px 150px rgba(0,0,0,.5), inset 0 1px rgba(255,255,255,.035);
}
.auth-brand-panel {
    background:
        radial-gradient(circle at 74% 42%, rgba(64, 165, 255, .25), transparent 27%),
        radial-gradient(circle at 28% 75%, rgba(112, 76, 220, .13), transparent 30%),
        linear-gradient(132deg, rgba(12,31,54,.97), rgba(5,14,27,.86));
}
.auth-brand-panel::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg, transparent 72%, rgba(255,255,255,.025));
}
.auth-story { max-width: 650px; margin-top: 15vh; }
.auth-story h1 { font-size: clamp(3.3rem, 6vw, 6.4rem); }
.auth-story p { max-width: 610px; color: rgba(231,242,255,.7); font-size: 1.01rem; }
.auth-weekline {
    position:absolute;
    left:60px;
    bottom:48px;
    z-index:3;
    display:flex;
    gap:10px;
}
.auth-weekline div {
    min-width:88px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:24px 1fr;
    align-items:center;
    gap:8px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:13px;
    background:rgba(4,13,25,.35);
    backdrop-filter:blur(12px);
}
.auth-weekline b {
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(126,231,255,.09);
    color:#c8f3ff;
    font:800 .68rem Manrope;
}
.auth-weekline span { color:rgba(237,246,255,.66); font-size:.64rem; font-weight:700; }
.auth-form-wrap {
    position:relative;
    padding:64px 54px;
    background:
        radial-gradient(circle at 50% 40%, rgba(73,165,255,.08), transparent 25rem),
        linear-gradient(155deg, rgba(7,18,32,.9), rgba(3,9,17,.8));
}
.auth-form-wrap::before {
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    background:rgba(63,158,255,.055);
    filter:blur(70px);
    pointer-events:none;
}
.auth-card {
    width:min(448px,100%);
    padding:38px 38px 30px;
    border-radius:26px;
    border-color:rgba(179,219,255,.16);
    background:
        linear-gradient(145deg, rgba(25,45,68,.7), rgba(10,22,37,.62));
    box-shadow:
        0 34px 95px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.095),
        inset 0 0 0 1px rgba(255,255,255,.012);
}
.auth-card::before {
    content:"";
    position:absolute;
    top:0;
    left:12%;
    right:12%;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(160,225,255,.5), transparent);
    opacity:.55;
}
.auth-card-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.auth-card .mini-crew { color:#e8f5ff; font-size:.93rem; letter-spacing:.32em; }
.auth-status {
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(235,246,255,.48);
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.13em;
}
.auth-status i {
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 14px rgba(126,231,255,.85);
}
.auth-card-heading { margin-top:44px; }
.auth-card-heading h2 {
    margin:0 0 9px;
    font-size:2.35rem;
    line-height:1.05;
    letter-spacing:-.055em;
}
.auth-card-heading p { margin:0; color:rgba(231,242,255,.59); font-size:.9rem; }
.auth-mobile-eyebrow { display:none; margin-bottom:14px; }
.auth-form { gap:18px; margin-top:34px; }
.auth-field { gap:9px !important; }
.auth-form .auth-field > span {
    color:rgba(239,247,255,.72);
    font-size:.66rem;
    letter-spacing:.055em;
    text-transform:uppercase;
}
.auth-input-wrap {
    position:relative;
    display:flex;
    align-items:center;
    border:1px solid rgba(187,219,245,.15);
    border-radius:14px;
    background:rgba(2,10,19,.52);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.auth-input-wrap:focus-within {
    border-color:rgba(126,231,255,.5);
    background:rgba(3,13,25,.72);
    box-shadow:0 0 0 4px rgba(126,231,255,.06), 0 10px 32px rgba(0,0,0,.13);
}
.login-form .auth-input-wrap input {
    min-height:56px;
    border:0;
    border-radius:inherit;
    background:transparent;
    box-shadow:none !important;
    padding:0 16px;
    font-size:.92rem;
}
.login-form .auth-input-wrap.has-action input { padding-right:67px; }
.password-toggle {
    position:absolute;
    right:10px;
    min-width:48px;
    height:34px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:rgba(220,239,255,.5);
    cursor:pointer;
    font-size:.64rem;
    font-weight:700;
}
.password-toggle:hover { color:#dff6ff; background:rgba(255,255,255,.055); }
.auth-form-meta { display:flex; justify-content:flex-end; margin-top:-4px; }
.account-link.inline-link { margin:0; font-size:.67rem; color:rgba(154,226,255,.78); font-weight:600; }
.auth-primary {
    min-height:56px;
    margin-top:1px;
    padding:0 14px 0 19px;
    border-radius:15px;
    background:linear-gradient(110deg, #edf8ff 0%, #b8e5ff 48%, #85cfff 100%);
    box-shadow:0 16px 38px rgba(64,163,255,.2), inset 0 1px rgba(255,255,255,.8);
}
.auth-primary:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 20px 44px rgba(64,163,255,.28); }
.button-arrow {
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(3,15,28,.1);
    font-size:.95rem;
}
.auth-signup {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:27px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.08);
    color:rgba(231,242,255,.48);
    font-size:.72rem;
}
.auth-signup a { color:#dff5ff; font-weight:700; }
.auth-signup a:hover { color:var(--cyan); }
.auth-footnote {
    margin:14px 0 0;
    color:rgba(231,242,255,.3);
    font-size:.6rem;
    text-align:center;
}

@media (max-width: 960px) {
    .auth-weekline { left:38px; bottom:28px; }
    .auth-story { margin-top:72px; }
    .auth-form-wrap { padding:44px 24px; }
}

@media (max-width: 720px) {
    body.login-page {
        background:
            radial-gradient(circle at 50% -8%, rgba(53,146,238,.2), transparent 24rem),
            linear-gradient(165deg,#071422 0%,#030914 58%,#02060c 100%);
    }
    .login-shell.auth-shell {
        width:100%;
        min-height:100vh;
        margin:0;
        border:0;
        border-radius:0;
        background:transparent;
        box-shadow:none;
    }
    .auth-brand-panel { display:none; }
    .auth-form-wrap {
        min-height:100vh;
        padding:28px 18px;
        align-items:center;
        background:transparent;
    }
    .auth-form-wrap::before { width:320px; height:320px; top:14%; }
    .auth-card {
        width:min(430px,100%);
        padding:31px 25px 25px;
        border-radius:24px;
        background:linear-gradient(145deg, rgba(21,40,61,.74), rgba(8,20,34,.7));
    }
    .auth-card-heading { margin-top:38px; }
    .auth-card-heading h2 { font-size:2.05rem; }
    .auth-mobile-eyebrow { display:inline-block; }
    .auth-form { margin-top:30px; }
    .auth-signup { margin-top:24px; padding-top:21px; }
}

/* Home flow v7 — Today → Week → Performance → Leaderboard */
.flow-main { padding-top: 0; }
.flow-intro { padding: 72px 4px 30px; max-width: 900px; }
.flow-intro h1 { margin: 10px 0 9px; font: 800 clamp(2.7rem, 5.4vw, 5rem)/.98 Manrope; letter-spacing: -.06em; }
.flow-intro p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.65; }

.flow-feature {
    min-height: 360px;
    border-radius: var(--radius-xl);
    padding: 46px;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    align-items: center;
    gap: 34px;
    background:
        radial-gradient(circle at 86% 45%, rgba(83, 177, 255, .12), transparent 27%),
        linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.022));
}
.flow-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(105deg, rgba(255,255,255,.025), transparent 48%);
}
.flow-feature-copy { position: relative; z-index: 2; max-width: 730px; }
.feature-kicker-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.feature-day { padding: 6px 9px; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; background: rgba(255,255,255,.045); color: var(--muted-strong); font-size: .58rem; font-weight: 800; letter-spacing: .13em; }
.flow-feature h2 { margin: 12px 0 11px; font: 800 clamp(2.9rem, 5.6vw, 5.25rem)/.96 Manrope; letter-spacing: -.064em; }
.flow-feature p { max-width: 650px; margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.7; }
.feature-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 23px 0 20px; }
.feature-meta span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.045); color: var(--muted-strong); font-size: .65rem; font-weight: 700; }
.feature-meta .meta-success { color: #b9ffe0; border-color: rgba(96,224,166,.22); background: rgba(96,224,166,.07); }
.feature-cta { min-width: 180px; }
.feature-visual { position: relative; z-index: 2; min-height: 245px; display: grid; place-items: center; align-content: center; gap: 13px; }
.feature-visual > span { color: rgba(235,246,255,.48); font: 800 .58rem Manrope; letter-spacing: .2em; }
.feature-orbit { position: absolute; width: 240px; height: 240px; border-radius: 50%; border: 1px solid rgba(255,255,255,.105); box-shadow: inset 0 0 55px rgba(255,255,255,.025), 0 0 85px rgba(70,160,255,.075); }
.feature-orbit::before { content: ""; position: absolute; inset: 22px; border-radius: 50%; border: 1px solid rgba(255,255,255,.045); }
.feature-glyph { width: 124px; height: 124px; display: grid; place-items: center; border-radius: 34px; border: 1px solid rgba(255,255,255,.16); background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.035)); box-shadow: inset 0 1px rgba(255,255,255,.1), 0 20px 55px rgba(0,0,0,.22); font: 800 3.45rem/1 Manrope; }
.recap-feature { background: radial-gradient(circle at 86% 45%, rgba(96,224,166,.1), transparent 28%), linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.022)); }
.recap-score { font: 800 4.5rem/1 Manrope; letter-spacing: -.08em; }
.recap-score small { color: var(--muted); font-size: 1.2rem; letter-spacing: -.03em; }
.weekend-feature { background: radial-gradient(circle at 86% 45%, rgba(157,140,255,.12), transparent 28%), linear-gradient(135deg, rgba(255,255,255,.078), rgba(255,255,255,.022)); }

.flow-section { padding-top: 58px; }
.flow-heading { display: flex; justify-content: space-between; align-items: end; gap: 22px; margin-bottom: 20px; }
.flow-heading h2 { margin: 7px 0 0; font: 800 clamp(1.7rem, 3vw, 2.25rem)/1.05 Manrope; letter-spacing: -.045em; }

.journey-track { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.journey-track::before { content: ""; position: absolute; z-index: 0; left: 8%; right: 8%; top: 88px; height: 1px; background: linear-gradient(90deg, rgba(96,224,166,.22), rgba(126,231,255,.2), rgba(157,140,255,.18)); }
.journey-card {
    position: relative;
    z-index: 1;
    min-height: 255px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.022));
    box-shadow: 0 18px 55px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.05);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
    overflow: hidden;
}
.journey-card::before { content: ""; position: absolute; inset: 0; opacity: .65; pointer-events: none; }
.journey-card:hover { transform: translateY(-3px); border-color: rgba(126,231,255,.22); background: linear-gradient(145deg, rgba(255,255,255,.082), rgba(255,255,255,.028)); }
.journey-card.live { border-color: rgba(126,231,255,.3); box-shadow: 0 24px 70px rgba(31,136,207,.13), inset 0 1px rgba(255,255,255,.07); }
.journey-card.completed { border-color: rgba(96,224,166,.18); }
.journey-card.upcoming { opacity: .78; }
.journey-topline { position: relative; z-index: 2; display: flex; justify-content: space-between; gap: 8px; color: var(--muted); font-size: .56rem; font-weight: 800; letter-spacing: .12em; }
.journey-topline span:first-child { color: var(--cyan); }
.journey-card.completed .journey-topline span:last-child { color: #a8ffd5; }
.journey-card.live .journey-topline span:last-child { color: #c9f4ff; }
.journey-node { position: relative; z-index: 2; width: 62px; height: 62px; margin: 20px 0 17px; display: grid; place-items: center; border-radius: 18px; border: 1px solid rgba(255,255,255,.14); background: rgba(17,31,49,.92); box-shadow: 0 0 0 7px rgba(5,11,20,.85), inset 0 1px rgba(255,255,255,.06); font: 800 1.55rem Manrope; }
.journey-card.completed .journey-node { border-color: rgba(96,224,166,.33); background: linear-gradient(145deg, rgba(45,151,113,.35), rgba(19,72,58,.55)); box-shadow: 0 0 0 7px rgba(5,11,20,.85), 0 0 30px rgba(96,224,166,.08); }
.journey-card.live .journey-node { border-color: rgba(126,231,255,.38); box-shadow: 0 0 0 7px rgba(5,11,20,.85), 0 0 34px rgba(83,182,255,.14), inset 0 1px rgba(255,255,255,.08); }
.journey-copy { position: relative; z-index: 2; }
.journey-copy h3 { margin: 0 0 7px; font: 800 1.18rem/1.1 Manrope; letter-spacing: -.035em; }
.journey-copy p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.journey-action { position: relative; z-index: 2; margin-top: auto; padding-top: 20px; display: flex; justify-content: space-between; align-items: center; color: var(--muted-strong); font-size: .67rem; }
.journey-action strong { font-weight: 800; }
.journey-card.live .journey-action strong { color: var(--cyan); }
.journey-card.completed .journey-action strong { color: #a8ffd5; }

.performance-card { border-radius: var(--radius-xl); padding: 30px; }
.performance-progress-copy { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.performance-progress-copy > div { display: grid; gap: 4px; }
.performance-progress-copy span { color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .13em; }
.performance-progress-copy strong { font: 800 2.35rem/1 Manrope; letter-spacing: -.06em; }
.performance-progress-copy strong small { margin-left: 5px; color: var(--muted); font-size: .78rem; letter-spacing: -.01em; }
.performance-progress-copy > span { color: var(--cyan); font-size: .75rem; }
.performance-meter { height: 8px; margin: 17px 0 27px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.065); box-shadow: inset 0 1px 3px rgba(0,0,0,.28); }
.performance-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--blue), var(--violet)); box-shadow: 0 0 20px rgba(95,183,255,.22); transition: width .45s ease; }
.performance-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.performance-stats > div { min-height: 112px; display: grid; grid-template-columns: 30px 1fr; grid-template-rows: auto auto; align-items: center; column-gap: 10px; padding: 18px; border: 1px solid rgba(255,255,255,.085); border-radius: 16px; background: rgba(255,255,255,.032); }
.performance-icon { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(126,231,255,.055); color: var(--cyan); }
.performance-stats strong { align-self: end; font: 800 1.55rem/1 Manrope; letter-spacing: -.045em; }
.performance-stats small { align-self: start; color: var(--muted); font-size: .53rem; font-weight: 800; letter-spacing: .11em; }

.flow-leaderboard { border-radius: var(--radius-xl); padding: 24px; }
.compact-leaderboard { gap: 8px; }
.compact-leaderboard .leader-row { min-height: 68px; padding: 9px 13px; border-color: rgba(255,255,255,.04); background: rgba(255,255,255,.018); }
.compact-leaderboard .leader-row.is-me { border-color: rgba(126,231,255,.18); background: rgba(81,175,235,.065); }
.leaderboard-empty { min-height: 150px; display: flex; align-items: center; justify-content: center; gap: 18px; text-align: left; }
.empty-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(126,231,255,.16); border-radius: 15px; background: rgba(126,231,255,.055); color: var(--cyan); font-size: 1.3rem; }
.leaderboard-empty h3 { margin: 0 0 5px; font: 800 1.05rem Manrope; }
.leaderboard-empty p { margin: 0; color: var(--muted); font-size: .75rem; }

.flow-home footer { padding-top: 42px; }

@media (max-width: 1020px) {
    .flow-feature { grid-template-columns: 1fr 230px; padding: 38px; }
    .journey-track { grid-template-columns: repeat(2, 1fr); }
    .journey-track::before { display: none; }
    .performance-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
    .flow-intro { padding: 48px 2px 24px; }
    .flow-intro h1 { font-size: 2.8rem; }
    .flow-feature { min-height: auto; grid-template-columns: 1fr; padding: 27px; }
    .flow-feature h2 { font-size: 3rem; }
    .feature-visual { display: none; }
    .feature-cta { width: 100%; }
    .flow-section { padding-top: 44px; }
    .flow-heading { align-items: center; }
    .flow-heading .progress-pill { white-space: nowrap; }
    .journey-track { grid-template-columns: 1fr; gap: 10px; }
    .journey-card { min-height: 220px; }
    .journey-node { margin: 17px 0 14px; }
    .performance-card { padding: 21px; }
    .performance-stats { grid-template-columns: 1fr 1fr; }
    .performance-stats > div { min-height: 96px; padding: 14px; }
    .flow-leaderboard { padding: 15px; }
    .compact-leaderboard .leader-row { grid-template-columns: 27px 36px 1fr auto; }
    .compact-leaderboard .you-pill { display: none; }
    .leaderboard-heading .progress-pill { display: none; }
}

/* CREW Content Studio */
.admin-page { background: radial-gradient(circle at 10% 0%, rgba(43,119,203,.18), transparent 32rem), radial-gradient(circle at 92% 18%, rgba(91,79,188,.12), transparent 28rem), linear-gradient(145deg, #07111f 0%, #040a12 55%, #02060b 100%); }
.admin-shell { width: min(1380px, calc(100% - 40px)); margin: 22px auto 58px; }
.admin-main { padding: 72px 2px 0; }
.admin-nav .crew-mark em { margin-left: 8px; color: var(--cyan); font: 700 .52rem Inter; letter-spacing: .13em; vertical-align: middle; }
.admin-quiet-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: rgba(255,255,255,.035); color: var(--muted-strong); font-size: .69rem; font-weight: 750; cursor: pointer; }
.admin-quiet-button:hover { color: white; border-color: rgba(126,231,255,.2); background: rgba(126,231,255,.055); }

.admin-title-row, .admin-editor-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.admin-title-row h1, .admin-editor-heading h1 { margin: 10px 0 9px; font: 800 clamp(2.8rem, 5vw, 4.7rem)/.98 Manrope; letter-spacing: -.06em; }
.admin-title-row p, .admin-editor-heading p { margin: 0; color: var(--muted); line-height: 1.65; }
.admin-week-controls { flex: 0 0 auto; display: grid; grid-template-columns: 42px auto 42px; align-items: center; gap: 6px; min-width: 330px; padding: 10px; border-radius: 17px; }
.admin-week-controls > a { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: var(--muted-strong); background: rgba(255,255,255,.035); }
.admin-week-controls > a:hover { color: white; background: rgba(126,231,255,.08); }
.admin-week-controls > div { display: grid; gap: 3px; text-align: center; }
.admin-week-controls span { color: var(--muted); font-size: .52rem; letter-spacing: .14em; font-weight: 800; }
.admin-week-controls strong { font-size: .74rem; }

.admin-status-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 8px; margin-bottom: 18px; border-radius: 18px; }
.admin-status-strip > div { min-height: 58px; display: grid; grid-template-columns: 15px auto; grid-template-rows: auto auto; align-content: center; column-gap: 8px; padding: 10px 14px; border-radius: 12px; background: rgba(255,255,255,.018); }
.admin-status-strip strong { font-size: .7rem; }
.admin-status-strip small { color: var(--muted); font-size: .58rem; }
.status-dot { grid-row: 1 / 3; align-self: center; width: 9px; height: 9px; border-radius: 50%; }
.status-dot.published { background: var(--green); box-shadow: 0 0 13px rgba(96,224,166,.55); }
.status-dot.draft { background: var(--amber); box-shadow: 0 0 13px rgba(255,210,124,.4); }
.status-dot.fallback { background: #78889d; }
.status-dot.locked { background: #c5a7ff; box-shadow: 0 0 12px rgba(157,140,255,.35); }

.admin-schedule-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.admin-game-card { min-height: 390px; display: flex; flex-direction: column; padding: 24px; border-radius: 22px; overflow: hidden; }
.admin-game-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .65; }
.admin-game-card.game-tone-mystery::before { background: radial-gradient(circle at 100% 0%, rgba(64,195,157,.14), transparent 45%); }
.admin-game-card.game-tone-trivia::before { background: radial-gradient(circle at 100% 0%, rgba(255,210,124,.12), transparent 45%); }
.admin-game-card.game-tone-word::before { background: radial-gradient(circle at 100% 0%, rgba(86,162,255,.15), transparent 45%); }
.admin-game-card.game-tone-tick_tock::before { background: radial-gradient(circle at 100% 0%, rgba(157,140,255,.16), transparent 45%); }
.admin-game-card > * { position: relative; z-index: 1; }
.admin-game-card.is-locked { border-color: rgba(197,167,255,.18); }
.admin-game-top { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.admin-game-top > div { display: grid; gap: 5px; }
.admin-day { color: var(--cyan); font-size: .58rem; letter-spacing: .14em; font-weight: 800; }
.admin-game-top strong { color: var(--muted); font-size: .57rem; letter-spacing: .1em; }
.admin-status { display: inline-flex; width: max-content; align-items: center; justify-content: center; min-height: 24px; padding: 0 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1); font-size: .52rem; letter-spacing: .09em; font-weight: 850; }
.admin-status.published { color: #a8ffd5; background: rgba(54,165,119,.09); border-color: rgba(96,224,166,.2); }
.admin-status.draft { color: #ffe2a8; background: rgba(199,145,52,.08); border-color: rgba(255,210,124,.18); }
.admin-status.fallback { color: #aab8c8; background: rgba(123,139,160,.08); }
.admin-game-glyph { width: 62px; height: 62px; margin: 30px 0 22px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.045); font: 800 1.55rem Manrope; box-shadow: inset 0 1px rgba(255,255,255,.06); }
.admin-game-card h2 { margin: 0 0 8px; font: 800 1.28rem/1.1 Manrope; letter-spacing: -.04em; }
.admin-theme { width: max-content; margin-bottom: 9px; color: var(--cyan); font-size: .54rem; letter-spacing: .12em; font-weight: 800; text-transform: uppercase; }
.admin-game-card > p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.admin-card-meta { margin-top: auto; padding: 22px 0 12px; color: var(--muted); font-size: .6rem; }
.admin-card-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.admin-card-button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid rgba(255,255,255,.11); border-radius: 11px; background: rgba(255,255,255,.035); color: var(--muted-strong); font-size: .66rem; font-weight: 800; cursor: pointer; }
.admin-card-button:hover { border-color: rgba(126,231,255,.23); color: white; background: rgba(126,231,255,.055); }
.admin-card-button.primary { border-color: rgba(126,231,255,.22); background: linear-gradient(110deg, rgba(229,246,255,.98), rgba(126,205,255,.94)); color: #06101c; }
.admin-card-button.danger { color: #ffbec4; border-color: rgba(255,117,130,.2); background: rgba(160,45,58,.09); }
.admin-note { margin-top: 18px; padding: 26px 28px; border-radius: 20px; }
.admin-note h2 { margin: 7px 0 5px; font: 800 1.1rem Manrope; }
.admin-note p { max-width: 850px; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }

.admin-flash { max-width: 100%; margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; font-size: .72rem; font-weight: 650; }
.admin-flash.error { color: #ffc5ca; border: 1px solid rgba(255,120,132,.22); background: rgba(145,39,52,.13); }
.admin-flash.success { color: #b9ffdc; border: 1px solid rgba(96,224,166,.2); background: rgba(46,151,108,.11); }

/* Admin login */
.admin-login-shell { width: min(1320px, calc(100% - 40px)); min-height: calc(100vh - 40px); margin: 20px auto; display: grid; grid-template-columns: 1.2fr minmax(390px, .8fr); overflow: hidden; border: 1px solid rgba(255,255,255,.08); border-radius: 32px; background: rgba(3,9,16,.46); box-shadow: 0 40px 120px rgba(0,0,0,.42); }
.admin-login-brand { position: relative; padding: 52px 58px; overflow: hidden; background: radial-gradient(circle at 78% 42%, rgba(64,155,255,.22), transparent 29%), linear-gradient(135deg, rgba(12,31,53,.92), rgba(4,12,22,.72)); }
.admin-login-brand::after { content: ""; position: absolute; width: 620px; height: 620px; right: -210px; top: 9%; border: 1px solid rgba(126,231,255,.095); border-radius: 50%; box-shadow: inset 0 0 90px rgba(85,176,255,.05); }
.admin-brand { position: relative; z-index: 2; display: grid; width: max-content; gap: 6px; }
.admin-brand span { color: var(--muted); font-size: .56rem; letter-spacing: .2em; font-weight: 800; }
.admin-brand strong { font: 800 1.35rem Manrope; letter-spacing: .27em; }
.admin-login-story { position: relative; z-index: 2; max-width: 650px; margin-top: 22vh; }
.admin-login-story h1 { margin: 10px 0 15px; font: 800 clamp(3.5rem, 6vw, 6.4rem)/.94 Manrope; letter-spacing: -.066em; }
.admin-login-story p { max-width: 580px; margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.65; }
.admin-week-mini { width: min(520px, 100%); margin-top: 38px; display: grid; grid-template-columns: 54px 1fr 54px 1fr 54px 1fr 54px; align-items: center; }
.admin-week-mini span { height: 54px; display: grid; grid-template-columns: 1fr; place-items: center; padding: 7px 0; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; color: var(--muted); font-size: .52rem; font-weight: 800; }
.admin-week-mini span b { color: white; font-size: 1rem; }
.admin-week-mini i { height: 1px; background: linear-gradient(90deg, rgba(126,231,255,.3), rgba(157,140,255,.22)); }
.admin-login-form-wrap { display: grid; place-items: center; padding: 50px; }
.admin-login-card { width: min(430px, 100%); padding: 34px; border-radius: 24px; }
.admin-login-card h2 { margin: 10px 0 8px; font: 800 2rem Manrope; letter-spacing: -.045em; }
.admin-login-card > p { margin: 0 0 26px; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.admin-field { display: grid; gap: 8px; }
.admin-field > span { color: var(--muted-strong); font-size: .66rem; font-weight: 760; }
.admin-field > span em { float: right; color: var(--cyan); font-style: normal; font-size: .56rem; }
.admin-field input, .admin-field textarea, .admin-field select { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; outline: none; color: white; background: rgba(3,10,18,.48); transition: border-color .18s, box-shadow .18s, background .18s; }
.admin-field input { min-height: 48px; padding: 0 14px; }
.admin-field textarea { resize: vertical; min-height: 68px; padding: 12px 14px; font: inherit; line-height: 1.5; }
.admin-field select { min-height: 44px; padding: 0 12px; }
.admin-field input:focus, .admin-field textarea:focus, .admin-field select:focus { border-color: rgba(126,231,255,.45); box-shadow: 0 0 0 4px rgba(126,231,255,.055); background: rgba(5,15,27,.68); }
.admin-field input:disabled, .admin-field textarea:disabled, .admin-field select:disabled { opacity: .58; cursor: not-allowed; }
.admin-primary { margin-top: 16px; }
.admin-text-link { display: inline-block; margin-top: 20px; color: var(--muted); font-size: .68rem; }
.admin-text-link:hover { color: var(--cyan); }

/* Admin editor */
.admin-editor-main { max-width: 1120px; margin: 0 auto; }
.admin-editor-heading { align-items: end; }
.admin-editor-heading h1 { font-size: clamp(2.8rem, 5vw, 4.4rem); }
.admin-editor-state { min-width: 210px; display: grid; gap: 7px; padding: 18px; border-radius: 17px; }
.admin-editor-state > span { color: var(--muted); font-size: .52rem; letter-spacing: .13em; font-weight: 800; }
.admin-editor-state small { color: var(--muted); font-size: .6rem; }
.admin-lock-banner { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; padding: 12px 15px; border: 1px solid rgba(197,167,255,.18); border-radius: 12px; background: rgba(118,80,186,.08); color: var(--muted-strong); font-size: .68rem; }
.admin-lock-banner strong { color: #decfff; }
.admin-editor-form { display: grid; gap: 14px; }
.admin-form-section { padding: 26px; border-radius: 20px; }
.admin-form-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 22px; }
.admin-form-heading h2 { margin: 5px 0 0; font: 800 1.35rem Manrope; letter-spacing: -.035em; }
.admin-form-heading p { max-width: 470px; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; text-align: right; }
.admin-field.wide { max-width: 700px; }
.admin-form-grid.two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.admin-clue-stack { display: grid; gap: 11px; margin-top: 18px; }
.admin-question-stack { display: grid; gap: 12px; }
.admin-question-card { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 16px; border: 1px solid rgba(255,255,255,.075); border-radius: 15px; background: rgba(255,255,255,.022); }
.admin-question-number { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(126,231,255,.15); border-radius: 12px; color: var(--cyan); background: rgba(126,231,255,.045); font: 800 .72rem Manrope; }
.admin-question-fields { display: grid; gap: 11px; }
.admin-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.answer-select { max-width: 180px; }
.word-answer-field { max-width: 330px; }
.word-answer-field input { height: 82px; text-transform: uppercase; text-align: center; letter-spacing: .3em; font: 800 2.2rem Manrope; padding-left: calc(14px + .3em); }
.admin-helper { max-width: 680px; margin: 13px 0 0; color: var(--muted); font-size: .65rem; line-height: 1.6; }
.timer-target-field { max-width: 330px; }
.admin-unit-input { position: relative; }
.admin-unit-input input { height: 78px; padding-right: 70px; font: 800 2rem Manrope; }
.admin-unit-input b { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--cyan); font-size: .58rem; letter-spacing: .13em; }
.admin-editor-actions { position: sticky; bottom: 14px; z-index: 10; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 13px 14px 13px 18px; border-radius: 16px; }
.admin-editor-actions > div:first-child { display: grid; gap: 3px; }
.admin-editor-actions > div:first-child strong { font-size: .7rem; }
.admin-editor-actions > div:first-child span { color: var(--muted); font-size: .58rem; }
.admin-action-buttons { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }

/* Admin preview */
.admin-preview-badge { justify-self: center; padding: 8px 11px; border: 1px solid rgba(255,210,124,.18); border-radius: 999px; color: #ffe0a4; background: rgba(185,126,39,.07); font-size: .55rem; letter-spacing: .1em; font-weight: 850; }
.preview-main { max-width: 1040px; margin: 0 auto; }
.preview-title { margin-bottom: 24px; }
.preview-title h1 { margin: 8px 0 7px; font: 800 clamp(3rem, 6vw, 5.2rem)/.98 Manrope; letter-spacing: -.06em; }
.preview-title p { color: var(--muted); font-size: .75rem; }
.preview-theme { display: inline-flex; margin: 3px 0; padding: 6px 9px; border: 1px solid rgba(126,231,255,.15); border-radius: 999px; color: var(--cyan); background: rgba(126,231,255,.045); font-size: .55rem; letter-spacing: .12em; font-weight: 800; text-transform: uppercase; }
.preview-stage { padding: 30px; border-radius: 24px; }
.preview-stage-top { display: flex; justify-content: space-between; color: var(--muted); font-size: .58rem; letter-spacing: .11em; font-weight: 800; }
.preview-clues { display: grid; gap: 9px; margin: 25px 0; }
.preview-clues > div { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; padding: 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.025); }
.preview-clues span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(126,231,255,.06); color: var(--cyan); font-weight: 800; }
.preview-clues p { margin: 0; color: var(--muted-strong); font-size: .76rem; line-height: 1.5; }
.preview-answer { display: grid; gap: 5px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); }
.preview-answer span { color: var(--muted); font-size: .52rem; letter-spacing: .13em; font-weight: 800; }
.preview-answer strong { font: 800 1.7rem Manrope; }
.preview-answer small { color: var(--muted); font-size: .62rem; }
.preview-question-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.preview-question { padding: 22px; border-radius: 18px; }
.preview-question > span { color: var(--cyan); font-size: .58rem; font-weight: 800; }
.preview-question h2 { min-height: 52px; margin: 8px 0 14px; font: 800 .98rem/1.35 Manrope; }
.preview-question p { display: grid; grid-template-columns: 24px 1fr; align-items: center; margin: 6px 0; padding: 8px 10px; border: 1px solid rgba(255,255,255,.06); border-radius: 9px; color: var(--muted); background: rgba(255,255,255,.018); font-size: .65rem; }
.preview-question p b { color: var(--muted-strong); }
.preview-question p.correct { color: #c7ffe2; border-color: rgba(96,224,166,.18); background: rgba(48,146,106,.08); }
.preview-word, .preview-timer { min-height: 390px; display: grid; place-items: center; align-content: center; text-align: center; }
.preview-word-tiles { display: flex; gap: 10px; margin: 28px 0 18px; }
.preview-word-tiles i { width: 72px; height: 72px; display: grid; place-items: center; border: 1px solid rgba(126,231,255,.25); border-radius: 16px; background: linear-gradient(145deg, rgba(42,110,142,.45), rgba(17,55,73,.72)); box-shadow: 0 0 25px rgba(77,186,218,.1), inset 0 1px rgba(255,255,255,.08); font: 800 1.8rem Manrope; font-style: normal; }
.preview-word p, .preview-timer p { color: var(--muted); font-size: .72rem; }
.preview-target { margin: 25px 0 12px; font: 800 clamp(4.5rem, 10vw, 8rem)/1 Manrope; letter-spacing: -.07em; }
.preview-target small { margin-left: 8px; color: var(--cyan); font-size: .7rem; letter-spacing: .12em; }
.word-theme { margin: 1px 0 8px; }

@media (max-width: 1060px) {
  .admin-schedule-grid { grid-template-columns: 1fr 1fr; }
  .admin-login-shell { grid-template-columns: 1fr 430px; }
  .admin-login-brand { padding: 42px; }
  .admin-title-row { align-items: start; }
}

@media (max-width: 760px) {
  .admin-shell { width: calc(100% - 18px); margin: 9px auto 34px; }
  .admin-nav { grid-template-columns: 1fr auto; }
  .admin-main { padding-top: 48px; }
  .admin-title-row, .admin-editor-heading { display: grid; align-items: start; }
  .admin-title-row h1, .admin-editor-heading h1 { font-size: 2.7rem; }
  .admin-week-controls { width: 100%; min-width: 0; }
  .admin-status-strip { grid-template-columns: 1fr 1fr; }
  .admin-schedule-grid { grid-template-columns: 1fr; }
  .admin-game-card { min-height: 330px; }
  .admin-login-shell { width: calc(100% - 16px); min-height: calc(100vh - 16px); margin: 8px; grid-template-columns: 1fr; border-radius: 24px; }
  .admin-login-brand { min-height: 310px; padding: 28px; }
  .admin-login-story { margin-top: 75px; }
  .admin-login-story h1 { font-size: 3.5rem; }
  .admin-login-form-wrap { padding: 18px 14px 30px; }
  .admin-week-mini { display: none; }
  .admin-editor-state { width: 100%; }
  .admin-form-section { padding: 19px; }
  .admin-form-heading { display: grid; align-items: start; }
  .admin-form-heading p { text-align: left; }
  .admin-form-grid.two, .admin-option-grid, .preview-question-grid { grid-template-columns: 1fr; }
  .admin-question-card { grid-template-columns: 1fr; }
  .admin-editor-actions { position: static; display: grid; }
  .admin-action-buttons { justify-content: stretch; }
  .admin-action-buttons .admin-card-button { flex: 1 1 120px; }
  .admin-preview-badge { display: none; }
  .preview-word-tiles i { width: 54px; height: 54px; border-radius: 13px; }
}
.feature-theme-label, .journey-theme-label { display: block; width: max-content; color: var(--cyan); font-size: .54rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.feature-theme-label { margin-top: 16px; }
.journey-theme-label { margin-bottom: 6px; }

/* Production error surfaces */
.error-page { min-height: 100vh; }
.error-shell { min-height: 100vh; display: grid; place-items: center; padding: 32px; position: relative; z-index: 2; }
.error-card { width: min(680px, 100%); padding: clamp(32px, 6vw, 64px); text-align: center; }
.error-card h1 { margin: 14px 0 12px; font-size: clamp(2rem, 5vw, 4.5rem); line-height: .98; }
.error-card p { color: var(--text-secondary); max-width: 46ch; margin: 0 auto 28px; }
.error-card .primary-button { display: inline-flex; width: auto; text-decoration: none; }
