@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";.day-reward{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex;background:0 0!important;padding:12px 0!important}.day-reward h1,.day-reward p{margin:0}.day-reward h1{font-size:30px}.day-reward .eyebrow{margin:0}.reward-coins{width:116px;height:116px;margin:8px 0;position:relative}.reward-coin-main{object-fit:contain;width:100%;height:100%}.reward-coin-flight{object-fit:contain;pointer-events:none;width:56px;height:56px;animation:reward-wallet 1.05s var(--coin-delay) both;position:absolute;inset:30px}.reward-amount{font-size:21px;font-weight:800}.reward-signs{gap:12px;display:flex}.reward-signs span{opacity:.4;background:#deded2;border-radius:50%;width:34px;height:34px}.reward-signs img{object-fit:contain;width:100%;height:100%}.reward-signs .lit{opacity:1;background:#ecd7a2}.reward-signs .new-sign{animation:.8s .4s both reward-light}.day-reward>button,.shore-reveal>button{width:100%;max-width:360px}.day-reward details{text-align:left;width:100%;font-size:15px}.day-reward details summary{padding:7px 0}.shore-reveal{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.shore-reveal h1{margin:0;font-size:31px}.shore-reveal h2{margin:0;font-size:24px}.shore-reveal p{margin:0}.shore-reveal>img{object-fit:cover;border-radius:18px;width:100%;height:240px}.shore-reveal .eyebrow{margin:0}@keyframes reward-wallet{0%{opacity:0;transform:translate(0)scale(.9)}20%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(var(--flight-x,0px),var(--flight-y,-200px)) scale(.3)}}@keyframes reward-light{0%{opacity:.4;transform:scale(.85)}65%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.reward-coin-flight{animation:none;display:none}.reward-signs .new-sign{animation:none}}.school-form .day-reward{border:0;gap:8px;margin:0;padding:6px 0!important}.school-form .day-reward p{margin:0}.school-form .day-reward .reward-coins{width:100px;height:100px;margin:5px 0}.school-form .day-reward details{margin:0}.school-form .day-reward details summary{min-height:40px;padding:7px 0}:is(.school-form:has(.day-reward)>.day-history,.school-form:has(.shore-reveal)>.day-history){display:none}.app:has(.shore-reveal) main>.back{display:none}.app:has(.shore-reveal) main{padding-top:8px}:is(.day-reward:has(details[open])>.reward-coins,.day-reward:has(details[open])>.reward-signs),.day-story .story-none{display:none}.day-story:not(:has(.receipt-story)):not(:has(.story-pending)) .story-none{display:block}.battle-gear-panel{max-width:960px;margin:auto}.battle-gear-panel h1:focus{outline:none}.gear-wallet{background:#fffaf0;border:1px solid #d8d3bf;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex}.gear-wallet img,.gear-wallet>.gear-image-fallback{object-fit:contain;width:38px;height:38px}.gear-wallet strong{flex:1;font-size:1.35rem}.gear-wallet button{white-space:nowrap}.gear-intro{max-width:60ch}.gear-notice{background:#e3ede7;border-radius:12px;padding:14px;line-height:1.5}.gear-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.gear-product{background:#fffaf0;border:1px solid #d8d3bf;border-radius:16px;flex-direction:column;min-width:0;padding:16px;display:flex}.gear-product>img,.gear-product>.gear-image-fallback{aspect-ratio:3/2;object-fit:contain;width:100%}.gear-product h2{margin:10px 0;font-size:1.2rem}.gear-product p{line-height:1.4}.gear-product>button{width:100%;margin-top:auto}.gear-product small{margin-top:8px}.gear-price{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:12px 0;display:flex}.gear-owned{color:#15565e;font-weight:700}.gear-selection{padding:20px 0}.gear-selection fieldset{border:1px solid #d8d3bf;border-radius:12px;min-width:0;margin:14px 0;padding:14px}.gear-selection legend{padding:0 6px;font-weight:700}.gear-options{flex-wrap:wrap;gap:10px;display:flex}.gear-options label{cursor:pointer;border:1px solid #c2cbbf;border-radius:10px;flex:210px;align-items:center;gap:8px;min-width:0;padding:10px;display:flex}.gear-options label:has(input:checked){background:#dbeae3;border-color:#15565e}.gear-options img{object-fit:contain;flex-shrink:0;width:62px;height:48px}.gear-options input{accent-color:#15565e;flex-shrink:0;width:18px;height:18px}.gear-options span{overflow-wrap:anywhere}.gear-exit-actions{flex-wrap:wrap;gap:10px;padding:12px 0 24px;display:flex}.gear-image-fallback{text-align:center;color:#15565e;background:#edeada;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;display:flex}.gear-image-fallback button{padding:6px;font-size:.85rem}.gear-product button:disabled{opacity:.6}.gear-pending-link{background:#e3ede7;border-radius:12px;padding:12px}.gear-entry{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.gear-entry .piastre-balance{margin:0}@media (width<=430px){.gear-products{gap:10px}.gear-product{padding:12px}.gear-product h2{font-size:1.05rem}.gear-product>button{padding:12px 8px}.gear-wallet{padding:12px}.gear-wallet strong{font-size:1.15rem}.gear-options label{flex-basis:100%}.gear-selection fieldset{padding:10px}.gear-wallet .text-button{padding:8px}}.gear-product h2,.gear-product p{overflow-wrap:anywhere}.battle-gear-panel h1{margin:0 0 12px;font-size:29px}.gear-products.shop-grid{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.gear-products .gear-product{text-align:left;border-radius:12px;grid-template-rows:64px minmax(28px,auto) 16px minmax(28px,auto);margin:0;padding:10px;display:grid}.gear-products .gear-product img{object-fit:contain;width:100%;height:64px}.gear-product strong{font-size:14px}.gear-product small{font-size:12px}.gear-wallet{min-height:44px;margin:8px 0;padding:8px}.gear-wallet img{width:30px;height:30px}.gear-intro{margin:6px 0;font-size:13px}.gear-selection{margin:10px 0;padding:10px}.gear-selection>summary{cursor:pointer;min-height:44px;font-size:17px}.gear-sheet>img{object-fit:contain;max-width:150px;height:110px;margin:auto;display:block}.gear-sheet h2{font-size:23px}.gear-sheet button{width:100%;min-height:44px}.gear-sheet p{font-size:15px}.gear-exit-actions{margin:8px 0}.gear-exit-actions button{min-height:44px;font-size:14px}.app:has(.battle-gear-panel) .school-shortcut{display:none}.app:has(.battle-gear-panel) main{padding:12px 18px 88px}.battle-gear-panel{position:relative}.battle-gear-panel h1{min-height:32px;margin:6px 0 12px;padding-right:115px;font-size:26px}.battle-gear-panel .gear-wallet{background:0 0;border:0;gap:4px;min-height:32px;margin:0;padding:2px;position:absolute;top:0;right:0}.battle-gear-panel .gear-wallet strong{font-size:14px}.battle-gear-panel .gear-wallet img{width:24px;height:24px}.battle-gear-panel .gear-intro{margin:6px 0;font-size:12px}.battle-gear-panel .gear-notice{margin:8px 0;padding:10px;font-size:14px}.battle-gear-panel .gear-notice p{margin:0 0 8px}.battle-gear-panel .gear-notice button{min-height:44px;padding:8px 12px;font-size:15px}.battle-gear-panel .gear-products .gear-product{grid-template-rows:48px 32px 16px 28px;gap:3px;padding:8px}.battle-gear-panel .gear-product strong,.battle-gear-panel .gear-product small{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:14px;display:-webkit-box;overflow:hidden}.battle-gear-panel .gear-selection{margin:8px 0;padding:4px 10px}.battle-gear-panel .gear-exit-actions{gap:8px;margin:8px 0;padding:0}.battle-gear-panel .gear-exit-actions button{flex:1;padding:8px;font-size:13px}.app:has(.battle-gear-panel) main>.text-button{min-height:44px;margin:0 0 8px;padding:8px 0}.battle-gear-panel .gear-intro{margin:4px 0;line-height:15px}.battle-gear-panel .gear-products .gear-product{grid-template-rows:40px 28px 16px 28px;padding:6px}.battle-gear-panel .gear-products .gear-product img{height:40px}.gear-name-hint{color:#4f6a63;margin:0 0 4px;font-size:13px;font-style:italic;display:block}.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}.piastre-balance{margin:10px 0}.piastre-balance small{margin-top:4px;display:block}.chore-card .chore-confirm{width:100%;min-height:48px;margin:8px 0}.chore-rewards>summary{min-height:44px;color:var(--teal);cursor:pointer;align-items:center;font-weight:800;display:flex}.arena-adult h3{margin:18px 0 8px;font-size:19px}.arena-grid{gap:3px;font-size:12px;display:grid}.arena-grid-row{grid-template-columns:34px repeat(10,1fr);align-items:center;gap:3px;display:grid}.arena-grid-row span{border-radius:6px;place-items:center;min-height:24px;font-weight:800;display:grid}.arena-grid-row.head span{color:#57706a;min-height:18px;font-weight:700}.arena-grid-row [role=rowheader]{color:var(--ink);justify-content:start;font-weight:800}.arena-grid-row.closed span[role=cell]{opacity:.45}.arena-grid .unseen,.arena-legend .unseen{background:#dfe3d6}.arena-grid .wrong,.arena-legend .wrong{color:#7a2f1e;background:#f1b7a7}.arena-grid .learning,.arena-legend .learning{color:#6b4d0c;background:#f3dc98}.arena-grid .almost,.arena-legend .almost{color:#2f5a24;background:#bfe0b0}.arena-grid .learned,.arena-legend .learned{color:#fff;background:#5aa36b}.arena-legend{color:#57706a;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:0;font-size:13px;display:flex}.arena-legend span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.arena-legend i{border-radius:4px;width:14px;height:14px;display:inline-block}.arena-weak{flex-wrap:wrap;gap:6px;display:flex}.arena-weak span{background:#fff7e3;border:1px solid #ead9ad;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:700}.arena-weak small{color:#7b6a45;font-weight:500}.arena-log{margin:0;padding-left:18px;font-size:14px}.arena-log li{margin:4px 0}.arena-cap{align-items:center;gap:16px;display:flex}.arena-cap button{min-width:56px;padding:6px 12px;font-size:22px}.arena-cap b{text-align:center;min-width:32px;font-size:26px}.arena-frame{z-index:1000;background:#0b3a4a;position:fixed;inset:0}.arena-frame iframe{border:0;width:100%;height:100%;display:block}body.arena-open{overflow:hidden}body.arena-open .app>:not(.arena-frame){visibility:hidden}.home-screen .arena-entry{flex-direction:column;align-items:stretch;gap:6px;margin:8px 0;display:flex}.arena-chip{color:#124f58;background:#124f581f;border-radius:999px;align-self:center;margin:0;padding:4px 12px;font-size:13px;font-weight:700}.campaign-arena,.campaign-captain-card{overflow-wrap:anywhere;max-width:580px;margin:auto}.campaign-captain-card{background:#fffaf0;border:1px solid #d8d3bf;border-radius:16px;padding:16px}.campaign-captain-intro{align-items:flex-start;gap:16px;display:flex}.campaign-portrait{object-fit:contain;flex-shrink:0;width:120px;max-width:35%;height:160px}.campaign-kit-icon{object-fit:contain;flex-shrink:0;width:54px;height:40px}.campaign-kit-picker{flex-wrap:wrap;gap:10px;display:flex}.campaign-kit-picker label{border:1px solid #c2cbbf;border-radius:10px;flex:210px;align-items:center;gap:8px;min-height:48px;padding:10px;display:flex}.campaign-captain-card fieldset{border:1px solid #d8d3bf;border-radius:12px;min-width:0;margin:14px 0;padding:12px}.campaign-kit-picker label:has(input:checked){background:#dbeae3}.campaign-targets{justify-content:space-between;gap:12px;margin:14px 0;display:flex}.campaign-targets>span{flex:1}.campaign-targets i{border:1px solid #b77b30;border-radius:50%;width:12px;height:12px;margin:4px 3px 0 0;display:inline-block}.campaign-targets .intact{background:#d3a04c}.campaign-targets .broken{opacity:.45;background:0 0}.campaign-cell.intended{box-shadow:inset 0 0 0 2px #769a9a}.campaign-cell.ghost{box-shadow:inset 0 0 0 3px #b97c32}.campaign-ship{pointer-events:none;z-index:2;width:20%;height:20%;padding:9px;transition:top .5s,left .5s;position:absolute}.campaign-ship>div{width:100%;height:100%;transition:transform .5s}.campaign-ship img{object-fit:contain;filter:drop-shadow(0 2px 2px #234d4d55);width:100%;height:100%}.campaign-ship-label{background:#fffaf0db;border-radius:4px;padding:0 3px;font-size:10px;font-weight:700;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.campaign-ship.opponent{outline-offset:-3px;border-radius:14px;outline:2px solid #bb8650}.campaign-ship.player{outline-offset:-3px;border-radius:14px;outline:2px solid #387e7f}.campaign-volley{pointer-events:none;border:3px solid #e6bb66;border-radius:50%;animation:.6s infinite campaign-flash;position:absolute;inset:8%}.campaign-volley.hit{border-color:#b76b3c}.campaign-smoke{background:#b8c4c3a6;border-radius:40%;animation:1s infinite campaign-smoke;position:absolute;inset:0}.campaign-notice,.campaign-reveal,.campaign-result{background:#e3ede7;border-radius:12px;margin:14px 0;padding:14px}.campaign-resource-grid{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.campaign-resources{border:1px solid #d8d3bf;border-radius:12px;min-width:0;padding:12px}.campaign-resources h3{margin:0 0 8px;font-size:1rem}.campaign-resources p{font-size:.9rem}.campaign-resource-items>div{align-items:center;gap:8px;min-height:44px;margin:8px 0;font-size:.82rem;display:flex}.campaign-options{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;display:grid}.campaign-options>div{min-width:0}.campaign-options button{width:100%;min-height:48px}.campaign-options small{margin-top:5px;font-size:.8rem;display:block}.campaign-confirm{width:100%;margin-top:14px}.campaign-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.campaign-reasons{max-height:none;padding-left:20px;line-height:1.5;overflow:visible}.campaign-dialog-backdrop{z-index:120;background:#163c3e88;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.campaign-dialog-backdrop section{background:#fffaf0;border-radius:18px;flex-direction:column;gap:12px;max-width:480px;max-height:90dvh;padding:22px;display:flex;overflow:auto}.campaign-art-fallback{text-align:center;background:#e3ede7;border-radius:8px;flex-direction:column;justify-content:center;padding:4px;font-size:.8rem;display:flex}.campaign-ship .campaign-art-fallback{width:100%;height:100%;font-size:8px}.campaign-art-fallback button{min-height:36px;padding:4px;font-size:.8rem}.campaign-phase{min-height:2.5em}.campaign-preview{color:#416566;font-size:.9rem}@keyframes campaign-flash{50%{opacity:.3;transform:scale(1.15)}}@keyframes campaign-smoke{50%{opacity:.45;transform:scale(1.15)}}@media (width<=430px){.campaign-ship{padding:6px}.campaign-resource-grid{grid-template-columns:1fr}.campaign-resource-items{flex-wrap:wrap;gap:10px;display:flex}.campaign-resource-items>div{flex:120px}.campaign-captain-intro{gap:10px}.campaign-captain-card{padding:12px}.campaign-kit-picker label{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.campaign-ship,.campaign-ship>div{transition:none}.campaign-volley,.campaign-smoke{animation:none}}.campaign-art-fallback button{pointer-events:auto}.campaign-fire-rays{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.campaign-fire-rays line{stroke:#b56821;stroke-width:.7px;stroke-dasharray:2 1;opacity:.65}.campaign-fire-rays line.opponent{stroke:#94536d}.campaign-history{border-top:1px solid #d6cab7;margin:16px 0;padding-top:12px}.campaign-history summary{cursor:pointer;min-height:44px;padding:12px;display:list-item}.campaign-history section{border-top:1px solid #d6cab7;padding:8px 0}.campaign-kit-picker input[type=radio]{flex:0 0 24px;width:24px;height:24px;min-height:24px;margin:0;padding:0}.campaign-kit-picker label{overflow-wrap:normal;margin:0}.campaign-kit-picker label>span{min-width:0}.campaign-ship-label{white-space:nowrap;overflow-wrap:normal}.campaign-targets>span>span{white-space:nowrap;display:block}.campaign-resource-items{overflow-wrap:normal}.campaign-options button:disabled{opacity:1;color:#536259;background:#e4e8df;border:1px solid #c5cdbf}@media (width<=430px){.campaign-resource-items>div{flex-basis:100%}}.campaign-first-hint{text-align:left;color:#3b4140;background:#fff5cf;border:1px solid #d7bd78;border-radius:.6rem;margin-top:.4rem;padding:.5rem .65rem;font-size:.9rem;line-height:1.35;display:block}.campaign-command-tokens{gap:.5rem;display:inline-flex}.campaign-command-tokens .ready{color:#c89935}.campaign-command-tokens .spent{color:#bbb;opacity:.35}.campaign-command-tokens .planned{outline-offset:3px;background:#fff0bc;border-radius:50%;outline:2px solid #946c17}.app:has(.campaign-arena) header{min-height:52px;padding:8px 16px}.app:has(.campaign-arena) .school-shortcut{display:none}main:has(.campaign-arena){padding:8px 16px 12px}.campaign-arena{font-size:14px;line-height:1.3}.campaign-turn-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.campaign-turn-header h1{white-space:nowrap;margin:0;font-size:22px}.campaign-targets{gap:12px;margin:0;font-size:12px}.campaign-targets i{width:9px;height:9px;margin:2px 2px 0 0}.campaign-arena .campaign-phase{min-height:0;margin:5px 0;font-size:12px}.campaign-preview{min-height:16px;margin:4px 0;font-size:12px}.campaign-resource-grid{gap:8px;margin:6px 0;display:flex}.campaign-resources{border-radius:8px;flex:1;align-items:center;gap:5px;padding:4px;font-size:11px;display:flex;position:relative}.campaign-resource-label{max-width:34px;font-weight:700}.campaign-command-tokens{gap:3px}.campaign-resource-items{flex:1;gap:3px;display:flex}.campaign-resource-items details{flex:1;min-width:0}.campaign-resource-items summary{cursor:pointer;justify-content:center;align-items:center;min-height:44px;font-size:10px;list-style:none;display:flex}.campaign-kit-icon{width:28px;height:28px}.campaign-resource-items details[open] p{z-index:6;background:var(--paper);border:1px solid var(--teal);border-radius:8px;margin:0;padding:12px;font-size:14px;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 14px #183f4522}.campaign-order-picker h2{letter-spacing:0;margin:6px 0 4px;font:800 13px Nunito Sans,sans-serif}.campaign-order-picker h2 small{margin-left:6px;font-size:11px;font-weight:400}.campaign-fire-options{grid-template-columns:repeat(5,minmax(0,1fr))}.campaign-options button{min-height:48px;color:var(--ink);background:#f1f0e5;border:1px solid #77968b;border-radius:8px;padding:5px 2px;font-size:12px}.campaign-options button[aria-pressed=true]{color:#fff;background:#155c61;box-shadow:inset 0 0 0 2px #e8b45d}.campaign-options button[aria-pressed=true]:before{content:"✓ ";color:#ffe4a5}.campaign-options button:disabled{color:#88948e;background:#e7e9df;border-color:#d1d8cc}.campaign-options .campaign-option-reason{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.campaign-confirm{min-height:48px;margin-top:6px;padding:10px}.campaign-help{margin-top:4px}.campaign-help summary{cursor:pointer;min-height:44px;color:var(--teal);align-items:center;font-size:12px;display:flex}.campaign-help[open]{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px}.campaign-reveal{margin:6px 0;padding:6px 10px;font-size:12px}.campaign-reveal p{margin:3px 0}.campaign-result h2{margin:0 0 5px;font-size:20px}.campaign-result p{margin:4px 0;font-size:12px}.campaign-result button{min-height:44px;padding:8px 12px;font-size:14px}.campaign-result .text-button{margin-right:8px;padding:8px 0;font-size:12px}.campaign-history{margin:4px 0;padding-top:0}.campaign-history summary{min-height:44px;padding:10px 0;font-size:12px}.campaign-actions{justify-content:space-between;gap:12px;margin:4px 0}.campaign-actions button{min-height:44px;padding:8px;font-size:12px}@media (width>=500px){.campaign-arena{font-size:16px}.campaign-options button{font-size:14px}.campaign-kit-icon{width:36px;height:32px}}.campaign-ghost{opacity:.4;z-index:1;outline-offset:-3px;border-radius:10px;outline:2px dashed #8a611f}.campaign-resource-label{white-space:nowrap;max-width:none}.campaign-arena[data-phase=RESULT] .campaign-resource-grid{margin:4px 0}.app:has(.campaign-arena){background:#eef4ed;max-width:none;min-height:100dvh}.app:has(.campaign-arena)>header{display:none}.app:has(.campaign-arena)>nav{display:none}.app:has(.campaign-arena)>.test-banner{display:none}.app:has(.campaign-arena)>.school-shortcut{display:none}.app:has(.campaign-arena)>main{padding:0}.campaign-arena{box-sizing:border-box;max-width:520px;padding:calc(0px + env(safe-area-inset-top)) 12px calc(8px + env(safe-area-inset-bottom));background:#eef4ed;margin:auto;font-size:14px;line-height:1.3}.campaign-arena *{box-sizing:border-box}.campaign-top{grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;min-height:44px;display:grid}.campaign-top strong{font-size:16px}.campaign-top button{text-align:left;min-height:44px;margin:0;padding:2px;font-size:12px;font-weight:400}.campaign-top button:last-child{text-align:right}.campaign-turn-header{flex-direction:column-reverse;gap:4px}.campaign-turn-header h1{letter-spacing:0;font:600 12px/16px Nunito Sans,sans-serif}.campaign-targets{background:#fffdf2;border:1px solid #d3d9c5;border-radius:12px;gap:8px;width:100%;padding:5px 8px;font-size:13px}.campaign-targets>span{align-items:center;gap:6px;font-weight:700;display:flex}.campaign-targets>span:last-child{justify-content:flex-end}.campaign-targets i{border-radius:0;width:8px;height:8px;margin:0 4px 0 0;transform:rotate(45deg)}.campaign-arena .campaign-phase{text-align:center;margin:3px 0 5px;font-size:12px;line-height:16px}.campaign-board-wrap{width:min(100%,calc((var(--tg-height,100dvh) - 448px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--battle-columns) / var(--battle-rows) + 20px));margin:0 auto}.campaign-board .campaign-ship{border-radius:0;outline:none;padding:0}.campaign-ship img{scale:1.12}.campaign-board .campaign-ghost{opacity:.45;filter:drop-shadow(0 0 3px #ffe095);outline:none}.campaign-ship-label{background:#fffaf0ed;border:1px solid #f0dfb8;padding:1px 3px;font-size:10px;line-height:12px;bottom:0}.campaign-preview{text-align:center;min-height:18px;margin:3px 0;line-height:15px}.campaign-resource-grid{gap:6px;margin:5px 0}.campaign-resources{background:#fffdf2;border-color:#d3d9c5;gap:4px;min-height:44px;padding:2px 4px}.campaign-resource-items summary{min-height:44px}.campaign-order-picker h2{margin:5px 0 3px;font-size:11px;line-height:14px}.campaign-options{gap:4px;margin:3px 0}.campaign-options .battle-command{width:100%;min-height:54px;font-size:12px}.campaign-options .battle-command[aria-pressed=true]:before{content:"✓";font-size:10px;position:absolute;top:2px;right:3px}.campaign-options .battle-command{position:relative}.campaign-confirm{background:#14687b;border-radius:14px;min-height:48px;margin:6px 0 0;padding:6px;box-shadow:0 3px #0b4555}.campaign-result{margin:2px 0;padding:6px 10px}.campaign-turn-header h1:focus{outline:none}.campaign-result h2{font-size:18px;line-height:1.25}.campaign-history{margin:0;padding:0}.campaign-captain-card{padding:12px}.campaign-captain-card h2,.campaign-captain-card h3{margin:4px 0 8px}.campaign-captain-card p{margin:6px 0}.campaign-captain-intro{flex-direction:row;align-items:center;gap:10px}.campaign-captain-intro .campaign-portrait{width:86px;max-width:30%;height:112px}.captain-tactic{align-items:center;gap:4px;display:flex}.captain-rules{font-size:13px}.captain-slots{gap:6px;margin:8px 0;display:flex}.captain-slots button{flex-direction:column;flex:1;align-items:center;min-width:0;margin:0;padding:6px;font-size:12px;display:flex}.captain-slots small{font-size:10px;line-height:13px}.captain-slot-options{flex-wrap:wrap;gap:6px;display:flex}.captain-slot-options button{align-items:center;gap:4px;min-height:44px;font-size:13px;display:flex}.campaign-resource-items summary{flex-direction:column;gap:1px;line-height:11px}.campaign-resource-items summary .campaign-kit-icon{width:25px;height:25px}.campaign-resources{grid-template-columns:1fr auto;gap:2px 4px;display:grid}.campaign-resource-items{grid-column:1/-1;width:100%}.campaign-resource-items summary>span{max-width:100%}.roam-scene:has(.campaign-captain-card)>:not(:has(.campaign-captain-card)){display:none}.campaign-first-hint{white-space:normal;height:auto;min-height:44px;overflow:visible}.campaign-targets,.campaign-arena .campaign-phase,.campaign-preview,.campaign-resources,.campaign-resource-items summary{font-size:13px}.campaign-order-picker h2{font-size:14px}.campaign-order-picker h2 small{font-size:13px}.campaign-options button,.campaign-options .battle-command{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;padding:4px 1px;font-size:13px}.campaign-help summary,.campaign-reveal,.campaign-result p,.campaign-result .text-button,.campaign-history summary,.campaign-actions button,.campaign-top button{font-size:13px}.campaign-ship-label{font-size:12px;line-height:14px}.captain-slots button{font-size:13px}.captain-slots small{font-size:12px}.campaign-moves{grid-template-columns:repeat(7,minmax(0,1fr))}.campaign-options .battle-command.is-gear{background:linear-gradient(#fff8e2,#fbecc4);border:2px solid #d9a441}.campaign-options .battle-command.is-gear[aria-pressed=true]{background:#155c61;border-color:#e8b45d}.campaign-options .battle-command.is-gear:disabled{background:#e7e9df;border-color:#d1d8cc}.gear-command-icon{height:24px;display:inline-block;position:relative}.gear-command-icon img{object-fit:contain;width:28px;height:24px}.campaign-options .battle-command.is-gear:disabled .gear-command-icon img{filter:grayscale();opacity:.5}.gear-command-icon b{color:#155c61;text-shadow:0 0 2px #fff,0 0 2px #fff;font-size:14px;line-height:1;position:absolute;bottom:-4px;right:-9px}.campaign-options .battle-command.is-gear[aria-pressed=true] .gear-command-icon b{color:#ffe4a5;text-shadow:none}.campaign-options .battle-command.is-gear>small{color:#8a5a1c;font-size:11px;font-weight:800;position:absolute;top:1px;left:3px}.campaign-options .battle-command.is-gear[aria-pressed=true]>small{color:#ffe4a5}.campaign-moves,.campaign-fire-options{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.gear-command-icon b{margin-left:1px;font-size:16px;inset:-6px auto auto 100%}.campaign-impact{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute}.campaign-impact i{border-radius:50%;position:absolute;inset:18%}.campaign-impact.hit i:first-child{background:radial-gradient(circle,#fffbe6 0 22%,#ffd23f 38%,#ff7a1a 58%,#0000 72%);animation:.7s ease-out both fx-flash}.campaign-impact.hit i:nth-child(2){border:3px solid #ffb02e;animation:.7s ease-out 50ms both fx-ring}.campaign-impact.hit i:nth-child(3){background:radial-gradient(circle,#fff 0 18%,#0000 40%);animation:.35s ease-out .1s both fx-flash}.campaign-impact.splash i{border:3px solid #ffffffd9;box-shadow:0 0 6px #fff9}.campaign-impact.splash i:first-child{animation:.8s ease-out both fx-ring}.campaign-impact.splash i:nth-child(2){animation:.8s ease-out .18s both fx-ring}.campaign-impact.splash i:nth-child(3){box-shadow:none;background:radial-gradient(circle at 50% 60%,#fff 0 10%,#c9f3f5 11% 22%,#0000 34%);border:0;animation:.7s ease-out both fx-drop}@keyframes fx-flash{0%{opacity:0;transform:scale(.2)}25%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.5)}}@keyframes fx-ring{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(1.9)}}@keyframes fx-drop{0%{opacity:0;transform:translateY(0)scale(.4)}30%{opacity:1;transform:translateY(-22%)scale(1.1)}to{opacity:0;transform:translateY(0)scale(1.3)}}@media (prefers-reduced-motion:reduce){.campaign-impact i{opacity:.85;animation:none!important}}.campaign-impact.splash i{border-width:4px;border-color:#fff;box-shadow:0 0 10px #fffc,inset 0 0 8px #bff4f7}.campaign-impact.splash i:nth-child(3){inset:8%}.campaign-board-wrap{min-width:min(100%,240px)}.battle-board-wrap{min-width:0;margin:auto}.battle-columns{grid-template-columns:repeat(var(--battle-columns),1fr);text-align:center;color:#235c69;height:17px;margin-left:20px;font-size:12px;font-weight:700;display:grid}.battle-board-row{display:flex}.battle-rows{grid-template-rows:repeat(var(--battle-rows),1fr);color:#235c69;flex:0 0 20px;place-items:center;width:20px;font-size:12px;font-weight:700;display:grid}.battle-board.battle-board{background:#219daf url(/art/duel-water-ux27.webp) 50%/cover;border:3px solid #d1bd83;border-radius:8px;flex:1;width:auto;min-width:0;margin:0;display:grid;position:relative;overflow:hidden;box-shadow:0 3px 9px #1d57612b;container-type:inline-size}.battle-board>.campaign-cell{aspect-ratio:auto;background:0 0;border:1px solid #e2fff466;min-width:0;min-height:0}.battle-board>.campaign-cell:nth-child(2n){background:0 0}.battle-board>.campaign-cell.sector{background:#faffd75c;box-shadow:inset 0 0 0 2px #fff3b6}.battle-command.battle-command{color:#163c48;background:#fffdf2;border:1px solid #a8bdb3;border-radius:10px;min-height:48px;padding:3px;font-size:13px;line-height:1.1;box-shadow:0 2px #d0dacf}.battle-command-icon{height:22px;font-size:21px;line-height:20px;display:block}.battle-command-icon img{object-fit:contain;width:24px;height:22px;margin:auto}.battle-command-label{display:block}.battle-command.battle-command[aria-pressed=true]{color:#fff;background:#155c61;border:2px solid #e8b45d;box-shadow:inset 0 0 0 1px #fff3b6}.battle-command.battle-command:disabled{color:#88948e;box-shadow:none;background:#e7e9df;border-color:#d1d8cc}.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 .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}.duel-v2-targets,.duel-v2-columns,.duel-v2-rows{font-size:13px}.duel-v2-status{font-size:14px;line-height:18px}.duel-v2-preview,.duel-v2 legend{font-size:13px;line-height:16px}.duel-v2-manoeuvres small,.duel-v2-weapons small{font-size:13px}.duel-v2-manoeuvres button,.duel-v2-weapons button{word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.duel-v2-footnote,.duel-v2-cell-note{font-size:13px}.duel-v2-top button,.duel-v2-result>button{font-size:14px}.duel-v2-end p{font-size:14px;line-height:18px}@media (height<=700px) and (orientation:portrait){.duel-v2-status{margin:2px 0}.duel-v2-preview{min-height:18px;margin:1px 0}.duel-v2 fieldset{margin:1px 0}.duel-v2-primary{margin-top:4px}}.duel-v2 .duel-v2-board-wrap{min-width:min(100%,240px)}.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-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}.sea-course-controls:empty{display:none}.sea-course-controls{flex-wrap:wrap;gap:6px;display:flex}.sea-course-controls button{width:100%;min-height:48px;margin:0}.roam-passage-marker{z-index:3;color:#183f45;background:#faf5e9e8;align-items:center;gap:4px;max-width:130px;min-height:44px;padding:4px;font-size:11px;line-height:13px;display:flex;position:absolute;transform:translate(-50%,-50%)}.roam-passage-marker[hidden]{display:none}.roam-passage-marker img{object-fit:contain;width:34px;height:34px}.sea-announcement{z-index:4;pointer-events:none;text-align:center;background:#faf5e9ed;border-radius:12px;margin:0;padding:8px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.roam-scene .roam-stage{flex:none;height:clamp(248px,43dvh,380px);min-height:248px}.roam-scene .roam-docks{margin:0}.roam-scene .roam-docks button{min-height:44px;padding:8px;font-size:14px}.roam-scene .roam-status{min-height:32px;padding:6px;font-size:13px;margin:4px 0!important}.roam-scene .roam-note summary{min-height:32px;font-size:13px}.roam-scene .sea-course-controls:empty,.roam-scene .roam-docks:empty{display:none}.roam-scene .roam-stage{height:clamp(248px,36dvh,320px)}.roam-scene .duel-entry{background:0 0;border:0;margin:0;padding:0}.roam-scene .duel-entry summary{min-height:44px;padding:10px 0;font-size:14px}.roam-scene>*{order:6}.roam-scene>.roam-hud:not(.roam-controls){order:0}.roam-scene>.roam-warning,.roam-scene>[role=alert]{order:1}.roam-scene>.roam-docks,.roam-scene>.sea-course-controls,.roam-scene>.neighbor-sail{order:2}.roam-scene>.roam-stage{order:3;min-height:min(56dvh,460px)}.roam-scene>.roam-status{order:4;margin:4px 0!important}.roam-scene>.roam-controls{order:5}.roam-scene>.roam-docks:empty,.roam-scene>.sea-course-controls:empty{display:none}.roam-view-tools button{font-size:14px;min-height:44px!important}.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}.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}}.kg-journal-count{margin:4px 0 10px;font-size:17px;font-weight:800}.kg-journal-solved>summary{cursor:pointer;min-height:44px;color:var(--teal);align-items:center;font-weight:800;display:flex}.kg-result-captain{aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 8px 10px #183f4530);width:min(46vw,190px);margin:4px auto 6px;display:block}.kg-result.is-correct .kg-result-captain{animation:.7s ease-out kg-hop}.kg-result-cheer{text-align:center;margin:4px 0 14px;font-size:19px;font-weight:700;line-height:1.35}@keyframes kg-hop{0%{opacity:0;transform:translateY(12px)scale(.9)}60%{opacity:1;transform:translateY(-6px)scale(1.03)}to{transform:none}}@media (prefers-reduced-motion:reduce){.kg-result-captain{animation:none!important}}.kg-figure:after{content:"⤢ Увеличить рисунок";color:var(--teal);text-align:center;margin-top:4px;font-size:14px;font-weight:800;display:block}.kg-zoom[open]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:8px 0 calc(8px + env(safe-area-inset-bottom));border-radius:0;flex-direction:column;margin:0;display:flex}.kg-zoom-controls{padding:0 10px}.kg-zoom-scroll{flex:1;align-items:center;max-height:none;display:flex}.kg-zoom img{width:100%;max-height:100%}.kg-zoom img.large{width:max(900px,220%);max-height:none}.kg-zoom>p{margin:6px 0 0;padding:0 10px;font-size:14px}.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}.daily-choose>.text-button{min-height:44px;padding:6px 0}.daily-choose .eyebrow{margin:2px 0 6px}.daily-choose h1{margin:0 0 8px}.daily-choose .daily-art{max-height:min(24vh,200px);margin:6px 0}.sheet>.daily-choose{padding-top:0}.daily-choose>p{margin:8px 0}main.daily-page>.daily-actions,.daily-page>.onboarding-nav{z-index:3;background:var(--paper);padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin:16px -20px 0;position:sticky;bottom:0}.daily-page.panorama-inline{padding:0 0 24px}.panorama-inline>h1{margin-top:4px}.adventure-rule-one{text-align:center;background:#eef0e1;border:1px solid #d8dec8;border-radius:18px;margin:28px 0;padding:22px 18px}.adventure-rule-one strong{color:var(--teal);margin:6px 0 10px;font-family:Literata,Georgia,serif;font-size:34px;font-weight:500;display:block}.adventure-rule-one span{font-size:20px;line-height:1.4;display:block}.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}.regional-pin.world-pin{border-radius:12px;width:auto;max-width:145px;height:auto;min-height:44px;font-size:13px;line-height:16px;padding:6px 9px!important}.world-sea-name{display:block}.regional-pin:not(.world-pin){border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:96px;height:76px;font-size:12px;line-height:14px;display:flex;padding:3px!important}.regional-pin.current:not(.world-pin){height:100px}.regional-pin.current:not(.world-pin) img{flex-shrink:0;width:52px;height:52px;padding:0}.regional-place-name{overflow-wrap:normal;max-width:88px;font-size:11px;line-height:13px;display:block}.regional-pin:not(.world-pin){box-shadow:none;border-radius:0;gap:3px;background:0 0!important;border:0!important}.regional-pin:not(.world-pin)>span[aria-hidden]{color:#fff4d8;background:#214d45;border:2px solid #fff4d8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.regional-pin:not(.world-pin) .regional-place-name{color:#183f45;background:#fff8e8ed;border-radius:6px;width:96px;max-width:96px;padding:2px 4px}.regional-pin.current:not(.world-pin){outline:0}.regional-pin.current:not(.world-pin) img{background:#fff3d8;border:2px solid #b77b24;border-radius:50%;width:48px;height:48px}.regional-pin:not(.world-pin):focus-visible{outline-offset:2px;border-radius:8px;outline:3px solid #d4a93e}.world-crop{border-radius:16px}: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}.school-shortcut.text-button{z-index:5;background:var(--paper);width:100%;min-height:44px;color:var(--teal);border-bottom:1px solid var(--line);border-radius:0;margin:0;padding:8px 16px;display:block;position:sticky;top:0}.shore-actions{margin:14px 0}.shore-actions>button{width:100%;margin-top:8px}.dream-goal{align-items:center;gap:16px;margin:16px 0;display:flex}.dream-goal>img{object-fit:contain;flex:none;width:68px;height:68px}.dream-goal>div{min-width:0}.dream-goal h2{overflow-wrap:anywhere;margin:4px 0}.dream-goal p{margin:6px 0}.dream-goal small{display:block}.goal-selected{font-weight:700}.catalog-help-compact{display:none}@media (width<=499px){.catalog{margin-top:-8px}.catalog-help-full{display:none}.catalog-help-compact{display:inline}.catalog>h1{margin:8px 0;font-size:30px;line-height:1.2}.catalog>.eyebrow{margin:0 0 4px}.catalog>p:not(.eyebrow){margin:8px 0;font-size:15px;line-height:1.4}.catalog>.port-return{margin:6px 0 8px;padding:6px 0}.catalog>.port-return p{margin:5px 0;font-size:14px;line-height:1.3}.catalog>.text-button{min-height:48px;padding:10px 0;font-size:16px}.catalog>.inventory-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px 0 10px;display:grid}.catalog>.inventory-tabs button{min-height:48px;margin:0;padding:8px 4px;font-size:13px;line-height:1.2}.catalog>.daily-entry{margin:10px 0;padding:12px}.catalog>.daily-entry p{font-size:15px;line-height:1.4}}main:has(.home-screen){padding:12px 18px 88px}.app:has(.home-screen .today-cta) .school-shortcut{display:none}.home-screen .today-dock{margin:0 0 12px}.home-screen .today-cta{gap:8px;min-height:76px;padding:12px 16px}.home-screen .today-cta span{font-size:25px;line-height:1.15}.home-screen .today-cta b{white-space:nowrap;font-size:14px}.home-ship{margin:0 0 8px;position:relative}.home-ship .ship-canvas{aspect-ratio:3/2;max-height:225px}.home-ship .ship-scene{border-radius:14px}.home-ship-name{text-align:center;overflow-wrap:anywhere;margin:5px 0 0;font-size:15px;font-weight:800;line-height:1.3}.home-sea-ship{background:#d9e9e5;border:1px solid #a2b9aa;border-radius:14px;height:215px;position:relative;overflow:hidden}.home-sea-background{object-fit:cover;object-position:center;width:100%;height:100%}.home-sea-vessel{object-fit:contain;width:140px;height:170px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-main-action{width:100%;min-height:58px;padding:12px;font-size:21px}.home-main-action span,.home-main-action small{display:block}.home-main-action small{margin-top:3px;font-size:13px;font-weight:600}.home-screen .roam-entry{margin:8px 0}.home-progress{margin:8px 0;padding:8px 0;font-size:13px}.home-shore{margin:8px 0}.home-shore .eyebrow{letter-spacing:.1em;margin:0 0 4px}.home-shore h2{margin:0 0 8px;font-size:20px}.home-shore-actions{gap:8px;display:flex}.home-shore-actions button{flex:1;min-height:44px;padding:8px;font-size:14px}.home-piastres{margin:8px 0 0;font-size:13px;line-height:1.4}.home-screen .chore-status{text-align:left;min-height:44px;margin:0;padding:8px 0;font-size:14px;line-height:1.3;display:block}.chore-status-loading{margin:8px 0;font-size:13px}.home-screen .dream-goal{gap:8px;margin:8px 0;padding:8px 10px}.home-screen .dream-goal>img{width:42px;height:42px}.home-screen .dream-goal h2{margin:0 0 4px;font-size:17px}.home-screen .dream-goal p{margin:0 0 4px;font-size:12px}.home-screen .dream-goal button{min-height:44px;padding:8px 12px;font-size:14px}.home-find-details>summary{min-height:44px;color:var(--teal);cursor:pointer;padding:10px 0;font-size:14px}.home-find-details .paper{margin:8px 0}.home-goal-return{min-height:44px;margin:8px 0;font-size:14px}.goal-badge{color:var(--teal);background:#edeada;border:1px solid #b4c7b2;border-radius:9px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-height:48px;padding:3px;display:flex;position:relative}.goal-badge img{object-fit:contain;width:29px;height:29px}.goal-badge progress{width:30px;height:5px;accent-color:var(--teal)}.goal-badge small{font-size:12px;line-height:1}.app:has(.goal-badge) .header-resources{gap:10px}.app:has(.goal-badge) header{gap:12px;padding-inline:16px}.app:has(.goal-badge) header .brand{font-size:13px}.goal-badge+.resource-count{border-left:1px solid #d9dfd1;padding-left:10px}.catalog-goal{color:var(--ink);background:#eef0e1;border:1px solid #d4d6c0;border-radius:12px;align-items:center;gap:12px;min-height:52px;margin:12px 0;padding:12px;font-size:16px;display:flex}button.catalog-goal{text-align:left;width:100%}.catalog-goal img{object-fit:contain;width:48px;height:48px}.catalog-goal strong,.catalog-goal small{display:block}.catalog-goal small{margin-top:3px;font-size:13px;font-weight:600}@media (width>=500px){.home-screen .home-ship .ship-canvas{max-height:300px}.home-sea-ship{height:280px}}.home-ship .ship-scene{max-width:336px;margin:auto}.home-ship .ship-canvas{max-height:none}@media (width>=500px){.home-screen .home-ship .ship-scene{max-width:450px}.home-screen .home-ship .ship-canvas{max-height:none}}.home-screen .today-dock{background:0 0;border:0;border-radius:0;padding:0}.home-screen:has(.dream-goal) .home-ship .ship-scene{max-width:250px}.home-screen:has(.dream-goal) .home-sea-ship{height:166px}.app:has(.campaign-arena) header{min-height:52px;padding-block:4px}.app:has(.campaign-arena) .goal-badge{height:44px;min-height:44px}.app:has(.chore-screen) .school-shortcut{display:none}.app:has(.chore-screen) main{padding:12px 18px 88px}.app:has(.chore-screen) main>.back{min-height:44px;margin:0 0 10px}.chore-screen .chore-card{margin:0;padding:16px}.chore-screen h3{margin:0 0 10px;font-size:23px}.chore-screen h4{margin:10px 0 6px;font-size:17px}.chore-screen p{margin:6px 0;font-size:14px;line-height:1.4}.chore-screen .chore-agreement{margin-top:8px;padding-top:6px}.chore-screen button{min-height:44px;margin:6px 0;padding:10px 12px;font-size:14px}.today-cta.is-recorded span{font-size:21px}.app:has(.school-form) main{padding:10px 18px 110px}.app:has(.school-form) main>.back{min-height:36px;margin:0 0 2px;padding:6px 0}.school-form h1{margin:0 0 8px;font-size:27px}.day-date{background:#eef0e1;border:1px solid #c3d0c5;border-radius:10px;align-items:center;min-height:44px;margin:0 0 10px;padding:8px 13px;font-size:15px;font-weight:800;display:inline-flex;position:relative}.day-date input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.day-date:focus-within{outline:2px solid var(--teal);outline-offset:2px}.school-form fieldset{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:0;display:grid}.school-form legend{margin:0 0 8px;font-size:20px}.school-form .day-tile{align-items:center;gap:9px;min-height:60px;margin:0;padding:10px 12px;font-size:15px;line-height:1.2;display:flex;position:relative}.school-form .day-tile input{opacity:0;width:1px;height:1px;min-height:1px;position:absolute}.school-form .day-tile:focus-within{outline:2px solid var(--teal);outline-offset:2px}.school-form .day-tile:has(input:checked){background:var(--teal);border-color:var(--teal);color:#fff}.day-tile-icon{text-align:center;min-width:25px;font-size:24px}.school-form .muted{margin:0 0 8px;font-size:12px}.day-save-bar{bottom:calc(76px + env(safe-area-inset-bottom));z-index:6;background:var(--paper);width:calc(100% - 36px);max-width:544px;padding:6px 0;position:fixed;left:50%;transform:translate(-50%)}.day-save{width:100%;min-height:54px;padding:12px 8px;font-size:16px}.app main:has(.day-save-bar){padding-bottom:calc(166px + env(safe-area-inset-bottom))}.day-english{background:#eef0e1;border:1px solid #d8dec8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin:0 0 6px;padding:10px 12px;display:flex}.day-english strong{font-size:16px}.day-english small{margin-top:3px;font-size:11px;display:block}.day-english button{min-height:44px;margin:0;padding:10px 8px;font-size:13px}.day-english p{width:100%;margin:3px 0;font-size:12px;line-height:1.3}.day-history{margin-top:4px;font-size:13px}.day-history>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.school-form .day-conflict{margin:8px 0;padding:10px;font-size:13px}.school-form .day-conflict h2{margin:0 0 8px;font-size:19px}.school-form .day-conflict p{margin:6px 0;line-height:1.3}.school-form .day-conflict button{min-height:44px;padding:8px;font-size:12px}.day-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.day-heading h1{margin:0;font-size:25px}.day-heading .day-date{margin:0;padding:8px 10px;font-size:13px}.day-english>div{flex:1;min-width:0}.day-english>button{flex-shrink:0;width:124px}.school-form:has(.day-conflict) fieldset{display:none}.school-form:has(.day-conflict) .day-english{display:none}.school-form:has(.day-conflict) .day-history{display:none}.app:has(.shop-catalog) main{padding:14px 18px 88px}.shop-catalog h1{margin:0 0 12px;font-size:29px}.shop-port{margin:8px 0;font-size:13px}.shop-tabs,.shop-chips{gap:6px;margin:10px 0;display:flex}.shop-tabs button,.shop-chips button{min-height:44px;color:var(--ink);background:0 0;border:1px solid #b6cabb;flex:1;padding:8px 6px;font-size:13px}.shop-tabs [aria-pressed=true],.shop-chips [aria-pressed=true]{background:var(--teal);color:#fff}.shop-chips button{font-size:12px}.shop-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.shop-tile{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#fffdf6;grid-template-rows:64px minmax(28px,auto) 16px minmax(28px,auto);gap:3px;padding:10px;display:grid}.shop-tile .art,.shop-tile .art-missing{object-fit:contain;width:100%;height:64px;min-height:0}.shop-tile strong{font-size:13px;line-height:1.1}.shop-tile b{font-size:12px}.shop-tile small{font-size:11px;font-weight:400;line-height:1.2}.shop-future h2{margin:18px 0 10px;font-size:20px}.shop-future .shop-tile{color:#617269;background:#edf0e8}.shop-future .art{opacity:.65}.shop-personal{margin:8px 0;font-size:14px}.shop-personal summary{min-height:44px}.shop-personal button{min-height:44px;display:block}.shop-product.sheet{max-height:calc(100dvh - 92px);padding:12px 18px 18px}.shop-product .product-hero{margin:0}.shop-product .product-hero .art{object-fit:contain;max-width:130px;height:100px;margin:auto}.shop-product h2{margin:8px 0;font-size:23px}.shop-product p{margin:8px 0;font-size:13px;line-height:1.35}.shop-product button{min-height:44px;margin-top:6px;padding:10px;font-size:14px}.shop-product summary{align-items:center;min-height:44px;font-size:14px;display:flex}.shop-product .purchase-price{margin:8px 0;padding:8px 0;font-size:13px}.shop-product .purchase-actions{background:var(--paper);padding:8px 0;position:sticky;bottom:-18px}.shop-product .product-try{margin:4px 0}.app:has(.shop-catalog) .school-shortcut{display:none}.shop-tile{grid-template-rows:48px 28px 14px 24px;gap:2px;padding:6px}.shop-tile .art,.shop-tile .art-missing{height:48px}.shop-tile strong,.shop-tile small{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shop-tile strong{line-height:14px}.shop-tile small{line-height:12px}.shop-catalog .shop-tile{grid-template-rows:40px 28px 14px 24px;padding:4px}.shop-catalog .shop-tile .art,.shop-catalog .shop-tile .art-missing{height:40px}.shop-catalog .shop-grid{gap:6px}.shop-product .product-art-zoom{background:0 0;width:140px;height:100px;min-height:100px;margin:auto;padding:0;display:block}.app:has(.shore-screen) .school-shortcut{display:none}.shore-screen h1{margin:0 0 12px;font-size:29px}.shore-screen .eyebrow{margin:4px 0}.shore-actions{flex-direction:column;gap:8px;display:flex}.shore-actions button{min-height:44px;padding:10px}.shore-screen>.art{object-fit:contain;height:280px;margin:12px auto}.shore-screen details{margin:10px 0}.shore-screen summary{min-height:44px}.app:has(.map-screen) .school-shortcut{display:none}.app:has(.map-screen) main{padding:12px 18px 88px}.map-screen>.eyebrow{display:none}.map-screen h1{margin:0 0 8px;font-size:29px}.map-screen .sea-selector{margin:0}.map-screen select{min-height:44px;margin:0 0 6px;padding:8px}.map-screen .regional-map-plate{margin:8px 0}.map-screen .regional-map-plate>img{object-fit:fill;height:390px}.map-screen .regional-map>.muted{margin:6px 0;font-size:12px}.map-screen .regional-map>button{min-height:44px;padding:8px;font-size:14px}.map-screen .regional-map>details{margin:8px 0}.map-screen summary{min-height:44px;font-size:14px}.map-screen .open-shores{margin:6px 0}.map-screen .regional-map-plate{max-width:270px;margin:8px auto}.map-screen .regional-map-plate>img{height:360px}.map-screen .world-pin{max-width:110px;font-size:12px}.shop-product section[aria-label="Примерка парусов мечты"]>.ship-scene{max-width:270px;margin:6px auto 8px}.app:has(.shore-screen) main{padding:12px 18px 88px}.app:has(.shore-screen) main>.back{min-height:44px;margin:0 0 8px;padding:8px 0}.shore-actions button{margin:0}.shore-screen>.art{height:240px;margin:10px auto}nav button{padding:4px 1px;font-size:13px}nav button span{margin-bottom:1px;font-size:22px}a.brand{align-items:center;min-height:44px;display:inline-flex}.back{min-height:44px}.app:has(.school-form) main>.back{min-height:44px}.eyebrow{letter-spacing:.08em;font-size:13px}.today-cta small{letter-spacing:.06em;font-size:13px}.home-screen .today-cta b{font-size:17px}.today-cta b{font-weight:800}.today-cta:not(.is-recorded) b{font-size:38px;font-weight:400;line-height:1}.school-shortcut.text-button{background:var(--paper);border-bottom:0;justify-content:flex-end;align-items:center;gap:6px;padding:6px 16px;font-size:15px;display:flex}.school-shortcut.text-button span{background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;display:inline-grid}.shop-chips button,.shop-catalog .shop-chips button{white-space:nowrap;padding:8px 4px;font-size:14px}.shop-tile,.shop-catalog .shop-tile{grid-template-rows:48px 2.5em auto 2.6em;align-content:start;gap:3px;padding:8px}.shop-tile strong,.shop-catalog .shop-tile strong{font-size:14px;line-height:1.25}.shop-tile b,.shop-catalog .shop-tile b{font-size:15px}.shop-tile small,.shop-catalog .shop-tile small{font-size:14px;line-height:1.3}.shop-tile .art,.shop-catalog .shop-tile .art,.shop-tile .art-missing,.shop-catalog .shop-tile .art-missing{height:48px}.shop-tile small.shop-owned{color:var(--teal);grid-row:3/span 2;font-weight:800}.shop-future>summary{cursor:pointer;align-items:center;min-height:44px;font-family:Literata,Georgia,serif;font-size:20px;display:flex}.album-entry b,.list-row>b{font-size:14px}.day-date,.school-form .day-date{font-size:16px}.day-english small{font-size:13px}.day-english button{white-space:normal;max-width:48%;font-size:15px}.school-form .muted{font-size:14px}.kg-task-meta>span{font-size:13px}@media (width<=400px){h1,.daily-page h1{font-size:30px}}.catalog-goal-hint{color:#4f6a63;margin:4px 0 10px;font-size:15px;line-height:1.35}.story>.eyebrow{margin:2px 0 6px}.story>h1{margin:0 0 10px}.story .hero{aspect-ratio:auto;object-fit:cover;width:100%;height:min(30dvh,240px)}.story-text{margin-top:12px;scroll-margin-top:64px;font-size:18px;line-height:1.55}.active-voyage>button{bottom:calc(80px + env(safe-area-inset-bottom));z-index:3;background:var(--teal);color:#fff;border:0;order:0;min-height:52px;position:sticky;box-shadow:0 4px 14px #12373a33}.day-chore .day-chore-check{color:#1c7850;padding:0 8px;font-size:24px;font-weight:900}.map-screen .world-crop{width:100%;max-width:520px;margin:8px auto}.map-screen .world-crop .regional-map-plate{width:100%;max-width:none;margin:0}.map-screen .world-crop .regional-map-plate>img{width:100%;height:auto}
