@charset "UTF-8";
:root{color-scheme:dark;--ink:#081e2c;--paper:#fff2d5;--gold:#edc477;--muted:#97afba;--red:#dc735c;--teal:#5bd0c3}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 22%,#194a5b 0,#0b2837 42%,#061923 90%);color:var(--paper);font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;min-height:100svh}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;background:repeating-linear-gradient(0deg,transparent 0 3px,#c4efff 3px 4px)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;transition:background .2s,transform .2s}button:hover{filter:brightness(1.12)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible,#game:focus-visible{outline:3px solid #f7d384;outline-offset:4px}button:disabled{opacity:.5;cursor:wait}.app{max-width:1100px;margin:auto;padding:0 30px 22px}.masthead{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4c38925}.brand{display:flex;gap:10px;align-items:center;font-family:Georgia,serif;color:var(--paper);text-decoration:none;font-size:21px;font-weight:bold;letter-spacing:3px}.anchor{font-size:32px;color:var(--gold)}.brand-sub{display:block;font:8px/1.6 sans-serif;letter-spacing:3px;color:var(--gold)}.edition{font-size:10px;letter-spacing:3px;color:#afc2c7}.edition i{font-style:normal;margin-left:16px;color:var(--gold)}.quiet{background:#16394a;color:var(--paper);border:1px solid #cbe7eb26;padding:10px 15px;border-radius:6px;font-size:12px;white-space:nowrap}.heading{display:flex;justify-content:space-between;align-items:center;padding:21px 0 18px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);margin:0 0 8px}h1{font-size:28px;letter-spacing:-1.5px;margin:0}h1 span{font-weight:400;font-size:21px;color:#c6d3d5;margin-left:12px}.edition-label{border:1px solid #edc47765;padding:7px 10px;color:var(--gold);font:9px Georgia,serif;letter-spacing:2px;transform:rotate(-3deg)}.battle{overflow:hidden;border:1px solid #c3a56e69;border-radius:12px;background:#092332;box-shadow:0 20px 70px #0005}.scorebar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 24px;background:linear-gradient(90deg,#442e2b99,#0b2938 32% 68%,#1d4d4a99)}.crew{display:flex;align-items:center;gap:13px;opacity:.55;transition:opacity .3s}.crew.active{opacity:1}.crew small{display:block;font-size:11px;color:var(--red);margin-bottom:2px}.crew.teal{text-align:right}.crew.teal small{color:var(--teal)}.crew strong{font:25px Georgia,serif}.crew strong span{font:12px sans-serif;color:#8fa2a9}.stone-icon{display:block;width:35px;height:35px;border-radius:50%;box-shadow:0 5px 6px #0007,inset 0 -3px 3px #0006}.stone-icon.black{background:radial-gradient(circle at 32% 23%,#82909c 0,#303c47 18%,#0a1019 61%);border:2px solid #c36d52}.stone-icon.white{background:radial-gradient(circle at 32% 23%,#fff 0,#fff5de 30%,#a0c8c7 100%);border:2px solid #70b9b0}.turn{text-align:center;min-width:140px}.turn>span{font:9px Georgia,serif;letter-spacing:2px;color:var(--gold)}.turn strong{display:block;font-size:17px;margin:4px 0}.turn small{font-size:10px;color:#b2c9ce}.viewport{position:relative;aspect-ratio:3/2;max-height:65svh;overflow:hidden;background:#158a9a}#game{width:100%;height:100%;touch-action:none}#game canvas{display:block;touch-action:none}.splash{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:linear-gradient(0deg,#041723ed,transparent 55%),url('/assets/pirate-keyart-v1.png') center/cover}.splash-title{padding-top:28px;text-align:center;text-shadow:0 2px 12px #061e37,0 2px 4px #061e37}.splash-title>span{font:9px Georgia,serif;letter-spacing:3px;color:#fff4d5}.splash h2{font-size:clamp(26px,4.3vw,48px);line-height:1.3;letter-spacing:-2px;margin:10px 0}.splash h2 em{font-style:normal;color:#ffda8f}.boarding{width:300px;text-align:center;padding:0 0 24px}.boarding p{font-size:12px;letter-spacing:2px}.mode-picker{display:flex;border:1px solid #dfbd7959;background:#06222ce8;border-radius:7px;padding:4px;margin-bottom:10px;gap:4px}.mode-picker button{width:50%;background:transparent;color:#a8bdc4;font-size:12px;padding:10px;border-radius:4px}.mode-picker button[aria-pressed=true]{background:#d9b66c;color:#152c32;font-weight:bold}.gold{width:100%;background:linear-gradient(135deg,#ffe0a0,#d9a345);color:#142d36;border:1px solid #ffe6b5;border-radius:6px;padding:15px 24px;font-weight:900;font-size:17px;box-shadow:0 4px 0 #755326,0 8px 22px #0004}.gold span{float:right}.boarding>small{display:block;font-size:10px;color:#b4c8c7;margin-top:13px;min-height:14px}.helm{display:flex;align-items:center;gap:22px;padding:15px 20px;background:#102e3e}.instruction{display:flex;gap:11px;align-items:center;flex:1}.step{border:1px solid #c1a46d70;color:var(--gold);font-size:22px;padding:5px 10px;border-radius:6px}.instruction strong{display:block;font-size:12px;margin-bottom:5px}.instruction small{font-size:10px;color:#91adb9}.power{width:125px}.power label{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:5px}.power label span{color:var(--gold)}meter{display:block;width:100%;height:9px;border:0;border-radius:20px;background:#001824}meter::-webkit-meter-bar{background:#001824;border:0}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg,#e3b45f,#ffe6a7)}footer{display:flex;justify-content:space-between;margin:14px 2px;color:#92aeb9;font-size:10px}footer span:last-child{font-size:8px;letter-spacing:1px}.result{position:absolute;inset:0;background:#062536cc;backdrop-filter:blur(5px);display:grid;place-items:center;z-index:4}.result-card{text-align:center;background:linear-gradient(140deg,#143c4c,#071f2c);padding:28px 32px;max-width:90%;width:340px;border:1px solid #dabb7c;border-radius:12px;box-shadow:0 20px 80px #0008}.result-card h2{font-size:28px;margin:8px 0}.result-card p{font-size:12px;color:#afc7cf;margin-bottom:24px}.result-card .quiet{margin-top:12px;background:transparent;border:0}.medal{font-size:50px;color:var(--gold)}.callout{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-5deg);font-size:clamp(24px,4vw,47px);font-weight:900;color:#fff5d7;text-shadow:3px 3px 0 #4c2b15,0 0 30px #142b35;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .18s}.callout.visible{opacity:1}.help{font-size:11px;color:#91adb9;max-width:650px;line-height:1.8}.help summary{cursor:pointer;color:#bfd1d5}.help p{margin:8px 0}[hidden]{display:none!important}
@media(min-width:1000px) and (max-height:850px){.app{max-width:920px}.masthead{height:58px}.heading{padding:12px 0}.heading h1{font-size:24px}.viewport{max-height:59svh}.splash-title{padding-top:20px}.splash h2{font-size:37px}.boarding{padding-bottom:17px}.helm{padding:10px 18px}}
@media(max-width:600px){.app{padding:0 10px 20px}.masthead{height:62px}.brand{font-size:18px}.anchor{font-size:27px}.edition{display:none}.heading{padding:18px 3px}h1{font-size:25px}h1 span{font-size:16px;margin-left:7px}.edition-label{font-size:7px;padding:5px;letter-spacing:1px}.scorebar{padding:11px 10px}.crew{gap:6px}.crew small{font-size:9px}.crew strong{font-size:22px}.stone-icon{width:26px;height:26px}.turn{min-width:105px}.turn strong{font-size:13px}.turn small{font-size:8px}.turn>span{font-size:8px}.viewport{aspect-ratio:3/2;max-height:none}.splash-title{padding-top:12px}.splash-title>span{font-size:7px;letter-spacing:1px}.splash h2{font-size:27px;margin:3px 0}.boarding{padding-bottom:12px;width:220px}.boarding p{display:none}.mode-picker{margin-bottom:6px;padding:2px}.mode-picker button{padding:7px;font-size:10px}.gold{padding:10px 15px;font-size:14px}.boarding>small{margin-top:7px;font-size:8px}.helm{flex-wrap:wrap;gap:13px;padding:13px 12px}.instruction{flex-basis:100%}.instruction small{font-size:9px}.power{flex:1}.helm .quiet{padding:8px 12px}.result-card{padding:13px 24px;width:270px}.result-card .eyebrow{font-size:8px}.result-card h2{font-size:22px}.medal{display:none}.result-card p{margin:10px 0 14px}.result-card .quiet{margin-top:4px}.mobile-tip{display:none}footer{font-size:9px;gap:10px}.help{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.app{max-width:min(1100px,calc(87svh + 60px))}.viewport{width:100%;max-height:none}body:before{opacity:.018}
@media(max-width:600px){.app{max-width:none}}
