:root{font-family:system-ui,sans-serif;color:#f7f4ed;background:#101727;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% 10%,#293551 0,transparent 30%),#101727}button,input,select{font:inherit}button{border:1px solid #475370;background:#26344d;color:#fff;border-radius:12px;padding:13px 19px;font-weight:700;cursor:pointer}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{opacity:.4;cursor:not-allowed}.primary{background:#f9cc68;color:#202434;border-color:#f9cc68}.danger{background:#d65c58;border-color:#d65c58}.wide{width:100%;margin-top:20px}.shell{max-width:1120px;margin:auto;padding:0 24px}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #344057}.brand{font-size:22px;font-weight:900;letter-spacing:.03em;color:#fff;text-decoration:none}.brand span{color:#f9cc68}.brand small{font-size:10px;margin-left:5px;color:#a8b2c6}.tag,.muted,.hint{color:#a8b2c6}.tag{font-size:13px}main{min-height:calc(100vh - 150px)}.welcome{position:relative;padding:100px 0 120px;max-width:900px}.eyebrow{color:#f9cc68;font-size:13px;font-weight:700;letter-spacing:.12em}.welcome h1,.room-heading h1{font-size:clamp(38px,6vw,70px);line-height:1.2;margin:18px 0}.welcome h1 em{color:#f9cc68;font-style:normal}.welcome p{color:#bac3d3;line-height:1.8}.entry{margin-top:35px;max-width:400px;display:grid;gap:10px}.entry label,.bid-controls label{font-size:14px;font-weight:700}input,select{width:100%;border:1px solid #4a5870;border-radius:12px;background:#172237;color:#fff;padding:14px;outline:none}input:focus,select:focus{border-color:#f9cc68}.hero-dice{position:absolute;right:6%;top:135px;font-size:150px;color:#f9cc68;transform:rotate(-12deg);text-shadow:0 15px 45px #0006}.hero-dice span{display:inline-block;color:#f7f4ed;transform:rotate(25deg);font-size:120px}.room-heading{display:flex;justify-content:space-between;align-items:center;padding:36px 0 22px}.room-heading h1{font-size:34px;margin:8px 0}.connection{font-size:12px;color:#a8b2c6;white-space:nowrap}.connection i{display:inline-block;background:#e07171;width:8px;height:8px;border-radius:50%;margin-right:7px}.connection i.on{background:#83d7ac}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}.maincol,aside{display:grid;gap:18px;align-content:start}.card{background:#1b263b;border:1px solid #35435b;border-radius:18px;padding:24px;box-shadow:0 10px 30px #0002}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.card-title h2,.card h2{font-size:18px;margin:0}.card-title span{font-size:12px;color:#f9cc68}.player-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.player{display:flex;gap:12px;align-items:center;background:#222f46;border-radius:12px;padding:14px;min-width:0}.avatar{display:grid;place-items:center;border-radius:12px;width:44px;height:44px;background:#f9cc68;color:#202434;font-weight:900;flex-shrink:0}.player:nth-child(2) .avatar{background:#92b4e5}.player strong,.player small{display:block;overflow:hidden;text-overflow:ellipsis}.player small{color:#a8b2c6;font-size:12px;margin-top:4px}.copy{display:flex;gap:8px}.copy input{min-width:0}.hint{font-size:13px;line-height:1.7}.dice{display:flex;flex-wrap:wrap;gap:8px;min-height:58px;align-items:center}.die{display:inline-block;color:#f7e9c9;font-size:58px;line-height:1;animation:pop .35s ease-out}@keyframes pop{0%{opacity:0;transform:rotate(-35deg) scale(.6)}to{opacity:1;transform:none}}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.actions button{flex:1}.bid-controls{display:flex;gap:12px}.bid-controls label{flex:1}.bid-controls select{display:block;margin-top:8px}.history{list-style:none;padding:0;margin:0}.history li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #35435b;font-size:14px}.history li span{color:#a8b2c6}.placeholder{text-align:center;border-style:dashed;color:#a8b2c6}.placeholder h2{font-size:15px;color:#d6dce7}.placeholder p{font-size:12px}.camera{font-size:36px;color:#74849f;margin-bottom:12px}.result h2{font-size:28px;margin-top:12px}.result h3{font-size:14px;margin-top:24px}.error{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#aa4747;padding:14px 22px;border-radius:12px;max-width:90%;z-index:5}footer{color:#748198;font-size:12px;padding:40px 0;text-align:center}@media(max-width:720px){.shell{padding:0 16px}header{height:68px}.tag{font-size:11px}.welcome{padding:70px 0}.welcome h1{font-size:52px}.hero-dice{position:static;font-size:90px;margin:25px 0 0;text-align:right}.hero-dice span{font-size:75px}.room-heading h1{font-size:27px}.layout{grid-template-columns:1fr}.card{padding:19px}.player{padding:10px}.avatar{width:36px;height:36px}.die{font-size:49px}aside{grid-template-columns:1fr 1fr}.placeholder{grid-column:1/-1}.actions button{padding:12px 9px;font-size:14px}}.header-right{display:flex;gap:14px;align-items:center}.sound-toggle{background:transparent;border-color:#827251;color:#f4d79e;font-size:12px;padding:8px 11px;border-radius:20px}.bar-table{position:relative;height:340px;overflow:hidden;border-radius:22px;margin-bottom:20px;background:linear-gradient(180deg,#1b1715,#4b2919 53%,#211610);box-shadow:0 18px 45px #0008;border:1px solid #80653c}.bar-ambient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#120e0c33,#1b0c07aa),url(/bar-background.webp) center 55%/cover}.bar-caption{position:absolute;z-index:1;top:24px;left:26px;text-shadow:0 2px 8px #000;display:grid;gap:3px}.bar-caption span{color:#f0c47a;font-size:10px;font-weight:800;letter-spacing:.24em}.bar-caption strong{font-size:18px;color:#fff2d5}.table-top{position:absolute;bottom:-15%;left:-7%;width:114%;height:56%;border-radius:50% 50% 0 0/35% 35% 0 0;background:repeating-linear-gradient(4deg,#5c3019 0,#673720 5px,#704025 8px,#5b2b19 12px);border-top:8px solid #a86c3a;box-shadow:0 -12px 30px #100903a8,inset 0 16px 30px #d18b4d30}.table-grain{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(170deg,#f6ba6d22,transparent 40%,#190b0888)}.table-seat{position:absolute;top:-26px;z-index:2;text-align:center;width:155px}.seat-self{left:28%}.seat-opponent{right:28%}.seat-name{display:inline-flex;max-width:140px;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#24150fe8;border:1px solid #a7794b;border-radius:20px;padding:5px 12px;color:#ffe6b7;font-size:12px;font-weight:700}.seat-dot{width:6px;height:6px;border-radius:50%;background:#e8b25f;flex:none}.cup-stage{position:relative;height:100px;margin-top:3px;display:flex;align-items:center;justify-content:center}.cup-shadow{position:absolute;bottom:2px;width:86px;height:17px;border-radius:50%;background:#17090699;filter:blur(5px)}.dice-cup{position:relative;z-index:2;width:75px;height:82px;border-radius:11px 11px 25px 25px;background:linear-gradient(90deg,#3c0c0a,#a62f27 18%,#702019 58%,#2c0a09);box-shadow:inset 3px 0 5px #ed8f6d66,7px 9px 12px #14070599;transform-origin:50% 75%;display:grid;place-items:center}.cup-rim{position:absolute;top:-5px;left:-4px;width:83px;height:14px;border-radius:50%;background:linear-gradient(#e8b063,#713a19 55%,#2b1109);border:2px solid #b67838;box-shadow:0 3px 2px #260c09}.cup-mark{color:#e5aa57;font-size:27px;text-shadow:0 2px 2px #3a0e08}.dice-cup.shaking{animation:cup-shake .7s ease-in-out}.seat-status{display:inline-block;font-size:11px;color:#f3d8ac;text-shadow:0 1px 4px #190b00}.bottle{position:absolute;left:12%;top:-10%;height:135px;width:48px;filter:drop-shadow(4px 5px 4px #0007)}.bottle-neck{height:40px;width:16px;margin:auto;background:linear-gradient(90deg,#34200e,#9b7135,#25190d);border-radius:4px 4px 0 0;border-top:6px solid #c79547}.bottle-body{height:95px;border-radius:14px 14px 9px 9px;background:linear-gradient(90deg,#311a0c,#986025,#45200a 78%,#1b110b);display:grid;place-items:center}.bottle-body span{color:#4f2915;background:#e2c49a;padding:7px 5px;font-size:8px;font-weight:900;text-align:center;letter-spacing:.08em}.glass{position:absolute;top:22%;width:35px;height:47px;border:2px solid #d8e3d2a8;border-radius:3px 3px 10px 10px;background:linear-gradient(90deg,#fff2,#ffffff08,#fff3);box-shadow:4px 6px 6px #0006}.glass span{position:absolute;bottom:2px;left:2px;right:2px;height:55%;background:linear-gradient(#e4a33f99,#94470bcc);border-radius:0 0 7px 7px}.glass-left{left:20%}.glass-right{right:17%}@keyframes cup-shake{0%,to{transform:rotate(0) translate(0)}15%{transform:rotate(-18deg) translate(-12px,-9px)}30%{transform:rotate(19deg) translate(12px,-13px)}45%{transform:rotate(-19deg) translate(-11px,-9px)}60%{transform:rotate(17deg) translate(10px,-12px)}75%{transform:rotate(-11deg) translate(-6px,-7px)}90%{transform:rotate(6deg) translate(4px,-4px)}}@media(max-width:720px){.bar-table{height:260px;border-radius:16px}.bar-caption{top:16px;left:17px}.bar-caption strong{font-size:15px}.table-top{height:56%;bottom:-18%}.table-seat{width:115px;top:-35px}.seat-self{left:18%}.seat-opponent{right:18%}.dice-cup{width:61px;height:67px}.cup-rim{width:69px}.cup-stage{height:84px}.cup-shadow{width:65px}.bottle{left:8%;transform:scale(.75);transform-origin:top}.glass-left{left:13%}.glass-right{right:10%}.tag{display:none}}@media(prefers-reduced-motion:reduce){.dice-cup.shaking{animation-duration:.15s}}@media(max-width:720px){.table-seat{top:-48px}.glass-left{display:none}}.room-actions{display:flex;align-items:center;gap:12px}.leave-button{padding:8px 12px;font-size:12px;border-color:#9d7168;background:#382a30;color:#ffe2d2;white-space:nowrap}@media(max-width:520px){.room-actions{align-items:flex-end;flex-direction:column;gap:6px}.leave-button{padding:6px 9px}}.lobby{position:relative;z-index:1;margin-top:45px;max-width:900px}.lobby-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.lobby-heading h2{margin:0;font-size:24px}.lobby-heading p{margin:5px 0 16px;font-size:14px}.lobby-heading button{font-size:12px;padding:10px 12px;white-space:nowrap}.room-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.room-choice{text-align:left;position:relative;min-height:125px;background:#202b40;border:1px solid #45516a;padding:14px;display:flex;flex-direction:column;gap:7px}.room-choice:not(:disabled):hover{border-color:#f9cc68}.room-number{color:#f9cc68;font-size:12px;letter-spacing:.12em}.room-choice strong{font-size:16px}.room-choice small{font-weight:400;color:#b6c0d0;font-size:12px}.room-arrow{position:absolute;right:14px;bottom:12px;color:#f9cc68}.private-button{margin-top:16px;background:transparent;font-size:13px;color:#c8d0de}.lobby-error{color:#ffae9f!important}@media(max-width:720px){.welcome:has(.lobby){padding-top:45px}.welcome:has(.lobby) h1{font-size:42px}.welcome:has(.lobby) .hero-dice{display:none}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-choice{min-height:105px}.lobby{margin-top:34px}}
