:root{color:#ece7d8;--paper:#eee8d6;--red:#e84b3c;--yellow:#eabf4f;--line:#ffffff24;background:#0d1519;font-family:Inter,Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 75% 10%,#263840 0,#0000 35%),linear-gradient(155deg,#152329,#091014 70%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit;text-decoration:none}nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1240px;height:82px;margin:auto;padding:0 30px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand__number{color:#10191e;background:var(--yellow);box-shadow:4px 4px 0 var(--red);padding:9px 10px;font-size:31px;font-weight:900;transform:rotate(-3deg)}.brand b{letter-spacing:.15em;font-size:20px}.brand small{color:#819198;letter-spacing:.2em;font-size:9px;line-height:1.8;display:block}.nav-link,.secondary,.mini{border:1px solid var(--line);color:inherit;background:0 0;border-radius:4px;padding:10px 15px}.nav-link:hover,.secondary:hover,.mini:hover{border-color:var(--yellow)}.landing,.host,.room-shell{min-height:100vh}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:8vw;max-width:1240px;min-height:calc(100vh - 142px);margin:auto;padding:80px 30px;display:grid}.kicker{letter-spacing:.28em;color:var(--yellow);font-size:12px;font-weight:700}.hero h1,.host-title h1{letter-spacing:-.045em;margin:18px 0 28px;font-size:clamp(44px,6vw,82px);line-height:1.05}.hero h1 em{color:var(--red);font-style:normal}.hero-copy>p:not(.kicker){color:#a8b2b4;max-width:600px;font-size:18px;line-height:1.9}.facts{gap:10px;margin-top:36px;display:flex}.facts span{border:1px solid var(--line);color:#aebabb;padding:8px 14px;font-size:13px}.panel{color:#172126;background:#efead9f7;border-radius:5px;box-shadow:14px 14px #00000040}.entry{padding:32px}.entry header{border-bottom:1px solid #c8c1ad;align-items:center;gap:17px;padding-bottom:22px;display:flex}.entry h2{margin:0}.entry header p{color:#667074;margin:3px 0}.stamp{border:2px solid var(--red);color:var(--red);padding:8px;font-weight:900;transform:rotate(-8deg)}.join-form{gap:18px;margin-top:26px;display:grid}.join-form label,.action-box label{color:#596367;gap:7px;font-size:12px;font-weight:700;display:grid}.join-form input,.action-box input,.create input{color:#151b1e;background:#fffef8;border:1px solid #bbb6a8;border-radius:3px;outline:none;width:100%;padding:13px}.join-form input:focus,.action-box input:focus,.create input:focus{border-color:var(--red);box-shadow:0 0 0 3px #e84b3c21}.primary{background:var(--red);color:#fff;border:0;border-radius:3px;padding:13px 18px;font-weight:700;box-shadow:4px 4px #932a24}.error{margin:0;color:#ff6457!important}.landing footer{color:#67767b;place-items:center;height:60px;font-size:12px;display:grid}.host{max-width:1240px;margin:auto;padding:0 30px 80px}.host nav{padding-inline:0}.host-title{padding:64px 0 38px}.host-title h1{margin:10px 0;font-size:52px}.host-title>p:last-child{color:#8c9a9e}.create{border:1px solid var(--line);background:#ffffff0d;grid-template-columns:1fr auto;gap:14px;padding:20px;display:grid}.room-list{gap:18px;margin-top:28px;display:grid}.room-card{color:#172126;background:#ede7d5;border-radius:4px;padding:23px}.room-head{border-bottom:1px solid #c8c0aa;justify-content:space-between;margin-bottom:10px;padding-bottom:16px;display:flex}.room-head h2{margin:0}.room-head p{color:#6a7477;font-size:12px}.room-card .secondary,.code-row .mini{border-color:#b8b2a4}.code-row{grid-template-columns:65px 1fr auto;align-items:center;gap:14px;padding:8px 0;display:grid}.code-row code{letter-spacing:.1em;font-weight:700}.mini{padding:5px 10px}.empty{border:1px dashed var(--line);text-align:center;color:#738287;padding:60px}.room-meta{text-align:center;display:grid}.room-meta span{color:#738287;letter-spacing:.2em;font-size:12px}.statusbar{border-bottom:1px solid var(--line);background:#080d10;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;min-height:52px;padding:0 max(30px,50vw - 590px);font-size:13px;display:grid}.statusbar span:last-child{text-align:right}.statusbar span:before{content:"";background:#5e6669;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.statusbar span.online:before{background:#54ce84;box-shadow:0 0 8px #54ce84}.statusbar strong{color:var(--yellow)}.game-grid{grid-template-columns:minmax(0,1fr) 290px;gap:22px;max-width:1240px;margin:28px auto;padding:0 30px;display:grid}.trail{border:1px solid var(--line);background:#0000002b;min-height:250px;padding:20px;overflow:hidden}.section-title{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-title h2{margin:0;font-size:16px}.section-title span{color:#8a989c;font-size:12px}.trail-line{gap:16px;padding:8px 4px 28px;display:flex;overflow-x:auto}.trail-stop{flex:none;align-items:start;gap:3px;display:flex;position:relative}.trail-stop:not(:last-child):after{content:"";border-top:2px dashed #667278;width:20px;position:absolute;top:54px;right:-19px}.sprint-stack{gap:2px;display:grid}.card{color:#172126;background:linear-gradient(145deg,#fbf8ed,#dcd4bd);border:0;border-radius:5px;width:76px;height:108px;position:relative;overflow:hidden;box-shadow:3px 4px #000}.card:disabled{opacity:1}.card-value{font-size:37px;font-weight:900;position:absolute;top:8px;left:10px}.footprints{color:var(--red);font-size:8px;position:absolute;bottom:9px;right:9px}.card--hidden{color:var(--yellow);background:repeating-linear-gradient(45deg,#111c21 0 7px,#1b2b31 7px 14px);border:2px solid #c7483d}.card-back{place-items:center;height:100%;font-size:28px;font-weight:900;display:grid;transform:rotate(-9deg)}.card--small{width:34px;height:49px;box-shadow:2px 2px #000}.card--small .card-back{font-size:14px}.card--small .card-value{font-size:17px;top:4px;left:5px}.card--small .footprints{display:none}.card--selected{outline:4px solid var(--yellow);transform:translateY(-5px)}.draw-panel,.controls,.sidebar{box-shadow:none;margin-top:20px;padding:20px}.decks{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.decks button{color:#fff;background:#1a292f;border:1px solid #bbb4a3;border-radius:3px;min-height:68px}.decks b,.decks span{display:block}.decks b{color:var(--yellow);font-size:20px}.decks span{color:#9eaaad;font-size:11px}.hand{gap:11px;padding:8px 4px 18px;display:flex;overflow-x:auto}.action-box{border-top:1px solid #c5beac;flex-wrap:wrap;align-items:end;gap:12px;padding-top:16px;display:flex}.action-box p{color:#5e686c;flex:1;min-width:220px}.action-box label{flex:1;min-width:260px}.sidebar{height:max-content;margin-top:0;position:sticky;top:20px}.sidebar ol{color:#586368;max-height:420px;padding-left:22px;font-size:13px;line-height:1.65;overflow:auto}.host-actions{border-top:1px solid #c5beac;gap:10px;padding-top:16px;display:grid}.danger{border:1px solid var(--red);color:var(--red);background:0 0;padding:10px}.observer-note{color:#715a1d;background:#f5e8b8;padding:12px}.result{text-align:center;z-index:5;background:#030709e0;place-content:center;display:grid;position:fixed;inset:0}.result p{color:var(--yellow);margin:0;font-size:64px;font-weight:900}.toast{z-index:8;background:#9e2922;padding:10px 18px;position:fixed;top:90px;left:50%;transform:translate(-50%)}.waiting,.reconnect{text-align:center;max-width:560px;margin:100px auto;padding:40px}.radar{border:1px solid var(--red);border-radius:50%;width:80px;height:80px;margin:0 auto 25px;box-shadow:0 0 0 15px #e84b3c14,0 0 0 30px #e84b3c0a}.loading{place-content:center;justify-items:center;gap:25px;min-height:100vh;display:grid}.nav-actions{align-items:center;gap:12px;display:flex}.nav-link--rules{color:var(--yellow);border-color:#eabf4f8c}.rules-page{min-height:100vh;padding-bottom:80px}.rules-hero{width:100%;max-width:980px;margin:0 auto;padding:72px 30px 58px}.rules-hero h1{letter-spacing:-.05em;margin:12px 0 22px;font-size:clamp(50px,7vw,84px)}.rules-hero>p:not(.kicker){color:#a8b2b4;max-width:760px;font-size:18px;line-height:1.9}.rules-layout{grid-template-columns:190px minmax(0,1fr);gap:42px;width:100%;max-width:980px;margin:0 auto;padding:0 30px;display:grid}.rules-index{border-left:2px solid var(--yellow);gap:13px;height:max-content;padding:8px 0 8px 20px;display:grid;position:sticky;top:28px}.rules-index b{color:var(--yellow);margin-bottom:6px}.rules-index a{color:#89979b;font-size:13px}.rules-index a:hover{color:#fff}.rules-content{gap:18px;min-width:0;display:grid}.rules-content section{background:var(--paper);color:#172126;border-radius:4px;padding:34px 38px;scroll-margin-top:20px;position:relative;box-shadow:8px 8px #00000038}.rules-content h2{margin:0 0 18px;padding-right:56px;font-size:26px}.rules-content p{color:#536064;margin:10px 0;line-height:1.85}.rule-no{color:#d0c8b2;font-size:28px;font-weight:900;position:absolute;top:26px;right:30px}.rule-callout{background:#dbe3d9;border-left:4px solid #589267;grid-template-columns:58px 1fr;align-items:start;gap:14px;margin-top:22px;padding:16px;display:grid}.rule-callout--warning{border-left-color:var(--red);background:#f4dfbd}.rule-example{color:#e9e4d6;background:#172126;border-radius:3px;margin-top:22px;padding:22px}.rule-example p{color:#aeb9bb;margin-bottom:0}.rule-cards{align-items:center;gap:10px;display:flex}.rule-cards>span{color:var(--yellow);font-size:24px;font-weight:900}.rule-cards .card{pointer-events:none}@media (width<=850px){.hero{grid-template-columns:1fr;padding-top:50px}.game-grid{grid-template-columns:1fr}.sidebar{position:static}.statusbar{grid-template-columns:1fr 1fr;padding:10px 20px}.statusbar strong{text-align:center;grid-area:1/1/auto/-1}.decks,.create{grid-template-columns:1fr}.room-meta{display:none}}@media (width<=650px){.rules-hero{padding:46px 20px 34px}.rules-layout{grid-template-columns:1fr;padding:0 18px}.rules-index{border-left:0;border-top:2px solid var(--yellow);grid-template-columns:repeat(2,1fr);padding:18px 0;position:static}.rules-index b{grid-column:1/-1}.rules-content section{padding:28px 22px}.nav-actions{gap:7px}.room-shell .nav-actions .nav-link{padding:9px 10px;font-size:13px}}@media (width<=520px){.hero{padding:38px 18px}.entry{padding:22px}.host{padding:0 18px 60px}.game-grid{padding:0 14px}.card{width:65px;height:94px}.action-box>*{width:100%}.result p{font-size:46px}}
