
:root{--bg:#101b1b;--panel:#192625;--panel2:#1b2a28;--text:#eeeade;--muted:#8faaa2;--gold:#d9b77a;--line:#ffffff13;--felt:#244b46;--point1:#9ba99b;--point2:#152f2d;--wood:#483328;--ivory:#eee4cc;--black:#222e30;color-scheme:dark;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 20% 10%,#20363160,transparent 55%),var(--bg);font-size:14px}button,a,input,select{touch-action:manipulation}button,select,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit;background:transparent}button:disabled{opacity:.35;cursor:default}button:not(:disabled),a,select{transition:background .2s,color .2s,transform .2s}button:not(:disabled):hover{filter:brightness(1.14)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}header{height:88px;padding:0 4.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-size:17px;letter-spacing:-.4px}.brand strong{font-weight:500}.brand-mark{font:italic 35px Georgia;color:var(--gold);border:1px solid #d9b77a66;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;line-height:30px}.brand-divider{color:#78928a;margin:0 14px;font-weight:200}nav{display:flex;align-items:center;gap:26px}.quiet{color:#b7c7bf;font-size:12px}.quiet span{margin-left:6px}.account{border:1px solid #bdb69c38;border-radius:6px;padding:11px 17px;font-size:12px}.account span{margin-left:17px;color:var(--gold)}main{max-width:1600px;margin:auto;padding:0 4.6%}.intro{display:flex;align-items:center;justify-content:space-between;margin:43px 0 31px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:var(--gold);margin:0 0 17px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:2px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(34px,3.5vw,55px);line-height:1.08;letter-spacing:-1.8px;margin:0}h1 em{font-weight:400;color:#a6bdb0}.subtitle{color:var(--muted);font-size:12px;margin:15px 0 0}.intro-note{display:flex;align-items:center;gap:20px;margin-right:30px;color:var(--muted);font-size:11px;line-height:1.9}.mini-dice{font-size:47px;color:var(--gold);transform:rotate(-15deg)}.text-link{font-size:11px;color:var(--gold);padding:0;text-align:left}.intro-note .text-link{margin-top:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:26px;align-items:start}.player-row{display:flex;justify-content:space-between;align-items:center;margin:0 2px 15px}.player-name{display:flex;align-items:center;gap:11px}.avatar{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;font-family:Georgia;box-shadow:0 2px 5px #0005;border:1px solid #ffffff15}.dark-avatar{background:linear-gradient(135deg,#506262,#172325);color:#b3c6c1}.ivory-avatar{background:linear-gradient(135deg,#fff8de,#b7a380);color:#655740}.player-name strong{font-size:12px;font-weight:500}.player-name small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.turn-pill{font-size:8px;letter-spacing:1px;padding:6px 8px;border-radius:4px;background:#ffffff05;color:#637c74;margin-left:10px}.turn-pill.active{color:var(--gold);background:#d9b77a15;border:1px solid #d9b77a33}.player-metrics{display:flex;gap:24px;text-align:right}.player-metrics span{display:flex;align-items:baseline;gap:7px}.player-metrics small{color:#78948b;font-size:8px;letter-spacing:1px}.player-metrics strong{font-size:13px;font-weight:400;font-variant-numeric:tabular-nums}.board-wrap{position:relative;isolation:isolate;filter:drop-shadow(0 22px 25px #0005);width:100%;border-radius:12px;overflow:hidden}#board{display:block;width:100%;height:auto}.board-wordmark{position:absolute;pointer-events:none;top:48.6%;left:13%;font-size:7px;font-weight:600;color:#b5beaa2b;letter-spacing:4px}.human-row{margin:19px 2px 18px}.table-footer{display:flex;justify-content:space-between;color:#6c887f;font-size:8px;letter-spacing:1.3px;border-top:1px solid var(--line);padding:13px 0}.little-star{color:var(--gold);margin-left:8px}.match-card,.setup-card{background:linear-gradient(135deg,#20312c66,transparent 100%),var(--panel);border:1px solid var(--line);border-radius:10px;padding:21px}.card-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.8px;color:#b5c6ba}.tiny-dot{color:#86a692;font-size:7px}.scoreboard{display:flex;align-items:center;justify-content:center;gap:32px;margin:25px 0 14px}.scoreboard div{text-align:center;min-width:53px}.scoreboard small{font-size:8px;letter-spacing:1.2px;color:var(--muted)}.scoreboard strong{display:block;font:52px Georgia;margin-top:7px;line-height:1}.score-dash{font:30px Georgia;color:#5f776a;margin-top:20px}.match-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:20px}.divider{border-top:1px solid var(--line);margin:20px 0}.turn-label{margin-bottom:8px;letter-spacing:1.3px}#message{font-size:11px;line-height:1.7;color:#a9bfb3;min-height:55px;margin:0 0 16px}.gold-button{background:linear-gradient(120deg,#e4c891,#cba266);border:1px solid #efdaac80;border-radius:5px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;color:#2b2e24;font-size:12px;font-weight:650;box-shadow:0 3px 10px #0002}.gold-button span{font-size:19px;line-height:13px}.full{width:100%}.action-row{display:flex;gap:8px;margin-top:9px}.action-row button{width:50%;border:1px solid #ffffff12;border-radius:5px;font-size:10px;padding:10px}.cube-row{display:flex;align-items:center;gap:9px;margin-top:20px;border-top:1px solid var(--line);padding-top:17px}.cube-icon{border-radius:5px;border:1px solid #c5c3a64d;width:30px;height:30px;display:grid;place-items:center;color:#e2cfaa;font-family:Georgia;font-size:17px;transform:rotate(-7deg);background:linear-gradient(135deg,#8a816e33,#333a2e)}.cube-row strong{font-size:10px;font-weight:500}.cube-row small{display:block;font-size:8px;color:var(--muted);margin-top:4px}.cube-row button{font-size:9px;color:var(--gold);margin-left:auto;padding:0}.setup-card{margin-top:16px;padding-top:17px}.icon-button{color:var(--gold);font-size:17px;padding:0}.setting-label{display:block;color:var(--muted);font-size:9px;margin-top:16px}.setting-label select,select,input{width:100%;border:1px solid #ffffff17;border-radius:5px;background:#14211f;color:#d8e1d6;padding:10px 11px;font-size:11px;margin-top:7px}.setup-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.outline-button{border:1px solid #b0ba9e38;border-radius:5px;padding:11px 12px;display:flex;justify-content:space-between;font-size:11px;color:#bfcfc0;margin-top:17px}.subtle{color:#7d9a8d;text-align:center;font-size:9px;margin-top:17px}.fairness-note{display:flex;gap:11px;margin:17px 4px;line-height:1.8;color:#79988b;font-size:9px}.fairness-note>span{font-size:19px;color:#9ca77f}.fairness-note p{margin:0}.fairness-note strong{font-weight:500;color:#a4bcae}footer{border-top:1px solid var(--line);padding:22px 0 25px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;color:#779186;font-size:10px}footer .text-link{font-size:10px;color:#93a99a}.opening-overlay{position:absolute;inset:19% 21%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#122b27ed;border:1px solid #a9bda038;box-shadow:0 10px 50px #0007;backdrop-filter:blur(8px);border-radius:8px;gap:13px;z-index:3}.opening-overlay[hidden]{display:none}.table-seal{color:var(--gold);font-size:43px}.opening-overlay strong{font:25px Georgia}.opening-overlay>span:not(.table-seal){font-size:10px;color:#a1b7a8}.opening-overlay button{margin-top:10px;min-width:180px}.dice-area{position:absolute;top:43%;left:58%;display:flex;gap:12px;align-items:center;pointer-events:none}.die{width:44px;height:44px;position:relative;border-radius:9px;background:linear-gradient(135deg,#fffef6,#e5d7b9);box-shadow:inset 2px 3px 3px #fff,inset -3px -4px 4px #ad9870,3px 6px 1px #9c8966,4px 10px 9px #0006;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:8px;gap:3px;transform:rotate(-9deg);border:1px solid #eadcbd;transition:opacity .2s,transform .3s;will-change:transform}.die:nth-child(2){transform:rotate(11deg)}.die.ai-die{background:linear-gradient(135deg,#516465,#17262b);box-shadow:inset 2px 3px 3px #80918b,inset -3px -4px 4px #071315,3px 6px 1px #0b181b,4px 10px 9px #0006;border-color:#71837a}.pip{border-radius:50%;background:#23342e;box-shadow:inset 1px 1px 2px #0008,0 1px 0 #fff8;aspect-ratio:1}.ai-die .pip{background:#e7d8b7;box-shadow:inset 1px 1px 2px #9d8d70}.die.used{opacity:.27;transform:scale(.77) rotate(-9deg);box-shadow:1px 2px 3px #0006}.dice-area.doubles{gap:8px;left:52%}.doubles .die{width:36px;height:36px;padding:6px;gap:2px}.die.rolling{animation:tumble .72s cubic-bezier(.2,.7,.2,1)}@keyframes tumble{0%{transform:translate(15px,-45px) rotate(-140deg) scale(.8)}25%{transform:translate(-20px,4px) rotate(65deg) scale(1.05)}48%{transform:translate(11px,-15px) rotate(-38deg)}73%{transform:translate(-5px,2px) rotate(18deg)}100%{transform:rotate(-9deg)}}.point-hit{cursor:pointer}.point-hit:hover{fill:#e6dcb610}.point-hit:focus{outline:none;stroke:var(--gold);stroke-width:2}.checker{filter:url(#checkerShadow);pointer-events:none}.legal-ring{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:5 4;pointer-events:none}.selected-ring{fill:none;stroke:#f3d69d;stroke-width:3;pointer-events:none}.dest-dot{fill:#f4d493;filter:url(#glow);pointer-events:none}dialog{border:1px solid #637e6580;border-radius:14px;background:#192b26;color:var(--text);width:min(620px,calc(100% - 30px));max-height:88vh;padding:26px;box-shadow:0 20px 90px #000b}dialog::backdrop{background:#071614c9;backdrop-filter:blur(6px)}.modal-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:24px}.modal-head .eyebrow{font-size:8px;margin-bottom:10px}.modal-head h2{font:30px Georgia;margin:0}.modal-head>button{align-self:flex-start;font-size:20px;color:#aabcae}#modalContent{font-size:12px;line-height:1.8;color:#b4c6b8}#modalContent p{margin:0 0 17px}#modalContent h3{font-size:13px;color:#e3e3d0;margin:23px 0 9px}#modalContent a{color:var(--gold);text-decoration:underline}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-grid .setting-label{margin:0 0 10px}.modal-grid input[type=range]{padding:0;accent-color:var(--gold)}.swatches{display:flex;gap:9px;margin:10px 0 20px}.swatch{width:34px;height:34px;border-radius:50%;border:2px solid #ffffff30}.swatch.chosen{outline:2px solid var(--gold);outline-offset:3px}.stat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.stat-tile{background:#0e1f1b;border-radius:7px;padding:13px}.stat-tile strong{font:30px Georgia;display:block;color:var(--text)}.stat-tile small{font-size:9px;color:#94b29b}table{width:100%;border-collapse:collapse;font-size:10px}td,th{text-align:left;padding:9px 6px;border-bottom:1px solid #ffffff12;font-weight:400}th{color:#819d89}.dice-chart{display:flex;align-items:end;gap:10px;height:130px;margin:20px 0 30px}.chart-column{flex:1;display:flex;align-items:end;justify-content:center;gap:3px;height:100%;position:relative}.bar{width:35%;background:var(--gold);min-height:2px}.bar.ai{background:#658e87}.chart-column small{position:absolute;bottom:-23px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:#344f40;border:1px solid #bac69d66;border-radius:7px;color:#fff0cb;padding:12px 20px;z-index:20;transition:transform .3s;max-width:90%;font-size:12px}#toast.show{transform:translateX(-50%) translateY(0)}.form-actions{display:flex;gap:10px;align-items:center;margin-top:20px}.form-error{color:#f0b09b;font-size:11px;margin-top:15px!important}.soft-note{font-size:10px;color:#87a18d;line-height:1.8}.check-label{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:14px}.check-label input{width:auto;margin:0}#cubeActions{display:flex;gap:10px;margin-top:15px}#cubeActions[hidden]{display:none}.move-option{border:1px solid #b6b89955;padding:10px 16px;border-radius:6px;margin:4px}.busy #board{cursor:wait}.history-btn{color:var(--gold);font-size:10px;text-decoration:underline}.warn-button{color:#dfab90;border:1px solid #ad816455;padding:10px;border-radius:5px;margin-top:15px}.light{--bg:#e6e8df;--panel:#d9e1d6;--text:#203a30;--muted:#557265;--line:#18392b20;color-scheme:light}.light .match-card,.light .setup-card{background:var(--panel)}.light #message,.light .card-label{color:#476455}.light select,.light input{background:#e8eee3;color:#234234}.light .scoreboard small,.light .turn-pill{color:#526f60}.light .player-name small{color:#4e7060}.light dialog{background:#e5ecdf;color:#274134}.light #modalContent{color:#345744}.light .stat-tile{background:#d1decb}.light .modal-head>button{color:#365c45}
@media(min-width:1500px){.game-layout{grid-template-columns:minmax(0,1fr) 320px}.match-card,.setup-card{padding:25px}.intro{margin-top:50px}}@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1fr) 255px;gap:19px}main{padding:0 3%}.match-card,.setup-card{padding:16px}.intro{margin-top:30px}.die{width:35px;height:35px;padding:6px;gap:2px}.dice-area{gap:9px}.doubles .die{width:29px;height:29px;padding:5px}.scoreboard{margin-top:19px}.opening-overlay strong{font-size:21px}.opening-overlay{gap:8px}.table-seal{font-size:33px}.opening-overlay button{min-width:150px;font-size:10px;padding:10px}}@media(max-width:800px){header{height:70px;padding:0 4%}.brand{font-size:14px}.brand-divider{margin:0 9px}nav{gap:13px}.quiet span{display:none}.intro{margin:27px 0}.intro-note{display:none}.intro h1{font-size:38px}.intro h1 br{display:none}.intro h1 em{display:block}.game-layout{grid-template-columns:1fr}.table-area{min-width:0}aside{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setup-card{margin:0}.fairness-note{grid-column:1/-1;margin:0 5px}.match-card .scoreboard{margin:15px 0;gap:22px}.scoreboard strong{font-size:35px}.match-card .divider{margin:15px 0}.table-footer{display:none}.human-row{margin-bottom:10px}.player-metrics{gap:14px}.player-metrics span{gap:5px}.player-metrics small{font-size:7px}.player-name small{font-size:9px}.turn-pill{margin-left:0;font-size:7px;padding:5px}.die{width:39px;height:39px}.doubles .die{width:32px;height:32px}footer{margin-top:20px}footer>span{display:none}}@media(max-width:460px){header{padding:0 3%}.brand-mark{width:31px;height:31px;font-size:29px}.brand{gap:8px;font-size:12px}.account{padding:9px 11px}.account span{display:none}.intro .eyebrow{font-size:8px;letter-spacing:1.5px}.intro h1{font-size:34px}aside{gap:9px}.match-card,.setup-card{padding:13px}.cube-row{gap:6px}.cube-row small{font-size:7px}.cube-row button{font-size:8px}.setup-row{grid-template-columns:1fr;gap:0}.setup-row .setting-label{margin-top:10px}.player-name{gap:7px}.player-name strong{font-size:11px}.player-metrics{gap:9px}.player-metrics strong{font-size:11px}.avatar{width:29px;height:29px}.turn-pill{font-size:6px}.opening-overlay{inset:13% 17%;gap:7px}.opening-overlay strong{font-size:19px}.opening-overlay>span:not(.table-seal){font-size:9px}.table-seal{font-size:26px}.opening-overlay button{margin-top:3px}.die{width:28px;height:28px;border-radius:6px;padding:5px;gap:2px;box-shadow:inset 1px 1px 3px #fff,inset -2px -2px 3px #ad9870,2px 4px 1px #9c8966,3px 6px 5px #0006}.dice-area{gap:8px}.doubles .die{width:23px;height:23px;padding:4px;gap:1px}.board-wordmark{font-size:4px;letter-spacing:2px}.modal-grid{grid-template-columns:1fr}.match-meta{font-size:9px}.eyebrow.turn-label{font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body.no-motion *,body.no-motion *::before,body.no-motion *::after{animation:none!important;transition:none!important}
.die:not(.used){outline:1px solid #f4d89b55;outline-offset:1px}.light .intro h1 em{color:#527666}.light .intro .subtitle,.light .intro-note{color:#587566}
.light #modalContent h3{color:#294333}.light .soft-note,.light .fairness-note,.light footer,.light .quiet,.light .match-meta,.light .table-footer{color:#4b7057}.light .eyebrow,.light .text-link,.light .cube-row button{color:#806134}.light .fairness-note strong{color:#31513d}.light .turn-pill.active{color:#6f542e;border-color:#80613455;background:#c7af7b30}
.compound-ring{fill:#1d2822;fill-opacity:.88;stroke:#e1c583;stroke-width:2.2;filter:drop-shadow(0 1px 3px #0009);pointer-events:none}.compound-count{font:600 12px system-ui,sans-serif;fill:#f1d99f;pointer-events:none}

.center-end-control{position:absolute;z-index:2;left:50.3%;top:50%;transform:translate(-50%,-50%);min-width:48px;padding:7px 9px;background:linear-gradient(145deg,#66543b,#3d3224);border:1px solid #cfb77e78;border-radius:4px;color:#e4d2aa;font-family:Georgia,serif;font-size:10px;letter-spacing:.35px;box-shadow:0 2px 5px #0008,inset 0 0 0 1px #fff1;line-height:1}.center-end-control:disabled{opacity:.5;cursor:default}.center-end-control:not(:disabled){cursor:pointer;background:linear-gradient(145deg,#9b7c4e,#69502f);color:#fff2d2;border-color:#edd091;box-shadow:0 0 0 2px #e7c88718,0 2px 6px #0009}.center-end-control:not(:disabled):hover{filter:brightness(1.12);transform:translate(-50%,-50%) scale(1.05)}@media(max-width:460px){.center-end-control{min-width:38px;padding:6px 7px;font-size:9px}}
