@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{color:#eafff9;font-synthesis:none;--mint:#72f5cb;--acid:#d8ff57;--line:#b6ffe92e;background:#07110f;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% 25%,#15332b 0,#07110f 48%,#030706 100%);min-width:320px;min-height:100svh;margin:0}button{font:inherit}button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}#app{text-align:left;border:0;width:100%;min-height:100svh;margin:0;display:block}.home-shell,.game-shell,.result-shell{flex-direction:column;width:min(100% - 32px,760px);min-height:100svh;margin:0 auto;padding:36px 0 24px;display:flex}.brand-lockup{align-items:flex-start;gap:18px;padding:18px 0 42px;display:flex}.brand-mark{border:2px solid var(--mint);border-radius:50%;flex:none;width:42px;height:42px;position:relative}.brand-mark:before,.brand-mark:after{content:"";border:1px solid var(--mint);border-radius:50%;position:absolute;inset:7px}.brand-mark:after{background:var(--acid);border:0;inset:14px}.eyebrow{letter-spacing:2px;color:var(--mint);margin:0 0 7px;font:600 12px/1 Barlow Condensed,sans-serif}h1{letter-spacing:0;color:#eafff9;margin:0;font:800 clamp(52px,10vw,82px)/.78 Barlow Condensed,sans-serif}.section-heading{border-bottom:1px solid var(--line);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.section-heading span{color:var(--mint);font:700 12px Barlow Condensed,sans-serif}.section-heading h2{color:#eafff9;letter-spacing:0;margin:0;font:700 14px Noto Sans JP,sans-serif}.mode-panel{margin-bottom:30px}.mode-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mode-card{text-align:left;color:#b4c9c2;border:1px solid var(--line);cursor:pointer;background:#10211db3;border-radius:6px;grid-template-rows:1fr auto;grid-template-columns:56px 1fr;column-gap:15px;min-height:126px;padding:18px;display:grid}.mode-card.active{color:#06110e;background:var(--mint);border-color:var(--mint)}.mode-card:disabled{opacity:.48;cursor:not-allowed}.mode-card strong{align-self:end;font:800 30px Barlow Condensed,sans-serif}.mode-card small{grid-column:2;font-size:11px}.mode-icon{grid-row:1/3;align-self:center;place-items:center;width:50px;height:50px;display:grid}.ripple-icon{border:2px solid;border-radius:50%;box-shadow:inset 0 0 0 10px #0000,inset 0 0 0 11px}.boat-icon{font-size:34px;rotate:90deg}.difficulty-panel{margin-bottom:24px}.difficulty-list{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.difficulty-list button{color:#9db4ac;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;min-height:48px;position:relative}.difficulty-list button.selected{color:#07110f;background:var(--acid);border-color:var(--acid);font-weight:700}.difficulty-list em{color:#07110f;background:#ff785e;padding:1px 5px;font-size:10px;font-style:normal;position:absolute;top:-8px;right:-5px}.spawn-panel{margin-bottom:28px}.spawn-rule-list{grid-template-columns:1fr 1fr;gap:7px;display:grid}.spawn-rule-list button{color:#9db4ac;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:58px;padding:9px 14px;display:flex}.spawn-rule-list button.selected{color:#07110f;background:var(--mint);border-color:var(--mint)}.spawn-rule-list strong{font-size:13px}.spawn-rule-list small{opacity:.72;margin-top:3px;font-size:10px}.life-panel{margin-bottom:28px}.life-status{background:linear-gradient(110deg,#ff7a9d17,#07110fb3);border:1px solid #ff7a9d61;grid-template-columns:54px 1fr auto;align-items:center;gap:13px;min-height:88px;padding:13px 15px;display:grid}.life-icon{color:#ff7a9d;clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);border:1px solid #ff7a9d80;place-items:center;width:54px;height:54px;display:grid}.life-icon svg{width:30px;height:30px}.life-status div{flex-direction:column;display:flex}.life-status small{color:#8ca39b;letter-spacing:1px;font:600 10px Barlow Condensed,sans-serif}.life-status strong{color:#ff9ab4;font:800 38px/1 Barlow Condensed,sans-serif}.life-status button{color:#07110f;cursor:pointer;background:#ff9ab4;border:0;min-height:42px;padding:0 15px;font-size:11px;font-weight:700}.life-expiry{color:#a7bdb6;margin:7px 0 0;font-size:10px}.life-warning{color:#718a82;border-left:2px solid #ff9ab4;margin:6px 0 0;padding-left:10px;font-size:10px;line-height:1.7}.achievement-panel{margin-bottom:28px}.achievement-heading b{color:var(--acid);margin-left:auto;font:700 13px Barlow Condensed,sans-serif}.achievement-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.achievement-item{--rarity:#8ba099;border:1px solid color-mix(in srgb, var(--rarity) 30%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--rarity) 7%, transparent), #07110fc2);grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;min-height:86px;padding:11px 12px;display:grid;position:relative;overflow:hidden}.achievement-item:after{content:"";border:1px solid color-mix(in srgb, var(--rarity) 20%, transparent);border-radius:50%;width:74px;height:74px;position:absolute;inset:auto -18px -34px auto}.achievement-icon{width:50px;height:50px;color:var(--rarity);border:1px solid color-mix(in srgb, var(--rarity) 46%, transparent);background:color-mix(in srgb, var(--rarity) 8%, #07110f);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);place-items:center;display:grid}.achievement-icon svg{width:27px;height:27px}.achievement-item div{flex-direction:column;min-width:0;display:flex}.achievement-item strong{color:#c8d8d3;font-size:12px}.achievement-item small{color:#718a82;margin-top:3px;font-size:9px;line-height:1.45}.achievement-item>b{color:#647a73;white-space:nowrap;font-size:9px}.achievement-item.locked{filter:saturate(.35)}.achievement-item.locked .achievement-icon{opacity:.48}.achievement-item.unlocked{box-shadow:inset 3px 0 0 var(--rarity), 0 0 24px color-mix(in srgb, var(--rarity) 7%, transparent)}.achievement-item.unlocked strong,.achievement-item.unlocked>b{color:var(--rarity)}.rarity-common{--rarity:#9db4ac}.rarity-rare{--rarity:#72f5cb}.rarity-epic{--rarity:#66a8ff}.rarity-legendary{--rarity:#ffd75e}.rarity-mythic{--rarity:#ff7a9d}.achievement-loading{color:#718a82;border:1px solid var(--line);text-align:center;grid-column:1/-1;margin:0;padding:18px;font-size:11px}.collection-button{width:100%;min-height:42px;color:var(--mint);border:1px solid var(--line);cursor:pointer;background:#72f5cb0a;justify-content:space-between;align-items:center;margin-top:7px;padding:0 12px 0 16px;font-size:11px;display:flex}.collection-button b{font-size:18px}.collection-dialog{color:#eafff9;background:#07110f;border:1px solid #72f5cb59;width:min(960px,100% - 32px);max-height:calc(100svh - 32px);padding:0}.collection-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#010504d6}.quiz-dialog{color:#eafff9;background:#07110f;border:1px solid #ff7a9d80;width:min(100% - 32px,560px);max-height:calc(100svh - 32px);padding:0}.quiz-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#010504db}.quiz-shell{padding:26px}.quiz-shell>header{grid-template-columns:46px 1fr 44px;align-items:center;gap:12px;margin-bottom:24px;display:grid}.quiz-shell>header>span{color:#ff9ab4;border:1px solid #ff7a9d80;place-items:center;width:46px;height:46px;display:grid}.quiz-shell>header svg{width:25px;height:25px}.quiz-shell>header h2{color:#eafff9;margin:0;font-size:20px}.quiz-shell .eyebrow{color:#ff9ab4}.quiz-question{min-height:58px;margin:0 0 18px;font-size:18px;font-weight:700;line-height:1.65}.quiz-choices{gap:8px;display:grid}.quiz-choices button{color:#dbece7;border:1px solid var(--line);text-align:left;cursor:pointer;background:#10211db8;grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:58px;padding:8px 13px;display:grid}.quiz-choices button:hover{background:#ff7a9d14;border-color:#ff9ab4}.quiz-choices b{color:#ff9ab4;border:1px solid #ff7a9d73;place-items:center;width:26px;height:26px;font:700 13px Barlow Condensed,sans-serif;display:grid}.quiz-caption{color:#718a82;text-align:center;margin:14px 0 0;font-size:10px}.quiz-feedback{margin:-10px 0 15px;padding:9px 11px;font-size:11px}.quiz-feedback.wrong{color:#ffd75e;background:#ffd75e0f;border:1px solid #ffd75e59}.quiz-loading,.quiz-error{color:#8ca39b;text-align:center;margin:0;padding:36px 10px}.quiz-success{text-align:center;padding:16px 0 22px}.quiz-success>span{color:#ff9ab4;clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);border:1px solid #ff7a9d;place-items:center;width:76px;height:76px;margin:0 auto 17px;display:grid}.quiz-success svg{width:40px;height:40px}.quiz-success h2{color:#eafff9;margin:4px 0 10px;font-size:24px}.quiz-success strong{color:#ff9ab4;font:800 44px Barlow Condensed,sans-serif}.quiz-success p:last-child{color:#8ca39b;margin:8px 0 0;font-size:11px}.quiz-actions{gap:8px;display:grid}.quiz-actions .start-button{margin-top:0}.start-error{color:#ff9ab4;text-align:center;min-height:18px;margin:7px 0 0;font-size:10px}.start-button:disabled,.quiz-choices button:disabled{opacity:.5;cursor:wait}.collection-shell{padding:28px}.collection-shell>header{justify-content:space-between;align-items:flex-start;padding-bottom:20px;display:flex}.collection-shell>header h2{color:#eafff9;margin:0;font:800 40px/1 Barlow Condensed,sans-serif}.collection-shell>header span{color:#718a82;letter-spacing:1px;font:600 11px Barlow Condensed,sans-serif}.collection-progress{background:#b6ffe91a;height:3px;margin-bottom:24px;overflow:hidden}.collection-progress i{background:linear-gradient(90deg, var(--mint), var(--acid));height:100%;display:block}.collection-grid{grid-template-columns:repeat(3,1fr)}.secret-note{color:#718a82;text-align:center;margin:22px 0 0;font-size:10px}.start-button{color:#07110f;background:var(--acid);cursor:pointer;border:0;border-radius:4px;justify-content:space-between;align-items:center;width:100%;min-height:62px;margin-top:auto;padding:0 10px 0 23px;font-weight:700;display:flex}.start-button b{width:42px;height:42px;color:var(--acid);background:#07110f;place-items:center;font-size:22px;display:grid}footer{color:#6f8880;letter-spacing:1px;justify-content:space-between;padding-top:14px;font:600 11px Barlow Condensed,sans-serif;display:flex}.game-shell{width:min(100% - 24px,760px)}.game-header{grid-template-columns:44px 1fr auto;align-items:center;gap:14px;margin-bottom:20px;display:grid}.icon-button{color:#d8eee7;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:44px;height:44px;font-size:24px}.game-header div:nth-child(2){flex-direction:column;display:flex}.game-header span,.score-line span{color:var(--mint);letter-spacing:1.4px;font:600 11px Barlow Condensed,sans-serif}.game-header strong{font-size:13px}.counter{background:0 0;border:0;align-items:baseline;margin:0;padding:0;display:flex}.counter span{color:#fff;letter-spacing:0;font:700 32px Barlow Condensed,sans-serif}.counter small{color:#718a82}.score-line{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.score-line strong{color:var(--acid);font:700 clamp(32px,8vw,52px) Barlow Condensed,sans-serif}.stage-wrap{aspect-ratio:1;touch-action:none;background-color:#091915;background-image:linear-gradient(#72f5cb09 1px,#0000 1px),linear-gradient(90deg,#72f5cb09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #72f5cb52;width:min(100%,680px);margin:0 auto;position:relative;overflow:hidden}#stage{cursor:crosshair;width:100%;height:100%;display:block}.boat-game #stage{cursor:crosshair}#hit-score{opacity:0;pointer-events:none;color:var(--acid);text-shadow:0 2px 10px #000;font:800 22px Barlow Condensed,sans-serif;position:absolute;top:0;left:0}#hit-score.pop{animation:4.5s ease-out forwards score-pop}@keyframes score-pop{0%,56%{opacity:1;transform:translate(-50%,-20%)}to{opacity:0;transform:translate(-50%,-125%)}}.game-note{text-align:center;color:#718a82;margin:14px 0 0;font-size:12px}.boat-telemetry{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);width:min(100%,680px);margin:9px auto 0;display:grid}.boat-telemetry span{color:#718a82;letter-spacing:1px;justify-content:space-between;align-items:center;min-height:32px;padding:6px 10px;font:600 10px Barlow Condensed,sans-serif;display:flex}.boat-telemetry span+span{border-left:1px solid var(--line)}.boat-telemetry b{color:var(--mint);letter-spacing:0;font-size:14px}.touch-guide{display:none}.result-shell{text-align:center;align-items:center;padding-top:48px}.result-shell h1{font-size:70px}.result-score{flex-direction:column;margin:34px 0 24px;display:flex}.result-score span,.result-score small{color:var(--mint);letter-spacing:2px;font:600 12px Barlow Condensed,sans-serif}.result-score strong{max-width:100%;color:var(--acid);overflow-wrap:anywhere;font:800 clamp(42px,12vw,80px)/1 Barlow Condensed,sans-serif}.hit-list{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;width:min(100%,480px);margin:0 0 28px;padding:0;list-style:none;display:grid}.hit-list li{background:#0b1815;justify-content:space-between;padding:10px 14px;font:600 13px Barlow Condensed,sans-serif;display:flex}.hit-list span{color:#779087}.achievement-unlock{color:#eafff9;border:1px solid var(--acid);text-align:left;background:#0b1815;width:min(100%,480px);margin:0 0 28px;padding:16px}.achievement-unlock>span{color:var(--acid);letter-spacing:1px;font:700 10px Barlow Condensed,sans-serif}.achievement-unlock article{--rarity:var(--acid);grid-template-columns:58px 1fr;align-items:center;gap:12px;margin-top:12px;display:grid}.achievement-unlock article+article{border-top:1px solid var(--line);padding-top:12px}.achievement-unlock i{width:58px;height:58px;color:var(--rarity);border:1px solid var(--rarity);clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);place-items:center;display:grid}.achievement-unlock svg{width:32px;height:32px}.achievement-unlock h2{color:var(--rarity);margin:0 0 3px;font-size:22px}.achievement-unlock p{color:#9db4ac;margin:0;font-size:11px;line-height:1.6}.ranking-panel{text-align:left;width:min(100%,480px);margin-bottom:28px}.ranking-heading{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;margin-bottom:8px;padding-bottom:9px;display:grid}.ranking-heading span{color:var(--mint);letter-spacing:1px;font:600 10px Barlow Condensed,sans-serif}.ranking-heading h2{color:#eafff9;margin:0;font-size:14px}.ranking-heading small{color:#718a82;font-size:10px}.ranking-list{margin:0;padding:0;list-style:none}.ranking-list li{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:8px;min-height:38px;padding:7px 10px;font-size:12px;display:grid}.ranking-list li.current{color:#07110f;background:var(--acid)}.ranking-list li b{font:700 18px Barlow Condensed,sans-serif}.ranking-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ranking-list li strong{font:700 16px Barlow Condensed,sans-serif}.ranking-status{color:#718a82;border:1px solid var(--line);text-align:center;margin:0;padding:18px;font-size:12px}.result-shell .start-button{max-width:480px;margin-top:0}.text-button{color:#91aaa2;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:12px}@media (width<=560px){.home-shell{padding-top:20px}.brand-lockup{padding-bottom:28px}.mode-card{grid-template-columns:42px 1fr;column-gap:9px;min-height:112px;padding:13px}.mode-icon{width:38px;height:38px}.mode-card strong{font-size:24px}.mode-card small{font-size:9px}.difficulty-list{grid-template-columns:repeat(3,1fr)}.difficulty-list button:last-child{grid-column:span 2}.achievement-grid{grid-template-columns:1fr}.achievement-preview .achievement-item:nth-child(n+5){display:none}.life-status{grid-template-columns:48px 1fr auto;padding:11px}.life-icon{width:48px;height:48px}.life-status button{padding:0 10px}.quiz-dialog{border:0;width:100%;max-width:none;height:100svh;max-height:none}.quiz-shell{padding:20px 16px 28px}.collection-dialog{border:0;width:100%;max-width:none;height:100svh;max-height:none}.collection-shell{padding:20px 16px 32px}.collection-grid{grid-template-columns:1fr}.game-shell{padding-top:16px}.game-header{margin-bottom:10px}.hit-list{grid-template-columns:1fr}}@media (pointer:coarse){.boat-game #stage{cursor:default}.mouse-guide{display:none}.touch-guide{display:inline}}@media (prefers-reduced-motion:reduce){@keyframes score-pop{0%,56%{opacity:1;transform:translate(-50%,-20%)}to{opacity:0;transform:translate(-50%,-20%)}}}
