:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f0e7;background:#121916}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.35;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #faf8eb;outline-offset:3px}header{max-width:940px;margin:auto;padding:22px 25px;display:flex;justify-content:space-between;gap:20px;color:#b5c0b7;font-size:12px}header span{font-size:10px;letter-spacing:.18em}main{max-width:940px;margin:auto;padding:16px 24px 35px}.game-head{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:.18em;color:#aebda5}h1{font-size:44px;letter-spacing:-.05em;font-weight:500;margin:12px 0 20px}.quiet,.primary{min-height:44px;border-radius:12px;padding:10px 17px;border:1px solid #4b5b50;color:#e8eee8;background:#1b2821}.primary{background:#d4dfbc;color:#1a251d;border:0;font-weight:650}.mode-row{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 22px;color:#b5c0b7;font-size:12px}.mode-row label{display:grid;gap:8px}.mode-row select{padding:10px;background:#1a2721;border:1px solid #435248;border-radius:9px;color:#eef0e9;max-width:240px}.arena{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hand{border-radius:22px;background:#223341;padding:24px;min-width:0}.hand:nth-child(2){background:#3b2b34}.hand-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.hand h2{font-size:19px;font-weight:500;margin:0}.life-value{font-size:38px;line-height:1;letter-spacing:-.05em;color:#bad9ff}.hand:nth-child(2) .life-value{color:#f2c0c6}.life-label{font-size:9px;color:#d9e0dc;text-align:right;margin-top:5px}.dice{display:flex;gap:10px;justify-content:center;margin:28px 0 19px}.die{position:relative;width:clamp(48px,7vw,76px);aspect-ratio:1;border:2px solid transparent;border-radius:13px;background:#f6f2e8;color:#232a25;padding:10px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:4px;box-shadow:0 3px 0 #0003}.die.selected{border-color:#d4e7a7;outline:3px solid #d4e7a7;outline-offset:3px;transform:translateY(-5px)}.die:disabled{opacity:1;cursor:default}.pip{width:100%;height:100%;border-radius:50%;background:currentColor;visibility:hidden}.pip.on{visibility:visible}.die .unknown{position:absolute;inset:0;display:grid;place-items:center;font-size:30px}.total{text-align:center;font-size:13px;color:#d8e0dc;min-height:20px}.hand-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.hand-actions button{font-size:12px;min-height:43px;padding:9px 12px}.state-tag{text-align:center;min-height:19px;font-size:11px;color:#d9e4d5;margin:15px 0 0}.center-action{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:23px 0 16px}.feedback{text-align:center;max-width:650px;margin:auto;min-height:82px;font-size:14px;line-height:1.7}.feedback p{margin:10px 0}.feedback button{margin:4px}.help{text-align:center;font-size:11px;line-height:1.7;color:#9eafa3;max-width:530px;margin:15px auto}dialog{color:#edf0e8;background:#1d2b23;border:1px solid #506257;border-radius:20px;padding:28px;max-width:430px;width:calc(100% - 32px)}dialog::backdrop{background:#0009}.dialog-actions{display:flex;gap:10px;justify-content:end;margin-top:24px}dialog h2{font-weight:500}dialog p{line-height:1.6;color:#bdc8bd}[hidden]{display:none!important}@media(max-width:560px){header{padding:17px 16px;font-size:11px}header span{display:none}main{padding:8px 14px 24px}h1{font-size:35px}.arena{gap:9px}.hand{padding:16px 9px;border-radius:17px}.hand h2{font-size:15px}.hand-top{display:block;text-align:center}.life-label{text-align:center}.life-value{margin-top:13px;font-size:42px}.dice{gap:6px;margin-top:22px}.die{width:calc((100% - 12px)/3);border-radius:9px;padding:7px;gap:3px}.hand-actions{flex-direction:column;gap:6px}.state-tag{font-size:10px}.mode-row{font-size:11px}.mode-row select{max-width:210px}.feedback{font-size:13px}.primary,.quiet{padding:10px 12px}}@media(prefers-reduced-motion:no-preference){.die{transition:transform .12s,outline .12s}}
/* Full-viewport play, with one small shared seam menu. */
.mini-fullscreen{height:100vh;height:100dvh;overflow:hidden}.mini-fullscreen main{padding:0;margin:0;max-width:none;height:100%;width:100%}.mini-fullscreen .arena{height:100%;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:2px}.mini-fullscreen .hand{border-radius:0;padding:18px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.mini-fullscreen .hand:first-child{padding-bottom:65px}.mini-fullscreen .hand:nth-child(2){padding-top:65px}.mini-fullscreen .hand-top{display:flex;width:100%;max-width:480px;align-items:center;justify-content:space-between;text-align:left}.mini-fullscreen .life-value{font-size:clamp(40px,7dvh,70px);margin:0;line-height:1}.mini-fullscreen .life-label{text-align:right}.mini-fullscreen .hand h2{font-size:21px}.mini-fullscreen .dice{perspective:600px;gap:20px;margin:23px 0 14px}.mini-fullscreen .die{--size:clamp(46px,15vw,74px);width:var(--size);height:var(--size);padding:0;display:block;border:0;border-radius:10px;background:transparent;box-shadow:none;perspective:500px;color:inherit}.mini-fullscreen .die.selected{outline:3px solid #d7e9a2;outline-offset:8px;transform:translateY(-6px)}.cube{width:100%;height:100%;display:block;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));filter:drop-shadow(0 7px 5px #0004)}.face{position:absolute;inset:0;background:linear-gradient(135deg,#fffefa,#e3dfd3);border:1px solid #d8d3c8;border-radius:11px;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:calc(var(--size)*.65);font-weight:600;line-height:1;backface-visibility:hidden;box-shadow:inset 0 0 9px #8d806720;text-shadow:0 1px 0 #fff}.face-1{transform:translateZ(calc(var(--size)/2));color:#a13c38}.face-2{transform:rotateY(180deg) translateZ(calc(var(--size)/2));color:#387949}.face-3{transform:rotateY(90deg) translateZ(calc(var(--size)/2));color:#3971a5}.face-4{transform:rotateY(-90deg) translateZ(calc(var(--size)/2));color:#aa7b23}.face-5{transform:rotateX(-90deg) translateZ(calc(var(--size)/2));color:#7e4690}.face-6{transform:rotateX(90deg) translateZ(calc(var(--size)/2));color:#314951}.mini-fullscreen .total{margin-top:5px}.mini-fullscreen .hand-actions{flex-direction:row;margin-top:10px}.mini-fullscreen .state-tag{margin-top:8px}.center-console{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(94%,500px);z-index:8;text-align:center;pointer-events:none}.center-buttons{display:flex;justify-content:center;align-items:center;gap:8px}.center-console button{pointer-events:auto;box-shadow:0 3px 12px #0003}.menu-dot{height:40px;min-width:44px;border:1px solid #ffffff30;border-radius:50%;background:#15251e;color:#f4f2e9;font-size:12px;letter-spacing:2px}.mini-fullscreen .feedback{background:#16251ef2;border:1px solid #ffffff15;border-radius:13px;min-height:0;margin-top:7px;padding:4px 12px;font-size:11px;line-height:1.4}.mini-fullscreen .feedback p{margin:5px 0}.mini-fullscreen #choice:empty{display:none}.menu-options{display:grid;gap:13px}.menu-options label{display:grid;gap:8px}.menu-options select{min-height:44px;border-radius:10px;padding:9px;background:#24372b;color:inherit;border:1px solid #5c6f60}.tumbling{animation:tumble .65s cubic-bezier(.2,.65,.3,1)}@keyframes tumble{0%{transform:translateY(-14px) rotateX(calc(var(--rx) - 520deg)) rotateY(calc(var(--ry) - 650deg)) rotateZ(-24deg)}65%{transform:translateY(4px) rotateX(calc(var(--rx) - 30deg)) rotateY(calc(var(--ry) - 15deg)) rotateZ(5deg)}100%{transform:translateY(0) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(0)}}@media(min-aspect-ratio:1/1){.mini-fullscreen .arena{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.mini-fullscreen .hand:first-child,.mini-fullscreen .hand:nth-child(2){padding:24px 26px}.center-console{width:min(42%,420px)}.mini-fullscreen .dice{margin:30px 0}.mini-fullscreen .hand-top{margin-bottom:10px}.mini-fullscreen .hand-actions{margin-top:75px}.mini-fullscreen .die{--size:clamp(45px,8vw,80px)}}@media(max-height:720px) and (max-aspect-ratio:1/1){.mini-fullscreen .hand{padding-top:8px;padding-bottom:8px}.mini-fullscreen .hand:first-child{padding-bottom:55px}.mini-fullscreen .hand:nth-child(2){padding-top:55px}.mini-fullscreen .die{--size:46px}.mini-fullscreen .dice{margin:13px 0 8px}.mini-fullscreen .life-value{font-size:36px}.mini-fullscreen .hand h2{font-size:16px}.mini-fullscreen .state-tag{display:none}.mini-fullscreen .hand-actions{margin-top:5px}.mini-fullscreen .hand-actions button{min-height:36px;font-size:11px;padding:6px 10px}}@media(prefers-reduced-motion:reduce){.tumbling{animation:none}.die{transition:none}}
/* Tactile numbered dice. No filter on preserve-3d: filters flatten cube faces. */
.mini-fullscreen{background:#101315}.mini-fullscreen .hand{background:radial-gradient(ellipse at 50% 35%,#193144,#0e1a23);color:#ede8db}.mini-fullscreen .hand:nth-child(2){background:radial-gradient(ellipse at 50% 35%,#3c291d,#201810)}.mini-fullscreen .hand h2{font-size:16px;letter-spacing:.06em;font-weight:500}.mini-fullscreen .life-value{color:#80b7db;font-weight:350}.mini-fullscreen .hand:nth-child(2) .life-value{color:#d4b780}.cube{filter:none}.face{background:linear-gradient(140deg,#343b3d,#161d20);border:1px solid #797365;border-radius:9px;box-shadow:inset 0 0 0 4px #1b2224,inset 0 0 0 5px #ffffff16;text-shadow:0 1px 2px #000;color:#d8c49b!important;font-family:Georgia,serif;font-weight:400}.face:after{content:'';position:absolute;inset:10px;border:1px solid #c4b17e1c;transform:rotate(45deg);pointer-events:none}.mini-fullscreen .die.selected{outline:2px solid #d4b780;outline-offset:7px}.mini-fullscreen .feedback{background:#161c1ff5;border-color:#ffffff15;color:#c5cdcc}.mini-fullscreen .total{color:#ddd7c9}.mini-fullscreen .state-tag{color:#a7b7b8}.tumbling{animation:tumble .58s cubic-bezier(.2,.65,.3,1)}.mini-fullscreen .hand:first-child h2:before{content:'ᛏ';margin-right:10px;color:#80b7db}.mini-fullscreen .hand:nth-child(2) h2:before{content:'ᛉ';margin-right:10px;color:#d4b780}
@media(min-aspect-ratio:1/1){.center-console{top:auto;bottom:18px;transform:translateX(-50%);width:min(90%,650px)}.mini-fullscreen .hand-actions{margin-top:14px}.mini-fullscreen .hand:first-child,.mini-fullscreen .hand:nth-child(2){padding-bottom:140px}.mini-fullscreen .dice{margin:24px 0 16px}}
@media(max-height:450px) and (min-aspect-ratio:1/1){.mini-fullscreen .hand:first-child,.mini-fullscreen .hand:nth-child(2){padding:12px 20px 104px}.mini-fullscreen .hand-top{margin:0}.mini-fullscreen .life-value{font-size:30px}.mini-fullscreen .die{--size:42px}.mini-fullscreen .dice{margin:12px 0 6px;gap:16px}.mini-fullscreen .state-tag{display:none}.mini-fullscreen .hand-actions{margin:5px 0 0}.mini-fullscreen .hand-actions button{min-height:36px;padding:5px 9px}.center-console{bottom:8px}.mini-fullscreen .feedback{font-size:10px}.mini-fullscreen .hand h2{font-size:13px}}
