:root{--ink:#0d0d0f;--ink-2:#161619;--panel:#19191c;--panel-2:#222226;--paper:#f4f1e9;--paper-2:#c9c5bb;--gold:#c7a662;--red:#a94747;--muted:#8d8b86;--line:rgba(255,255,255,.1);--radius:16px;--shadow:0 18px 48px rgba(0,0,0,.3)}
body{background:var(--ink);font-size:15px}body:before{display:none}h1,h2,h3{font-family:inherit;letter-spacing:-.025em}.eyebrow{font-size:.68rem;letter-spacing:.14em;margin-bottom:8px}.button,.danger{border-radius:11px;min-height:48px;padding:11px 18px;transition:background .16s,border-color .16s,opacity .16s}.button:hover,.danger:hover{transform:none}.button:disabled{opacity:.45;cursor:not-allowed}.button.gold{background:var(--gold);border-color:var(--gold);color:#12100b}.button.ghost{background:var(--panel);border-color:var(--line)}input,select,textarea{min-height:50px;border-radius:11px;background:#111114;border-color:var(--line);padding:12px 14px}input::placeholder,textarea::placeholder{color:#65646a}.empty{border-radius:14px;background:var(--panel);border-style:solid}.icon{width:20px;height:20px}

.site-nav{height:64px;padding:0 max(18px,calc((100vw - 1120px)/2));background:#0d0d0f;border-bottom:1px solid var(--line);position:sticky;top:0}.site-nav .brand{font-size:.98rem}.site-nav .brand img{width:36px;height:36px}.nav-actions{display:flex;align-items:center;gap:8px}.icon-link,.menu-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--paper);display:grid;place-items:center}.icon-link svg,.menu-toggle svg{width:20px;height:20px}.menu-toggle{padding:0}.nav-login{font-weight:700;margin-right:8px}.nav-drawer{position:absolute;right:max(18px,calc((100vw - 1120px)/2));top:56px;width:min(290px,calc(100vw - 32px));padding:10px;background:#1b1b1e;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);display:grid!important;gap:2px}.nav-drawer[hidden]{display:none!important}.nav-drawer a,.nav-drawer .link-button{display:block;width:100%;padding:11px 12px;border-radius:8px;text-align:left;color:var(--paper-2);font-size:.9rem}.nav-drawer a:hover,.nav-drawer .link-button:hover{background:var(--panel-2);color:var(--paper)}.nav-drawer form{margin:4px 0 0;border-top:1px solid var(--line);padding-top:4px}.site-footer{max-width:1120px;margin:auto;padding:44px 18px;grid-template-columns:1fr auto;border-top:1px solid var(--line)}.site-footer nav{justify-content:flex-end}.site-footer small{grid-column:1/-1}.user-sidebar{display:none}.app-shell{display:block;min-height:calc(100vh - 64px)}.app-content{width:min(100%,1000px);margin:auto;padding:38px 18px}

.home-shell{width:min(100% - 36px,760px);margin:0 auto;padding:38px 0 72px}.home-profile{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;margin-bottom:28px}.home-profile>img{width:72px;height:72px;object-fit:cover;border-radius:50%;background:var(--panel);border:1px solid var(--line)}.home-profile h1{font-size:1.65rem;margin:1px 0}.home-profile span,.home-profile small{color:var(--muted)}.home-score{text-align:right;display:flex;flex-direction:column}.home-score strong{font-size:1.35rem;color:var(--gold)}.play-card,.room-preview{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.play-card h2{font-size:1.55rem;margin-bottom:22px}.primary-play{width:100%;background:var(--gold);border-color:var(--gold);font-size:1.02rem}.create-room{margin-top:10px}.create-room summary{list-style:none;min-height:48px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;font-weight:750;cursor:pointer}.create-room summary::-webkit-details-marker{display:none}.create-room[open] summary{margin-bottom:15px}.create-room form{display:grid;gap:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.join-divider{display:flex;align-items:center;gap:12px;margin:20px 0 12px;color:var(--muted);font-size:.76rem}.join-divider:before,.join-divider:after{content:"";height:1px;background:var(--line);flex:1}.join-code{display:grid;grid-template-columns:1fr auto;gap:8px}.home-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px}.home-stats div{display:flex;flex-direction:column;align-items:center;padding:18px 8px;border-right:1px solid var(--line)}.home-stats div:last-child{border:0}.home-stats strong{font-size:1.2rem}.home-stats span{font-size:.72rem;color:var(--muted)}.room-preview header,.role-glance header,.leader-preview header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.room-preview h2,.role-glance h2,.leader-preview h2{font-size:1.35rem;margin:0}.room-preview header>a,.role-glance header>a,.leader-preview header>a{color:var(--gold);font-size:.8rem;white-space:nowrap}.room-preview .room-list{margin-top:14px}.home-help{text-align:center;color:var(--muted);font-size:.85rem}.home-help a{color:var(--paper)}

.landing-simple{width:100%}.landing-simple .hero{min-height:650px;max-width:1120px;margin:auto;padding:60px 18px;grid-template-columns:1.05fr .8fr;gap:44px}.landing-simple .hero h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:760;max-width:680px}.landing-simple .hero-copy>p:not(.eyebrow){font-size:1.06rem;max-width:590px}.landing-simple .hero-art{min-height:540px}.landing-simple .hero-art img{max-height:570px}.landing-simple .moon-disc{width:min(34vw,430px);background:#d8d1c1;top:12%}.hero-facts{display:flex;gap:10px;flex-wrap:wrap}.hero-facts span{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.75rem;color:var(--paper-2)}.how-simple,.role-glance,.leader-preview,.landing-cta{width:min(100% - 36px,1060px);margin:0 auto 90px}.how-simple>header{max-width:600px}.how-simple>header h2,.role-glance h2,.leader-preview h2{font-size:clamp(1.8rem,4vw,2.7rem)}.how-simple>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.how-simple article{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.how-simple article b{color:var(--gold)}.how-simple article h3{margin:28px 0 8px}.how-simple article p{color:var(--muted);margin:0}.role-glance>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:26px}.role-glance article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.role-glance article img{width:100%;height:240px;object-fit:cover;object-position:top}.role-glance article>div{padding:14px}.role-glance h3{font-size:1rem;margin:0}.role-glance span{font-size:.68rem;color:var(--muted)}.landing-simple .leader-preview{display:block;background:transparent;padding:0}.landing-simple .leader-preview ol{margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.landing-simple .leader-preview li{padding:14px 18px}.landing-cta{display:flex;align-items:center;justify-content:space-between;padding:30px;background:var(--paper);color:var(--ink);border-radius:var(--radius)}.landing-cta h2{font-size:1.8rem;margin:0}.landing-cta .button{background:var(--ink);border-color:var(--ink);color:var(--paper);white-space:nowrap}

.auth-shell{min-height:calc(100vh - 64px);display:block}.auth-panel{padding:54px 18px}.form-card{width:min(100%,460px);padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);gap:16px}.register-card{width:min(100%,620px)}.form-card h1{font-family:inherit;font-size:2rem;font-weight:760;margin:0}.form-card p{margin:5px 0 0}.auth-logo{margin:0 auto 2px}.avatar-picker{grid-template-columns:repeat(6,1fr);gap:9px}.avatar-picker img{border-radius:50%;background:#29292d;object-position:top}.avatar-picker input:checked+img{border-color:var(--gold);box-shadow:0 0 0 3px rgba(199,166,98,.18)}

.room-page{width:min(100% - 36px,940px);margin:0 auto;padding:30px 0 70px}.lobby-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.lobby-head span{color:var(--muted);font-size:.7rem;letter-spacing:.15em}.lobby-head h1{font-size:clamp(1.7rem,4vw,2.4rem);margin:2px 0}.lobby-head .room-code{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--paper);padding:10px 13px}.lobby-head .room-code strong{letter-spacing:.13em}.lobby-head .room-code svg{width:18px;height:18px;color:var(--muted)}.lobby-simple{display:grid;grid-template-columns:320px 1fr;gap:16px}.lobby-roster,.lobby-chat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.lobby-roster>header,.lobby-chat>header{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.lobby-roster h2,.lobby-chat h2{font-size:1.05rem;margin:0}.lobby-roster>header span,.lobby-chat header span{font-size:.72rem;color:var(--muted)}.lobby-player-list{padding:8px}.lobby-player-list article{display:flex;align-items:center;gap:12px;padding:10px;border-radius:11px}.lobby-player-list article+article{border-top:1px solid var(--line)}.lobby-player-list img{width:48px;height:48px;object-fit:cover;object-position:top;border-radius:50%;background:#29292d}.lobby-player-list article>div{display:flex;flex-direction:column;min-width:0;flex:1}.lobby-player-list strong{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-crown{width:18px;height:18px;color:var(--gold);flex:0 0 auto}.ready-state{font-size:.72rem;color:var(--muted)}.ready-state.is-ready{color:#91bb89}.kick-player{background:none;border:0;color:#b98686;font-size:.7rem;padding:8px}.lobby-chat{display:grid;grid-template-rows:auto minmax(300px,48vh) auto}.lobby-messages{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}.lobby-messages p{max-width:78%;margin:0;align-self:flex-start;display:flex;flex-direction:column}.lobby-messages p strong{font-size:.67rem;color:var(--muted);margin:0 7px 3px}.lobby-messages p span{padding:9px 11px;border-radius:12px 12px 12px 3px;background:var(--panel-2);overflow-wrap:anywhere}.lobby-messages p.mine{align-self:flex-end}.lobby-messages p.mine strong{text-align:right}.lobby-messages p.mine span{background:var(--gold);color:#17130c;border-radius:12px 12px 3px 12px}.lobby-chat form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-top:1px solid var(--line)}.send-button svg{display:none;width:18px;height:18px}.lobby-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-actions form{margin:0}.lobby-actions .owner-note{display:grid;place-items:center;margin:0;color:var(--muted);font-size:.82rem}.lobby-actions form:last-child{grid-column:1/-1;text-align:center}.leave-room{padding:9px;color:var(--muted)}

.game-bar{height:64px}.game-layout{max-width:1400px;margin:auto}.play-zone{padding:22px}.play-zone .player-grid{grid-template-columns:repeat(5,minmax(95px,1fr));gap:9px}.player-card{border-radius:12px;padding:8px}.player-card img{border-radius:8px}.action-panel{border-radius:var(--radius);background:var(--panel);padding:18px}.chat-panel{background:#111114}.chat-panel form{padding:12px}.result-card{border-radius:var(--radius)}

@media(max-width:850px){.site-footer{grid-template-columns:1fr}.site-footer nav{justify-content:flex-start}.landing-simple .hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.landing-simple .hero-art{min-height:420px}.landing-simple .moon-disc{width:380px}.how-simple>div{grid-template-columns:1fr}.role-glance>div{grid-template-columns:repeat(2,1fr)}.lobby-simple{grid-template-columns:1fr}.lobby-actions{grid-template-columns:1fr}.lobby-actions form:last-child{grid-column:auto}.game-layout{display:flex;flex-direction:column}.chat-panel{height:460px;order:2}.play-zone .player-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){body{font-size:14px}.site-nav{height:58px;padding:0 14px}.site-nav .brand span{display:none}.site-nav .brand img{width:34px;height:34px}.icon-link,.menu-toggle{width:38px;height:38px}.nav-drawer{right:12px;top:52px}.site-footer{padding:34px 16px}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-shell{width:calc(100% - 28px);padding-top:24px}.home-profile{grid-template-columns:58px 1fr auto;gap:11px}.home-profile>img{width:58px;height:58px}.home-profile h1{font-size:1.35rem}.home-score strong{font-size:1.05rem}.play-card,.room-preview{padding:18px}.field-row{grid-template-columns:1fr}.join-code{grid-template-columns:1fr auto}.join-code .button{padding-inline:14px}.landing-simple .hero{padding:50px 18px 0}.landing-simple .hero h1{font-size:2.65rem}.landing-simple .hero-art{min-height:340px}.landing-simple .hero-art img{max-height:390px}.landing-simple .moon-disc{width:300px}.hero-facts{gap:6px}.how-simple,.role-glance,.leader-preview,.landing-cta{margin-bottom:62px}.role-glance>div{grid-template-columns:1fr 1fr;gap:8px}.role-glance article img{height:180px}.landing-cta{align-items:flex-start;flex-direction:column;gap:20px;padding:24px}.landing-cta .button{width:100%}.form-card{padding:20px}.register-card .field-row{grid-template-columns:1fr}.avatar-picker{grid-template-columns:repeat(4,1fr)}.room-page{width:calc(100% - 28px);padding-top:22px}.lobby-head{align-items:flex-end}.lobby-head h1{font-size:1.45rem}.lobby-head .room-code{padding:8px 10px}.lobby-simple{gap:12px}.lobby-chat{grid-template-rows:auto minmax(320px,46vh) auto}.lobby-chat>header span{display:none}.lobby-chat form{grid-template-columns:1fr 48px}.send-button{padding:0}.send-button span{display:none}.send-button svg{display:block}.lobby-actions{position:sticky;bottom:0;background:var(--ink);padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:3}.game-bar{height:58px}.play-zone{padding:12px}.play-zone .player-grid{grid-template-columns:repeat(3,1fr)}.chat-panel{height:430px}}
