:root{color:#294c4b;font-synthesis:none;--line:#d8dfd1;--ink:#294c4b;background:#f6f3e9;font-family:Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;border:1px solid var(--line);background:#fffdf6;border-radius:7px;min-height:44px;padding:9px 15px}button:hover:enabled{background:#eeeada}button:disabled{opacity:.45;cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #c58a3c}.masthead{border-bottom:1px solid var(--line);letter-spacing:.15em;justify-content:space-between;max-width:1150px;margin:auto;padding:20px 28px 18px;font-size:10px;display:flex}.masthead i{color:#7f8f81;margin-left:25px;font-style:normal}.layout{grid-template-columns:minmax(230px,1fr) minmax(0,570px);align-items:start;gap:50px;max-width:1060px;margin:auto;padding:25px 28px 30px;display:grid}.intro{padding-top:14px}.eyebrow{letter-spacing:.16em;color:#738b7d;margin:0 0 8px;font-size:10px;font-weight:700}h1{letter-spacing:.1em;margin:18px 0 24px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:58px;font-weight:600;line-height:1.3}h1 span{color:#bf9b55}.intro-copy{color:#70867b;font-size:13px;line-height:2.1}.stages{gap:8px;max-width:290px;margin-top:29px;display:grid}.stage-button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:14px;padding:12px 13px;display:flex}.stage-button[aria-current=step]{background:#e9efe4;border-color:#aec8bf}.stage-button .number{color:#809487;font:22px Georgia,serif}.stage-button .stage-copy{flex:1;font-size:12px}.stage-button small{letter-spacing:.09em;color:#829187;margin-top:3px;font-size:9px;display:block}.stage-button .check{color:#4b8c71;width:15px;font-size:15px}.field-note{border-top:1px solid var(--line);max-width:290px;margin-top:30px;padding-top:20px}.field-note>span{font-family:Yu Mincho,serif;font-size:16px}.field-note p{color:#7c8f83;font-size:11px;line-height:2}.edition{color:#91a08d;letter-spacing:.15em;margin-top:30px;font-size:9px;line-height:2.3}.edition span{letter-spacing:.02em}.game{background:#fffdf7;border:1px solid #d5ddce;border-radius:12px;min-width:0;overflow:hidden;box-shadow:0 15px 45px #34503d0e}.game-heading{justify-content:space-between;align-items:center;gap:8px;padding:15px 18px 3px;display:flex}.game-heading .eyebrow{margin-bottom:3px;font-size:8px}.game-heading h2{margin:0;font-family:Yu Mincho,serif;font-size:21px;font-weight:600}.heading-actions{gap:5px;display:flex}.heading-actions button{min-height:36px;padding:6px 8px;font-size:10px}.stage-subtitle{color:#7d9183;margin:7px 18px 12px;font-size:10px}.dashboard{color:#718b7e;border-top:1px solid #e7ebde;border-bottom:1px solid #dbdfca;justify-content:space-between;align-items:center;gap:5px;padding:10px 17px;font-size:10px;display:flex}.dashboard b{color:#315b57;margin-left:4px;font-size:13px;font-weight:500}.dashboard #boat-location{font-size:10px}.board{background:#e9e1c9;position:relative}canvas{object-fit:fill;aspect-ratio:520/570;width:100%;height:auto;max-height:560px;display:block}.banks{pointer-events:none;position:absolute;inset:0}.bank{pointer-events:auto;color:#76613c;white-space:nowrap;background:#fbf0cf;border:1px solid #a6936c;border-radius:7px;width:47px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px #a88e5e40}.bank:before{content:"";border:1px solid #8c7549;border-radius:1px 1px 4px 4px;width:7px;height:8px;margin-right:3px;display:inline-block;transform:rotate(-25deg)}.bank:hover:enabled{background:#f7dfa1;transform:translate(-50%,-50%)translateY(-1px)}.bank:disabled{opacity:.53}.bank[hidden]{display:none}.legend{color:#819487;justify-content:center;gap:12px;padding:9px 6px 0;font-size:9px;display:flex}.water-key{background:#77b2bd;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.status{color:#55776b;text-align:center;place-items:center;min-height:39px;margin:0;padding:9px 12px;font-size:11px;line-height:1.7;display:grid}.status[data-waiting=true]{color:#a27042}.controls{gap:9px;padding:0 14px 13px;display:flex}.controls button{background:#f6f5ea;flex:1;min-height:44px;font-size:11px}.controls button span{vertical-align:-2px;margin-right:7px;font-size:20px}.primary{color:#fffdf5;background:#38695f;border:0;min-height:46px;font-size:12px}.primary:hover:enabled{background:#28574c}.celebrate{background:#e9efdf;border:1px solid #d8e2cb;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin:0 14px 12px;padding:12px;display:flex}.celebrate span{font-size:12px}.celebrate .primary{padding:10px 12px;font-size:11px}.celebrate[hidden]{display:none}.pause-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#e3ead7b8;place-items:center;display:grid;position:absolute;inset:0}.pause-overlay[hidden]{display:none}.pause-overlay>div{text-align:center;background:#fffdf4;border:1px solid #dbddc9;border-radius:9px;padding:25px 30px;box-shadow:0 10px 30px #3153461a}.pause-overlay h2{font-family:Yu Mincho,serif;font-size:30px}.pause-overlay p:not(.eyebrow){color:#80917e;font-size:12px}.pause-overlay .primary{width:100%;margin-top:12px}dialog{width:min(455px,100% - 28px);max-height:calc(100dvh - 28px);color:var(--ink);background:#fffdf5;border:1px solid #d4d9c7;border-radius:11px;padding:26px;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#294a3d99}dialog h2{margin:13px 0 20px;font:26px Yu Mincho,serif}dialog ol{padding-left:20px}dialog li{margin:12px 0;font-size:12px;line-height:1.9}dialog .help-note{color:#7e8d7d;font-size:10px;line-height:1.9}dialog .primary{width:100%;margin-top:10px}@media (min-width:761px) and (max-height:800px){.layout{padding-top:20px}h1{margin:14px 0 20px;font-size:48px}.stages{margin-top:18px}.field-note{margin-top:22px}canvas{max-height:490px}}@media (max-width:760px){.masthead{padding:13px 16px 11px;font-size:8px}.masthead>span:nth-child(2){font-size:0}.masthead i{margin-left:0;font-size:9px}.layout{grid-template-columns:minmax(0,520px);justify-content:center;gap:12px;padding:14px 11px 20px}.intro{padding:0 3px}.intro>.eyebrow{display:none}h1{letter-spacing:.06em;margin:0;font-size:28px}h1 br,.intro-copy,.field-note,.edition{display:none}.stages{gap:5px;max-width:none;margin-top:12px;display:flex}.stage-button{background:#fffdf4;border:1px solid #dbe1d3;flex:1;gap:8px;min-width:0;padding:7px 9px}.stage-button .number{font-size:18px}.stage-button .stage-copy{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.stage-button small{display:none}.stage-button .check{width:9px;font-size:11px}.game-heading{padding:11px 12px 3px}.game-heading h2{font-size:18px}.game-heading .eyebrow{font-size:7px}.heading-actions button{padding:5px 7px;font-size:9px}.stage-subtitle{margin:6px 12px 10px;font-size:9px}.dashboard{padding:8px 11px;font-size:9px}.dashboard #boat-location{font-size:9px}canvas{max-height:570px}.legend{gap:7px;padding-top:8px;font-size:8px}.status{min-height:37px;padding:7px 10px;font-size:10px}.controls{padding:0 10px 10px}.celebrate{margin:0 10px 10px;padding:9px}.celebrate span{font-size:10px}.celebrate .primary{padding:8px;font-size:10px}}@media (max-width:350px){h1{font-size:26px}.stage-button{gap:5px;padding:6px}.stage-button .stage-copy{font-size:9px}.game-heading h2{font-size:16px}.heading-actions button{padding:5px}.dashboard,.dashboard #boat-location{font-size:8px}.legend{font-size:7px}.bank{width:44px}}
