@import "https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,500;0,7..72,600;1,7..72,500&family=Nunito+Sans:wght@400;600;700;800&display=swap";.chore-card{margin:16px 0}.chore-card label{margin:10px 0;display:block}.chore-card input:not([type=checkbox]),.chore-card textarea{box-sizing:border-box;width:100%;min-height:44px}.chore-card button{min-height:44px;margin:4px 4px 4px 0}.chore-card input[type=checkbox]{vertical-align:middle;width:24px;height:24px;margin-right:8px}.chore-agreement,.coupon-choice{border-top:1px solid #d8cfb8;padding:12px 0}.coupon-choice img{object-fit:contain;float:right;width:90px;height:90px}.coupon-choice label{align-items:center;gap:8px;min-height:44px;display:flex}.coupon-choice input{width:24px;height:24px}.coupon-check{grid-column:1/-1;margin:0 0 8px;font-size:14px;line-height:1.4}.coupon-choice{font-size:15px}.coupon-choice img{width:70px;height:70px}.purchase-actions:has(.coupon-check){flex-wrap:wrap}.purchase-actions .coupon-check{flex:0 0 100%;margin:0}.action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.action-row>button{overflow-wrap:anywhere;min-width:0;min-height:48px;margin:0;padding:10px 12px;font-size:16px;line-height:1.25}.action-row>button.secondary{color:var(--teal);background:#edf1e7;border:1px solid #a8bfb4}@media (width<=300px),(resolution>=2x) and (width<=320px){.action-row{gap:8px}}.duel-scene{max-width:720px;margin:auto}.duel-scene header{justify-content:space-between;align-items:center;gap:12px;display:flex}.duel-scene h1{margin:8px 0;font-size:22px}.duel-intent{background:#f6eddb;border-radius:10px;min-height:44px;padding:8px 10px;font-size:15px}.duel-event{margin:6px 0;font-size:13px}.duel-water{background-position:50%;background-size:auto 900%;border-radius:14px;grid-template-columns:repeat(3,1fr);height:clamp(190px,35dvh,340px);display:grid;position:relative;overflow:hidden}.duel-lane{text-align:center;color:#fff;border-right:1px solid #fff8;padding-top:5px;font-size:12px}.duel-aim{outline-offset:-4px;outline:3px dashed #ffe99d}.duel-fire{outline-offset:-4px;background:#e49a4744;outline:4px solid #ffe99d}.duel-vessel{text-align:center;width:90px;transition:left .18s;position:absolute;transform:translate(-50%)}.duel-vessel img{object-fit:contain;width:66px;height:75px;margin:auto;display:block}.duel-vessel span{color:#fff;white-space:nowrap;background:#163f46;border-radius:5px;padding:2px 5px;font-size:12px}.duel-opponent{top:22px}.duel-player{bottom:10px}.duel-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.duel-actions button{min-height:48px;margin:0;padding:6px;font-size:14px}.duel-actions small{font-size:11px;font-weight:400;display:block}.duel-scene>button{min-height:44px;margin:4px;font-size:14px}.duel-confirm{z-index:40;background:#fff9ed;border:2px solid #b69c65;border-radius:16px;padding:20px;position:fixed;inset:25% 8% auto}.app:has(.duel-scene)>nav{display:none}@media (prefers-reduced-motion:reduce){.duel-vessel{transition:none}}@media (height<=540px) and (orientation:landscape){.duel-scene{grid-template-columns:1fr 1fr;gap:6px 12px;max-width:none;display:grid}.duel-water{grid-area:1/2/6;height:calc(100dvh - 100px)}.duel-scene header{grid-column:1}}.app:has(.duel-scene)>header{display:none}.app:has(.duel-scene)>main{padding:10px 12px}@media (height<=540px) and (orientation:landscape){.app:has(.duel-scene){max-width:none}.duel-scene{grid-template-columns:minmax(310px,1fr) 1fr;align-items:start}.duel-scene header{flex-wrap:nowrap;min-height:36px;padding:0}.duel-scene h1{margin:0;font-size:20px}.duel-intent{margin:0}.duel-water{grid-row:1/8;height:calc(100dvh - 65px)}.duel-actions,.duel-scene>button{margin:0}}.duel-v2{box-sizing:border-box;max-width:560px;min-height:100dvh;padding:calc(8px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));color:#173c48;background:#f6efdc;margin:auto;font-size:15px}.duel-v2 *{box-sizing:border-box}.duel-v2 button{font:inherit;cursor:pointer}.duel-v2 button:disabled{opacity:.55;cursor:not-allowed}.duel-v2-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;min-height:48px;display:grid}.duel-v2-top strong{text-align:center;font-size:17px}.duel-v2-top button{color:#225767;text-align:left;background:0 0;border:0;min-height:48px;padding:4px}.duel-v2-top button:last-child{text-align:right}.duel-v2-captains{justify-content:space-between;gap:8px;margin:5px 0;display:flex}.duel-v2-captains>div{gap:1px;display:grid}.duel-v2-captains>div:last-child{text-align:right}.duel-v2-status{text-align:center;margin:5px 0 7px;font-weight:600}.duel-v2-board-wrap{width:min(100%,440px);margin:auto}.duel-v2-columns{text-align:center;grid-template-columns:repeat(5,1fr);margin-left:20px;font-size:12px;display:grid}.duel-v2-board-row{display:flex}.duel-v2-rows{grid-template-rows:repeat(5,1fr);place-items:center;width:20px;font-size:12px;display:grid}.duel-v2-board{aspect-ratio:1;background:#a6cfcc;border:2px solid #2d6470;flex:1;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(5,1fr);display:grid}.duel-v2-cell{background:#accfd0;border:1px solid #669ea2;place-items:center;min-width:0;min-height:0;padding:0;display:grid;position:relative}.duel-v2-cell:nth-child(2n){background:#a5c8ca}.duel-v2-cell.mask{background:#e9cd9f}.duel-v2-cell.selected{outline-offset:-3px;outline:3px solid #e88c57}.duel-v2-cell:focus-visible{z-index:2;outline:3px solid #173c48}.duel-v2-vessel{width:85%;max-width:70px;height:85%;max-height:70px;display:block;position:relative}.duel-v2-vessel img{object-fit:contain;width:100%;height:100%}.duel-v2-vessel.enemy{filter:drop-shadow(0 0 2px #a0422e)}.duel-v2-vessel.own{filter:drop-shadow(0 0 2px #09667b)}.duel-v2-nose{color:#063c4a;width:12px;font-size:13px;position:absolute;top:-7px;left:calc(50% - 6px)}.duel-v2-ghost{opacity:.5;place-items:center;display:grid;position:absolute;inset:0}.duel-v2-preview,.duel-v2-result,.duel-v2-cell-note{margin:7px 0;line-height:1.25}.duel-v2-preview{min-height:20px}.duel-v2-result p{margin:3px 0}.duel-v2-result details{font-size:13px}.duel-v2 fieldset{border:0;margin:7px 0;padding:0}.duel-v2 legend{margin-bottom:3px;font-weight:700}.duel-v2-manoeuvres,.duel-v2-weapons{gap:5px;display:grid}.duel-v2-manoeuvres{grid-template-columns:repeat(4,minmax(0,1fr))}.duel-v2-weapons{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-v2-manoeuvres button,.duel-v2-weapons button{color:#163c48;background:#fff9e9;border:2px solid #7a9ea0;border-radius:10px;min-height:48px;padding:3px;line-height:1.1}.duel-v2 button[aria-pressed=true]{background:#d5edf1;border-color:#155e7b;box-shadow:inset 0 0 0 1px #155e7b}.duel-v2-manoeuvres small,.duel-v2-weapons small{font-size:11px;display:block}.duel-v2-primary{color:#fff;background:#156b7a;border:0;border-radius:10px;width:100%;min-height:49px;margin-top:6px;font-weight:700}.duel-v2-footnote{text-align:center;margin:4px 0;font-size:12px}.duel-v2-dialog-backdrop{z-index:1000;background:#112b35aa;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.duel-v2-dialog{background:#fff8e8;border:2px solid #2a6571;border-radius:14px;width:100%;max-width:440px;padding:16px}.duel-v2-dialog h2{margin:0;font-size:19px}.duel-v2-dialog-actions{gap:8px;display:flex}.duel-v2-dialog-actions button{flex:1;min-height:48px}@media (width<=340px){.duel-v2{padding-left:7px;padding-right:7px}.duel-v2-manoeuvres button{font-size:14px}.duel-v2-board-wrap{min-width:270px}}.duel-v2-cell.firing{outline-offset:-2px;background:#f0d7ad;outline:2px solid #d7834f}.duel-v2-board{position:relative}.duel-v2-moving-vessels{pointer-events:none;z-index:3;position:absolute;inset:0}.duel-v2-moving-vessel{place-items:center;width:20%;height:20%;transition:transform .43s ease-in-out;display:grid;position:absolute}.duel-v2-moving-vessel .duel-v2-vessel{width:85%;height:85%}@media (prefers-reduced-motion:reduce){.duel-v2-moving-vessel{transition:none}}.app:has(.duel-v2){background:#eef4ed;max-width:none;min-height:100dvh}:is(.app:has(.duel-v2)>header,.app:has(.duel-v2)>nav){display:none}.app:has(.duel-v2)>main{padding:0}.app:has(.duel-v2)>.test-banner{padding:3px 4px;font-size:10px;line-height:16px}.duel-v2{--arena-height:calc(var(--tg-height,100dvh) - 22px - env(safe-area-inset-top));max-width:520px;min-height:0;padding:0 10px calc(6px + env(safe-area-inset-bottom));background:#eef4ed;font-size:14px}.duel-v2 button{letter-spacing:normal;margin:0}.duel-v2-top{gap:4px;min-height:44px}.duel-v2-top strong{font-size:16px}.duel-v2-top button{min-height:44px;padding:2px;font-size:12px}.duel-v2-captains{background:#fffdf2;border:1px solid #d3d9c5;border-radius:12px;margin:0;padding:4px 8px}.duel-v2-captains strong{font-size:13px}.duel-v2-targets{font-size:11px}.duel-v2-targets span{color:#c66351}.duel-v2-status{margin:4px 0;font-size:12px;line-height:16px}.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 298px - env(safe-area-inset-bottom)));min-width:0;margin:0 auto}.duel-v2-columns{color:#235c69;height:17px;font-weight:700}.duel-v2-rows{color:#235c69;font-weight:700}.duel-v2-board{background:#219daf url(/art/duel-water-ux27.webp) 50%/cover;border:3px solid #d1bd83;border-radius:8px;overflow:hidden;box-shadow:0 3px 9px #1d57612b;container-type:inline-size}.duel-v2 .duel-v2-cell,.duel-v2 .duel-v2-cell:nth-child(2n){min-height:0;box-shadow:none;background:0 0;border:1px solid #e2fff466;border-radius:0;margin:0;padding:0}.duel-v2 .duel-v2-cell.mask{background:#faffd75c;box-shadow:inset 0 0 0 2px #fff3b6}.duel-v2 .duel-v2-cell.own-fire{background:#c4f4ff66;box-shadow:inset 0 0 0 2px #fff}.duel-v2 .duel-v2-cell.enemy-fire{outline-offset:-4px;background:#fa9c685c;outline:2px dashed #67241d}.duel-v2-shot-marker{color:#173c48;text-shadow:0 0 3px #fff;font-size:13px;font-weight:900;position:absolute;bottom:0;right:2px}.duel-v2-vessel{filter:drop-shadow(0 3px 2px #123e5988);width:94%;max-width:90px;height:94%;max-height:90px}.duel-v2-nose{color:#efffff;text-shadow:0 0 2px #003649;top:0}.enemy .duel-v2-nose{color:#ffd2b1}.duel-v2-preview{text-align:center;place-content:center;min-height:30px;margin:3px 0;font-size:12px;line-height:15px;display:grid}.duel-v2 fieldset{margin:3px 0;padding:0}.duel-v2-manoeuvres button,.duel-v2-weapons button{background:#fffdf2;border:1px solid #a8bdb3;min-height:48px;padding:3px;font-size:13px;box-shadow:0 2px #d0dacf}.duel-v2-manoeuvre-icon{font-size:21px;line-height:20px;display:block}.duel-v2 button[aria-pressed=true]{background:#cef0f4;border:2px solid #126b82;box-shadow:inset 0 0 0 1px #fff}.duel-v2 .duel-v2-primary{background:#14687b;border-radius:14px;min-height:48px;margin-top:5px;padding:6px;box-shadow:0 3px #0b4555}.duel-v2-result{text-align:center;margin:6px 0;font-size:13px}.duel-v2-result details{text-align:left}.duel-v2-result summary{cursor:pointer;min-height:44px;padding:12px 0}.duel-v2-result details[open]{max-height:125px;overflow:auto}.duel-v2-result>button{min-height:44px;padding:4px 10px;font-size:12px}.duel-v2-cell-note{margin:2px 0;font-size:11px}.duel-v2-dialog{max-height:90dvh;overflow:auto}.duel-v2-volley{pointer-events:none;z-index:5;position:absolute;inset:0}.duel-v2-shot{width:0;height:0;position:absolute}.duel-v2-cannonball{background:radial-gradient(circle at 30% 25%,#bec8c9,#273640 45%,#08101b);border-radius:50%;width:9px;height:9px;margin:-4px;animation:.56s cubic-bezier(.2,.1,.7,.9) both duel-ball;position:absolute;box-shadow:0 1px 3px #071d26}.duel-v2-impact{width:36px;height:36px;transform:translate(var(--shot-x),var(--shot-y)) scale(0);border-radius:50%;margin:-18px;animation:.4s ease-out .55s both duel-impact;position:absolute}.duel-v2-impact.hit{background:radial-gradient(circle,#fffde1 0 10%,#ffe081 18%,#ff943c 34%,#bb5b3070 55%,#0000 70%);box-shadow:0 0 12px #ffe798}.duel-v2-impact.hit:after{content:"";border:3px dotted #fff0b7;border-radius:50%;position:absolute;inset:5px}.duel-v2-impact.splash{background:#dff5;border:3px solid #d9ffff}@keyframes duel-ball{0%{opacity:1;transform:translate(0)scale(1.1)}85%{opacity:1}to{transform:translate(var(--shot-x),var(--shot-y)) scale(.75);opacity:0}}@keyframes duel-impact{0%{transform:translate(var(--shot-x),var(--shot-y)) scale(.15);opacity:0}20%{opacity:1}to{transform:translate(var(--shot-x),var(--shot-y)) scale(1.45);opacity:0}}@media (prefers-reduced-motion:reduce){.duel-v2-cannonball,.duel-v2-impact{animation:none}}@media (height<=600px) and (orientation:portrait){.duel-v2-top strong{font-size:14px}.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 288px))}.duel-v2-preview{min-height:24px;font-size:11px;line-height:12px}.duel-v2-captains{padding:2px 6px}}@media (orientation:landscape) and (height<=540px){.duel-v2{grid-template-columns:minmax(220px,1fr) minmax(250px,1fr);gap:2px 14px;max-width:900px;display:grid}.duel-v2-top{grid-column:1/-1}.duel-v2-board-wrap{grid-area:2/1/9;align-self:start;width:min(100%,100dvh - 95px)}.duel-v2-captains,.duel-v2-status,.duel-v2-preview,.duel-v2-result,.duel-v2 fieldset,.duel-v2-primary{grid-column:2}.duel-v2-captains{grid-row:2}.duel-v2-status{grid-row:3}.duel-v2-preview{min-height:15px}}.duel-v2-top{background:0 0;border:0;padding:0}.duel-v2-captains{padding:2px 8px;line-height:15px}.duel-v2-captains>div{gap:0}.duel-v2-preview{min-height:24px;margin:2px 0;line-height:12px}.duel-v2 legend{margin:0;font-size:10px;line-height:12px}@media (height<=600px) and (orientation:portrait){.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 303px))}}.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 320px - env(safe-area-inset-bottom)))}.duel-v2-vessel img{scale:1.2}@media (height<=600px) and (orientation:portrait){.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 313px))}}@media (orientation:landscape) and (height<=540px){.duel-v2-board-wrap{width:min(100%,100dvh - 95px)}}@media (height<=600px) and (orientation:portrait){.duel-v2-board-wrap{width:min(100%,calc(var(--arena-height) - 321px - env(safe-area-inset-bottom)))}}.duel-v2-impact.hit:before{content:"";clip-path:polygon(50% 0,58% 32%,82% 10%,70% 40%,100% 50%,70% 58%,87% 86%,58% 70%,50% 100%,42% 70%,13% 87%,30% 58%,0 50%,30% 42%,12% 12%,42% 30%);background:#ffd375;position:absolute;inset:-9px}.duel-v2-end p{margin:4px 0;font-size:12px;line-height:16px}.duel-v2-end .action-row{margin:0}.duel-v2-end button{min-height:48px;font-size:13px}.duel-v2-end .duel-v2-primary{margin:0}.roam-scene{max-width:720px;margin:0 auto;padding-bottom:16px}.roam-scene[hidden]{display:none}.roam-scene h1{margin:8px 0;font-size:25px}.roam-scene p{font-size:16px}.roam-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;margin:8px 0;display:flex}.roam-hud button{min-height:44px;margin:0;padding:9px 12px;font-size:15px}.roam-stage{touch-action:none;background:#244a52;border-radius:16px;flex:auto;width:100%;min-height:248px;max-height:600px;position:relative;overflow:hidden}.app:has(.roam-scene) main{padding:8px 14px calc(12px + env(safe-area-inset-bottom))}.roam-scene{min-height:calc(var(--tg-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);flex-direction:column;gap:6px;display:flex}.roam-scene .roam-hud{margin:2px 0}.roam-scene .roam-hud button{min-height:48px;font-size:14px}.roam-scene .roam-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.roam-scene .roam-controls button{overflow-wrap:anywhere;min-width:0;padding:8px 4px}.roam-view-tools{justify-content:flex-end;display:flex}.roam-view-tools button{padding:7px 10px;font-size:13px;min-height:40px!important}.roam-return.sheet{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.roam-return.sheet button{min-height:48px}.roam-stage canvas{touch-action:none;outline-offset:-4px;width:100%;height:100%;display:block;position:absolute;inset:0}.roam-stage canvas:focus-visible{outline:3px solid #fff1ca}.roam-meeting-marker{z-index:2;color:#fff;background:#175b62;border:2px solid #fff4d4;border-radius:30px;width:64px;min-height:48px;padding:2px;font-size:11px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 9px #123b47a8}.roam-meeting-marker[hidden]{display:none}.roam-meeting-marker img{object-fit:contain;pointer-events:none;width:32px;height:30px;margin:auto;display:block}.roam-status{background:#e6eee5;border-radius:10px;min-height:48px;padding:10px 12px;margin:10px 0!important}.roam-warning{background:#fff4dc;border:1px solid #b28745;border-radius:12px;padding:12px}.roam-warning button{margin:10px 0 0;display:block}.roam-docks{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.roam-docks button{flex:1;min-height:44px;margin:0;padding:10px;font-size:15px}.roam-entry{background:#e4eee7;border-radius:14px;margin:12px 0;padding:14px}.roam-entry button{width:100%;margin:8px 0 0}.roam-scene .roam-note{color:#45645a;margin:8px 0;font-size:13px}.roam-return{background:#f6eddb;border:1px solid #c3b894;border-radius:12px;padding:14px}.roam-return button{min-height:44px;margin:6px 8px 0 0;font-size:15px}.roam-scene .paired-actions{margin:10px 0}.roam-stage .roam-loading{color:#fff;text-align:center;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.roam-stage .roam-loading button{margin-top:12px;display:block}.app:has(.roam-scene)>nav{display:none}.app:has(.roam-scene)>main{padding:8px 16px 24px}.roam-scene>.roam-hud:has(>button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.roam-scene>.roam-hud:has(>button:nth-child(4)) button{overflow-wrap:anywhere;min-width:0;padding:8px 4px;font-size:13px}.practice-toggle{width:100%;min-height:48px;margin:0;font-size:16px}.practice-last{color:#45645a;margin-top:6px;font-size:13px;display:block}.practice-chooser,.practice-active{background:#f6eddb;border:1px solid #c3b894;border-radius:14px;margin-top:8px;padding:12px}.practice-heading{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.practice-heading strong,.practice-active strong{font-size:17px}.practice-heading span,.practice-active p,.practice-control-note{line-height:1.35;font-size:13px!important}.practice-options{grid-template-columns:1fr;gap:8px;display:grid}.practice-options button{text-align:left;flex-direction:column;justify-content:center;gap:2px;min-height:58px;margin:0;padding:9px 11px;display:flex}.practice-options button strong{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%;font-size:15px}.practice-options button span{font-size:12px;font-weight:400}.practice-active{gap:10px;display:grid}.practice-kicker{color:#45645a;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:700;display:block}.practice-actions{flex-wrap:wrap;gap:8px;display:flex}.practice-actions button{flex:180px;min-height:44px;margin:0}.practice-control-note{color:#6a4c2f;margin:8px 0 0!important}@media (width>=680px) and (orientation:landscape){.practice-options{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-active{grid-template-columns:minmax(0,1fr) auto;align-items:center}.practice-actions{max-width:360px}}.practice-progress{gap:5px;margin-top:8px;display:grid}.practice-progress span{font-size:14px;font-weight:700}.practice-progress progress{width:100%;height:10px}.practice-complete{background:#f4efd9;border:1px solid #9a8d5f;border-radius:14px;gap:10px;margin-top:8px;padding:12px;display:grid}.practice-complete p{margin:5px 0 0;line-height:1.35;font-size:13px!important}.practice-complete strong{font-size:17px}@media (width>=680px) and (orientation:landscape){.practice-complete{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.app:has(.roam-scene)>header{display:none}.practice-active{gap:4px;padding:8px 10px}.practice-active .practice-kicker{display:none}.practice-active .practice-progress{margin-top:4px}.practice-active .practice-progress progress{height:6px}.practice-more summary{cursor:pointer;min-height:28px;padding:4px 0;font-size:13px}.practice-more[open] .practice-actions{padding-top:6px}.practice-mail{justify-content:space-between;align-items:center;gap:8px;display:flex}.practice-mail button{min-height:44px;margin:0;padding:6px 10px;font-size:14px}.practice-art{background:#fff4dc;padding:8px;font-size:14px}.practice-art button{min-height:44px;font-size:14px}.roam-scene>.roam-hud:has(>button:nth-child(4)) button{white-space:nowrap;font-size:12px}@media (height<=540px) and (orientation:landscape){.roam-scene{grid-template-columns:250px minmax(0,1fr);gap:4px 12px;max-width:none;display:grid}.roam-scene>.roam-hud:first-child{grid-column:1/-1}.roam-stage{grid-area:2/2/6;height:calc(100dvh - 110px)}.practice-active{grid-template-columns:1fr}.roam-scene>.roam-hud:has(>button:nth-child(4)){grid-template-columns:repeat(2,1fr)}.roam-note,.roam-status{grid-column:1/-1}.app:has(.roam-scene){max-width:none}}.duel-entry label{font-size:13px;display:block}.duel-entry select{width:100%;min-height:44px;margin:4px 0;display:block}.duel-entry>span,.duel-entry small{display:block}.roam-scene{min-height:0}.roam-stage{flex:none;height:clamp(220px,100dvh - 370px,600px)}.practice-entry{margin:0}.roam-scene h1{font-size:22px}.practice-active{margin-top:0;padding:6px 9px}.practice-active strong{font-size:14px}.practice-active .practice-progress{align-items:center;gap:8px;display:flex}.practice-active .practice-progress progress{width:65px}.practice-active .practice-progress span{font-size:12px}.practice-active p{margin:2px 0}.practice-more summary{min-height:44px;padding:12px 0}.practice-chooser.sheet{max-height:85dvh;margin:0;overflow:auto}.roam-scene .roam-status{min-height:0;padding:6px;font-size:12px;margin:3px 0!important}.roam-note summary{min-height:44px;padding:12px 0}.roam-entry{background:0 0;margin:4px 0;padding:0}.roam-entry button{margin:0}.roam-stage{height:clamp(200px,100dvh - 370px,600px);min-height:200px}.ship-scene{background:#f0eee0;border:1px solid #d8dfca;border-radius:20px;overflow:hidden}.ship-location{background:#e5eadd;height:104px;position:relative;overflow:hidden}.ship-location>img{object-fit:cover;object-position:center 40%;width:100%;height:100%;display:block}.ship-location>span{background:#faf5e9ed;border-radius:7px;max-width:calc(100% - 20px);padding:4px 9px;font-size:12px;position:absolute;bottom:8px;left:10px}.ship-canvas{aspect-ratio:3/2;isolation:isolate;width:100%;position:relative}.ship-plate{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ship-layer-frame{pointer-events:none;position:absolute}.ship-raster-layer{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ship-not-ready{z-index:-1;color:#5a776e;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-family:Literata,Georgia,serif;display:flex;position:absolute;inset:0}.ship-not-ready small{font-family:Nunito Sans,sans-serif;font-size:12px}.ship-owner{border-top:1px solid #dbe0cc;align-items:center;gap:10px;padding:11px 15px 15px;display:flex}.ship-owner>img{object-fit:cover;border-radius:50%;width:44px;height:44px}.ship-owner small{letter-spacing:.12em;color:#597265;font-size:9px;font-weight:800;display:block}.ship-owner strong{overflow-wrap:anywhere;font-family:Literata,Georgia,serif;font-size:21px;font-weight:500;display:block}.ship-art-status{padding:0 14px 12px;font-size:13px}.ship-art-status summary{cursor:pointer;min-height:44px;padding-top:10px}.ship-art-status p{margin:4px 0}.port-return{border-block:1px solid #d8dfca;margin:15px 0 25px;padding:15px 0}.port-return p{font-size:16px}.port-return button{width:100%;font-size:16px}.port-return small{margin-top:9px;display:block}.inventory-tabs{scrollbar-width:thin;gap:7px;padding:8px 0 15px;display:flex;overflow-x:auto}.inventory-tabs>button{white-space:nowrap;color:#285f58;background:0 0;border:1px solid #b8cbbd;flex:none;min-height:44px;padding:10px 13px;font-size:14px}.inventory-tabs>button.selected{background:#dce8d9;border-color:#67977c}.ship-fallback{z-index:100;position:absolute;inset:0}.ship-layer-frame.afloat{-webkit-mask-image:linear-gradient(#000 85%,#000c 91%,#0000 99%);mask-image:linear-gradient(#000 85%,#000c 91%,#0000 99%)}.ship-water-frame{pointer-events:none;position:absolute}.ship-water-frame img{object-fit:fill;opacity:.48;height:12%;position:absolute}.ship-linen-light{opacity:.58;object-fit:fill;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.equipment-action{margin:1rem 0}.equipment-action .action-instruction{font-size:1rem;line-height:1.5}.action-stage{isolation:isolate;touch-action:pan-y;background:#eaf0ec;border:1px solid #c9d9d5;border-radius:18px;height:250px;margin:1rem 0;position:relative;overflow:hidden}.action-view-stage{touch-action:none;background:#ceddd7}.action-raster{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;display:block}.action-raster-missing{text-align:center;color:#35554e;background:#edf1e9;border:1px dashed #91aba0;border-radius:12px;place-content:center;min-height:70px;padding:.7rem;font-size:1rem;display:grid}.action-raster-missing small{font-size:.75rem;line-height:1.3;display:block}.action-scene{object-fit:cover;width:100%;height:100%}.action-tool{width:112px;height:112px;transition:transform .8s,opacity .8s;position:absolute;top:60px;left:calc(50% - 56px)}.action-scope-window{left:var(--action-x);top:var(--action-y);border:4px solid #d6bb70;border-radius:50%;width:160px;height:160px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #12382d2b}.action-scope-crop{object-fit:cover;width:100%;height:100%;transform:scale(1.8)}.action-light-mask{background:radial-gradient(circle 85px at var(--action-x) var(--action-y),transparent 30%,#16332b66 100%);pointer-events:none;position:absolute;inset:0}.action-lantern_reveal.is-complete .action-light-mask{background:radial-gradient(circle 105px at var(--action-x) var(--action-y),#fff4b530 0%,transparent 40%,#16332b40 100%)}.action-prism-pair{gap:calc(4px + var(--action-progress)*18px);background:#eaf0ec;border:2px solid #9ab7b0;border-radius:12px;grid-template-columns:1fr 1fr;padding:8px;display:grid;position:absolute;inset:20px}.action-prism-pair .action-raster{object-fit:cover;border-radius:8px;width:100%;min-width:0;height:100%}.action-range{margin:.7rem 0;display:block}.action-range input{width:100%;min-height:44px}.action-choices{grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0;display:grid}.action-choices button{min-height:52px;font-size:1rem}.action-choices .selected{outline-offset:1px;outline:3px solid #b08e42}.action-outcome{min-height:3rem;font-size:1rem;line-height:1.5}.action-footer{gap:.4rem;display:grid}.action-fasteners{z-index:2;gap:12px;display:flex;position:absolute;inset:25px 15px auto}.action-fasteners button{color:#254b43;background:#fffaf0;border:2px solid #b7c9c0;flex:1;min-width:0;min-height:56px;font-size:.9rem}.action-fasteners button.checked{background:#dce9d8;border-color:#51795c}.action-repair_fastener .action-tool{transform:translateX(calc(var(--action-progress)*90px - 45px)) rotate(calc(var(--action-progress)*65deg));top:120px}.action-soft-response{pointer-events:none;border:2px solid #aac595;border-radius:14px;position:absolute;inset:15px}.action-rescue_reach .action-tool{transform:translate(calc(var(--action-progress)*65px - 35px),calc(var(--action-progress)*-25px)) rotate(calc(var(--action-progress)*-25deg))}.action-winch_lift .action-tool{transform:translateY(calc(var(--action-progress)*-40px + 35px)) rotate(calc(var(--action-progress)*70deg))}.action-drop_anchor .action-tool,.action-sound_depth .action-tool{width:85px;height:85px;transform:translateY(calc(var(--action-progress)*88px));top:65px;left:calc(50% - 42px)}.action-line{width:2px;height:calc(35px + var(--action-progress)*105px);background:#b69a65;transition:height .8s;position:absolute;top:45px;left:50%}.action-ship{width:140px;height:100px;transition:transform 1.2s;position:absolute;top:65px;left:20px}.action-drop_anchor .action-ship{width:100px;height:80px;top:5px;left:calc(50% - 50px)}.action-steady_passage .action-ship{transform:translate(calc(var(--action-progress)*130px),calc(var(--action-progress)*var(--action-direction)*25px))}.action-destination{color:#526b62;font-size:.85rem;position:absolute;bottom:12px;right:12px}.action-sail_trim .action-tool{transform:rotate(calc(var(--action-progress)*var(--action-direction)*17deg)) scaleX(calc(1 + var(--action-progress)*.12))}.action-collect_surface .action-tool{transform:translateX(calc(var(--action-progress)*120px - 60px)) rotate(calc(var(--action-progress)*-22deg))}.action-parcel{z-index:2;min-height:52px;font-size:.9rem;transition:transform .8s,opacity .8s;position:absolute;top:35px;left:18px}.action-dry_storage .action-tool{top:120px;left:auto;right:24px}.action-dry_storage.is-complete .action-parcel{opacity:.7;transform:translate(80px,100px)scale(.8)}.action-signal{text-align:center;color:#235344;background:radial-gradient(#fff7c9,#edf1e9 75%);border-radius:30px;place-content:center;display:grid;position:absolute;inset:45px 25px}.action-signal span{font-size:1.75rem;font-weight:600}.action-signal small{margin-top:8px;font-size:1rem}.equipment-action.motion-reduced *{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.equipment-action *{transition:none!important;animation:none!important}}@media (width<=370px){.action-stage{height:220px}.action-choices{grid-template-columns:1fr}.action-scope-window{width:140px;height:140px}.action-steady_passage .action-ship{transform:translate(calc(var(--action-progress)*95px),calc(var(--action-progress)*var(--action-direction)*20px))}}.action-emblem{width:76px;height:76px;margin:0 auto}.action-emblem-choice{width:48px;height:48px;margin:0 auto 6px}.action-signal{inset:16px 25px}.action-signal span{font-size:1.1rem}.action-send_signal .action-choices button{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.action-scope-window .action-scope-crop{max-width:none;width:calc(var(--stage-w)*1.8);height:calc(var(--stage-h)*1.8);left:calc(50% - var(--stage-w)*var(--focus-x)*1.8);top:calc(50% - var(--stage-h)*var(--focus-y)*1.8);object-fit:cover;position:absolute;transform:none}.equipment-passage{width:100%;height:100%;position:relative}.equipment-passage canvas{width:100%;height:100%;display:block}.equipment-passage p{padding:1rem}.action-prism-pair{align-items:center;gap:calc(4px + var(--action-progress)*10px);padding:8px;inset:12px}.action-prism-pair figure{min-width:0;margin:0}.prism-crop{aspect-ratio:1;border-radius:8px;position:relative;overflow:hidden}.action-prism-pair .prism-crop .action-raster{object-fit:fill;border-radius:0;max-width:none;position:absolute}.action-prism-pair figcaption{text-align:center;margin-top:8px;font-size:.85rem;line-height:1.25}.action-sail-setting{text-align:center;pointer-events:none;background:#fffaf0e8;border-radius:12px;width:76px;padding:6px;position:absolute;top:10px;left:10px}.action-sail-setting .action-raster{width:62px;height:62px;transform:rotate(calc(var(--action-direction)*var(--action-progress)*12deg));transition:transform .7s}.action-sail-setting span{font-size:.7rem;line-height:1.15;display:block}.action-parcel{color:#254b43;background:#fffaf0;border:1px solid #9fb9b0;width:132px;padding:8px}.action-parcel .action-raster{width:82px;height:82px;margin:auto}.action-parcel span{font-size:.8rem;display:block}.action-chest{background:0 0;border:0;width:132px;height:112px;padding:0;position:absolute;bottom:12px;right:18px}.action-chest .action-raster{width:100%;height:100%}.action-dry_storage.is-complete .action-parcel{opacity:0;pointer-events:none;transform:translate(60px,60px)scale(.45)}.action-capsule{color:#254b43;background:0 0;border:0;width:112px;padding:0;transition:transform .8s;position:absolute;top:48px;right:12px}.action-capsule .action-raster{width:112px;height:128px}.action-capsule span{font-size:.8rem;line-height:1.3;display:block}.action-reach-guide{opacity:.65;border-top:2px dashed #8fa9a0;width:40%;position:absolute;top:85px;left:30%;transform:rotate(-12deg)}.action-rescue_reach .action-tool{z-index:2;pointer-events:none;left:calc(35% - 56px)}.action-rescue_reach.is-complete .action-capsule{transform:translate(-20px,25px)}.action-rescue_reach.is-complete .action-tool{transform:translate(calc(var(--stage-w)*.21 + 2px),56px) rotate(-25deg)}.action-collection{background:0 0;border:2px dashed #91aba0;border-radius:20px;align-items:center;gap:2px;width:156px;height:110px;padding:4px;transition:transform .8s,opacity .8s;display:flex;position:absolute;top:84px;right:18px}.action-collection .action-raster{flex-shrink:0;width:46px;height:62px}.action-collect_surface .action-tool{z-index:2;pointer-events:none}.action-collect_surface.is-complete .action-collection{opacity:0;pointer-events:none;transform:translate(12px,18px)scale(.65)}@media (width<=370px){.action-rescue_reach .action-stage{height:250px}}.kg{overflow-wrap:anywhere;min-width:0;max-width:620px;min-height:100dvh;margin:0 auto}main:has(.kg){padding-inline:16px}main:has(.kg-task)~nav{display:none}.kg-titlebar{align-items:center;gap:6px;margin:6px 0;scroll-margin-top:8px;display:flex}.kg-titlebar h1{flex:1;margin:0}.kg button.kg-back{width:44px;min-width:44px;min-height:44px;color:var(--teal);background:0 0;padding:0;font-size:32px;font-weight:400}.kg-header,.kg-progress,.kg-task-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.kg-header{color:#54716e;border-bottom:1px solid #d9dfd1;padding:0 0 4px;font-size:14px}.kg button.kg-journal-link{color:var(--teal);background:0 0;min-height:44px;padding:8px 0;font-size:14px}.kg-progress{color:#687d77;font-variant-numeric:tabular-nums;margin:8px 0;font-size:12px}.kg h1{text-wrap:balance;margin:6px 0 8px;scroll-margin-top:8px;font-size:clamp(22px,6vw,28px);line-height:1.18}.kg h2{letter-spacing:0;margin:8px 0 6px;font-family:inherit;font-size:14px;font-weight:800}.kg-task-meta{color:#56716a;min-height:24px;margin-bottom:6px;font-size:12px}.kg-reward{color:#584324;white-space:nowrap;align-items:center;gap:4px;font-size:16px;display:inline-flex}.kg-reward img{object-fit:contain;width:24px;height:24px}.kg-prompt{font-size:17px;line-height:1.4}.kg-prompt p{margin:6px 0}.kg-prompt button{color:#49351f;background:#fffaf0}.kg-inline{vertical-align:middle;margin:0 3px;display:inline}.kg-inline img{vertical-align:middle;object-fit:contain;width:auto;max-width:60px;height:auto;max-height:30px;display:inline-block}.kg-inline-wide img{max-width:min(200px,100%)}.kg-inline-tile img{max-width:60px;max-height:50px}.kg-figure{border-radius:8px;width:100%;margin:8px 0;padding:5px;display:block}.kg-figure img{object-fit:contain;width:100%;height:auto;max-height:clamp(130px,24dvh,210px);display:block}.kg-task[data-graphic=true] .kg-figure img{max-height:clamp(100px,18dvh,160px)}.kg-options{gap:7px;margin:6px 0 10px;display:grid}.kg-option-wrap{min-width:0;position:relative}.kg .kg-option{color:#244b4d;width:100%;height:100%;min-height:48px;box-shadow:none;background:#fffcf3;border:2px solid #d8d4c1;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:7px;font-weight:700;display:flex}.kg .kg-option[aria-pressed=true]{background:#e5f1e9;border-color:#197377;box-shadow:0 0 0 1px #197377}.kg .kg-option:disabled{opacity:1;cursor:default}.kg-short{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.kg-short .kg-option{font-variant-numeric:tabular-nums;padding:6px 2px;font-size:17px}.kg-text{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-text .kg-option{text-align:left;justify-content:flex-start;font-size:16px}.kg-text .kg-option-wrap:last-child{grid-column:1/-1}.kg-images{grid-template-columns:repeat(6,minmax(0,1fr))}.kg-images .kg-option-wrap{grid-column:span 2}.kg-images .kg-option-wrap:nth-child(4){grid-column:2/span 2}.kg-images .kg-option-wrap:nth-child(5){grid-column:4/span 2}.kg-images .kg-option{padding:6px}.kg-images img{object-fit:contain;width:100%;height:clamp(72px,11dvh,96px);display:block}.kg-strips{grid-template-columns:1fr;gap:5px}.kg-strips .kg-option-wrap:nth-child(n){grid-column:1}.kg-strips .kg-option{min-height:44px;padding:5px 10px}.kg-strips img{height:30px}.kg-attempt-note{margin:8px 0}@media (height<=700px){.kg-prompt{font-size:16px;line-height:1.4}.kg h1{font-size:22px}.kg-figure img{max-height:112px}.kg-task[data-graphic=true] .kg-figure img{max-height:100px}.kg-task:has(.kg-strips) .kg-figure img{max-height:70px}.kg-images:not(.kg-strips):not(.kg-tall) img{height:72px}}@media (height<=600px){.kg-tall img{height:94px}.kg h1{margin-bottom:5px;font-size:21px}.kg-task-meta{margin-bottom:3px}.kg-prompt{line-height:1.35}.kg h2{margin-top:7px}.kg-figure{margin:5px 0;padding:4px}.kg-images:not(.kg-strips):not(.kg-tall) img{height:66px}}.kg-tall{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.kg-tall .kg-option-wrap:nth-child(n){grid-column:auto}.kg-tall .kg-option{padding:5px 3px}.kg-tall img{height:110px}@media (height<=600px){.kg-tall img{height:90px}.kg-figure img{max-height:104px}.kg-strips{gap:4px}}.kg-attempt-note,.kg-hint{color:#61786f;font-size:13px;line-height:1.5}.kg-actions{align-items:center;gap:12px;display:flex}.kg-actions>button:first-child{flex:1}.kg .kg-quiet{color:#426b65;background:0 0;min-height:44px;padding:12px;font-size:14px}.kg-source{color:#61786f;border-top:1px solid #d9dfd1;margin-top:22px;padding-top:12px;font-size:13px}.kg-source summary{cursor:pointer;min-height:44px;padding:10px 0}.kg-source p{font-size:13px}.kg-result{padding:22px 0}.kg-result .kg-reward{margin:4px 0 12px;font-size:34px}.kg-result .kg-reward img{width:48px;height:48px}.kg-result-lead{font-family:Literata,Georgia,serif;font-size:24px}.kg-result>button{width:100%;margin-top:14px;display:block}.kg-journal>button{text-align:left;color:#244b4d;background:0 0;border-bottom:1px solid #d9dfd1;border-radius:0;align-items:center;gap:12px;width:100%;padding:15px 0;font-size:16px;display:flex}.kg-journal>button>span:nth-child(2){flex:1}.kg-journal small{color:#658071;margin-top:4px;font-size:12px;font-weight:400;display:block}.kg-ordinal{font-variant-numeric:tabular-nums;color:#8c987d;min-width:24px;font-size:13px}.kg-round-end details{background:#eef0df;border-radius:8px;margin:20px 0;padding:16px}.kg-round-end summary{cursor:pointer;min-height:44px}.kg-error{background:#fff1d8;padding:12px;font-size:14px}.kg-zoom{color:#49351f;background:#fffaf0;border:0;border-radius:12px;width:calc(100vw - 16px);max-width:1000px;max-height:92dvh;padding:10px}.kg-zoom::backdrop{background:#102e3dcc}.kg-zoom-controls{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.kg-zoom-scroll{max-height:70dvh;overflow:auto}.kg-zoom img{object-fit:contain;width:100%;max-width:none;height:auto;display:block}.kg-zoom img.large{width:max(900px,180%)}.riddle-entry{text-align:left;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:14px;width:100%;margin:14px 0;display:flex;color:var(--ink)!important;background:0 0!important;border-radius:0!important;padding:15px 0!important}.riddle-entry img{object-fit:contain;width:52px;height:52px}.riddle-entry span{flex:1}.riddle-entry strong{font-size:17px;display:block}.riddle-entry small{color:#61786f;margin-top:3px;font-size:13px;font-weight:400;display:block}@media (prefers-reduced-motion:reduce){.kg *{scroll-behavior:auto}}.artwork-viewer{width:min(96vw,760px);height:min(94dvh,900px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border:0;border-radius:18px;flex-direction:column;gap:8px;padding:12px;overflow:hidden}.artwork-viewer[open]{display:flex}.artwork-viewer::backdrop{background:#0c292ddb}.artwork-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.artwork-head h2{margin:0;font-size:20px}.artwork-head button{flex-shrink:0}.artwork-frame{touch-action:none;background:#eee9d9;border-radius:10px;flex:1;min-height:120px;position:relative;overflow:hidden}.artwork-frame img{transform-origin:50%;-webkit-user-select:none;user-select:none;max-width:none;max-height:none;display:block;position:absolute;top:50%;left:50%}.artwork-failed{text-align:center;padding:24px}.artwork-tools{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.artwork-tools button{min-width:48px;min-height:48px;padding:8px 10px}.daily-page{max-width:680px;margin:0 auto;padding:24px 20px 40px}.daily-page h1{font-size:clamp(1.8rem,6vw,2.6rem);line-height:1.1}.daily-page p{line-height:1.65}.daily-art{object-fit:contain;border-radius:12px;width:100%;max-height:420px;margin:20px 0;display:block}.daily-art-pending{color:#4f554c;background:#f1e8d5;border:1px dashed #9e9b85;padding:18px}.daily-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.daily-actions button{flex:1;min-width:150px}.daily-entry{border-top:1px solid #a7b5a6;margin-top:18px;padding-top:14px}.daily-album{margin:24px 0}.daily-album small{color:#626f64;display:block}.daily-page input{max-width:100%}.daily-demo{background:#f1e8d5;padding:18px}.daily-page .choices img{object-fit:contain;max-height:160px}.daily-page details{padding:10px 0}.daily-page button{min-height:44px}.daily-page .choice-image{object-fit:contain;width:100%;max-height:260px}.daily-illustration{position:relative}.daily-ribbon-name{color:#fff;text-shadow:0 1px 2px #123d62;text-align:center;overflow-wrap:anywhere;width:42%;font-size:clamp(10px,2.8vw,17px);position:absolute;top:23%;left:42%;transform:rotate(-14deg)}@media (prefers-reduced-motion:reduce){.daily-page *{transition:none!important;animation:none!important}}.panorama-scroll{border-radius:14px;max-width:100%;margin:20px 0}.panorama-open{background:0 0;border:0;width:100%;padding:0;display:block}.panorama-scroll img{object-fit:contain;width:100%;height:auto;display:block}.daily-album details p{line-height:1.6}.daily-art-open{width:100%;text-align:inherit;background:0 0;border:0;padding:0;display:block}.daily-art-open .daily-art{margin:20px 0}.daily-art-open:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.journal-album{margin:1.7rem 0 2.3rem}.souvenirs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.souvenir{color:#244b4b;text-align:left;background:#fffdf5;border:1px solid #d9dfd3;border-radius:5px;flex-direction:column;align-items:stretch;gap:.65rem;height:auto;padding:.55rem .55rem .8rem;display:flex;box-shadow:0 3px #dce3d7}.souvenir img{aspect-ratio:1;object-fit:cover;border-radius:2px;width:100%;height:auto}.souvenir>span:last-child{font-size:1rem;font-weight:650;line-height:1.35}.souvenir-unavailable{aspect-ratio:1;background:#eef0e6;place-items:center;padding:.6rem;font-size:.8rem;display:grid}.souvenir:focus-visible{outline-offset:4px;outline:3px solid #b67728}@media (width<=330px){.souvenirs{grid-template-columns:1fr}}.regional-map-plate{isolation:isolate;margin:1rem 0;position:relative}.regional-map-plate>img{border-radius:16px;width:100%;height:auto;display:block}.regional-pin{z-index:1;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px;font-size:.9rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 5px #123c3a40;color:#fff!important;background:#214d45!important;border:3px solid #f7f1dc!important;margin:0!important;padding:0!important}.regional-pin.current{outline:3px solid #f7edb2;background:#aa732e!important}.regional-pin.visited{background:#547961!important}.regional-pin.locked{background:#667972!important;border-style:dashed!important}.regional-pin:focus-visible{outline-offset:3px;z-index:2;outline:4px solid #d4a93e}.regional-map .map-row.locked{opacity:.85}.regional-map .map-row.visited .node-number{background:#dce9dd}.regional-map .map-row.open .node-number{background:#d9ece6}.voyage-map{width:100%;position:relative;overflow:hidden}.voyage-map>img:not([hidden]){width:100%;height:auto;display:block}.voyage-map>canvas{width:100%;height:100%;position:absolute;inset:0}.regional-map-plate{background-color:#c7d8d7;background-position:50%;background-size:cover;border-radius:16px;overflow:hidden}.regional-map-plate>svg{position:absolute}.regional-pin.current{z-index:3;outline:4px solid #fff9eb;width:72px;height:72px;box-shadow:0 3px 14px #173d4a88;background:#fff3d8!important;border:3px solid #b77b24!important}.regional-pin.current img{object-fit:contain;width:100%;height:100%;padding:2px;display:block}.node-number:has(img){background:#fff3d8;width:48px;height:48px}.node-number img{object-fit:contain;width:44px;height:44px}.regional-pin.world-pin{width:48px;height:48px}.regional-pin.current{transform:translate(-50%,-50%)}.regional-pin.current img{z-index:1;position:relative}.pin-guides{pointer-events:none;inset:0}:root{color:#203f42;font-synthesis:none;--paper:#faf5e9;--teal:#155c61;--ink:#183f45;--gold:#e8b45d;--line:#dedfcd;background:#e5eee9;font-family:Nunito Sans,system-ui,sans-serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:var(--teal);color:#fff;border:0;border-radius:12px;min-height:48px;padding:13px 19px;font-weight:800;line-height:1.3}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #b16a23}button:hover:not(:disabled){filter:brightness(1.07)}input,select{width:100%;min-height:50px;color:var(--ink);background:#fffdf6;border:1px solid #b9c9c2;border-radius:10px;padding:11px 12px}select{margin:8px 0 18px}label{margin:16px 0;font-weight:700;display:block}input{margin-top:7px}p{margin:15px 0}h1,h2,h3{letter-spacing:-.035em;font-family:Literata,Georgia,serif;font-weight:500;line-height:1.17}h1{margin:11px 0 24px;font-size:37px}h2{margin:10px 0 15px;font-size:27px}h3{font-size:23px}small{font-size:13px}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:20px 24px 18px;display:flex}a.brand{letter-spacing:.025em;color:var(--ink);font-size:14px;line-height:1.25;text-decoration:none}a.brand b{font-size:17px}.wallet{grid-template-columns:auto auto;align-items:center;column-gap:7px;font-size:24px;font-weight:800;display:grid}.wallet>span{color:#b47e22}.wallet small{text-align:center;grid-column:1/3;font-size:11px;font-weight:600;line-height:1}.app{background:var(--paper);max-width:580px;min-height:100dvh;padding-top:env(safe-area-inset-top);margin:auto;box-shadow:0 0 60px #163e4110}main{padding:24px 24px 115px}.eyebrow{letter-spacing:.14em;color:#57706a;margin:8px 0 12px;font-size:11px;font-weight:800}.hero{aspect-ratio:1.22;object-fit:cover;border-radius:20px;width:100%;display:block}.hero-wrap{position:relative}.hero-wrap .hero{aspect-ratio:1.05}.ship-caption{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9edee;border:1px solid #fff5;border-radius:11px;padding:10px 14px;position:absolute;bottom:14px;left:14px;right:14px}.ship-caption small{letter-spacing:.14em;font-size:9px;display:block}.ship-caption strong{text-overflow:ellipsis;white-space:nowrap;font-family:Literata,Georgia,serif;font-size:21px;font-weight:500;display:block;overflow:hidden}.art-missing{text-align:center;color:#496b66;background:#e9ecdf;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.art-missing small{color:#6e7e76;font-weight:400}.art{max-width:100%;display:block}.location{color:#546b63;margin:17px 0 19px;font-size:15px}.progress{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 0 19px;font-size:13px;display:flex}.marks{gap:5px;display:flex}.marks i{background:#d9dfce;border:1px solid #9bad93;border-radius:50%;width:10px;height:10px;display:block}.marks i.filled{background:#d5a040;border-color:#b7852e}.today-cta{color:#254346;text-align:left;background:#e9b968;border:1px solid #dca957;justify-content:space-between;align-items:center;width:100%;padding:17px 20px;display:flex}.today-cta span{font-family:Literata,Georgia,serif;font-size:28px;font-weight:500}.today-cta small{letter-spacing:.12em;margin-bottom:3px;font-family:Nunito Sans,sans-serif;font-size:9px;font-weight:800;display:block}.today-cta b{font-size:28px;font-weight:400}.action-pair{grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 26px;display:grid}.secondary{color:var(--teal);background:0 0;border:1px solid #a9beb3}.action-pair button{padding:14px 10px;font-size:14px}.story-teaser{border-top:1px solid var(--line);padding:18px 0}.story-teaser p:not(.eyebrow){color:#586d65;font-size:16px}.text-button{color:var(--teal);background:0 0;padding:12px 0;font-weight:800}.story-teaser .text-button{text-align:left}.back{margin-bottom:18px;padding-top:0;font-size:14px}.test-banner{text-align:center;color:#716345;background:#f0e7cc;padding:4px;font-size:11px}.notice{background:#fff0ce;border-bottom:1px solid #e7c88e;padding:14px 24px;font-size:15px}.notice button{display:block}.paper,.receipt{background:#eef0e1;border:1px solid #d8dec8;border-radius:16px;margin:22px 0;padding:19px}.paper p{font-size:16px}.receipt{background:#e3efe5}.receipt button{width:100%;margin-top:8px;display:block}.muted{color:#687a71;font-size:14px}.loading{max-width:500px;margin:80px auto}.choices{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.choices button{color:var(--ink);background:#f0f0e4;border:1px solid #c3d0c5;padding:10px;font-size:14px}.choices button.selected,.segments .selected{background:#dbe9dc;border:2px solid #397069}.choices .art,.choices .art-missing{aspect-ratio:1;border-radius:7px;width:100%;margin-bottom:8px;padding:8px;font-size:11px}.check{align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{flex-shrink:0;width:22px;min-height:22px;margin-top:1px}form>button{width:100%}fieldset{border:0;margin:25px 0;padding:12px 0 0}legend{letter-spacing:-.03em;font-family:Literata,Georgia,serif;font-size:26px}.radio{border:1px solid var(--line);cursor:pointer;background:#fffdf6;border-radius:10px;align-items:center;gap:11px;margin:8px 0;padding:13px;font-size:16px;font-weight:600;display:flex}.radio:has(input:checked){background:#e4ede2;border-color:#57887d}.radio input{width:20px;height:20px;min-height:20px;accent-color:var(--teal);flex-shrink:0;margin:0}.map-art{object-fit:contain;border-radius:15px;width:100%;height:auto;min-height:180px}.map-row{text-align:left;width:100%;color:var(--ink);border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:13px;padding:17px 0;display:flex}.map-row strong{font-size:16px;font-weight:800}.map-row small{margin-top:4px;font-size:12px;font-weight:400;display:block}.map-row>b{margin-left:auto}.map-row.current{background:#e9eddc;border-radius:10px;padding:15px 10px}.node-number{background:#f5efdc;border:1px solid #bdc9b4;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;font-size:13px;display:grid}.sheet-backdrop{z-index:10;background:#12373a88;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);width:100%;max-width:580px;padding:22px 24px calc(28px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;max-height:85dvh;overflow:auto}.sheet>button{width:100%;margin-top:9px}.item{border-bottom:1px solid var(--line);grid-template-columns:82px 1fr;gap:16px;padding:25px 0;display:grid}.item>.art,.item>.art-missing{aspect-ratio:1;object-fit:contain;border-radius:14px;width:82px;padding:8px;font-size:11px}.item h2{margin:5px 0 10px;font-size:23px}.item .eyebrow{letter-spacing:.1em;margin:0;font-size:9px}.item p{margin:9px 0;font-size:15px}.item strong{font-size:16px}.item button{margin-top:8px;font-size:14px;display:block}.item details{margin-top:15px;font-size:13px}.item summary{cursor:pointer;min-height:44px}.segments{gap:8px;margin-bottom:22px;display:flex}.segments button{color:var(--ink);background:0 0;border:1px solid #bccac0;flex:1;padding:12px 8px;font-size:14px}.list-row{text-align:left;width:100%;color:var(--ink);border-bottom:1px solid var(--line);background:0 0;border-radius:0;justify-content:space-between;gap:10px;padding:20px 0;font-size:16px;display:flex}.list-row>b{white-space:nowrap;font-size:12px}.adult{border-top:1px solid var(--line);margin-top:35px;padding-top:22px;font-size:15px}.adult summary{cursor:pointer;min-height:44px}.story .hero{aspect-ratio:1.5}.story-text{margin-top:22px;font-size:19px;line-height:1.65}.story-text>button{width:100%;margin:8px 0}.interaction>.art,.interaction>.art-missing{aspect-ratio:1;border-radius:16px;width:135px;margin:18px auto}.interaction>button{width:100%;margin:8px 0}.interaction input[type=range]{accent-color:var(--teal)}nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:100%;max-width:580px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:5;background:#faf7ecf5;border-top:1px solid #d3ddcc;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0}nav button{color:#6a7c73;background:0 0;border-radius:9px;min-height:56px;padding:5px 1px;font-size:10px;font-weight:700}nav button span{margin-bottom:3px;font-size:23px;line-height:1.2;display:block}nav button.active{color:var(--teal);background:#e5ecdf}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=500px){main{padding-left:35px;padding-right:35px}h1{font-size:43px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=350px){main{padding-left:17px;padding-right:17px}h1{font-size:33px}.progress{display:block}.marks{margin-top:9px}.item{grid-template-columns:65px 1fr}.item>.art,.item>.art-missing{width:65px}}.voyage-map{aspect-ratio:3/4;width:100%;position:relative}.voyage-map>img:not([hidden]){object-fit:contain;width:100%;height:100%}.voyage-map canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}header{gap:10px}.header-today{color:#254346;background:#e9b968;flex-shrink:0;min-height:48px;padding:11px 12px;font-size:14px}header .brand{margin-right:auto}@media (width<=359px){header{padding-inline:16px}.brand b{font-size:14px!important}.header-today{padding-inline:9px}}.wallet .wallet-coin{object-fit:contain;width:28px;height:28px;min-height:0;padding:0}.wallet .wallet-coin.art-missing{display:none}.active-voyage>button{width:100%;margin:0 0 18px}.active-voyage>p{margin-top:-8px;font-size:16px}.region-guide{align-items:center;gap:14px;margin:1rem 0 1.25rem;display:flex}.region-guide img{object-fit:contain;width:76px;height:88px}.region-guide small,.region-guide strong{display:block}.region-guide small{color:#65746d;margin-bottom:4px;font-size:.8rem}.region-guide strong{font-size:1rem}.art-unavailable{isolation:isolate;position:relative;overflow:hidden}.art-unavailable>img{object-fit:cover;opacity:.25;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.art-unavailable>span,.art-unavailable>small{background:#faf5e9e8;border-radius:6px;padding:2px 6px;position:relative}header a.brand{letter-spacing:-.035em;align-items:center;gap:8px;min-width:0;font-family:Literata,Georgia,serif;font-size:clamp(13px,3.6vw,19px);font-style:italic;line-height:1.3;display:flex}header a.brand .adventure-art{object-fit:contain;flex-shrink:0;width:35px;height:42px;margin:0}header .wallet{flex-shrink:0}header .header-today{padding:10px 8px;font-size:12px}header{padding-inline:16px}.adventure-art{object-fit:contain;border-radius:14px;width:100%;height:auto;max-height:360px;margin:20px 0;display:block}.onboarding-copy{white-space:pre-line}.onboarding-nav{justify-content:space-between;align-items:center;gap:24px;margin-top:24px;display:flex}.onboarding-nav>button{flex:0 auto;max-width:75%;font-size:16px}.onboarding-nav>.text-button{flex-shrink:0}.adventure-rules{border-block:1px solid var(--line);margin:22px 0}.adventure-rules>p{grid-template-columns:106px 1fr;align-items:start;gap:12px;margin:0;padding:10px 0;font-size:15px;display:grid}.adventure-rules strong{color:var(--teal)}.starter-flags>button,.starter-flags>div>button{margin:12px 0}.flag-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.flag-choices>button{color:var(--ink);background:0 0;border:2px solid #c5d1c4;padding:8px 5px;font-size:12px}.flag-choices>button[aria-pressed=true]{border-color:var(--teal);background:#e0ecdf}.flag-choices .adventure-art{object-fit:contain;width:100%;height:84px;margin:0 0 8px}.ship-scene.preview{background:#eee9d9;margin:16px 0}.captain-flag{object-fit:contain;object-position:left top}.item .item-art-button{width:82px;height:auto;color:var(--teal);background:0 0;border:0;align-self:start;margin:0;padding:0}.item-art-button .art,.item-art-button .adventure-art{object-fit:contain;width:100%;height:100px;margin:0}.item-art-button span{font-size:10px;font-weight:600}.art-zoom{background:var(--paper);width:min(94vw,720px);max-height:90dvh;color:var(--ink);border:0;border-radius:18px;padding:0}.art-zoom::backdrop{background:#0c292ddb}.art-zoom>div{padding:18px}.art-zoom img{object-fit:contain;touch-action:pinch-zoom;width:100%;max-width:100%;max-height:65dvh;display:block}.zoom-close{margin-left:auto;display:block}.art-zoom h2{font-size:23px}.art-zoom .muted{text-align:center}@media (width<=359px){header a.brand{font-size:13px}header a.brand .adventure-art{width:26px}.item .item-art-button{width:65px}.onboarding-nav{gap:16px}.onboarding-nav>button{font-size:14px}.flag-choices>button{font-size:11px}}.item-unaffordable{background:#696f660b}.item-price{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.price-shortfall{color:#a32b29;font-size:.88rem;font-weight:650}.region-tabs{gap:8px;padding:4px 0 12px;display:flex;overflow-x:auto}.region-tabs button{white-space:normal;flex:none;max-width:230px}.region-tabs .selected{box-shadow:inset 0 -3px #d5b56a}.open-shores .list-row small{letter-spacing:.08em;font-size:.7rem;display:block}.today-dock{background:#e8eee2;border-radius:16px;margin:0 0 22px;padding:18px 20px}.today-dock h2{margin:4px 0}.today-dock p{margin:8px 0}.today-dock button{width:100%}.day-welcome{width:calc(100% - 40px);max-width:420px;color:inherit;background:#faf6e9;border:0;border-radius:20px;padding:28px}.day-welcome::backdrop{background:#193e3d80}.day-welcome button{margin-top:12px;display:block}.daily-art{height:auto;margin-left:auto;margin-right:auto}.sheet-backdrop{align-items:flex-start;overflow-y:auto}.sheet{flex-shrink:0;margin-top:auto;margin-bottom:0}.inventory-tabs{flex-wrap:wrap;gap:8px;display:flex;overflow:visible}.inventory-tabs button{white-space:normal;flex:135px;min-height:48px}.purchase-result>.art{object-fit:contain;width:120px;height:120px;margin:auto}.item-uses{margin-top:14px}.item-uses button{text-align:left}.receipt-delta{font-size:24px;font-weight:800}.purchase-result>.adventure-art{object-fit:contain;width:120px;height:120px;margin:auto}.school-dock-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.school-dock-heading h2{margin:0;font-size:24px}.today-dock .school-dock-heading button{flex-shrink:0;width:auto;min-height:44px;padding:6px 0;font-size:14px}.today-dock{background:#e8eee2;margin-bottom:26px;padding:12px 16px 16px}.today-dock .school-date{color:#536a60;margin:0 0 12px;font-size:14px}.school-status{margin:12px 0 16px}.school-status>div{border-bottom:1px solid #b7c8bb80;grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);gap:12px;padding:8px 0;font-size:15px;line-height:1.4;display:grid}.school-status dt{color:#4e655d}.school-status dd{margin:0;font-weight:800}.school-row{text-align:left;width:100%;color:var(--ink);border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-direction:column;gap:6px;padding:18px 0;display:flex}.school-row span{font-size:15px;font-weight:400}.school-row b{color:var(--teal);font-size:14px}.school-day{border-bottom:1px solid var(--line);padding:18px 0}.school-day h3{margin:0;font-size:22px}.school-day .text-button{font-size:15px}.school-overview h2,.pending-days h2{margin-top:28px;font-size:25px}.field-help{color:#52665d;margin:8px 0 14px;font-size:15px;font-weight:400}.receipt-rewards{border-block:1px solid #adc5b5;margin:20px 0;padding:10px 0}.receipt-rewards p{margin:7px 0;font-size:17px}.receipt h2{font-size:25px}.school-date{color:#52665d}.equipment-practice>button{width:100%;margin-top:12px;display:block}.practice-result{border-block:1px solid var(--line);margin:24px 0;padding:18px 0}.practice-context{color:#52665d;font-size:16px}.equipment-practice h1{font-size:32px}.equipment-practice .equipment-action{padding:14px}.equipment-practice .equipment-action h2{font-size:25px}.equipment-practice .action-instruction{font-size:16px}.equipment-practice .action-choices button{padding:12px;font-size:15px}.equipment-practice .action-outcome,.equipment-practice .action-footer button{font-size:16px}h1,h2,h3{text-wrap:balance}@media (width<=390px){header a.brand{font-size:13px}header a.brand .adventure-art{width:26px}header .header-today{max-width:80px}header .wallet{font-size:21px}.today-dock{padding-inline:14px}.school-status>div{gap:8px;font-size:14px}}header{flex-wrap:wrap;gap:8px;padding:10px 16px}.wind-counter{flex-direction:column;font-size:14px;line-height:1.35;display:flex}.wind-counter small{color:#405a51;font-size:12px}header .header-today{display:none}header .brand{max-width:48%}.compact-day.today-dock{justify-content:space-between;align-items:center;gap:10px;min-height:48px;margin:0 0 12px;padding:4px 12px;font-size:15px;display:flex}.compact-day button{width:auto;margin:0;font-size:15px}.compact-entry{border:0;padding:0}.compact-entry p{margin:0}.item-unaffordable .art,.item-unaffordable .adventure-art,.item-unaffordable .item-art-button{opacity:1;filter:none}.price-shortfall,.muted{color:#405a51}.item{gap:12px;padding:16px 0}.item .item-art-button{align-self:start}.item:has(.art-unavailable) .item-art-button>span{display:none}.item .item-art-button:has(.art-unavailable){pointer-events:none}.item .item-art-button:has(.art-unavailable) button{pointer-events:auto}.item details{font-size:16px}.receipt{margin:8px 0;padding:12px}.receipt h2{margin:5px 0;font-size:20px}.receipt p{margin:8px 0;font-size:16px}.receipt button{min-height:44px;padding:9px}.receipt-story{border-block:1px solid #a8c0b1;padding:10px}.receipt-story button{width:auto;margin-right:12px;display:inline-block}.receipt details{margin-top:8px;font-size:15px}.receipt details summary{cursor:pointer;min-height:44px}main:has(.receipt)>section>h1{display:none}main:has(.receipt)>section>.eyebrow{display:none}.sailing-mode main{padding:8px 16px 85px}.sailing-mode main>section>h1,.sailing-mode main>section>.eyebrow{display:none}.active-voyage{flex-direction:column;gap:8px;display:flex}.active-voyage>p{margin:0;font-size:16px}.active-voyage>button{color:var(--teal);background:0 0;border:1px solid #a9beb3;order:3;margin:0;padding:10px}.active-voyage .voyage-map{height:calc(100dvh - 290px);min-height:180px;max-height:620px;aspect-ratio:auto!important}.sailing-mode .header-today{display:none}.route-parts{flex-wrap:wrap;gap:10px;display:flex}.route-parts button{min-height:44px;font-size:14px}:is(.sheet:has(.route-parts),.sheet:has(.voyage-map)){max-height:96dvh;padding:10px 16px}:is(.sheet:has(.voyage-map)>p,.sheet:has(.voyage-map)>button){display:none}.sheet:has(.voyage-map) h2{margin:5px 0;font-size:21px}.sheet:has(.voyage-map) .voyage-map{height:clamp(160px,38dvh,330px);aspect-ratio:auto!important}.sheet:has(.voyage-map) p{margin:5px 0;font-size:15px}.sheet:has(.voyage-map) button{min-height:44px;padding:8px 12px}.sheet:has(.voyage-map)>div>button{margin:8px 6px 0 0}.arrival-page h1{margin:5px 0;font-size:26px}.arrival-page h2{font-size:22px}.arrival-page>.art{object-fit:cover;border-radius:12px;width:100%;max-height:30dvh}.arrival-page>button{width:100%;margin-top:10px;display:block}.equipment-hint{background:#e3efe5;border-radius:12px;padding:12px}.item-art-button>button{min-height:44px}.item-art-button:has(.art-unavailable)>button{display:none}.item-unaffordable .item-art-button img{opacity:1;filter:none}.receipt-story-heading{align-items:center;gap:10px;display:flex}.receipt-story-heading>.daily-art{object-fit:contain;width:54px;height:54px;margin:0}.receipt-story-heading strong{font-size:16px}.receipt-story-heading p{font-size:15px}main:has(.receipt){padding-top:8px}main:has(.receipt)>.back{display:none}.art-zoom img[hidden]{display:none}main:has(.arrival-page)>.back{display:none}main:has(.arrival-page){padding-top:12px}.app>header{flex-wrap:nowrap;gap:20px;min-height:68px;padding:12px 20px}.app>header a.brand{flex:1;gap:8px;max-width:none;font-size:14px}.app>header a.brand .adventure-art{width:30px;height:36px}.header-resources{flex-shrink:0;align-items:center;gap:20px;display:flex}.resource-count{white-space:nowrap;align-items:center;gap:7px;min-width:0;display:flex}.resource-count strong{font-variant-numeric:tabular-nums;color:#264d4c;font-size:20px;font-weight:800;line-height:1}.resource-count .resource-icon{object-fit:contain;width:27px;height:29px;margin:0}.resource-count:last-child .resource-icon{width:29px}.resource-count+.resource-count{border-left:1px solid #d9dfd1;padding-left:16px}@media (width<=370px){.app>header{gap:12px;padding-inline:16px}.app>header a.brand{font-size:13px}.header-resources{gap:12px}.resource-count+.resource-count{padding-left:12px}.resource-count{gap:6px}}.item .item-art-button:has(.art-retry){grid-column:1/-1;width:100%}.item:has(.art-retry){flex-wrap:wrap}.item .art-retry{width:100%;max-width:100%;height:auto}.art-retry button{white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;max-width:100%;min-height:44px}.item-art-button .art-retry span{font-size:inherit}.item:has(.art-retry)>div{grid-column:1/-1;min-width:0}.item{grid-template-columns:82px minmax(0,1fr)}.item button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.paired-actions{align-items:stretch;gap:14px;margin:18px 0;display:flex}.paired-actions>button{overflow-wrap:anywhere;flex:1;min-width:0;padding:12px 10px;margin:0!important}.paired-actions .secondary{color:var(--teal);background:#edf1e7;border:1px solid #a8bfb4}.day-conflict{background:#fff4d9;border:2px solid #bd9252;border-radius:16px;padding:18px}.day-conflict h2{font-size:24px}.english-progress{align-items:center;gap:8px;margin:16px 0;display:flex}.english-progress span{color:#63786c;border:1px solid #b6cabb;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.english-progress .earned{color:#fff;background:#226c64;border-color:#226c64}.english-progress img{object-fit:contain;width:42px;height:42px;margin-left:4px}.workshop-hero{aspect-ratio:3/2;object-fit:cover;border-radius:18px;width:100%;display:block}.workshop-invite h1,.workshop h1{font-size:32px}.workshop-invite p{line-height:1.55}.workshop-options{border:0;border-top:1px solid var(--line);margin:24px 0;padding:16px 0}.workshop-options legend{padding-right:12px;font-family:Literata,Georgia,serif;font-size:23px}.figure-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.figure-choice{color:var(--ink);background:#f2efdf;border:2px solid #0000;padding:10px;font-size:15px}.figure-choice img{object-fit:contain;width:100%;height:180px;margin-bottom:8px;display:block}.figure-choice[aria-pressed=true],.paint-choice[aria-pressed=true],.compare-controls [aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#dfebe1}.paint-choice{color:var(--ink);background:#f2efdf;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;font-size:15px;display:flex}.paint-swatch{border:1px solid #28584c;border-radius:50%;flex:0 0 24px;height:24px}.paint-swatch.green{background:#365947}.paint-swatch.turquoise{background:#329c99}.preview-label{text-align:center;color:#526b61;font-size:14px}.workshop .ship-scene{margin-bottom:8px}.workshop-art-error{background:#ecebde;border-radius:12px;padding:12px;font-size:14px}.workshop-result .ship-scene{animation:.6s ease-out workshop-reveal}@keyframes workshop-reveal{0%{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}.ship-inspect-trigger{z-index:110;width:100%;height:100%;color:var(--teal);background:0 0;border:0;border-radius:0;padding:0;position:absolute;inset:0}.ship-inspect-trigger span{background:#faf5e9ed;border-radius:9px;padding:7px 10px;font-size:12px;position:absolute;bottom:10px;right:10px}.ship-inspect-trigger:hover:not(:disabled){filter:none}.ship-inspector{background:var(--paper);width:min(94vw,800px);max-height:94dvh;color:var(--ink);border:0;border-radius:20px;padding:18px;overflow:auto}.ship-inspector::backdrop{background:#123d42d9}.inspector-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.inspector-header h2{overflow-wrap:anywhere;margin:0;font-size:24px}.inspector-header button{padding:10px;font-size:14px}.inspector-stage{touch-action:none;background:#e5ece1;border-radius:16px;align-items:center;height:min(48dvh,420px);display:flex;overflow:hidden}.inspector-ship{transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;flex-shrink:0;width:100%}.inspector-ship .ship-scene{background:0 0;border:0}.inspector-ship img{-webkit-user-drag:none}.inspector-tools,.inspector-focus{gap:10px}.inspector-focus button{font-size:14px}.inspector-tools button{font-size:18px}.inspector-stage{position:relative}.inspector-ship{transform-origin:50%;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:reduce){.workshop-result .ship-scene{animation:none}}.product-hero{text-align:center;padding:6px 0 8px}.product-hero .art{object-fit:contain;width:100%;height:180px;margin:0 0 12px}.product-hero h2{margin:0;font-size:28px}.product-benefit{font-size:19px;line-height:1.5}.product-try{width:100%;margin:8px 0 16px}.item-use-place{border-bottom:1px solid var(--line);gap:7px;padding:14px 0;display:grid}.item-use-place strong{font-size:17px}.item-use-place span{color:#596d62;font-size:14px}.item-use-place button{text-align:left;justify-self:start;width:auto;padding:5px 0;font-size:16px;margin:0!important}.purchase-price{border-block:1px solid #c8d7c8;margin:22px 0;padding:16px 0}.purchase-price>div{justify-content:space-between;gap:14px;margin:5px 0;display:flex}.purchase-price small{color:#596d62;margin-top:10px;display:block}.purchase-price p{margin:8px 0}.purchase-actions button{font-size:16px}.harbor-trial-ship{object-fit:contain;width:68%;height:65%;transition:transform 1.5s;position:absolute;top:25%;left:16%}.harbor-trial-caption{background:#faf5e9e8;border-radius:8px;padding:6px 9px;font-size:13px;position:absolute;bottom:8px;right:8px}.action-sail-setting{z-index:2}@media (prefers-reduced-motion:reduce){.harbor-trial-ship{transition:none}}.sheet:has(.product-hero){max-height:92dvh}.product-hero .art{height:140px}.purchase-actions{z-index:2;background:var(--paper);border-top:1px solid var(--line);margin-bottom:-12px;padding:12px 0 20px;position:sticky;bottom:-28px}.harbor-trial-tool{object-fit:contain;background:#faf5e9e8;border-radius:10px;width:80px;height:55px;padding:5px;position:absolute;top:8px;left:8px}.harbor-trial-ship.rocking{animation:2s ease-in-out infinite harbor-rock}@keyframes harbor-rock{0%,to{rotate:-4deg}50%{rotate:4deg}}@media (prefers-reduced-motion:reduce){.harbor-trial-ship.rocking{animation:none}}nav{grid-template-columns:repeat(5,minmax(0,1fr))}nav button{overflow-wrap:anywhere;min-width:0}.paint-choice{flex-direction:column;overflow-wrap:normal!important}.paint-swatch{width:24px;min-height:24px}.sea-selector{margin:12px 0;display:block}.sea-selector select{background:var(--paper);width:100%;min-width:0;min-height:48px;color:var(--teal);border:1px solid #a8c0b1;border-radius:12px;padding:10px;font-weight:700}main:has(.sea-selector)>section>.eyebrow{display:none}main:has(.sea-selector) h1{margin:0 0 12px;font-size:30px}.open-shores{margin:16px 0}.open-shores>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:800}.workshop h1{margin:0 0 12px;font-size:26px}.workshop-preview{z-index:3;background:var(--paper);padding:6px 0;position:sticky;top:0}.workshop-preview .compare-controls{gap:12px;margin:0}.workshop-preview .compare-controls button{min-height:44px;padding:6px;font-size:14px}.workshop-preview .ship-scene{margin:8px 0}.workshop-preview .ship-canvas{aspect-ratio:auto;height:clamp(130px,24dvh,210px)}.workshop-preview .preview-label{margin:4px 0;font-size:13px}.workshop-tabs{margin:12px 0}.workshop-tabs button{color:var(--teal);background:0 0;border:1px solid #a8c0b1}.workshop-tabs button[aria-pressed=true]{border:2px solid var(--teal);background:#dfebe1}.workshop-options{border:0;margin:12px 0;padding:8px 0}.workshop-options[hidden]{display:none}.workshop-options legend{font-size:18px}.workshop .figure-choice img{height:92px;margin-bottom:4px}.workshop .figure-choice{padding:6px;font-size:14px}.workshop>.muted{margin:8px 0;font-size:13px}.workshop-save{bottom:calc(70px + env(safe-area-inset-bottom));background:var(--paper);z-index:4;border-top:1px solid var(--line);margin-top:12px;padding:10px 0;position:sticky}.workshop{padding-bottom:12px}@media (height<=600px){.workshop-preview,.workshop-save{position:static}}.workshop-preview .ship-canvas{height:clamp(130px,21dvh,185px)}.workshop .figure-choice img{height:72px}.regional-map>details>summary{cursor:pointer;min-height:44px;padding:8px 0}.home-identity{background:#f5efe1;border-radius:14px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 0 16px;padding:10px;display:grid}.home-identity img{object-fit:cover;border-radius:50%;width:48px;height:48px}.home-identity div{min-width:0;display:grid}.home-identity small{font-size:13px}.home-identity strong{overflow-wrap:anywhere}.home-identity button{min-height:44px;margin:0;padding:8px}.home-heading{margin:16px 0 8px;font-size:22px;line-height:1.2}.home-at-sea{background:#dcebe7;border-radius:14px;align-items:center;gap:12px;margin:10px 0;padding:10px;display:flex}.home-at-sea img{object-fit:contain;width:72px;height:72px}.home-at-sea p{margin:0;font-size:15px}@media (width<=340px){.home-identity{grid-template-columns:44px minmax(0,1fr)}.home-identity img{width:44px;height:44px}.home-identity button{grid-column:2;justify-self:start}}.paired-actions,.action-pair,.daily-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.paired-actions>button,.action-pair>button,.daily-actions>button{overflow-wrap:anywhere;min-width:0;min-height:48px;margin:0;padding:10px 12px;font-size:16px;line-height:1.25}.album-rows .list-row>span{min-width:0;display:block}.album-rows strong,.album-rows small{display:block}.album-rows small{margin-top:5px;font-weight:400;line-height:1.35}.album-rows .list-row{gap:12px}.album-rows b{flex-shrink:0;font-size:12px}.arrival-notice{color:#245b60;background:#e4efdf;padding:8px 16px;font-size:14px}.segments[hidden]{display:none}.home-heading{margin:8px 0;font-size:22px}.home-identity{margin-bottom:8px}.onboarding-ready h2,.onboarding-ready p{display:block}
