
: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:none;stroke-width:0}.point-hit:focus-visible{outline:2px solid var(--gold);outline-offset:2px;stroke:none;stroke-width:0}.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}
.dice-area.clickable{pointer-events:auto;cursor:pointer;filter:drop-shadow(0 0 9px #e1c58345)}.dice-area.clickable:hover .die{transform:translateY(-2px) rotate(-4deg)}.dice-area.clickable:focus-visible{outline:2px solid var(--gold);outline-offset:6px;border-radius:6px}.die-ready{display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:2px;padding:7px;opacity:.72}.die-ready i{align-self:center;justify-self:center;width:5px;height:5px;border:1px solid #52685d;border-radius:50%;opacity:.65}.die-ready i:nth-child(1){grid-area:1/1}.die-ready i:nth-child(2){grid-area:1/3}.die-ready i:nth-child(3){grid-area:2/2}.die-ready i:nth-child(4){grid-area:3/1}.die-ready i:nth-child(5){grid-area:3/3}.light .die-ready i{border-color:#647b6b}

.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}}
.opponent-label{display:flex;align-items:center;gap:8px}.opponent-label label{cursor:pointer}.info-button{width:15px;height:15px;padding:0;display:inline-grid;place-items:center;border:1px solid #d9b77a88;border-radius:50%;color:var(--gold);font-size:10px;font-weight:600;line-height:1}.icon-button{display:inline-flex;align-items:center;gap:6px;font-size:10px}.sound-icon{position:relative;font-size:16px;line-height:1}.sound-label{font-size:9px;color:var(--muted);letter-spacing:.2px}

.sound-icon svg{width:17px;height:17px;display:block;overflow:visible}.note-stem,.note-slash{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.note-head{fill:currentColor}.note-slash{stroke-width:2.8}
.die.disabled{opacity:.2;filter:grayscale(.8);transform:scale(.94);box-shadow:1px 2px 3px #0005}.dice-area.clickable:hover .die.disabled{transform:scale(.94)}.app-footer{justify-content:center;gap:10px 0;flex-wrap:wrap;font-size:10px;letter-spacing:.15px;color:#8a9b8f}.app-footer>span,.app-footer>button{padding:0 13px}.app-footer>span+span:before,.app-footer>button:before{content:"·";color:#566f64;margin-right:24px}.app-footer>button{font-size:10px}.confetti-layer{position:fixed;inset:0;z-index:14;overflow:hidden;pointer-events:none;display:none}.confetti-layer.active{display:block}.confetti-piece{position:absolute;top:-18px;width:7px;height:13px;border-radius:2px;opacity:.9;animation:confetti-fall var(--fall-duration) linear var(--fall-delay) forwards;will-change:transform}.confetti-piece:nth-child(3n){width:6px;height:9px;border-radius:50%}@keyframes confetti-fall{0%{transform:translate3d(0,-2vh,0) rotate(0deg);opacity:0}8%{opacity:.92}52%{transform:translate3d(var(--sway),53vh,0) rotate(180deg);opacity:.86}100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--spin));opacity:0}}body.no-motion .confetti-layer{display:none!important}@media(max-width:560px){.app-footer{justify-content:center;row-gap:12px}.app-footer>span,.app-footer>button{padding:0 8px}.app-footer>span+span:before,.app-footer>button:before{margin-right:14px}}
.turn-label.terminal{font-size:13px;letter-spacing:.8px;color:#e2d6b9}.turn-label.match-won{color:var(--gold);text-shadow:0 0 12px #e4c38a44}
.game-result-overlay{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:min(78%,540px);padding:22px 30px;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;background:#122b27ed;border:1px solid #d9b77a99;border-radius:10px;box-shadow:0 12px 45px #0009,inset 0 0 0 1px #ffffff0b;backdrop-filter:blur(7px);pointer-events:none}.game-result-overlay[hidden]{display:none}.result-kicker{font-size:9px;letter-spacing:2px;color:var(--gold)}#gameResultTitle{font:clamp(29px,5vw,46px) Georgia,serif;color:#f0e8d2;line-height:1.1;text-shadow:0 2px 10px #0005}#gameResultMessage{font-size:11px;color:#aec1b4;line-height:1.6}@media(max-width:460px){.game-result-overlay{width:84%;padding:16px 18px;gap:7px}.result-kicker{font-size:8px}#gameResultMessage{font-size:9px}}
/* Teacher mode and match-length affordances */
#hintBtn{margin:7px 0 0;text-align:left;color:var(--gold);font-size:10px}
.cube-hint{margin:8px 0 0;font-size:9px}
select:disabled{opacity:.58;cursor:not-allowed}
.teacher-coach{position:absolute;z-index:5;left:50%;bottom:5%;transform:translateX(-50%);width:min(82%,470px);padding:13px 16px;background:linear-gradient(135deg,#18312bdd,#10241feF);border:1px solid #d8b876a8;border-radius:9px;box-shadow:0 9px 30px #0008, inset 0 0 0 1px #ffffff0b;backdrop-filter:blur(8px);color:#e8e2cf;pointer-events:auto}
.teacher-coach[hidden]{display:none}.teacher-coach-kicker{display:block;color:var(--gold);font-size:8px;letter-spacing:1.7px;font-weight:700}.teacher-coach p{margin:6px 0 0;font-size:11px;line-height:1.5;color:#c4d2c5}.teacher-coach-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}.teacher-coach-actions button{margin:0;font-size:9px;padding:7px 10px}.teacher-coach-actions .outline-button{display:inline-flex;width:auto}.teacher-coach-actions .text-link{padding:5px 4px;color:#a6b9a9}.teacher-route-arrow{fill:none;stroke:#f3d48f;stroke-width:5;stroke-dasharray:9 7;filter:drop-shadow(0 1px 5px #08130f);marker-end:url(#teacherArrow);pointer-events:none;animation:teacher-path-flow 1.25s linear infinite}.teacher-source-ring,.teacher-destination-ring{fill:#eecb7d18;stroke:#f1d08d;stroke-width:4;filter:drop-shadow(0 0 7px #f1d08d88);pointer-events:none;animation:teacher-pulse 1.5s ease-in-out infinite}.teacher-destination-ring{stroke-width:5}.teacher-die-label{fill:#192a23;stroke:#f1d08d;stroke-width:2}.teacher-die-text{fill:#f5dfab;font:700 18px sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}.teacher-route-arrow,.teacher-source-ring,.teacher-destination-ring{vector-effect:non-scaling-stroke}@keyframes teacher-path-flow{to{stroke-dashoffset:-32}}@keyframes teacher-pulse{50%{opacity:.55;filter:drop-shadow(0 0 12px #f1d08dcc)}}
@media(max-width:560px){.teacher-coach{bottom:3%;width:88%;padding:10px 12px}.teacher-coach p{font-size:10px}.teacher-coach-actions button{font-size:8px;padding:6px 8px}}

/* Teacher's first-time game introduction */
.teacher-intro-dialog{width:min(720px,92vw);max-height:88vh;overflow:auto;padding:clamp(20px,4vw,34px);color:var(--text);background:linear-gradient(140deg,#213a32,#13231f 76%);border:1px solid #d9b77a88;border-radius:14px;box-shadow:0 20px 80px #000a}.teacher-intro-dialog::backdrop{background:#07100edc;backdrop-filter:blur(3px)}.teacher-intro-kicker{font-size:9px;letter-spacing:2px;color:var(--gold);font-weight:700;margin-bottom:13px}.teacher-intro-dialog h2{font:400 clamp(25px,4vw,36px)/1.1 Georgia,serif;margin:0 0 14px;color:#f0ecdd}.teacher-intro-dialog p{font-size:13px;line-height:1.65;color:#c4d2c5;margin:10px 0}.teacher-intro-dialog .soft-note{font-size:10px}.teacher-intro-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding-top:15px;border-top:1px solid #ffffff19}.teacher-intro-navigation{display:flex;align-items:center;gap:10px}.teacher-intro-navigation button{font-size:10px;padding:9px 12px}.teacher-intro-navigation .outline-button{display:inline-flex;width:auto}.teacher-intro-navigation .gold-button{display:flex;width:auto}.teacher-intro-navigation span{min-width:34px;text-align:center;color:#9fb2a5;font-size:10px}.teacher-board-map{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);grid-template-rows:repeat(2,minmax(74px,auto));gap:8px;margin:17px 0 10px;padding:10px;border-radius:10px;background:#0b1b17;border:1px solid #78908455}.map-cell{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;border-radius:7px;border:1px solid #c7d3b92c}.map-cell small{font-size:8px;letter-spacing:1px;color:#bfcebF}.map-cell strong{font:600 17px Georgia;color:#f1d59b}.opponent-outer{background:#203c34}.opponent-home{background:#33483c}.your-outer{background:#26473c}.your-home{background:#3b5141}.map-bar{grid-column:2;grid-row:1/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#523a2d,#765643,#473126);border:1px solid #d1ad7155;border-radius:6px;color:#f0d28e;font-size:8px;letter-spacing:1px;writing-mode:vertical-rl}.teacher-piece-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.teacher-piece-list>div{display:flex;flex-direction:column;gap:5px;padding:11px;border:1px solid #ffffff1a;border-radius:7px;background:#ffffff07}.teacher-piece-list strong{color:#efd397;font-size:11px}.teacher-piece-list span{font-size:10px;line-height:1.45;color:#c0cec4}.teacher-intro-dialog button:disabled{opacity:.35}@media(max-width:520px){.teacher-intro-dialog{padding:19px}.teacher-intro-dialog p{font-size:11px}.teacher-board-map{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);grid-template-rows:repeat(2,minmax(66px,auto));gap:5px;padding:7px}.map-cell{padding:8px 6px}.map-cell small{font-size:6px;letter-spacing:.6px}.map-cell strong{font-size:14px}.map-bar{font-size:7px}.teacher-piece-list{grid-template-columns:1fr}.teacher-intro-footer{align-items:flex-end}.teacher-intro-footer>.text-link{max-width:95px;font-size:9px}.teacher-intro-navigation{gap:5px}.teacher-intro-navigation button{font-size:9px;padding:8px}.teacher-intro-navigation span{min-width:25px}}

/* Teacher guidance stays clear of the playable points. */
.teacher-coach{position:relative;z-index:auto;left:auto;bottom:auto;transform:none;width:100%;max-width:none;margin:4px 0 14px;padding:11px 14px;backdrop-filter:none;box-shadow:0 5px 16px #0004}.teacher-coach button[hidden]{display:none!important}.teacher-roll-arrow{fill:none;stroke:#f1d08d;stroke-width:4;stroke-dasharray:11 7;filter:drop-shadow(0 2px 5px #07110e);marker-end:url(#teacherRollArrow);pointer-events:none;animation:teacher-path-flow 1.1s linear infinite}.teacher-roll-text{fill:#f4dcaa;font:700 16px sans-serif;letter-spacing:3px;text-anchor:middle;filter:drop-shadow(0 2px 4px #07110e);pointer-events:none}.teacher-coach p{font-size:12px}@media(max-width:560px){.teacher-coach{width:100%;padding:9px 11px;margin:2px 0 10px}.teacher-coach p{font-size:10px}}

/* Keep keyboard focus visible without drawing a box around the dice. */
.dice-area.clickable:focus-visible{outline:none;outline-offset:0;border-radius:0;filter:drop-shadow(0 0 12px #f1d08dbb)}
