.ring-room{background:#f4f1e6;color:#223f40}.ring-heading{padding:20px 0 24px;max-width:850px}.ring-heading h1{font:500 clamp(28px,4vw,42px)/1.6 var(--serif);margin:10px 0}.ring-heading p{font:16px/1.9 var(--serif);margin:0}.ring-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;align-items:start}.ring-table{min-width:0;background:#142c32;color:#fcf2d8;padding:18px 20px 22px}.ring-score{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:16px}.ring-score b{font:32px/1.3 var(--serif);margin-inline:5px}.ring-board{display:block;width:100%;height:auto;margin:12px auto 0;overflow:hidden}.ring-key{font:14px/1.8 var(--sans);margin:12px 0}.ring-key span{display:block;color:#fff0bd}.ring-reaction{font:16px/1.9 var(--serif);border-top:1px solid #8fa49f;margin:16px 0 0;padding-top:16px;min-height:4em}.ring-controls{min-width:0}.ring-outcome{border-left:3px solid #8b713d;padding:0 0 0 16px;font:16px/1.8 var(--sans);margin-bottom:18px}.ring-outcome p{margin:0 0 8px}.ring-outcome h2{font:28px/1.5 var(--serif);margin:16px 0}.ring-inputs{border:0;padding:0;margin:0}.ring-inputs legend{font-size:16px;margin-bottom:10px}.ring-inputs label{display:flex;justify-content:space-between;gap:15px;font-size:16px}.ring-inputs output{font-variant-numeric:tabular-nums}.ring-inputs input{display:block;width:100%;min-height:44px;margin:0 0 8px;accent-color:#365d58;cursor:pointer;touch-action:pan-y}.ring-inputs p{font-size:14px;line-height:1.8;margin:0 0 18px}.ring-room button,.ring-room select{min-height:44px;font:16px/1.6 var(--sans);color:inherit;border:1px solid #798d7f;background:#fbf9ef;padding:9px 14px;cursor:pointer}.ring-room .ring-throw{width:100%;background:#234a46;color:#fff7e0;border-color:#234a46;padding:13px 20px}.ring-room button:disabled{opacity:.6;cursor:default}.ring-opponent{display:grid;gap:8px;font-size:16px;margin:22px 0}.ring-opponent select{max-width:100%;width:100%}.ring-opponent span{font-size:14px;line-height:1.8}.ring-start-over{background:transparent!important}.ring-room :focus-visible{outline:2px solid #8f6221;outline-offset:4px}.ring-reading{margin:32px 0 0;max-width:950px}.ring-reading details{padding:16px 0;border-top:1px solid #8c9c8f}.ring-reading summary{font:18px/1.7 var(--serif);min-height:44px;cursor:pointer}.ring-reading p{font:16px/2 var(--serif)}.ring-reading a{display:inline-block;font-size:16px;line-height:1.8;padding:10px 0;text-decoration:underline;text-underline-offset:4px}.ring-score-table{width:100%;border-collapse:collapse;font-size:16px;text-align:center}.ring-score-table caption{padding:12px}.ring-score-table th,.ring-score-table td{padding:9px;border-bottom:1px solid #abb6a8}.ring-flight{animation:ring-flight-fade .75s both}@keyframes ring-flight-fade{0%,90%{opacity:1}100%{opacity:0}}
@media(max-width:780px){.ring-layout{grid-template-columns:minmax(0,1fr);gap:22px}.ring-heading{padding-top:8px}.ring-table{padding:14px 12px 18px}.ring-reaction{min-height:0}.ring-score{font-size:14px;gap:8px}.ring-score b{font-size:27px}.ring-board{max-height:380px}.ring-outcome{padding-left:12px}}
@media(prefers-reduced-motion:reduce){.ring-flight{display:none;animation:none}}
/* Short play surface; prose and history stay in closed disclosures. */
.ring-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 12px;max-width:none}.ring-heading h1{font-size:28px;margin:0}.ring-opponent{display:flex;align-items:center;gap:10px;margin:0 0 12px;flex-wrap:wrap}.ring-opponent select{width:auto;min-width:110px;padding:6px}.ring-opponent span{font-size:13px}.ring-desk>.ring-score{background:#19383a;color:#fff5d9;padding:8px 12px}.ring-winds{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#e6e8d9;padding:8px 12px;font-size:14px}.ring-layout{gap:18px}.ring-table{padding:8px 10px}.ring-board{margin:0;max-height:340px}.ring-key{font-size:12px;line-height:1.5;margin:5px 0}.ring-inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0;font-size:14px}.ring-inventory span{background:#e6e8d9;text-align:center;padding:6px}.ring-outcome{font-size:14px;line-height:1.6;margin:8px 0;padding-left:10px}.ring-outcome h2{font-size:23px;margin:6px 0}.ring-inputs{display:grid;grid-template-columns:75px minmax(0,1fr);gap:3px 10px;align-items:center}.ring-inputs legend{float:left;grid-column:1/-1;width:100%;font-size:14px;margin:4px 0}.ring-inputs label{font-size:14px;display:block}.ring-inputs output{display:block;font-size:13px}.ring-inputs input{margin:0;min-height:42px}.ring-inputs select{width:100%;min-width:0;padding:6px;font-size:14px}.ring-room .ring-throw{padding:9px 12px;margin-top:8px}.ring-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.ring-tools p{font-size:12px;margin:0}.ring-tools>div{flex-basis:100%}.ring-reading{margin-top:16px}.ring-reading details{padding:0}.ring-reading summary{font-size:15px;padding:10px 0}.ring-current{font-size:14px;margin:6px 0}.ring-controls{padding:0 4px}
.game-focus-dialog{position:fixed;inset:0;margin:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#f4f1e6;color:#223f40;overflow:auto;overscroll-behavior:contain;scroll-padding-bottom:5rem;box-sizing:border-box}.game-focus-dialog::backdrop{background:#182b2a}.game-focus-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-bottom:4px}.game-focus-toolbar strong{font:18px var(--serif)}.game-focus-toolbar button{font-size:.875rem!important;padding:6px 12px!important;min-height:40px!important}.game-action-drawer{position:fixed;z-index:3;bottom:max(8px,env(safe-area-inset-bottom));left:8px;right:8px;background:#f9f7ed;border:1px solid #57796a;box-shadow:0 -4px 18px #183a2b22;max-height:calc(100dvh - 64px - env(safe-area-inset-top));overflow:auto}.game-action-drawer>summary{min-height:44px;cursor:pointer;padding:10px 12px;background:#254e46;color:#fff7db;font:15px/1.5 var(--sans)}.game-action-drawer>div{padding:10px 12px}.ring-focus .ring-desk{height:calc(100% - 104px);display:grid;grid-template-rows:auto auto minmax(0,1fr)}.ring-focus .ring-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(9rem,1fr) auto;gap:4px;min-height:0}.ring-focus .ring-table{display:flex;flex-direction:column;min-height:0;padding:4px}.ring-focus .ring-board{height:100%;min-height:0;max-height:none;flex:1}.ring-focus .ring-key{text-align:center}.ring-focus .ring-inventory{padding:0}.ring-focus .ring-controls{padding:0}.ring-focus .ring-score b{font-size:24px}.ring-focus .ring-winds{font-size:.875rem;padding:6px;gap:5px}.ring-focus .ring-outcome{min-height:24px;margin:4px 0}.ring-focus .ring-outcome p{margin:0}.ring-focus .ring-current{font-size:.875rem;margin:4px 0}.game-focus-dialog :focus-visible{outline:2px solid #8f6221;outline-offset:2px}
@media(max-width:780px){.ring-layout{gap:8px}.ring-board{max-height:260px}.ring-heading h1{font-size:24px}.ring-heading button{font-size:13px;padding:6px 9px}.ring-score{font-size:13px}.ring-score b{font-size:24px}}
@media(min-width:620px) and (max-height:480px){.ring-focus .ring-layout{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:12px}.ring-focus .ring-controls{align-self:center}}
