.boat-page,.boat-page *,.boat-page *:before,.boat-page *:after{box-sizing:border-box}.boat-page h1,.boat-page p{margin:0}.boat-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;color:#254f59;background:#cce8ed;font-family:PingFang SC,Microsoft YaHei,sans-serif;--boat-ink: #254f59}.boat-canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.boat-canvas canvas{display:block;width:100%;height:100%;outline:none;cursor:grab}.boat-canvas canvas:active{cursor:grabbing}.boat-header{position:absolute;top:34px;left:44px;right:44px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:3}.boat-brand{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:17px;font-weight:600;letter-spacing:3px;pointer-events:auto}.boat-brand>span{white-space:nowrap}.boat-weather{position:relative;font-size:12px;letter-spacing:.5px;pointer-events:auto}.boat-weather-trigger{display:flex;align-items:center;gap:9px;font-size:inherit;padding:8px 0 8px 8px}.boat-weather-dot{width:6px;height:6px;background:#5b9692;border-radius:50%}.boat-weather-details{position:absolute;top:40px;right:0;width:min(320px,calc(100vw - 40px));background:#f4fcf9f5;border:1px solid #ffffffb3;padding:22px;border-radius:16px;box-shadow:0 10px 40px #24545c1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);line-height:1.6}.boat-weather-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.boat-weather-heading button{font-size:24px;line-height:1}.boat-weather-now{font-size:36px}.boat-weather-now span{font-size:13px}.boat-weather-wind{font-size:10px;opacity:.7}.boat-forecast-days{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;padding:16px 0;border-top:1px solid #254f591a;border-bottom:1px solid #254f591a}.boat-forecast-days>div{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px}.boat-forecast-days small{font-size:10px;opacity:.65}.boat-weather-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}.boat-weather-actions button{font-size:11px;text-decoration:underline;text-underline-offset:4px;padding:3px 0}.boat-weather-actions button:disabled{opacity:.5;cursor:wait}.boat-weather-message{margin-top:12px!important;font-size:11px}.boat-weather-source{display:inline-block;font-size:9px;margin-top:16px;color:inherit;opacity:.6}.boat-intro{position:absolute;left:7%;top:23%;pointer-events:none}.boat-intro h1{font-family:Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(46px,5.1vw,78px);line-height:1.35;font-weight:500;letter-spacing:5px;margin:0 0 24px}.boat-intro p{font-size:13px;line-height:2.1;letter-spacing:2px;opacity:.7}.boat-intro .boat-song-credit{margin-top:22px;font-size:10px;letter-spacing:1px;opacity:.6}.boat-music{position:absolute;right:5%;top:42%;width:min(320px,25vw);color:inherit}.boat-lyrics{min-height:122px;display:flex;flex-direction:column;justify-content:center;gap:12px}.boat-lyrics p{line-height:1.65;overflow-wrap:anywhere}.boat-lyric-context{font-size:12px;opacity:.45;letter-spacing:1px}.boat-lyric-current{font-family:Songti SC,STSong,serif;font-size:20px;letter-spacing:1px}.boat-music-player{display:flex;align-items:center;gap:12px;margin-top:22px}.boat-music-toggle{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid currentColor!important;border-radius:50%}.boat-music-track{flex:1;min-width:0}.boat-music-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3px 8px;font-size:10px;opacity:.8}.boat-music-caption>span:last-child{font-variant-numeric:tabular-nums}.boat-music-track input{display:block;width:100%;height:26px;margin:0;accent-color:#367982;cursor:pointer;touch-action:none}.boat-music-toggle:disabled{opacity:.45;cursor:wait}.boat-music-error{margin-top:10px!important;font-size:11px}.boat-bottom{position:absolute;bottom:30px;left:44px;right:44px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;pointer-events:none}.boat-bottom .boat-controls{grid-column:2}.boat-bottom .boat-note{grid-column:3;justify-self:end}.boat-controls{display:flex;align-items:center;gap:21px;padding:17px 22px;background:#f3fcfacc;border:1px solid rgba(255,255,255,.65);border-radius:20px;box-shadow:0 7px 30px #1f657015;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.boat-wind{display:flex;flex-direction:column;gap:7px;width:130px;font-size:11px;line-height:1.5}.boat-wind>span{display:flex;justify-content:space-between}.boat-wind strong{font-weight:400;opacity:.65}.boat-wind input{width:100%;height:4px;accent-color:#367982;cursor:pointer}.boat-control-divider{width:1px;height:32px;background:#254f591a}.boat-page button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--boat-ink);cursor:pointer;font-family:inherit}.boat-icon-button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:33px;font-size:10px}.boat-icon-button>span:first-child{font-size:24px;line-height:1;height:25px}.boat-icon-button>.boat-play-icon{font-size:20px}.boat-reset{font-size:26px;line-height:1;padding:8px}.boat-page button:hover{color:#078b92}.boat-page :focus-visible{outline:2px solid #286873;outline-offset:6px;border-radius:3px}.boat-note{font-size:11px;letter-spacing:2px;opacity:.7}.boat-page--sunset{color:#694f49;--boat-ink: #694f49}.boat-page--sunset .boat-controls{background:#fff2e2cc}.boat-page--sunset .boat-weather-details{background:#fff2e2f5}.boat-error{position:absolute;top:45%;left:50%;transform:translate(-50%);width:min(90%,400px);background:#f6fcfa;padding:24px;border-radius:12px;font-size:14px}@media (max-width: 900px){.boat-music{top:auto;bottom:165px;left:25px;right:25px;width:auto;text-align:center}.boat-lyrics{min-height:90px;gap:5px}.boat-lyric-current{font-size:17px}.boat-lyric-context{font-size:11px}.boat-music-player{max-width:330px;margin:14px auto 0;text-align:left}.boat-intro{left:6%;top:18%}.boat-intro h1{font-size:52px}.boat-header{left:25px;right:25px;top:25px}.boat-bottom{left:25px;right:25px;display:flex;justify-content:center;gap:15px}.boat-note{display:none}}@media (max-width: 540px){.boat-music{bottom:max(166px,calc(env(safe-area-inset-bottom) + 142px))}.boat-lyrics{min-height:78px}.boat-music-player{margin-top:10px}.boat-music-toggle{width:32px;height:32px;flex-basis:32px}.boat-intro{top:14%;left:27px}.boat-intro h1{font-size:39px;line-height:1.3;letter-spacing:3px;margin-bottom:13px}.boat-intro p{font-size:11px;letter-spacing:1px}.boat-brand{font-size:14px;letter-spacing:2px;gap:8px}.boat-brand svg{width:26px}.boat-weather{font-size:10px}.boat-bottom{bottom:max(24px,env(safe-area-inset-bottom));left:16px;right:16px}.boat-controls{gap:15px;padding:15px 18px;border-radius:17px}.boat-wind{width:106px}}@media (max-height: 650px) and (max-width: 900px){.boat-lyric-context{display:none}.boat-lyrics{min-height:28px}.boat-music{bottom:155px}.boat-intro{top:16%}.boat-intro h1{font-size:30px;margin-bottom:8px}.boat-intro .boat-song-credit{margin-top:8px}}.boat-model-status{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);padding:18px 24px;border-radius:16px;background:#f3fcfae6;text-align:center;font-size:13px;box-shadow:0 6px 30px #24545c10}.boat-model-status span{display:block;margin-top:7px;font-size:10px;opacity:.6}.boat-model-status button{margin-left:8px;text-decoration:underline;text-underline-offset:3px}.boat-controls-zone{left:0;right:0;bottom:0;min-height:124px;padding:20px 44px 30px;align-items:end;pointer-events:auto}.boat-controls-zone .boat-controls{visibility:hidden;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s}.boat-controls-zone:hover .boat-controls,.boat-controls-zone:focus-within .boat-controls{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.boat-controls-zone .boat-note{pointer-events:none}@media (max-width: 900px){.boat-controls-zone{padding:20px 16px max(24px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion: reduce){.boat-controls-zone .boat-controls{transition:none}}.boat-page--embedded .boat-note{position:absolute;right:44px;bottom:210px}.boat-page--embedded .boat-brand{display:none}.boat-page--embedded .boat-header{top:84px;justify-content:flex-end}.boat-page--embedded .boat-controls-zone{min-height:184px;padding-bottom:94px}.boat-page--embedded .boat-canvas,.boat-page--embedded .boat-canvas canvas{touch-action:pan-y!important}@media (max-width: 540px){.boat-page--embedded .boat-header{top:74px}.boat-page--embedded .boat-intro{top:19%}}
