@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap";:root{color:#f3f0e8;font-synthesis:none;--ink:#0c0e14;--paper:#f3f0e8;--orange:#ff6b3d;--yellow:#ffc247;--cyan:#59e1e6;--muted:#979ba8;--line:#2b2f3b;background:#0c0e14;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--ink);min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin:0 0 8px;font:500 11px/1.2 DM Mono,monospace}.glass-panel{border:1px solid var(--line);background:#151821}.ambient{display:none}.home-shell{background:linear-gradient(90deg,#0000 49.9%,#1b1e274d 50%,#0000 50.1%),radial-gradient(circle at 78% 18%,#253f4559,#0000 28%),#0c0e14;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:100vh;padding:24px;display:grid;overflow:hidden}.hero-panel{border:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;width:100%;min-width:0;max-width:1460px;min-height:720px;margin:auto;display:flex;position:relative;overflow:hidden}.hero-panel:before{content:"10";color:#11141c;letter-spacing:-.1em;z-index:0;font-size:44vw;font-weight:800;line-height:1;position:absolute;bottom:-17vw;right:-4vw}.brand-row{border-bottom:1px solid var(--line);z-index:2;align-items:center;height:96px;padding:18px 24px;display:flex;position:relative}.brand-logo{object-fit:contain;object-position:left;width:112px;height:46px;display:block}.brand-row>div{display:none}.connection-pill{letter-spacing:.08em;text-transform:uppercase;color:#747987;align-items:center;gap:8px;margin-left:auto;font:500 11px DM Mono;display:flex}.connection-pill:before{content:"";background:#5c616e;border-radius:50%;width:7px;height:7px}.connection-pill.is-online{color:var(--cyan)}.connection-pill.is-online:before{background:var(--cyan);box-shadow:0 0 18px var(--cyan)}.hero-stage{z-index:1;flex:1;grid-template-columns:minmax(420px,.82fr) minmax(520px,1.18fr);display:grid;position:relative}.hero-content{border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:clamp(52px,7vw,104px);display:flex}.hero-copy h2{letter-spacing:-.075em;color:var(--paper);margin:0 0 38px;font-size:clamp(58px,6.2vw,106px);font-weight:800;line-height:.84}.hero-copy h2 em{color:var(--orange);font-style:normal}.hero-copy>p:last-child{color:#a5a9b5;max-width:570px;font-size:17px;line-height:1.75}.home-actions{flex-wrap:wrap;gap:10px;margin-top:44px;display:flex}.primary-button,.secondary-button,.resume-button{border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 24px;font-weight:800;transition:transform .2s,background .2s,color .2s;display:inline-flex}.primary-button{background:var(--orange);color:#111217}.primary-button:hover:not(:disabled){background:#ff815d;transform:translateY(-3px)}.secondary-button{color:var(--paper);background:0 0;border-color:#3a3e49}.secondary-button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.resume-button{background:var(--cyan);color:var(--ink);border:0;flex-basis:100%;justify-content:flex-start}.resume-button small{margin-left:auto}.hero-game-art{background:linear-gradient(150deg,#11151f,#181c27);min-height:580px;position:relative;overflow:hidden}.hero-game-art:after{content:"PHASE / SEQUENCE / SET";letter-spacing:.25em;color:#5f6471;font:500 10px DM Mono;position:absolute;bottom:28px;right:32px}.art-burst{border:1px solid #323744;border-radius:50%;width:480px;height:480px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.art-burst:before,.art-burst:after{content:"";border:1px solid #282d38;border-radius:50%;position:absolute;inset:58px}.art-burst:after{inset:118px}.art-card{transform-origin:bottom;border:1px solid #ffffff35;border-radius:3px;flex-direction:column;justify-content:space-between;width:150px;height:230px;padding:15px;font-family:DM Mono;display:flex;position:absolute;box-shadow:0 28px 50px #0007}.art-card:after{content:"";border:1px solid #ffffff40;position:absolute;inset:9px}.art-card small,.art-card strong{z-index:1;position:relative}.art-card strong{align-self:center;font:800 80px Manrope}.art-card--one{background:#ff6b3d;top:22%;left:22%;transform:rotate(-14deg)}.art-card--two{background:#176f7a;top:13%;left:39%;transform:rotate(-3deg)}.art-card--three{background:#7055ba;top:18%;left:56%;transform:rotate(9deg)}.art-card--wild{background:#d9a829;top:30%;left:68%;transform:rotate(19deg)}.art-target{background:var(--paper);width:132px;height:132px;color:var(--ink);box-shadow:10px 12px 0 var(--orange);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;bottom:54px;left:13%;transform:rotate(-6deg)}.art-target span,.art-target small{letter-spacing:.15em;text-transform:uppercase;font:500 9px DM Mono}.art-target strong{font-size:54px;line-height:1}.art-arrow{writing-mode:vertical-rl;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);font:500 10px DM Mono;position:absolute;top:24px;right:28px}.game-facts{letter-spacing:.12em;text-transform:uppercase;color:#777c89;align-items:center;gap:30px;width:min(1460px,100%);margin:0 auto;padding:20px 4px 0;font:500 10px DM Mono;display:flex}.game-facts span{align-items:center;gap:8px;display:flex}.game-facts strong{color:var(--orange);margin-left:auto;font-weight:500}.hero-panel--setup{min-height:680px}.hero-stage.is-setup{display:none}.setup-card{z-index:2;border-left:5px solid var(--orange);background:#151821;width:min(620px,100% - 48px);margin:auto;padding:52px;position:relative}.setup-card__header,.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.setup-card h3,.section-heading h2{letter-spacing:-.04em;margin:0;font-size:30px}.text-button{color:var(--muted);background:0 0;border:0;padding:6px}.text-button:hover{color:var(--cyan)}.field{flex-direction:column;gap:8px;margin-top:24px;display:flex}.field>span{letter-spacing:.12em;text-transform:uppercase;color:#8d929f;font:500 10px DM Mono}.field input,.field select{height:56px;color:var(--paper);background:#0d1017;border:1px solid #353a46;border-radius:0;outline:0;padding:0 16px}.field input:focus,.field select:focus{border-color:var(--cyan)}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.setup-card>.primary-button{width:100%;margin-top:28px}.code-input{letter-spacing:.3em;font:500 28px DM Mono!important}.form-error{color:#ff8268;background:#321c1b;padding:12px 14px;font-size:13px}.lobby-shell,.game-shell{background:#0c0e14;min-height:100vh;padding:22px}.topbar,.game-topbar{align-items:center;max-width:1440px;min-height:76px;margin:0 auto 18px;padding:12px 18px;display:flex}.brand-row--small{border:0;height:auto;padding:0}.brand-logo--small{width:92px;height:42px}.icon-button{color:#aeb2bd;background:#11141b;border:1px solid #343944;border-radius:0;place-items:center;width:46px;height:46px;margin-left:auto;display:grid}.icon-button:hover{color:var(--orange);border-color:var(--orange)}.lobby-layout{grid-template-columns:.85fr 1.15fr;gap:18px;max-width:1440px;margin:auto;display:grid}.invite-panel,.players-panel{min-height:600px;padding:34px}.invite-panel{background:var(--orange);color:var(--ink);border:0}.invite-panel .eyebrow{color:#5a2416}.invite-panel .secondary-button{color:#16171a;border-color:#16171a;width:100%}.status-icon{color:#16171a}.room-code{gap:7px;margin:48px 0 30px;display:flex}.room-code span{color:var(--paper);background:#11131a;place-items:center;width:62px;height:74px;font:500 30px DM Mono;display:grid}.qr-frame{background:var(--paper);width:216px;height:216px;margin:0 auto 34px;padding:16px}.qr-frame svg{width:100%;height:100%}.helper-text{justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.capacity-pill,.ready-pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid #373c48;align-items:center;gap:5px;padding:8px 10px;font:500 10px DM Mono;display:flex}.player-list{margin:34px 0}.player-row{border-top:1px solid #2b303b;align-items:center;gap:14px;min-height:82px;display:flex}.player-row:last-child{border-bottom:1px solid #2b303b}.player-row--empty{opacity:.35}.avatar{background:var(--cyan);width:46px;height:46px;color:var(--ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.avatar--small{width:34px;height:34px}.player-row__copy{flex-direction:column;flex:1;gap:4px;display:flex}.player-row__copy span{color:#858b99;font-size:12px}.host-icon{color:var(--yellow)}.ready-pill.is-ready{border-color:var(--cyan);color:var(--cyan)}.lobby-settings{color:#8f94a1;gap:25px;margin-bottom:24px;font:500 11px DM Mono;display:flex}.players-panel>.primary-button,.players-panel>.secondary-button{width:100%}.game-topbar{grid-template-columns:1fr auto 1fr;display:grid}.game-brand{align-items:center;gap:12px;display:flex}.game-brand img{width:46px;height:46px}.game-brand h1{margin:0;font-size:20px}.game-brand .eyebrow{margin:0}.turn-banner{text-align:center;border-left:1px solid #343945;border-right:1px solid #343945;padding:9px 34px}.turn-banner span{letter-spacing:.12em;color:#7f8490;font:500 9px DM Mono;display:block}.turn-banner strong{font-size:13px}.turn-banner.is-mine strong{color:var(--cyan)}.game-topbar .icon-button{justify-self:end}.opponents-row{justify-content:center;gap:8px;max-width:1200px;margin:0 auto 15px;display:flex}.opponent{background:#151821;border:1px solid #2e333e;align-items:center;gap:9px;padding:10px 16px;font-size:12px;display:flex}.opponent span{color:#838997}.opponent.is-active{border-color:var(--orange)}.eins-table{background:radial-gradient(circle,#202632,#10131a 68%);border:1px solid #242934;justify-content:center;align-items:center;gap:clamp(30px,6vw,95px);max-width:1200px;min-height:390px;margin:auto;display:flex;position:relative}.draw-pile,.discard-main{color:#9ca1ae;background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;display:flex}.draw-pile>b{font:500 11px DM Mono}.draw-pile>span,.discard-main>span{letter-spacing:.13em;text-transform:uppercase;font:500 9px DM Mono}.phase-objective{border-left:4px solid var(--orange);flex-direction:column;gap:8px;width:230px;padding:24px;display:flex}.phase-objective small{letter-spacing:.14em;color:var(--orange);font:500 9px DM Mono}.phase-objective strong{font-size:22px;line-height:1.1}.phase-objective span{color:#9297a4;font-size:12px}.self-zone{border-top:3px solid #0000;max-width:1440px;margin:15px auto 0;padding:18px}.self-zone.is-active{border-top-color:var(--cyan)}.self-zone__status{align-items:center;gap:12px;display:flex}.self-zone__status>div:nth-child(2){flex-direction:column;display:flex}.self-zone__status span{color:#858b97;font-size:11px}.self-zone__status .compact{margin-left:auto}.eins-hand{justify-content:center;align-items:flex-end;min-height:174px;padding:16px 20px;display:flex;overflow-x:auto}.hand-action{flex-direction:column;align-items:center;gap:7px;margin-left:-18px;display:flex}.hand-action:first-child{margin-left:0}.hand-action>button:last-child{color:#737987;text-transform:uppercase;background:0 0;border:0;font:500 9px DM Mono}.hand-action>button:last-child:hover{color:var(--orange)}.eins-card{color:#fff;border:0;border-radius:3px;flex-direction:column;justify-content:space-between;width:92px;height:140px;padding:10px;font-weight:800;transition:transform .18s;display:flex;position:relative;box-shadow:0 14px 25px #0008}.eins-card:after{content:"";border:1px solid #ffffff50;position:absolute;inset:6px}.eins-card:not(:disabled):hover{transform:translateY(-12px)}.eins-card strong{z-index:1;align-self:center;font-size:40px}.eins-card small{z-index:1}.eins-card small:last-child{align-self:flex-end;transform:rotate(180deg)}.eins-card.selected{box-shadow:0 0 0 3px var(--cyan),0 20px 30px #000a;transform:translateY(-20px)}.color-coral{background:#ed5c55}.color-aqua{background:#177986}.color-violet{background:#7257b9}.color-lime{background:#8cae30}.color-wild{background:#d59e27}.card-back{background:repeating-linear-gradient(135deg,#151923 0 10px,#242a36 10px 20px);border:1px solid #4a505d}.card-back span{z-index:1;color:var(--orange);margin:auto;font:800 15px Manrope}.card-empty{background:0 0;border:1px dashed #343a46}.compact{min-height:42px;padding:0 14px}.winner-overlay{z-index:20;background:#07090dda;place-items:center;display:grid;position:fixed;inset:0}.winner-card{text-align:center;border-top:5px solid var(--orange);width:min(440px,90vw);padding:48px}.winner-icon{color:var(--orange);font-size:58px}.winner-card h2{font-size:34px}.winner-card button{width:100%;margin-top:10px}.toast{z-index:30;color:#11131a;border-left:5px solid var(--cyan);background:#f3f0e8;padding:14px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 16px 50px #0008}.toast--error{border-left-color:var(--orange)}.global-portrait-rotate{display:none}@media (width<=900px){.home-shell{padding:12px}.hero-panel{min-height:calc(100vh - 24px)}.hero-stage{min-width:0;display:block}.hero-content{border-right:0;min-width:0;padding:48px 28px}.hero-copy{min-width:0}.hero-copy h2{font-size:58px}.hero-game-art{display:none}.home-actions{position:relative}.game-facts{display:none}.lobby-layout{grid-template-columns:1fr}.invite-panel,.players-panel{min-height:auto}.eins-table{gap:24px;min-height:330px}.phase-objective{width:190px}.opponents-row{justify-content:flex-start;overflow-x:auto}.eins-hand{justify-content:flex-start}}@media (width<=620px){.brand-row{height:76px;padding:14px 18px}.brand-logo{width:96px;height:40px}.hero-content{padding:38px 20px;overflow:hidden}.hero-copy h2{letter-spacing:-.055em;overflow-wrap:anywhere;max-width:100%;font-size:36px;line-height:.92}.hero-copy>p:last-child{font-size:14px;line-height:1.6}.eyebrow{letter-spacing:.12em;font-size:9px}.home-actions{min-width:0;margin-top:28px}.home-actions>*{width:100%;min-width:0;padding-inline:14px;font-size:14px}.setup-card{width:calc(100% - 24px);padding:30px 22px}.field-grid{grid-template-columns:1fr}.lobby-shell,.game-shell{padding:8px}.invite-panel,.players-panel{padding:22px}.room-code span{width:42px;height:56px;font-size:22px}.room-code{gap:4px}.game-topbar{grid-template-columns:1fr auto}.turn-banner{display:none}.eins-table{gap:13px;min-height:310px}.phase-objective{width:calc(100% - 20px);padding:10px 14px;position:absolute;top:10px;left:10px}.phase-objective strong{font-size:15px}.draw-pile,.discard-main{margin-top:72px}.eins-card{width:76px;height:116px}}
