:root{--ink:#30352f;--paper:#fffdf5;--orange:#cc592e;--green:#357b64;--line:#ddd9cb;--muted:#66685e}*{box-sizing:border-box}body{color:var(--ink);background:#edeadf radial-gradient(#b9b4a344 .7px,#0000 .7px) 0 0/7px 7px;margin:0;font:16px/1.5 ui-rounded,Trebuchet MS,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #2767c4}[hidden]{display:none!important}.page{max-width:1200px;margin:auto;padding:24px}.mast{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.brand{letter-spacing:-.6px;font-size:19px;font-weight:900}.tag{text-transform:uppercase;letter-spacing:1.4px;border:1px solid #aaa998;border-radius:4px;padding:6px 9px;font:11px/1.3 monospace}.paper{background:var(--paper);border:1.5px solid var(--ink);background-image:linear-gradient(#0000 31px,#d2d9d22b 32px);background-size:100% 32px;border-radius:9px 14px 8px 12px;box-shadow:5px 6px #30352f12}.setup{max-width:810px;margin:32px auto;padding:34px 42px}.eyebrow{text-transform:uppercase;letter-spacing:2px;color:var(--muted);font:12px monospace}h1{letter-spacing:-2px;margin:14px 0;font-size:clamp(32px,6vw,52px);line-height:1.03}h1 span{color:var(--orange)}.intro{color:var(--muted);margin:16px 0 25px}.names{grid-template-columns:1fr 1fr;gap:18px;display:grid}label{font-size:14px;font-weight:700;display:block}input{border:1.5px solid var(--ink);background:#fffefa;border-radius:6px 9px 5px 8px;width:100%;min-height:46px;margin-top:7px;padding:11px 12px}fieldset{border:0;margin:24px 0;padding:0}legend{margin-bottom:12px;font-weight:700}.prizes{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.prize{border:1px solid var(--line);background:0 0;border-radius:8px;padding:10px 4px;font-size:13px}.prize span{font-size:24px;display:block}.prize[aria-pressed=true]{border:2px solid var(--ink);background:#f9e5ae;padding:9px 3px;transform:rotate(-1deg)}.primary,.secondary{border:1.5px solid var(--ink);border-radius:6px 9px 6px 8px;min-height:46px;padding:10px 20px;font-weight:700}.primary{background:var(--ink);color:var(--paper);box-shadow:3px 3px #aaa895}.primary:hover:not(:disabled){background:#464d41;transform:translateY(-1px)}.secondary{background:var(--paper)}.start{width:100%;margin:0 0 14px}.footnote{color:var(--muted);text-align:center;font-size:12px}details{margin-top:20px;font-size:14px}summary{cursor:pointer;padding:8px 0;font-weight:700}details p{color:var(--muted)}.setup-art{float:right;width:112px;height:134px;margin:-8px 0 0 16px;transform:rotate(8deg)}.scorebar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:18px;display:grid}.score{border-bottom:3px solid var(--orange);align-items:center;gap:14px;min-width:0;padding:12px 18px;display:flex}.score:last-child{border-color:var(--green);text-align:right;justify-content:flex-end}.score strong{font-size:30px;line-height:1}.score .name{overflow-wrap:anywhere;font-weight:700}.score small{color:var(--muted);font-size:12px}.reward{text-align:center;overflow-wrap:anywhere;max-width:180px;font-size:12px}.reward b{font-size:16px;display:block}.table{grid-template-columns:1fr 270px 1fr;align-items:start;gap:16px;display:grid}.board{--team:var(--orange);padding:18px 10px 12px}.board[data-player="1"]{--team:var(--green)}.board.target{outline:3px solid var(--team);outline-offset:3px}.board h2{text-align:center;overflow-wrap:anywhere;margin:0;font-size:17px}.board-note{text-transform:uppercase;letter-spacing:1px;text-align:center;color:var(--muted);min-height:17px;margin:4px 0 12px;font-size:11px}.characters{grid-template-columns:repeat(4,1fr);align-items:end;gap:18px 0;display:grid}.person{flex-direction:column;align-items:center;min-width:0;transition:opacity .35s;display:flex;position:relative}.person.gone{display:none}.head{width:58px;height:54px;overflow:visible}.body{flex-direction:column;display:flex;position:relative}.body:before,.body:after{content:"";background:var(--ink);pointer-events:none;width:20px;height:2px;position:absolute;top:18px}.body:before{left:-17px;transform:rotate(-44deg)}.body:after{right:-17px;transform:rotate(44deg)}.square{background:color-mix(in srgb,var(--team) 16%,var(--paper));border:2px solid var(--ink);opacity:1;border-radius:3px 5px 2px 4px;width:44px;height:44px;margin-top:-1px;padding:0;display:block;position:relative}.square:disabled{color:inherit}.square:not(:disabled):hover{background:color-mix(in srgb,var(--team) 32%,var(--paper))}.square.selected{background:color-mix(in srgb,var(--team) 38%,var(--paper))}.square.selected:after{content:"✕";font-size:38px;font-weight:400;line-height:38px;position:absolute;inset:0;transform:rotate(-10deg)}.square.erased{visibility:hidden}.square.erasing{animation:.42s forwards erase}@keyframes erase{to{filter:blur(3px);opacity:0;transform:scale(.7)}}.legs{width:54px;height:28px}.person-label{color:var(--muted);margin-top:2px;font:10px monospace}.console{text-align:center;background:#f5edce;padding:22px 16px}.console h2{overflow-wrap:anywhere;margin:10px 0 16px;font-size:23px;line-height:1.2}.die{border:2px solid var(--ink);background:#fffdf8;border-radius:16px 12px 18px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:6px;width:80px;height:80px;margin:14px auto 20px;padding:14px;display:grid;transform:rotate(-5deg);box-shadow:4px 5px #30352f25}.pip{background:var(--ink);visibility:hidden;border-radius:50%}.pip.on{visibility:visible}.rolling{animation:.16s infinite alternate roll}.console .primary{width:100%;padding:10px}.status{overflow-wrap:anywhere;min-height:66px;margin:16px 0 10px;font-size:14px}.selection{margin:12px 0;font:700 20px monospace}.clear{background:0 0;border:0;padding:10px;font-size:12px;text-decoration:underline}.last{color:var(--muted);text-align:center;overflow-wrap:anywhere;max-width:760px;min-height:24px;margin:20px auto 8px;font-size:13px}.toolbar{justify-content:center;gap:12px;margin:16px 0;display:flex}.toolbar button{font-size:13px}.winner{text-align:center;max-width:640px;margin:30px auto;padding:34px}.winner h2{overflow-wrap:anywhere;font-size:36px;line-height:1.2}.winner .big-prize{font-size:60px}.winner p{overflow-wrap:anywhere}.hint{color:var(--muted);text-align:center;margin:16px 0 0;font-size:12px}.error{color:#a33223;font-size:14px}.banner{background:#fae4b9;border-radius:6px;padding:9px}dialog{background:var(--paper);border:2px solid var(--ink);border-radius:12px;width:calc(100% - 36px);max-width:400px;padding:26px}dialog::backdrop{background:#30352f88}dialog .toolbar{justify-content:flex-end}footer{text-align:center;color:var(--muted);margin-top:25px;font:11px monospace}@keyframes roll{0%{transform:rotate(-20deg)translateY(-8px)}to{transform:rotate(20deg)translateY(3px)}}@media (width<=1000px){.table{grid-template-columns:1fr 1fr}.console{grid-area:1/1/auto/-1;grid-template-columns:100px 1fr;align-items:center;column-gap:16px;padding:15px 20px;display:grid}.console .eyebrow{grid-column:1/-1}.console h2{grid-column:1/-1;margin:5px 0 9px}.die{grid-area:3/1/6;margin:8px auto}.status{grid-column:2;min-height:0;margin:5px 0}.console #roll,.console #select-controls{grid-column:2}.console .selection{margin:6px 0}.board{margin-top:7px}}@media (width<=580px){.page{padding:16px 12px}.mast{margin-bottom:15px}.brand{font-size:16px}.tag{font-size:9px}.setup{margin:18px auto;padding:25px 20px}.setup-art{width:82px;height:112px;margin-right:-8px}.names{gap:12px}.prizes{grid-template-columns:repeat(4,1fr)}.prize{font-size:11px}.scorebar{grid-template-columns:1fr 1fr;gap:7px}.score{gap:9px;padding:8px}.score:last-child{grid-area:1/2}.reward{grid-area:2/1/auto/-1;max-width:none}.reward b{font-size:13px;display:inline}.table{flex-direction:column;gap:16px;display:flex}.console{order:0;width:100%}.board{order:2;width:100%}.board.target{order:1}.characters{gap:18px 0}.score .name{font-size:14px}.square{width:46px;height:46px}.board{padding:16px 13px}.toolbar{flex-wrap:wrap}.winner{padding:25px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.console{min-width:0}.status{overflow-wrap:anywhere}.square{scroll-margin-top:245px}.clear{min-height:44px}@media (width<=580px){.console{z-index:5;grid-template-columns:62px minmax(0,1fr);column-gap:10px;padding:10px 12px;position:sticky;top:8px;box-shadow:0 6px 15px #30352f25}.console h2{margin:3px 0 5px;font-size:18px}.console .eyebrow{font-size:10px}.console .die{border-radius:11px;gap:4px;width:54px;height:54px;padding:9px}.console .status{font-size:12px;line-height:1.3}.console .selection{margin:4px 0;font-size:14px}.console .primary{min-height:44px;padding:8px;font-size:13px}.console .clear{min-height:32px;padding:5px;font-size:11px}.console #select-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:5px;display:grid}.console .selection{grid-column:1/-1}.console .clear{max-width:78px}.board{scroll-margin-top:240px}}@media (width<=580px) and (height<=480px){.console{position:static}}.setup-heading{grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:16px;display:grid}.setup-copy{min-width:0}.setup-copy h1{margin-bottom:0}.setup .setup-art{float:none;flex-direction:column;justify-content:center;align-items:center;width:100%;height:auto;margin:0;display:flex;transform:rotate(8deg)}.setup-art .head,.setup-art .legs{flex-shrink:0;display:block}.setup-art .head{width:60px;height:54px}.setup .intro{clear:both;margin-top:24px;position:relative}@media (width<=580px){.mast{flex-wrap:wrap;row-gap:8px}.setup-heading{grid-template-columns:minmax(0,1fr) 62px;gap:10px}.setup-copy .eyebrow{letter-spacing:1px;font-size:10px}.setup-copy h1{letter-spacing:-1px;font-size:clamp(26px,7vw,38px);line-height:1.08}.setup .intro{margin-top:22px;font-size:14px}.setup-art .head{width:54px;height:49px}.setup .setup-art{transform:rotate(5deg)}}@media (width<=360px){.names{grid-template-columns:1fr}.setup-heading{grid-template-columns:minmax(0,1fr) 54px;gap:8px}.setup-copy h1{font-size:26px}.setup-copy .eyebrow{font-size:9px}.prizes{grid-template-columns:repeat(2,minmax(0,1fr))}}.board[data-player="0"]{background-color:#fbe4d4;border-color:#a94a28}.board[data-player="1"]{background-color:#dceee1;border-color:#2e6b53}.board[data-player="0"] h2{color:#853b20}.board[data-player="1"] h2{color:#24583f}.board[data-player="0"] .board-note{color:#794e3a}.board[data-player="1"] .board-note{color:#3d604a}.score:first-child{background:#fbe4d4;border-radius:8px 8px 0 0}.score:last-child{background:#dceee1;border-radius:8px 8px 0 0}.connection{text-align:center;color:var(--muted);margin:0 0 14px;font-size:12px}.online-error{color:#792d19;overflow-wrap:anywhere;background:#ffe1d5;border-radius:8px;max-width:810px;margin:12px auto;padding:12px}.mode{gap:10px;margin:24px 0 18px;display:flex}.mode button{flex:1}.mode button[aria-pressed=true]{background:#f9e5ae}.room-code{letter-spacing:4px;margin:12px 0;font:700 30px monospace}.invite{font-size:13px}.lobby{text-align:center;max-width:700px;margin:24px auto;padding:28px}.lobby label{text-align:left}.lobby-players{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.lobby-player{overflow-wrap:anywhere;background:#fbe4d4;border-radius:9px;padding:15px}.lobby-player:last-child{background:#dceee1}.lobby-prize{margin:20px 0;font-size:24px}.lobby details{text-align:left}.home-link{color:var(--ink);font-size:13px}.console .primary:disabled{opacity:.6}.my-identity{font-weight:700}.game-meta{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:12px 0;font-size:12px;display:flex}.board-note{letter-spacing:.5px}.board.target{outline-style:solid}
