:root{color-scheme:dark;--bg:#101916;--panel:#19251f;--gold:#e7bc70;--muted:#a9b8ad}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f6f3e8;font:16px system-ui,sans-serif}header,main,footer{max-width:1120px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:26px 24px;border-bottom:1px solid #ffffff15}.brand{font-size:29px;font-weight:900;letter-spacing:4px;color:inherit;text-decoration:none}.brand span{color:var(--gold);padding-left:8px}.badge{font-size:10px;letter-spacing:1px;color:var(--muted)}button,select{font:inherit;border:1px solid #ffffff25;border-radius:9px;padding:12px 16px;background:#22352a;color:inherit;cursor:pointer}button:hover{border-color:var(--gold)}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:default;opacity:.38}main{padding:0 24px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;padding:55px 0 38px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--gold)}h1{font:600 clamp(32px,4.5vw,53px)/1.12 Georgia,serif;margin:16px 0}h1 em{font-weight:400;color:var(--gold)}p{color:var(--muted);line-height:1.65}.setup{display:grid;gap:14px;background:var(--panel);padding:25px;border-radius:16px}.setup label{font-weight:600}.primary{background:var(--gold);color:#19231c;font-weight:800;border:0}small{font-size:12px;color:var(--muted);line-height:1.5}.game{background:#14231c;border:1px solid #ffffff19;border-radius:20px;padding:24px}.gamebar,.handbar{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-size:21px;margin:7px 0}.timer{border:1px solid #e7bc7055;color:var(--gold);border-radius:50%;width:59px;height:59px;display:grid;place-items:center;font-weight:bold}.timer.urgent{color:#ff9b8e;border-color:#ff9b8e}#status{min-height:26px;margin:10px 0 18px}.table{position:relative;min-height:260px;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;align-items:stretch;border-radius:100px;background:radial-gradient(ellipse,#274c35,#1b3426);border:8px solid #38503b;padding:28px}.empty{display:flex;align-items:center;gap:20px;font-size:34px;color:#a4c3a2}.empty span{font-size:14px}.seat{text-align:center;min-width:115px;flex:1;padding:12px;border-radius:15px;background:#0c1b1550}.seat.active{box-shadow:0 0 0 2px var(--gold)}.seat.out{opacity:.45}.seatname{font-weight:700;margin-bottom:5px}.seatinfo{font-size:11px;color:#bbcfbe;margin-bottom:14px}.seat .card{margin:auto}.card{width:78px;height:110px;background:#fff9ee;color:#202d29;border-radius:9px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:9px 12px;font-weight:800;font-size:22px;box-shadow:0 4px 9px #0003;border:2px solid transparent}.card.red{color:#be413e}.card .symbol{font-size:39px;align-self:center}.card.back{background:repeating-linear-gradient(45deg,#314d3b,#314d3b 5px,#294332 5px,#294332 10px);border:3px solid #b5c7a2;color:#c7d8b5;align-items:center;justify-content:center;font-size:28px}.handbar{margin-top:24px}.handbar h3{font-size:15px}.handbar h3 span{font-size:12px;font-weight:400;color:var(--muted)}#family{font-size:12px;color:var(--gold)}.hand{display:flex;justify-content:center;gap:12px;min-height:120px;padding:12px 0}.hand button.card{width:86px;height:120px;transition:transform .15s}.hand button.card:not(:disabled):hover{transform:translateY(-7px)}.hand button.card:disabled{opacity:.5}.hand button.card:disabled.red{color:#be413e}#result:not(:empty){padding:18px;text-align:center;border:1px solid #e7bc7050;border-radius:12px;background:#e7bc7010;color:var(--gold);font-size:20px;font-weight:700}.bottom{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:23px 0}.bottom h3{font-size:16px}.bottom p{font-size:14px}details{border-top:1px solid #ffffff20;padding:24px 0;font-size:14px}summary{cursor:pointer;color:var(--gold);font-weight:600}footer{color:var(--muted);font-size:12px;padding:25px;text-align:center}@media(max-width:700px){.badge{display:none}.intro{grid-template-columns:1fr;gap:20px;padding-top:30px}main{padding:0 14px}.game{padding:15px}.table{border-radius:30px;padding:18px 10px;gap:9px}.seat{min-width:85px;padding:8px}.seat .card{width:60px;height:85px;font-size:17px}.seat .card .symbol{font-size:29px}.hand{gap:6px}.hand button.card{width:58px;height:94px;padding:7px;font-size:19px}.hand .symbol{font-size:29px}.handbar{align-items:flex-start}.handbar h3 span{display:block;margin-top:4px}.bottom{grid-template-columns:1fr;gap:0}.empty span{font-size:11px}.empty{gap:8px}}
.table{height:440px;display:block;position:relative;border-radius:160px}.table:before{content:'KORAT  ↺';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#9bbaa0;font-size:13px;font-weight:800;letter-spacing:3px}.table:has(.empty):before{display:none}.empty{height:100%;justify-content:center}.seat{position:absolute;transform:translate(-50%,-50%);width:125px;min-width:0}.seatname{font-size:14px}.seatinfo{font-size:11px}@media(max-width:700px){.table{height:450px;border-radius:60px}.seat{width:88px;padding:7px 4px}.seatname{font-size:12px}.seatinfo{font-size:10px;margin-bottom:9px}.table:before{font-size:10px;letter-spacing:1px}}
.setup select{width:100%;min-width:0}@media(max-width:700px){.hand button.card{flex:1;min-width:0;max-width:58px}.handbar{flex-wrap:wrap}.seat{max-width:29%}}
.ownership{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#e7bc7014;border:1px solid #e7bc7040;border-radius:10px;padding:13px 16px;margin-bottom:18px}.ownership strong{color:var(--gold);font-size:16px}.ownership span{font-size:13px;color:#e6eadf}.seat.holds{background:#3d4128;box-shadow:0 0 0 2px var(--gold)}.seat.active{outline:3px solid #b5e6c2;outline-offset:4px}.seat.drawing{box-shadow:0 0 0 2px var(--gold)}.seat-tag{font-size:9px;font-weight:800;letter-spacing:1px;color:var(--gold);margin-bottom:6px}.action-tag{font-size:8px;font-weight:800;background:#b5e6c2;color:#153120;padding:3px;border-radius:4px;position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);white-space:nowrap}.dice-title{text-align:center;font-size:13px;margin:12px 0}.dice-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:5px 0 20px}.dice-player{text-align:center;font-size:12px;min-width:65px}.dice-player small{display:block;font-size:10px;margin-top:3px}.die{font-size:61px;line-height:1;background:#fff9ee;color:#22392b;border-radius:12px;box-shadow:0 5px 0 #988b69;padding:4px;margin-bottom:13px}.die.rolling{animation:roll .24s linear infinite}.deck-pile{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#192a20;border:2px solid #c4ceab;border-radius:9px;padding:14px 10px;font-size:12px;color:#e2d9b7;box-shadow:4px 4px 0 #59674b,8px 8px 0 #344832}.table.dealing:before{display:none}.draw-flight{position:absolute;z-index:3;width:35px;height:48px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#314d3b,#314d3b 5px,#294332 5px,#294332 10px);border:2px solid #c4ceab;border-radius:5px;color:#c4ceab;pointer-events:none;animation:draw-card .6s ease-in-out forwards;transform:translate(-50%,-50%)}@keyframes roll{0%{transform:rotate(-15deg) scale(.9)}50%{transform:rotate(15deg) scale(1.06)}100%{transform:rotate(-15deg) scale(.9)}}@keyframes draw-card{0%{left:50%;top:50%;opacity:1}80%{left:var(--dest-x);top:var(--dest-y);opacity:1}100%{left:var(--dest-x);top:var(--dest-y);opacity:0}}@media(max-width:700px){.dice-row{gap:9px}.dice-player{min-width:47px}.die{font-size:45px}.seat-tag{font-size:7px;letter-spacing:0}.ownership strong{font-size:14px}.ownership span{font-size:12px}.seat .card{height:78px}}@media(prefers-reduced-motion:reduce){.die.rolling{animation:none}.draw-flight{animation-duration:.01s}.hand button.card{transition:none}}
.seat.active{box-shadow:none}.seat.active.holds{box-shadow:0 0 0 2px var(--gold)}

.setup input{font:inherit;background:#22352a;color:#f6f3e8;border:1px solid #ffffff25;border-radius:9px;padding:12px 16px;width:100%;min-width:0}.setup input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.setup input:disabled{opacity:.6}#result:not(:empty){padding:32px 20px;margin:18px 0 24px;background:radial-gradient(ellipse at top,#63543255,#e7bc700b);border:2px solid var(--gold);box-shadow:0 0 32px #e7bc7015}.winner-headline{font:800 clamp(30px,5vw,64px)/1.1 system-ui,sans-serif;color:var(--gold);margin:0;overflow-wrap:anywhere}.winner-detail{font-size:18px;margin:16px 0 0;color:#f6f3e8}
.app-install{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid #ffffff15}.app-install>div{flex:1;min-width:200px}.app-install strong{font-size:14px;color:var(--gold)}.app-install p{font-size:12px;margin:4px 0}.app-install button{font-size:12px;padding:10px}button[hidden]{display:none}#installation:not([open]){display:none}

[hidden]{display:none!important}.account-screen{max-width:510px;margin:50px auto;padding:28px}.account-screen h1{font-size:38px}.account-screen form{display:grid;gap:16px}.account-screen input,.room-controls input{font:inherit;background:#22352a;color:#f6f3e8;border:1px solid #ffffff40;border-radius:9px;padding:12px;width:100%;min-width:0}.account-screen label{font-weight:bold}.account-screen small{font-size:13px}.signin-link{display:block;margin-top:20px;color:var(--gold)}.account-label{font-size:14px;color:var(--gold);padding-top:16px}.online-panel{padding:20px;margin:18px 0;background:#19251f;border:1px solid #ffffff25;border-radius:14px}.room-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.room-controls label{font-size:14px}.room-controls input{max-width:130px;letter-spacing:3px;text-transform:uppercase}#roomMessage,#roomInvite{font-size:14px}#roomCode{font-size:32px;color:var(--gold);letter-spacing:5px}#roomMembers{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}#roomMembers li{padding:10px;border:1px solid #ffffff20;border-radius:8px;font-size:14px}

footer a,.legal-page a,#accountForm a{color:var(--gold)}footer a{font-size:14px}.legal-page main{max-width:850px;padding:30px 24px}.legal-page h1{font-size:clamp(28px,4vw,42px);line-height:1.2}.legal-page h2{font-size:22px;margin:32px 0 14px}.legal-page p,.legal-page li{font-size:16px;line-height:1.75;color:#c6d2c9}.legal-page li{margin-bottom:10px}.legal-page article{overflow-wrap:anywhere}.legal-page header a:last-child{font-size:14px}

.draw-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px auto;max-width:720px}.draw-choices .card{width:42px;height:62px;font-size:24px;cursor:pointer}.draw-choices .card:disabled{opacity:.5;cursor:wait}

#recoveryCode{display:block;overflow-wrap:anywhere;font-size:1rem;margin:1rem 0}input[type=password]{font:inherit;padding:12px;border-radius:8px}#deleteAccount{max-width:420px;display:grid;gap:10px;margin:15px}button:disabled{cursor:wait}

.room-summary{text-align:left;margin-top:24px}.room-summary h3{font-size:1.25rem;margin:24px 0 12px}.summary-scroll{overflow-x:auto}.room-summary table{width:100%;border-collapse:collapse;font-size:1rem}.room-summary th,.room-summary td{padding:12px;border-bottom:1px solid #ffffff30;text-align:left}.room-summary th{color:#e4c36b}.room-summary tbody tr:first-child{background:#ffffff08}

.password-entry{display:flex;align-items:center;gap:.5rem;width:100%}.password-entry input{flex:1;min-width:0;width:100%}.password-entry .password-toggle{flex-shrink:0;width:auto;margin:0;padding:.7rem .85rem;white-space:nowrap}

.password-guidance{font-size:.88rem;line-height:1.5;color:var(--muted,#bdc8c3);margin:.4rem 0 1rem}

.brand-logo{display:block;width:82px;height:82px;object-fit:contain}.brand{display:flex;align-items:center}
