:root{font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#203d35;background:#f4f3ed;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible{outline:3px solid #e8b85f;outline-offset:5px}.layout{max-width:1120px;margin:0 auto;padding:54px 32px 26px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#748378;margin:0 0 12px}h1{font-size:32px;letter-spacing:.09em;margin:0;font-weight:600}h1 span{display:inline-block;font-size:12px;margin-left:20px;letter-spacing:.08em;color:#748378}.secondary{border:1px solid #d1d7ce;background:transparent;border-radius:6px;padding:11px 16px;color:#486153;font-size:12px;white-space:nowrap}.secondary span{padding-left:12px;font-size:18px}.secondary:hover{background:#e7ebe2}.table{background:#214f43;background-image:radial-gradient(ellipse at 50% 0%,#2e6353 0%,transparent 80%);color:#eff3e8;border-radius:14px;padding:28px 34px 32px;border:6px solid #193d33;box-shadow:0 18px 36px #16372e15}.table-top,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-top{padding-bottom:26px;border-bottom:1px solid #ffffff20}.table-label{font-size:12px;letter-spacing:.12em;color:#b3c9b8}.wall-count{display:flex;align-items:center;gap:9px;font-size:11px;color:#c5d5c6}.wall-count strong{font-size:30px;font-weight:500;font-variant-numeric:tabular-nums;color:#f3dfa7}h2{font-size:15px;font-weight:500;letter-spacing:.12em;margin:0}h2 span{font-size:10px;color:#a7c0af;margin-left:10px}.count{color:#b8cebc;font-size:11px}.river-section{padding:20px 0}.river{display:grid;grid-template-columns:repeat(auto-fill,39px);gap:7px;list-style:none;padding:0;margin:22px 0 0}.empty-river{color:#b3cabb;font-size:12px;text-align:center;margin:16px 0 0;letter-spacing:.08em}.hand-section{border-top:1px solid #ffffff20;padding-top:24px}.hand{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:6px;padding:25px 0 28px}.tile{display:flex;align-items:center;justify-content:center;padding:0;min-width:0;width:100%;height:auto;aspect-ratio:111 / 151;border:0;border-radius:5px;background:transparent;box-shadow:0 3px 3px #0d302633}.tile-face{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}button.tile:not(:disabled):hover{transform:translateY(-6px)}.drawn{box-shadow:0 0 0 2px #e8be64;transform:translateY(-5px)}.actions{display:flex;justify-content:space-between;align-items:center;gap:20px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.turn-status{color:#f3dfa7;font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 12px}.enemy-section{padding:24px 0;border-bottom:1px solid #ffffff20}.battle-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.enemy-avatar{display:grid;place-items:center;width:68px;height:76px;border:2px solid #d59b85;border-radius:8px;background:#643e35;color:#fff0de;font-size:38px;font-family:serif}#enemy-countdown,#enemy-action{font-size:12px;line-height:1.8}.player-health{margin-left:auto;display:grid;gap:8px;font-size:12px}.player-health progress{width:150px;height:12px;accent-color:#efd597}.attack-message{color:#ffd098;font-weight:700}.enemy-health{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:12px}.enemy-health progress{width:150px;height:12px;accent-color:#efd597}.bonus-damage{color:#f3dfa7;font-size:12px;line-height:1.8;padding:10px 12px;border-left:3px solid #efd597;background:#ffffff08}#status{font-size:14px;margin:0 0 8px;line-height:1.7}.hint{font-size:10px;color:#b0c8b6;margin:0}.primary{display:flex;align-items:center;justify-content:space-between;gap:32px;min-width:150px;padding:16px 24px;border:1px solid #efd597;border-radius:6px;background:#efd597;color:#314f3d;font-weight:700}.primary:hover:not(:disabled){background:#ffe6ab}.primary:disabled{opacity:.4}footer{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:11px;color:#748378;line-height:1.8}.footer-mark{font-size:18px}.footer-note{margin-left:auto;font-size:10px}@media(max-width:640px){.layout{padding:28px 14px 20px}.page-header{margin-bottom:22px;gap:8px}.eyebrow{font-size:8px;letter-spacing:.12em}h1{font-size:23px}h1 span{display:block;font-size:10px;margin:7px 0 0}.secondary{padding:8px 10px}.table{padding:20px 14px 22px;border-width:4px}.table-label{font-size:10px}.wall-count strong{font-size:25px}.hand{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px 5px}.river{grid-template-columns:repeat(auto-fill,34px);gap:6px}.actions{flex-direction:column;align-items:stretch;gap:18px}.primary{justify-content:center;padding:14px}.action-buttons .primary{flex:1}#status{font-size:12px}footer{flex-wrap:wrap}.footer-note{width:100%;margin-left:0}}@media(max-width:380px){.hand{grid-template-columns:repeat(6,minmax(0,1fr))}}.river.river-preview{grid-template-columns:repeat(var(--river-columns, 8),minmax(0,39px));min-height:54px;margin-top:14px}.river-controls{display:flex;align-items:center;gap:10px}.river-button{border:1px solid #ffffff50;border-radius:5px;background:transparent;color:#eff3e8;padding:10px 12px;font-size:12px;white-space:nowrap}.river-button:hover{background:#ffffff12}#river-dialog{width:min(560px,calc(100% - 28px));max-height:80dvh;overflow-y:auto;padding:20px;background:#214f43;color:#eff3e8;border:2px solid #a8b6a4;border-radius:10px}#river-dialog::backdrop{background:#10251ed0}#river-dialog .section-heading{position:sticky;top:-20px;padding:10px 0;background:#214f43}body.river-open{overflow:hidden}.candidate-section{padding:16px;margin-bottom:20px;border:1px solid #ffffff30;border-radius:6px}.candidates{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.candidates .tile{width:52px;flex:0 0 52px}
