 .hero{background:linear-gradient(var(--sky) 0,var(--sky) 1px,var(--photic) 1px);padding:0}.stage-wrap{width:100%}.stage{position:relative;width:100%;height:min(calc(100svh - var(--head)),640px);min-height:560px;overflow:hidden;--sky-h:104px;background:linear-gradient(var(--sky) 0 var(--sky-h),var(--photic) var(--sky-h) 100%);isolation:isolate}@media(min-width:720px){.stage{--sky-h:136px}}@media(min-width:1100px){.stage{height:620px}.stage .v-lobby{padding-left:max(120px,calc((100% - 1160px)/2 + 24px));padding-right:max(40px,calc((100% - 1160px)/2 + 24px))}.stage .v-dive{padding-inline:max(0px,calc((100% - 1080px)/2))}.stage .gear{right:max(16px,calc((100% - 1160px)/2 + 24px))}.stage .settings{right:max(16px,calc((100% - 1160px)/2 + 24px))}}.stage[data-state=dive],.stage[data-state=fb],.stage[data-state=result]{background:linear-gradient(var(--photic),var(--twilight))}.stage[data-state=lobby][data-mode=topic]{height:auto;min-height:min(calc(100svh - var(--head)),640px);overflow:visible}.stage[data-state=lobby][data-mode=topic] .v-lobby{position:relative;inset:auto;min-height:inherit;padding-bottom:28px}.stage[data-state=lobby][data-mode=topic] .ocean{min-height:100%}@media(min-width:1100px){.stage[data-state=lobby][data-mode=topic]{min-height:620px}}.ocean{position:absolute;inset:0;z-index:0;transition:transform .8s cubic-bezier(.2,.7,.2,1);overflow:hidden}.stage:not([data-state=lobby]) .ocean{transform:translateY(-100%)}.o-clouds{position:absolute;left:0;top:0;width:100%;height:calc(var(--sky-h) - 6px);opacity:.9}.boat{position:absolute;left:62%;top:calc(var(--sky-h) - 64px);width:104px;height:70px;animation:bob 6s ease-in-out infinite;z-index:1}@media(max-width:719px){.boat{left:60%;width:78px;height:52px;top:calc(var(--sky-h) - 48px)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}.o-surface{position:absolute;left:-24px;right:-24px;top:var(--sky-h);height:6px;background:repeating-linear-gradient(90deg,rgba(232,241,242,.55) 0 14px,transparent 14px 40px);animation:drift 40s ease-in-out infinite alternate}.o-surface::after{content:"";position:absolute;left:20px;right:0;top:12px;height:4px;background:repeating-linear-gradient(90deg,rgba(232,241,242,.22) 0 10px,transparent 10px 34px)}@keyframes drift{from{transform:translateX(0)}to{transform:translateX(24px)}}.fish{position:absolute;width:30px;height:15px;left:0;animation:swim 70s linear infinite;opacity:.8}.fish.a{top:46%}.fish.b{top:62%;animation-duration:55s;animation-delay:-22s;width:24px;height:12px}.fish.c{top:78%;animation-duration:90s;animation-delay:-48s;width:36px;height:18px}@keyframes swim{from{transform:translateX(-60px)}to{transform:translateX(calc(100vw + 60px))}}.o-floor{position:absolute;left:0;bottom:0;width:100%;height:60px}.view{position:absolute;inset:0;z-index:2;display:none}.stage[data-state=lobby] .v-lobby,.stage[data-state=dive] .v-dive,.stage[data-state=fb] .v-fb,.stage[data-state=result] .v-result{display:flex}.stage.intro .lobby-in{animation:sinkin .6s cubic-bezier(.2,.7,.2,1) both}@keyframes sinkin{from{transform:translateY(-28px);opacity:0}to{transform:none;opacity:1}}.v-lobby{flex-direction:column;justify-content:center;padding:var(--sky-h) 20px 16px}@media(min-width:720px){.v-lobby{padding:var(--sky-h) 40px 24px}}.lobby-in{max-width:880px}.display{font:400 var(--fs-disp)/1.15 var(--mono);color:var(--foam);margin:0}.tag{margin-top:8px;color:var(--foam);opacity:.92;font-size:17px;max-width:44ch}.modes{display:grid;gap:10px;margin:22px 0 18px;border:0;padding:0}@media(min-width:720px){.modes{grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 22px}}.mode{position:relative}.mode input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;width:100%;height:100%}.mode .card{display:grid;gap:2px;padding:12px 16px;min-height:64px;background:rgba(2,13,23,.55);border:1px solid var(--line);border-radius:var(--r);transition:border-color .12s}@media(min-width:720px){.mode .card{padding:16px 18px;min-height:92px}}.mode:hover .card{border-color:var(--line-hi)}.mode input:checked+.card{border-color:var(--sonar);box-shadow:inset 0 0 0 1px var(--sonar)}.mode input:focus-visible+.card{outline:2px solid var(--sonar);outline-offset:3px}.mode b{font-weight:600;font-size:17px}.mode span{color:var(--silt);font-size:14px;font-weight:500}.mode .best{font:400 14px/1.4 var(--mono);color:var(--sonar)}.topics{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 18px}.topics[hidden]{display:none}.topics label{position:relative}.topics input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0;width:100%;height:100%}.topics span{display:flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r);background:rgba(2,13,23,.55);font-size:14px;font-weight:500}.topics input:checked+span{border-color:var(--sonar);color:var(--sonar)}.topics input:focus-visible+span{outline:2px solid var(--sonar);outline-offset:2px}.lobby-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.gear{position:absolute;top:calc(var(--sky-h) + 16px);right:16px;z-index:3}.gear .ibtn{background:rgba(2,13,23,.45);border:1px solid var(--line)}.settings{position:absolute;top:calc(var(--sky-h) + 64px);right:16px;z-index:4;width:min(300px,calc(100% - 32px));background:var(--hadal);border:1px solid var(--line-hi);border-radius:var(--r);padding:16px;display:none;gap:14px}.settings[data-open="1"]{display:grid}.settings label{display:grid;gap:6px;font-size:14px;font-weight:500}.settings select{height:44px;background:var(--abyss);border:1px solid var(--line);border-radius:var(--r);padding:0 10px}.settings .chkrow{display:flex;gap:10px;align-items:center;min-height:44px}.settings .chkrow input{width:20px;height:20px;accent-color:var(--sonar)}.v-dive{flex-direction:row}.gaugeL{position:relative;flex:0 0 56px;margin:20px 0 92px 12px}@media(max-width:719px){.gaugeL{flex-basis:8px;margin-left:6px}.gaugeL .lab{display:none}}.gaugeL .rail{position:absolute;left:44px;top:0;bottom:0;width:1px;background:var(--line-hi)}@media(max-width:719px){.gaugeL .rail{left:2px;width:4px;background:var(--line)}}.gaugeL .t{position:absolute;left:34px;width:10px;height:1px;background:var(--line-hi)}.gaugeL .lab{position:absolute;left:0;font:400 11px/1 var(--mono);color:var(--silt);transform:translateY(-50%);width:30px;text-align:right}.mk{position:absolute;left:36px;width:16px;height:16px;transform:translate(-4px,-50%);display:grid;place-items:center;padding:0;border:0;background:none;cursor:default}.mk::before{content:"";width:10px;height:10px;background:var(--tc,var(--silt));border-radius:2px;transition:transform .2s}.mk.pearl::before{outline:1px solid var(--pearl);outline-offset:2px}.mk:hover::before,.mk:focus-visible::before{transform:scale(1.4)}@media(max-width:719px){.mk{left:-2px}}.mk .tip{position:absolute;left:24px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--hadal);border:1px solid var(--line-hi);border-radius:4px;padding:4px 8px;font:500 12px/1.4 var(--sans);color:var(--foam);display:none;z-index:6}.mk:hover .tip,.mk:focus-visible .tip{display:block}.mk.land::before{animation:sink .5s cubic-bezier(.2,.7,.2,1)}@keyframes sink{from{transform:translateY(-120px);opacity:.2}to{transform:none;opacity:1}}.dmain{flex:1;min-width:0;display:flex;flex-direction:column}.dtop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 0 8px}@media(min-width:720px){.dtop{padding:24px 40px 0 16px}}.dtop .meta{font-size:14px;font-weight:500;color:var(--silt)}.cells{display:flex;gap:4px;margin-top:8px}.cells i{display:block;width:16px;height:10px;border:1px solid var(--line-hi);border-radius:2px}.cells i.done{background:var(--tc);border-color:var(--tc)}.cells i.cur{border-color:var(--foam)}.score{text-align:right}.score .readout{font-size:30px;line-height:1.1;display:block}.score .l{font-size:14px;color:var(--silt);font-weight:500}.dq{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8px 24px 8px 8px;min-height:0}@media(min-width:720px){.dq{padding:8px 56px 8px 16px}}.dq h2{font:400 var(--fs-disp)/1.15 var(--mono);max-width:20ch;overflow-wrap:anywhere}.dq h2.s1{font-size:calc(var(--fs-disp) * .82)}.dq h2.s2{font-size:calc(var(--fs-disp) * .66)}@media(max-width:719px){.dq h2{font-size:26px}.dq h2.s1{font-size:22px}.dq h2.s2{font-size:19px}}.dq .hint{margin-top:14px;color:var(--silt);font-size:14px;font-weight:500}.dstat{min-height:1.65em;margin-top:10px;font-weight:600;color:var(--foam);padding:0}.dstat.bad{color:var(--lure)}.dstat.good{color:var(--sonar)}.dstat small{display:block;font-weight:500;color:var(--silt)}.oxy{height:4px;background:rgba(232,241,242,.1)}.oxy i{display:block;height:100%;width:var(--o,100%);background:var(--sonar);transition:width .25s linear}.oxy.low i{background:var(--lure)}.dbar{background:var(--hadal);padding:12px 16px 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line)}@media(min-width:720px){.dbar{padding:14px 24px 16px}}.ring{position:relative;width:56px;height:56px}.ring svg{width:56px;height:56px;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:4}.ring .bg{stroke:rgba(232,241,242,.12)}.ring .fg{stroke:var(--sonar);stroke-linecap:butt;transition:stroke-dashoffset .25s linear}.ring .n{position:absolute;inset:0;display:grid;place-items:center;font:400 18px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--sonar)}.ring.low .fg{stroke:var(--lure)}.ring.low .n{color:var(--lure);animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.12)}}.ring.off{visibility:hidden}.dbar input{height:52px;min-width:0;background:var(--hadal);border:1px solid var(--line-hi);border-radius:var(--r);padding:0 14px;font:400 20px/1 var(--mono);color:var(--foam);width:100%}.dbar input:focus{outline:none;border-color:var(--sonar);box-shadow:inset 0 0 0 1px var(--sonar)}.dbar input.shake{animation:shake .28s}@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.dbtns{display:grid;gap:2px;justify-items:stretch}.dbtns .btn{min-height:44px;padding:0 20px}.dbtns .pass{min-height:28px;font-size:13px;background:none;border:0;color:var(--silt);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.dbar .oxl{font:400 18px/1 var(--mono);color:var(--sonar);min-width:4ch;font-variant-numeric:tabular-nums}.paused{position:absolute;inset:0;z-index:7;background:rgba(2,13,23,.82);display:none;place-items:center;text-align:center;gap:12px;align-content:center}.paused[data-on="1"]{display:grid}.paused p{font:400 28px/1.2 var(--mono)}.stage[data-state=dive].timeup .dq{opacity:.55}.v-fb{flex-direction:column;justify-content:center;padding:24px;align-items:center}.fbcard{width:min(680px,100%);background:rgba(2,13,23,.7);border:1px solid var(--line);border-radius:var(--r);padding:24px}@media(min-width:720px){.fbcard{padding:32px}}.fbq{font-size:14px;color:var(--silt);font-weight:500;margin-bottom:14px}.fbrow{display:grid;grid-template-columns:96px 1fr;gap:4px 16px;padding:10px 0;border-top:1px solid var(--line);align-items:baseline}.fbrow dt{font-size:14px;color:var(--silt);font-weight:500}.fbrow dd{margin:0;font:400 20px/1.35 var(--mono);overflow-wrap:anywhere}.fbrow dd .tier{margin-left:8px;vertical-align:middle}.fbrow dd small{font:500 14px/1.4 var(--sans);color:var(--silt);display:block}.fbrow dd.rarer{font:500 16px/1.5 var(--sans)}.fbrow button.peek{background:none;border:1px dashed var(--line-hi);border-radius:4px;color:var(--sonar);padding:6px 12px;cursor:pointer;min-height:36px;font-weight:500}.fbact{margin-top:20px;display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap}.fbact .hint{color:var(--silt);font-size:14px;margin-right:auto}.v-result{flex-direction:column;overflow-y:auto;padding:28px 20px 32px;gap:0}@media(min-width:720px){.v-result{padding:36px 56px 40px}}@media(min-width:1100px){.stage .v-result{padding-inline:max(56px,calc((100% - 1080px)/2 + 56px))}}.res-in{width:min(880px,100%);margin:0 auto}.res-l{font-size:14px;color:var(--silt);font-weight:500}.res-big{font:400 clamp(44px,8vw,64px)/1.1 var(--mono);font-variant-numeric:tabular-nums;color:var(--foam)}.res-big small{font:500 .35em/1 var(--sans);color:var(--silt);margin-left:.3em}.res-best{color:var(--pearl);font-weight:600;margin-top:4px}.profile{margin:20px 0 8px}.profile svg{width:100%;height:auto;max-height:200px}.profile .ln{fill:none;stroke:var(--sonar);stroke-width:2;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:draw .9s ease-out .1s forwards}@keyframes draw{to{stroke-dashoffset:0}}.res-tbl{width:100%;border-collapse:collapse;margin-top:8px}.res-tbl th{text-align:left;font:600 13px/1.4 var(--sans);color:var(--silt);padding:6px 10px 6px 0;border-bottom:1px solid var(--line)}.res-tbl td{padding:10px 10px 10px 0;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}.res-tbl .a{font:400 16px/1.4 var(--mono);overflow-wrap:anywhere}.res-tbl .d{font-variant-numeric:tabular-nums;white-space:nowrap}.res-tbl td.q{color:var(--silt);max-width:28ch}@media(max-width:719px){.res-tbl,.res-tbl tbody,.res-tbl tr,.res-tbl td{display:block}.res-tbl thead{display:none}.res-tbl tr{padding:10px 0;border-bottom:1px solid var(--line)}.res-tbl td{border:0;padding:2px 0}}.res-tbl details summary{cursor:pointer;color:var(--sonar);font-size:13px}.res-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.res-foot{margin-top:16px;font-size:14px}.res-vs{margin-top:16px;border:1px solid var(--line-hi);border-radius:var(--r);padding:14px 18px;display:grid;gap:4px}.res-vs .readout{font-size:22px}.toast{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:8;background:var(--hadal);border:1px solid var(--sonar);border-radius:var(--r);padding:8px 16px;font-size:14px;font-weight:600;opacity:0;transition:opacity .15s;pointer-events:none}.toast[data-on="1"]{opacity:1}@media(prefers-reduced-motion:reduce){.boat,.fish,.o-surface{animation:none}.profile .ln{animation:none;stroke-dashoffset:0}.stage.intro .lobby-in{animation:none}.ocean{transition:none}}.stage.kb{position:fixed;left:0;right:0;width:100%;max-width:none;min-height:0;z-index:60;border-radius:0}.stage.kb .dq{min-height:0}.stage:not([data-state=lobby]) .gear{display:none}.stage:not([data-state=lobby]) .ocean{visibility:hidden}.stage[data-state=result]{height:auto;min-height:calc(100svh - var(--head));overflow:visible}.stage[data-state=result] .v-result{position:relative;inset:auto;overflow:visible}@media(min-width:1100px){.stage[data-state=result]{min-height:620px}}