:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 20% 10%,#22d3ee2e,#0000 28%),radial-gradient(circle at 80% 0,#facc151f,#0000 25%),#020617;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{transition:transform .18s,box-shadow .18s,border-color .18s}button:hover{transform:translateY(-1px)}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #67e8f9b8}h1,h2,p{margin-top:0}#root{min-height:100vh}.app-shell{min-height:100vh;padding:28px}.topbar,.screen-card,.app-footer{max-width:1180px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.brand-button,.back-button{color:#f8fafc;cursor:pointer;background:#0f172ac7;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:12px;padding:8px 14px 8px 8px;font-weight:900;display:inline-flex}.back-button{padding:11px 18px}.brand-mark{color:#0f172a;background:linear-gradient(135deg,#facc15,#22d3ee);border-radius:16px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex}.screen-card{color:#f8fafc;background:radial-gradient(circle at 100% 0,#22d3ee42,#0000 34%),linear-gradient(135deg,#0f172af5,#0a1224eb);border:1px solid #ffffff1f;border-radius:32px;min-height:calc(100vh - 130px);padding:30px;box-shadow:0 30px 90px #00000059}.eyebrow{color:#67e8f9;letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:800}.hero-screen{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:42px;display:grid}.hero-copy h1,.screen-heading h1,.room-header h1{color:#fff;letter-spacing:-.06em;max-width:720px;margin:16px 0 24px;font-size:clamp(40px,7vw,76px);line-height:.96}.hero-copy p,.screen-heading p,.room-header p{color:#cbd5e1;max-width:640px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.primary-button,.ghost-button{cursor:pointer;font:inherit;border:0;border-radius:999px;padding:14px 22px;font-weight:800}.primary-button{color:#111827;background:#facc15}.primary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.ghost-button{color:#f8fafc;background:#ffffff14}.full-button{justify-content:center;width:100%;margin-top:18px}.table-preview{background:radial-gradient(circle,#22c55e42,#0000 58%),linear-gradient(145deg,#0f766e,#064e3b);border:12px solid #0f172ab8;border-radius:38px;min-height:430px;padding:24px;position:relative;overflow:hidden}.table-glow{filter:blur(24px);background:#ffffff1a;border-radius:999px;width:120px;height:120px;position:absolute;top:-30px;right:-30px}.table-header{z-index:1;justify-content:space-between;align-items:center;font-size:14px;display:flex;position:relative}.table-header strong{background:#0f172a85;border-radius:999px;padding:8px 12px}.domino-track{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;min-height:230px;padding:24px 0;display:flex}.domino-piece{color:#111827;background:#f8fafc;border-radius:14px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;font-size:26px;font-weight:900;display:flex;transform:rotate(-3deg);box-shadow:0 18px 35px #0f172a47}.domino-piece:nth-child(2n){transform:rotate(4deg)}.domino-piece i{background:#cbd5e1;width:2px;height:42px;display:block}.setup-screen,.join-screen,.room-screen{gap:24px;display:grid}.screen-heading{max-width:720px}.setup-grid{grid-template-columns:.95fr .95fr .75fr;gap:18px;display:grid}.panel{background:#0f172ab8;border:1px solid #ffffff1f;border-radius:28px;padding:24px}.panel h2{color:#fff;letter-spacing:-.04em;margin:0 0 20px;font-size:28px}.panel label,.range-row label{color:#cbd5e1;margin-bottom:8px;font-weight:700;display:block}.panel input[type=text],.panel input[type=password],.panel input:not([type]){color:#fff;font:inherit;background:#ffffff14;border:1px solid #ffffff24;border-radius:16px;width:100%;margin-bottom:18px;padding:14px 16px}.skins-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.skin-card{color:#f8fafc;cursor:pointer;font:inherit;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:18px;align-items:center;gap:10px;padding:12px;font-weight:800;display:flex}.skin-card.active{border-color:#67e8f9;box-shadow:0 0 0 4px #67e8f91f}.skin-card span{border-radius:12px;width:34px;height:34px}.range-row{margin-bottom:20px}.range-row strong{color:#facc15;margin-bottom:8px;font-size:30px;display:block}.range-row input{accent-color:#22d3ee;width:100%}.toggle-row{background:#ffffff0f;border-radius:16px;align-items:center;gap:10px;padding:14px;display:flex}.toggle-row input{accent-color:#facc15;width:18px;height:18px}.summary-panel{text-align:center}.room-code{color:#67e8f9;margin-bottom:14px;font-size:22px;font-weight:900;display:block}.summary-avatar{color:#111827;border-radius:28px;justify-content:center;align-items:center;width:86px;height:86px;margin-bottom:18px;font-size:38px;font-weight:900;display:inline-flex}.summary-panel dl{gap:10px;margin:0 0 18px;display:grid}.summary-panel dl div{background:#ffffff0f;border-radius:16px;justify-content:space-between;padding:12px;display:flex}.summary-panel dt{color:#cbd5e1}.summary-panel dd{margin:0;font-weight:900}.valid-message,.error-message{border-radius:16px;margin:0;padding:14px;font-weight:800}.valid-message{color:#86efac;background:#22c55e24}.error-message{color:#fca5a5;background:#f8717124}.join-card{max-width:520px}.room-header{grid-template-columns:1fr auto;align-items:center;gap:24px;display:grid}.room-layout{grid-template-columns:1fr 330px;gap:18px;display:grid}.room-table{min-height:440px}.players-list{gap:10px;display:grid}.player-chip{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:10px;padding:12px;display:flex}.player-chip>span{color:#111827;border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-weight:900;display:inline-flex}.player-chip div{gap:2px;display:grid}.player-chip small{color:#cbd5e1}.app-footer{color:#64748b;padding:14px 4px 0;font-size:13px}@media (width<=960px){.app-shell{padding:16px}.hero-screen,.setup-grid,.room-header,.room-layout{grid-template-columns:1fr}}@media (width<=560px){.screen-card,.panel{border-radius:22px;padding:18px}.table-preview{border-width:8px;min-height:360px;padding:16px}.skins-grid{grid-template-columns:1fr}}
