:root{color-scheme:dark;--bg:#111113;--surface:#1a191c;--surface2:#211f23;--line:#39343a;--text:#e9e3e3;--muted:#a89fa4;--faint:#766e74;--wine:#873b4c;--wine2:#a25265;--rose:#c88b99;--mint:#8db5a5;--gold:#c2aa7e;--blue:#94b2c3;--shadow:0 22px 60px #0008;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 50% 0,#251b21 0,transparent 42%),var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:var(--surface2);border:1px solid var(--line);border-radius:5px;min-height:42px;padding:9px 15px}button:hover:not(:disabled){border-color:#8b5968;background:#30242b}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--wine);border-color:#a95b6e;color:#fff2f4;font-weight:600}.primary:hover:not(:disabled){background:#98485c}.quiet{background:transparent}.danger{color:#dfa5ad}.topbar{height:72px;border-bottom:1px solid #302930;background:#141316;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,64px);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:34px;height:34px;border:1px solid #78505c;border-radius:50%;display:grid;place-items:center;color:#d3a4ae;font-family:Georgia,serif;font-size:19px}.brand strong{display:block;font-size:15px;font-weight:500}.brand small{display:block;color:#95868d;font:9px/1.5 Georgia,serif;letter-spacing:1px}.top-actions{display:flex;gap:10px}.icon-button{width:42px;padding:0;font-size:17px}.pause-button{background:#2a1c23;border-color:#68404d;color:#e4b7c0}.pause-button span{font-size:12px}#app{max-width:1440px;margin:auto;padding:32px clamp(16px,4vw,64px) 60px}.eyebrow{margin:0 0 10px;color:#bb8b98;text-transform:uppercase;font-size:10px;letter-spacing:1px}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(24px,3vw,34px);font-weight:500;margin-bottom:10px}h2{font-size:22px;font-weight:500}.setup{max-width:850px;margin:20px auto}.setup-head{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:22px}.steps{display:flex;gap:26px;color:#81767d;font-size:11px;margin-bottom:28px}.steps span{display:flex;align-items:center;gap:8px}.steps b{width:24px;height:24px;border:1px solid #51414a;border-radius:50%;display:grid;place-items:center;font-weight:500}.steps .on{color:#e5c6ce}.steps .on b{background:#492a36;border-color:#9a5c6c}.section-label{font-size:12px;color:#c8bdc2;margin:24px 0 12px}.segment{display:flex;gap:8px;flex-wrap:wrap}.segment button.selected{background:#492a36;border-color:#a35f70;color:#f2d9df}.seats-form{display:grid;gap:10px}.seat-edit{display:grid;grid-template-columns:34px minmax(90px,1fr) minmax(120px,.7fr);align-items:center;gap:12px;border-bottom:1px solid #2b272c;padding:14px 0}.seat-dot{width:12px;height:12px;border-radius:50%;background:var(--seat)}input,select{min-width:0;background:#171619;color:var(--text);border:1px solid #464047;border-radius:4px;padding:10px 11px;min-height:42px}.seat-edit input{width:100%}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:20px 0}.option{padding:12px 0;border-bottom:1px solid #2c292e;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.option input{accent-color:#a45669}.agreement{display:flex;align-items:flex-start;gap:10px;margin:24px 0;color:#d7cdd1;font-size:13px}.agreement input{accent-color:#a45669;min-height:auto}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.game-head{display:flex;justify-content:space-between;align-items:end;margin:4px 0 24px}.game-meta{color:var(--muted);font-size:12px}.table{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start}.play-area{min-width:0}.seat-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px}.seat-card{min-width:0;padding:12px;background:#19181b;border:1px solid #373239;border-left:2px solid var(--seat)}.seat-card.active{background:#241b21;border-color:#704651}.seat-name{display:flex;align-items:center;gap:8px;font-size:13px;overflow:hidden}.seat-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.seat-meta{color:var(--muted);font-size:10px;margin:8px 0 0 20px;line-height:1.5}.board-wrap{background:#171619;border:1px solid #423942;padding:clamp(9px,2vw,20px);box-shadow:var(--shadow);border-radius:8px}.board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(7,minmax(38px,1fr));gap:4px;aspect-ratio:1.4/1;position:relative}.cell{position:relative;min-width:0;background:#29262b;border:1px solid #48404a;border-bottom-width:3px;display:grid;place-items:center;color:#bbb0b8;font-size:10px}.cell.reward{background:#24342f;border-color:#435b50;color:#bbd2c3}.cell.challenge{background:#432632;border-color:#714454;color:#e3b6c1}.cell.start{outline:1px solid #8d6873}.cell.finish{background:#3a3134;color:#f0d6dc}.cell-number{position:absolute;top:3px;left:4px;color:#91858c;font:9px/1 monospace}.tokens{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%;padding:2px}.token{width:11px;height:11px;border-radius:50%;background:var(--seat);border:1px solid #f6e7e8;box-shadow:0 1px 4px #0009}.cell-control{grid-column:4/8;grid-row:3/6;background:#19171b;border:1px solid #3a3038;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;z-index:1}.cell-control h2{margin:5px 0;font-size:20px}.cell-control .die{font:42px/1 Georgia,serif;color:#eadde1;margin:10px}.cell-control p{font-size:11px;color:var(--muted);margin:0 0 10px}.roll{min-width:136px}.sidebar{border-left:1px solid #302b31;padding-left:24px;min-height:300px}.side-title{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#d5c8cf;border-bottom:1px solid #373138;padding-bottom:12px;margin-bottom:12px}.side-task{padding:15px 0;border-bottom:1px solid #302b31}.side-task h3{font-size:16px;font-weight:500;margin:8px 0}.task-copy{font-size:13px;line-height:1.8;color:#e0d7dc}.side-task small,.task-label{color:var(--muted);font-size:10px}.task-role{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.timer{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.timer strong{font:26px/1 monospace;color:#e1c8d0}.timer.done{color:var(--gold)}.task-buttons{display:flex;flex-wrap:wrap;gap:7px}.task-buttons button{font-size:11px;padding:7px 9px;min-height:35px}.active-task{padding:12px 0;border-bottom:1px solid #302b31}.history{margin-top:26px}.history li{font-size:11px;line-height:1.7;color:#aa9da5;margin:9px 0}.paused,.ended{max-width:650px;margin:12vh auto;text-align:center}.paused .ack-list{margin:32px auto;max-width:470px;text-align:left}.ack-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid #393239}.ack-row small{color:var(--muted)}.modal{position:fixed;inset:72px 0 0;background:#080609c9;z-index:8;display:grid;place-items:center;padding:18px}.modal-panel{width:min(520px,100%);max-height:calc(100dvh - 110px);overflow:auto;background:#211a22;border:1px solid #815260;padding:28px;box-shadow:0 30px 100px #000c}.modal-panel h2{margin:0 0 8px}.modal-panel p{line-height:1.8}.choice-list{display:grid;gap:8px;margin:15px 0}.choice-list button{text-align:left}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}.summary-grid div{border-top:1px solid #6a4652;padding-top:10px}.summary-grid b{display:block;font:24px Georgia,serif;color:#d7b7c2}.summary-grid small{color:var(--muted)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:11px 16px;background:#36242d;border:1px solid #815260;border-radius:4px;z-index:20;font-size:12px;max-width:calc(100vw - 32px)}[hidden]{display:none!important}:focus-visible{outline:2px solid #d39aa8;outline-offset:2px}@media(max-width:850px){.table{grid-template-columns:1fr}.sidebar{border-left:0;border-top:1px solid #302b31;padding:18px 0 0}.board{aspect-ratio:1.18/1;grid-template-rows:repeat(7,minmax(32px,1fr))}.cell-control{grid-column:3/9;grid-row:3/6}.cell{font-size:9px}}@media(max-width:560px){.topbar{height:62px;padding:0 14px}.brand-mark{width:30px;height:30px}.brand strong{font-size:14px}.pause-button{min-height:38px;padding:6px 10px}#app{padding:22px 14px 42px}.steps{gap:10px;justify-content:space-between;font-size:10px}.steps span{gap:5px}.steps b{width:22px;height:22px}.seat-edit{grid-template-columns:20px minmax(90px,1fr) minmax(105px,.8fr);gap:7px}.setup-options{grid-template-columns:1fr}.game-head{align-items:start;gap:10px}.game-head h1{font-size:23px}.game-meta{text-align:right;font-size:10px}.seat-bar{gap:5px}.seat-card{padding:9px 7px}.seat-name{gap:5px;font-size:11px}.seat-meta{margin:6px 0 0 16px;font-size:9px}.board-wrap{padding:6px}.board{gap:2px;grid-template-rows:repeat(7,minmax(27px,1fr));aspect-ratio:1.03/1}.cell{font-size:8px}.cell-number{font-size:7px;top:2px;left:2px}.token{width:9px;height:9px}.cell-control{padding:5px}.cell-control h2{font-size:15px}.cell-control .die{font-size:32px;margin:5px}.cell-control p{font-size:9px}.roll{min-width:108px;min-height:37px;padding:6px}.modal{inset:62px 0 0;padding:10px}.modal-panel{padding:21px 18px}.paused,.ended{margin:7vh auto}.actions button{flex:1}.side-task h3{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
