:root{font-family:DM Sans,Arial,sans-serif;color:#e7ede4;background:#111a16}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}.hidden{display:none!important}#app{min-height:100vh;background:#111a16}.topbar{max-width:1280px;height:76px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;position:relative;border-bottom:1px solid #ffffff15}.brand{position:absolute;left:50%;transform:translate(-50%)}.brand strong{font-size:23px;letter-spacing:-.07em;font-weight:700}.brand strong span{color:#9eb27e}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.connection{font-size:11px;color:#9aab9e;margin-right:12px}.connection:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#a0bb81;margin-right:7px}.connection.offline:before{background:#d86e65}.icon-button{background:none;border:1px solid #35453a;color:#cbd6c6;border-radius:5px;padding:8px 11px;font-size:13px}.icon-button:hover{border-color:#9baa81}.icon-button span{font-size:11px;margin-left:4px}.eyebrow,.table-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;color:#a6b68a}.layout{display:none}body.in-game .layout{max-width:1280px;margin:48px auto;padding:0 28px 50px;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px}.intro{display:none}.game-shell,.panel{background:#17231c;border:1px solid #36453a;border-radius:7px}.game-shell{overflow:hidden}.table-header{height:82px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #ffffff12}.table-header h2{font-size:21px;font-weight:600;letter-spacing:-.04em;margin:5px 0 0}.room-badge{border:1px solid #697956;background:#78885918;color:#c7d5ae;border-radius:4px;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;white-space:nowrap;cursor:pointer}.scene{height:min(50vw,500px);min-height:400px;position:relative;background:#17241e;touch-action:none}.scene canvas{display:block;width:100%;height:100%}.table-footer{min-height:59px;border-top:1px solid #ffffff16;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 26px}.status{font-size:12px;color:#b9c8bb;line-height:1.45}.turn-badge{font-size:10px;font-weight:800;letter-spacing:.09em;color:#d9e7c7;border:1px solid #92ab79;border-radius:4px;padding:7px 10px;white-space:nowrap}.sidebar{display:flex;flex-direction:column;gap:16px}.panel{padding:21px}.panel-heading{display:flex;align-items:center;justify-content:space-between}.small-pill{font-size:11px;color:#a8bba6}.players{margin-top:16px;display:grid;gap:9px}.empty-player{font-size:12px;color:#97a998}.player{display:flex;align-items:center;gap:9px;border:1px solid #ffffff13;border-radius:5px;padding:9px}.player.active{border-color:#819768;background:#78906214}.avatar{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:#27382a;color:#cddab4;font-size:13px;font-weight:700}.player-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-meta{font-size:10px;color:#a2b2a3;margin-top:2px}.action-panel{min-height:180px}.actions{padding-top:14px}.actions p,.action-note{font-size:12px;line-height:1.55;color:#a9b9aa}.actions p{margin:0 0 12px}.action-note{display:block;margin:6px 0 12px}.action-button{width:100%;text-align:left;border:1px solid #7f986e;background:#2a3b29;color:#e5eddb;border-radius:5px;padding:11px 13px;font-size:12px;font-weight:700;margin-bottom:8px}.action-button:hover,.secondary-btn:hover,.primary-btn:hover{background:#354e34}.mau-toggle{width:100%;border:1px solid #af9a67;background:#483f28;color:#e7d19a;border-radius:5px;padding:11px;margin-bottom:8px;font-size:12px;font-weight:800}.mau-toggle.on{background:#b9ab77;color:#1f2d20}.hand-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.card-option{background:#24332a;border:1px solid #60725d;border-left:4px solid var(--card-color,#8aa177);border-radius:4px;color:#e7ecdf;font-size:11px;padding:7px 9px}.card-option:hover{background:#324738}.leave-button{border:0;background:none;color:#9aaf9b;text-decoration:underline;padding:10px 0;font-size:11px}.hint-card{display:flex;gap:9px;padding:4px 7px;color:#a3b6a7;font-size:11px;line-height:1.5}.hint-card>span{color:#a6b68a}.hint-card p{margin:0}.hint-card strong{color:#d0ddc7}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#0b130fdc;display:grid;place-items:center;padding:20px}.modal{width:min(100%,470px);border:1px solid #465849;background:#18241d;border-radius:7px;padding:30px;text-align:left;box-shadow:0 20px 70px #0007;position:relative}.modal h2{font-size:30px;line-height:1.15;letter-spacing:-.055em;font-weight:600;margin:12px 0}.modal p{font-size:13px;color:#aebdaf;line-height:1.55}.lobby-modal{width:min(100%,550px)}body:not(.in-game) #lobby{position:static;display:block;background:none;padding:0 20px;max-width:720px;margin:85px auto 50px}body:not(.in-game) .lobby-modal{background:none;border:none;box-shadow:none;padding:0;width:100%}body:not(.in-game) .lobby-modal h2{font-size:clamp(34px,5vw,48px);margin:16px 0}body:not(.in-game) .lobby-modal>p{margin-bottom:29px}.field-label{display:block;font-size:11px;color:#becbb7;margin:20px 0 8px}.modal input{outline:none;border:1px solid #435447;background:#152018;color:#e6ede2;border-radius:5px;padding:12px 13px;width:100%;font-size:13px}.modal input:focus{border-color:#a1b481}.modal input::placeholder{color:#879a89}.lobby-options{display:grid;gap:10px;margin:14px 0}.primary-btn,.secondary-btn{width:100%;display:flex;align-items:center;gap:14px;background:#1b2a20;border:1px solid #53664e;color:#e5edde;border-radius:5px;padding:15px;text-align:left}.primary-btn>span:first-child,.secondary-btn>span:first-child{font-size:23px;color:#aabc91;min-width:27px}.lobby-options strong{display:block;font-size:13px}.lobby-options small{display:block;font-size:11px;color:#9daf9d;margin-top:4px}.arrow{margin-left:auto;font-size:16px;color:#c9d8bc}.join-row{display:flex;gap:9px;border-top:1px solid #ffffff1a;padding-top:16px;margin-top:16px}.join-row input{text-transform:uppercase;letter-spacing:.16em;min-width:0}.join-row button{border:1px solid #778b68;background:#243627;border-radius:5px;color:#d9e5cf;padding:0 14px;font-size:12px;font-weight:700;white-space:nowrap}.error{min-height:18px;color:#f1a49b;font-size:11px;margin-top:10px}.wish-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:25px 0}.wish-option{display:flex;align-items:center;gap:10px;background:#233128;border:1px solid #526352;border-radius:5px;color:#e4eddf;padding:13px;font-weight:700}.color-dot{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #ffffff77}.text-button{border:0;background:none;color:#aebdae;padding:8px 0}.modal-close{position:absolute;top:15px;right:20px;border:0;background:none;color:#c8d5c8;font-size:25px}.rules-modal{width:min(100%,550px)}.rules-grid{display:grid;gap:7px;margin:20px 0}.rules-grid>div{display:flex;gap:13px;align-items:center;border:1px solid #ffffff14;padding:9px;border-radius:4px}.rules-grid b{color:#c9dab5;min-width:38px;font-size:17px}.rules-grid span{color:#b9c9b9;font-size:12px;line-height:1.4}.rules-note{border-top:1px solid #ffffff1a;padding-top:13px;font-size:11px!important}.toast{position:fixed;z-index:30;bottom:24px;left:50%;transform:translate(-50%);background:#c6d5b4;color:#1a291d;border-radius:5px;padding:10px 14px;font-size:12px;font-weight:700;box-shadow:0 12px 30px #0006;max-width:90vw;text-align:center}@media(max-width:900px){body.in-game .layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.hint-card{grid-column:1/-1}.scene{height:520px}}@media(max-width:650px){.topbar{height:65px;padding:0 16px}.brand{position:static;transform:none}.brand strong{font-size:19px}.connection,.icon-button span{display:none}body:not(.in-game) #lobby{margin:50px auto;padding:0 22px}body.in-game .layout{margin:20px auto;padding:0 12px 30px;gap:12px}.table-header{height:74px;padding:13px 15px}.table-header h2{font-size:17px}.table-kicker{font-size:8px}.room-badge{font-size:9px;padding:7px}.scene{height:390px;min-height:0}.table-footer{padding:10px 15px}.status{font-size:11px}.sidebar{display:block}.panel{margin-bottom:12px}.hint-card{display:none}.modal{padding:22px}.modal h2{font-size:27px}}.modal select{width:100%;background:#152018;color:#e6ede2;border:1px solid #435447;border-radius:5px;padding:12px 13px;font:inherit;font-size:13px}.pile-label{position:absolute;top:51%;z-index:2;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:2px;color:#d2dec9;font-size:10px;font-weight:800;letter-spacing:.14em;text-shadow:0 2px 8px #08140f}.pile-label strong{font-size:18px;letter-spacing:0;color:#fff5d9}.draw-label{left:33%;transform:translate(-50%)}.discard-label{left:67%;transform:translate(-50%)}.deal-banner{position:absolute;z-index:3;top:42%;left:50%;transform:translate(-50%,-50%);padding:14px 20px;background:#17231eea;border:1px solid #b7a46b;border-radius:5px;color:#f5e4bb;font-family:Fraunces,serif;font-size:20px;text-align:center;box-shadow:0 10px 35px #0008;pointer-events:none}.deal-banner:not(.hidden){animation:dealPulse 1s ease-in-out infinite alternate}@keyframes dealPulse{to{transform:translate(-50%,-50%) scale(1.035);box-shadow:0 10px 40px #b7a46b55}}.result-modal{z-index:2;max-height:88vh;overflow:auto;text-align:center;border-color:#ac9866;box-shadow:0 25px 90px #000b,0 0 65px #b9a77733}.result-modal h2{font-family:Fraunces,serif;font-size:clamp(30px,5vw,45px);color:#f6eacb}.result-modal .eyebrow{color:#d7bf7f}.result-modal .action-button{text-align:center;font-size:14px;padding:14px}.scoreboard{display:grid;gap:6px;margin:20px 0}.score-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;text-align:left;padding:9px 12px;border:1px solid #53664e;border-radius:5px;font-size:12px}.score-row.winner{background:#9ead7924;border-color:#b2bd84}.score-row span:last-child{color:#e9d494;font-weight:800}.score-row small{color:#aebfac}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-8%;width:8px;height:16px;background:var(--color);left:var(--x);transform:rotate(var(--angle));animation:fall var(--duration) ease-in forwards;animation-delay:var(--delay)}@keyframes fall{to{top:110%;transform:translate(var(--drift)) rotate(720deg);opacity:.1}}@media(max-width:650px){.pile-label{top:53%;font-size:8px}.draw-label{left:30%}.discard-label{left:70%}.pile-label strong{font-size:15px}.deal-banner{font-size:15px;width:75%}}.pile-label{top:20%}.watten-scene .pile-label{display:none}@media(max-width:650px){.brand strong{font-size:15px;letter-spacing:-.055em}}
