@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#f5f1e8;background:#07080b;font-synthesis:none;--gold:#e8be58;--gold2:#ffdd7c;--panel:#101217;--line:#292b31;--muted:#92959e;--green:#087c4a;--red:#b8263f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -20%,#252014 0,transparent 38%),#07080b}button,input{font:inherit}button,a{tap-highlight-color:transparent}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.brand{display:inline-grid;grid-template-columns:auto auto;gap:0 10px;align-items:center;color:#f7d371;text-decoration:none;font-weight:700;font-size:24px;letter-spacing:-1px}.brand-mark{grid-row:1/3;color:var(--gold);font-size:19px}.brand small{grid-column:2;font-size:8px;letter-spacing:4px;color:#777269}.brand.compact{font-size:19px}.landing{min-height:100vh;padding:34px 0 22px}.landing>.brand{display:grid;width:max-content;margin:auto}.hero{text-align:center;margin:74px auto 46px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:700}.hero h1{font-size:clamp(46px,8vw,84px);line-height:.95;margin:16px 0;font-weight:600;letter-spacing:-4px}.hero h1 em{font-family:Playfair Display,serif;color:var(--gold2);font-weight:700}.hero>p:last-child{color:var(--muted);font-size:16px}.dealer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:auto}.dealer-card{position:relative;border:1px solid var(--line);border-radius:20px;padding:28px;background:linear-gradient(145deg,#14161c,#0c0d11);overflow:hidden}.dealer-card.active{border-color:#77612c;box-shadow:0 18px 60px #0008}.dealer-card.inactive{opacity:.48}.dealer-icon{font-size:46px;color:var(--gold);height:58px}.dealer-state{position:absolute;right:20px;top:22px;font-size:9px;letter-spacing:1.5px;color:#8c8e95}.dealer-card.active .dealer-state{color:#67d89c}.dealer-card h2{font-size:25px;margin:20px 0 8px}.dealer-card p{color:var(--muted);line-height:1.5;min-height:48px}.capacity{display:block;color:#777;font-size:10px;letter-spacing:2px;margin:25px 0 16px}.primary-button,.secondary-button,.danger-button{border:0;border-radius:10px;padding:13px 17px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:18px}.primary-button{background:linear-gradient(135deg,var(--gold2),#c99d35);color:#161206}.primary-button:disabled,.secondary-button:disabled{opacity:.35;cursor:not-allowed}.dealer-card .primary-button{width:100%}.secondary-button{background:#1d2026;border:1px solid #383b44;color:#eee}.danger-button{background:#471823;border:1px solid #7f2a3d;color:#ffb8c5}.landing footer{display:flex;justify-content:center;gap:26px;margin-top:42px}.landing footer a,.text-button,.back-link{border:0;background:none;color:#999;text-decoration:none;cursor:pointer}.landing footer a:hover,.text-button:hover{color:var(--gold)}.join-page,.admin-page{padding:32px 0;min-height:100vh}.back-link{display:block;margin:32px 0}.join-card{width:min(440px,100%);margin:80px auto 0;border:1px solid var(--line);border-radius:18px;padding:32px;background:var(--panel)}.join-card h1{font-size:38px;margin:8px 0 28px}.join-card label,.admin-card label{display:grid;gap:8px;color:#aaa;font-size:12px;letter-spacing:1px}.join-card input,.admin-card input{background:#08090d;border:1px solid #34363d;border-radius:9px;color:#fff;padding:14px;outline:none}.join-card input:focus,.admin-card input:focus{border-color:var(--gold)}.join-card .primary-button{width:100%;margin-top:20px}.notice{padding:12px 14px;border-radius:8px;background:#25200f;color:#e2ca81;margin:12px 0;font-size:13px}.notice.error{background:#36151d;color:#ff9daf}.game-page{min-height:100vh;background:#08090c}.game-header{height:66px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid #25272d;gap:22px}.game-header .brand{margin-right:auto}.connection{font-size:11px;color:#8d8f96;display:flex;align-items:center;gap:7px}.connection i{width:7px;height:7px;border-radius:50%;background:#944}.connection.online i{background:#3ecf83;box-shadow:0 0 10px #3ecf83}.header-stat{display:grid;border-left:1px solid #2a2c32;padding-left:20px}.header-stat span,.round-strip span,.bet-dock span{font-size:8px;color:#7c7e85;letter-spacing:1.5px}.header-stat b{font-size:13px}.round-strip{height:58px;border-bottom:1px solid #25272d;display:flex;align-items:center;padding:0 24px;gap:24px;background:#0d0f13}.round-strip>div:first-child{display:grid}.round-strip>div:first-child b{font-size:10px}.phase{font-weight:700;letter-spacing:2px;font-size:12px;margin-left:auto}.phase-betting{color:#62da9b}.phase-bets_closed,.phase-spinning{color:#e79e52}.timer{font-variant-numeric:tabular-nums;font-size:27px;color:var(--gold);width:45px;text-align:right}.players-online{font-size:11px;color:#85878f}.result-banner{position:fixed;z-index:5;left:50%;top:134px;transform:translate(-50%);display:flex;align-items:center;gap:16px;padding:10px 22px;border-radius:0 0 12px 12px;background:#152019;box-shadow:0 12px 30px #0008}.result-banner.red{background:#541421}.result-banner.black{background:#181b21}.result-banner.green{background:#0c5435}.result-banner span{font-size:9px;letter-spacing:2px}.result-banner strong{font-size:28px}.result-banner b{font-size:11px}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:calc(100vh - 124px)}.betting-surface{padding:25px;overflow:auto;transition:.2s}.betting-surface.locked{opacity:.6;pointer-events:none}.roulette-wrap{display:grid;grid-template-columns:60px 1fr;gap:7px;max-width:1100px;margin:auto}.zeros{display:grid;gap:7px}.number-grid{display:grid;grid-template-columns:repeat(12,minmax(45px,1fr));grid-template-rows:repeat(3,58px);grid-auto-flow:column;gap:5px}.bet-cell{position:relative;min-height:44px;border:1px solid #41444b;border-radius:5px;background:#17191e;color:#eee;font-weight:700;cursor:pointer}.bet-cell:hover{border-color:var(--gold);transform:translateY(-1px)}.bet-cell.red{background:linear-gradient(145deg,#8e1d31,#5c1422)}.bet-cell.black{background:linear-gradient(145deg,#20242b,#111318)}.bet-cell.green{background:linear-gradient(145deg,#087648,#08422d);font-size:20px}.bet-cell i{position:absolute;right:3px;top:3px;border-radius:50%;min-width:23px;height:23px;display:grid;place-items:center;padding:2px;background:var(--gold2);color:#17130a;font-style:normal;font-size:9px;box-shadow:0 2px 8px #000}.outside-grid{grid-column:2;display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:4px}.outside-grid .bet-cell{font-size:10px;letter-spacing:.5px}.combination-panel{max-width:1160px;margin:20px auto;background:#0e1014;border:1px solid #292c32;border-radius:10px}.combination-panel summary{padding:14px 17px;cursor:pointer;font-weight:700}.combination-panel summary span{color:#777;font-weight:400;font-size:11px;margin-left:8px}.combination-panel>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:6px;padding:0 12px 12px;max-height:260px;overflow:auto}.combination-panel .bet-cell{font-size:10px}.bet-dock{border-left:1px solid #282a30;background:#0d0f13;padding:24px;display:flex;flex-direction:column;gap:13px}.bet-dock>div:first-child{display:grid}.bet-dock strong{font-size:32px;color:var(--gold)}.bet-dock p{min-height:40px;color:#aaa;font-size:12px;line-height:1.45}.chips{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px}.chips button{aspect-ratio:2/1;border-radius:40px;border:2px dashed #8b7031;background:#201c12;color:#d8b759;font-weight:700;cursor:pointer}.chips button.selected{background:var(--gold2);color:#161209;border-style:solid;box-shadow:0 0 0 3px #58481f}.bet-dock .primary-button,.bet-dock .secondary-button{width:100%}.wheel-page{height:100vh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:28px 5vw;background:radial-gradient(circle at 28% 50%,#2c2616 0,transparent 35%),#06070a}.wheel-page>.brand{position:absolute;left:30px;top:24px}.wheel-status{position:absolute;right:30px;top:26px;font-size:9px;letter-spacing:2px;color:#85878d}.wheel-status i{display:inline-block;width:7px;height:7px;background:#873240;border-radius:50%;margin-right:8px}.wheel-status i.online{background:#43cc87}.wheel-stage{position:relative;width:min(82vh,48vw);aspect-ratio:1;margin:auto;display:grid;place-items:center}.wheel-disc{position:absolute;inset:4%;border-radius:50%;border:10px solid #b58c32;background:repeating-conic-gradient(#a91e35 0deg 9.47deg,#161920 9.47deg 18.94deg);box-shadow:0 0 0 8px #2c2415,0 30px 80px #000;transition-property:transform;transition-timing-function:cubic-bezier(.08,.65,.12,1)}.wheel-disc:after{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,#e4bf60 0 8%,#1b1d22 9% 42%,#886922 43% 47%,#101216 48%);border:3px solid #d4ad4e}.wheel-disc span{position:absolute;left:calc(50% - 12px);top:50%;width:24px;height:86%;transform-origin:12px 0;text-align:center;font-size:11px;font-weight:700;color:#fff;z-index:2}.wheel-hub{z-index:4;width:15%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#d6b04e;color:#17130a;font-family:serif;font-weight:900}.pointer{position:absolute;z-index:6;top:-1%;font-size:34px;color:#f5dc91;text-shadow:0 3px 5px #000}.wheel-copy{text-align:center}.wheel-copy p{letter-spacing:4px;color:var(--gold);font-size:12px}.wheel-copy h2{font-size:clamp(35px,5vw,70px);margin:15px}.wheel-copy h1{font-size:clamp(110px,17vw,240px);line-height:.8;margin:30px}.wheel-copy h1.red{color:#e94762}.wheel-copy h1.green{color:#29c47e}.wheel-copy h1.black{color:#e8ebef}.wheel-copy span{font-size:10px;letter-spacing:3px;color:#777}.admin-page>header{display:flex;align-items:center;gap:28px;border-bottom:1px solid #292b31;padding-bottom:20px}.admin-page>header .brand{margin-right:auto}.admin-page>header h1{font-size:24px;margin:0}.admin-page>header p{font-size:11px;color:#777;margin:4px 0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.admin-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:15px}.admin-card.wide{grid-column:1/-1}.admin-card h2{font-size:15px;margin:0 0 6px}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#08090c;padding:4px;border-radius:8px}.segmented button{padding:9px;border:0;border-radius:6px;background:transparent;color:#777;cursor:pointer}.segmented button.selected{background:#302817;color:var(--gold)}.status-rows{display:grid;gap:8px}.status-rows span{display:flex;justify-content:space-between;color:#777;font-size:11px}.status-rows b{color:#ddd}.button-row{display:flex;flex-wrap:wrap;gap:8px}.muted{color:#777;font-size:11px}.device-state{font-size:13px}.pair-code{font-size:32px;letter-spacing:8px;color:var(--gold);text-align:center}.danger{color:#e76b80!important}.player-list{display:grid;gap:8px}.player-list>div{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border-bottom:1px solid #25272c;padding:9px}.player-list span{display:grid}.player-list small{color:#888}.player-list button{border:1px solid #3b3e45;background:#1a1c21;color:#ddd;border-radius:6px;padding:7px 10px;cursor:pointer}@media(max-width:850px){.dealer-grid{grid-template-columns:1fr}.hero{margin-top:55px}.table-layout{grid-template-columns:1fr}.bet-dock{position:sticky;bottom:0;border-left:0;border-top:1px solid #333;display:grid;grid-template-columns:1fr 1fr 1fr;z-index:4}.bet-dock p{display:none}.chips{grid-column:1/-1;grid-template-columns:repeat(4,1fr)!important}.number-grid{grid-template-columns:repeat(12,44px);overflow:auto}.outside-grid{grid-template-columns:repeat(6,75px);overflow:auto}.admin-grid,.wheel-page{grid-template-columns:1fr}.wheel-stage{width:min(82vw,58vh);margin-top:55px}.wheel-copy{align-self:start}.wheel-copy h2{font-size:30px}.wheel-copy h1{font-size:90px}.header-stat:first-of-type{display:none}}@media(max-width:520px){.shell{width:min(100% - 24px,1180px)}.hero h1{letter-spacing:-2px}.game-header{padding:0 12px;gap:10px}.header-stat{padding-left:10px}.round-strip{padding:0 12px;gap:12px}.players-online{display:none}.betting-surface,.bet-dock{padding:12px}.landing footer{flex-direction:column;align-items:center}.wheel-page{padding:20px}.wheel-status{right:15px}.wheel-page>.brand{left:15px}}
