:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#fff;background:#17112f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 14% 18%,#463080 0,transparent 45%),radial-gradient(ellipse at 92% 80%,#372362 0,transparent 38%),#17112f}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(85px);opacity:.18}.ambient.a{width:350px;height:350px;background:#e65a9a;top:-150px;right:12%}.ambient.b{width:320px;height:320px;background:#51c8e7;bottom:-180px;left:5%}.shell{max-width:1150px;min-height:100vh;margin:auto;padding:34px 28px;display:flex;flex-direction:column;position:relative}.topbar,.topright,.brand{display:flex;align-items:center}.topbar{justify-content:space-between}.brand{gap:12px;color:white;text-decoration:none;font-size:24px;font-weight:950;letter-spacing:3px;line-height:1}.brand small{display:block;font-size:8px;letter-spacing:4px;color:#ad9bd5;margin-top:7px}.logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#ffbf45,#fa6087);color:#29113c;font-size:30px;transform:rotate(-7deg);box-shadow:0 8px 22px #ff7a7960}.topright{gap:16px}.connection{font-size:12px;color:#a99dc5}.connection.online{color:#7be6b0}.connection.offline{color:#ff9da7}.language{background:#ffffff16;border:1px solid #ffffff24;border-radius:12px;color:#fff;padding:10px 14px;font-weight:700}.welcome{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:65px;flex:1;padding:68px 0 90px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#ffbf6b}.intro h1,.lobbytitle h1{font-size:clamp(42px,5.6vw,75px);line-height:1.08;letter-spacing:-2.5px;margin:22px 0}.intro em{font-style:normal;color:#ffb948}.intro p,.lobbytitle p{color:#c3b8dd;font-size:17px;line-height:1.75;max-width:520px}.pawns{display:flex;gap:20px;font-size:55px;margin-top:40px;filter:drop-shadow(0 14px 12px #0006)}.pawns span:nth-child(even){transform:translateY(14px)}.panel{background:linear-gradient(155deg,#342651,#271d44);border:1px solid #ffffff1c;border-radius:26px;box-shadow:0 24px 70px #0805166e;padding:34px}.panelheading{display:flex;align-items:center;gap:15px;margin-bottom:28px}.dice{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#ffbf48;color:#2b1948;font-size:37px}.panelheading h2{font-size:23px;margin:0 0 5px}.panelheading p{margin:0;color:#ad9dc9;font-size:13px}label,.smalllabel{display:block;font-size:12px;font-weight:800;letter-spacing:1px;color:#d7cbea;margin:17px 0 9px}input{width:100%;background:#1a1433;border:1px solid #574773;color:white;border-radius:13px;padding:16px;outline:none}input:focus{border-color:#ffbb5d;box-shadow:0 0 0 3px #ffb54c24}button.primary,button.secondary{border-radius:13px;padding:15px 17px;font-weight:800;border:0;width:100%;margin-top:13px}.primary{background:linear-gradient(100deg,#ffbe47,#ff8464);color:#261537;box-shadow:0 8px 24px #f58d4d26}.secondary{background:#ffffff14;color:#fff;border:1px solid #ffffff2b!important}.separator{display:flex;align-items:center;gap:12px;color:#85769f;font-size:11px;letter-spacing:1px;margin:24px 0 5px}.separator:before,.separator:after{content:'';flex:1;height:1px;background:#ffffff20}.error{color:#ff9d9d;font-size:13px;min-height:1em}.hidden{display:none!important}.lobby{max-width:720px;width:100%;margin:55px auto 65px;flex:1}.lobbytitle{text-align:center}.lobbytitle h1{font-size:42px;margin:14px 0 8px}.lobbytitle p{margin:0 auto 28px}.roomtop{display:flex;justify-content:space-between;align-items:center;gap:12px}.roomcode{font-size:40px;font-weight:900;letter-spacing:8px;color:#ffca6e}.smalllabel{margin:0 0 5px}.small{width:auto!important;padding:12px 16px!important}.roomstatus{display:flex;justify-content:space-between;align-items:center;color:#bcb0d3;font-size:13px;border-top:1px solid #ffffff17;margin-top:24px;padding-top:22px}.pill{background:#4a3a6b;border-radius:50px;padding:8px 12px;color:#f9d38e}.seats{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.seat{display:flex;align-items:center;gap:13px;background:#1c1636;border:1px solid #ffffff18;border-radius:15px;padding:15px;min-height:83px}.seat .pawn{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:25px}.seat .info{flex:1;min-width:0}.seat strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat small{color:#a99bc5}.seat button{background:none;border:0;color:#ffb9bb;font-size:21px}.actions{display:flex;gap:12px}.actions button{margin-top:0}.gameNote{background:#49375b;border-radius:12px;padding:16px;color:#ffdc9b}.textbutton{display:block;margin:22px auto 0;background:none;border:0;color:#b9add0}footer{display:flex;justify-content:space-between;border-top:1px solid #ffffff12;padding-top:24px;color:#8678a7;font-size:11px;letter-spacing:1px}@media(max-width:760px){.shell{padding:22px 18px}.welcome{grid-template-columns:1fr;gap:30px;padding:55px 0}.intro h1{font-size:47px}.pawns{margin-top:18px;font-size:35px}.panel{padding:23px}.lobby{margin-top:40px}.lobbytitle h1{font-size:34px}.roomcode{font-size:29px;letter-spacing:5px}.seats{grid-template-columns:1fr}.actions{flex-direction:column}.topright{gap:8px}.connection{font-size:10px}footer{gap:15px}}
.gameSection{margin-top:24px}.gamebar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.gamebar strong{flex:1;font-size:14px}.gamebar button{width:auto;margin:0}.diceValue{font-size:38px;color:#ffca68}#board{display:block;width:100%;max-width:600px;margin:auto;border-radius:18px;background:#241a39;box-shadow:0 12px 30px #0004;touch-action:manipulation}#board circle{transition:stroke-width .12s}
