:root{--bg: #fafaf9;--bg-2: #f5f5f3;--surface: #ffffff;--surface-2: #f7f7f6;--ink: #17171a;--ink-2: #3a3a40;--muted: #7d7d85;--hint: #b0b0b6;--line: #e7e7ea;--line-soft: #f0f0f1;--ok: #178a50;--warn: #b45309;--danger: #c2342a;--accent: #2477b8;--accent-strong: #1a5f97;--accent-soft: #eaf2fa;--accent-ink: #ffffff;--solid-bg: var(--ink);--solid-fg: var(--surface);--gold: #9a7b3f;--gold-bg: #f5f0e4;--r: 10px;--r-lg: 14px;--r-sm: 7px;--sans: -apple-system, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--num: "SF Mono", "Segoe UI", var(--sans);--tabbar-h: 62px}@media(prefers-color-scheme:dark){:root{--bg: #0c0c0e;--bg-2: #101013;--surface: #161619;--surface-2: #1b1b1f;--ink: #ededf0;--ink-2: #c9c9d0;--muted: #8c8c95;--hint: #5a5a62;--line: #26262b;--line-soft: #1e1e22;--ok: #35b06e;--warn: #d0873a;--danger: #e0655a;--accent: #3f97df;--accent-strong: #64acea;--accent-soft: #15242f;--accent-ink: #0c0c0e;--solid-bg: var(--accent);--solid-fg: var(--accent-ink);--gold: #cbaa63;--gold-bg: #221d12}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;letter-spacing:-.011em}button{font-family:inherit;cursor:pointer;color:inherit}input{font-family:inherit}h1{font-size:19px;margin:0;letter-spacing:-.02em}.app{max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;position:relative;background:var(--bg)}.screen{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px)}.pad{padding:22px 18px 8px}.serif{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-weight:800}.brand{padding:6px 0 20px;position:relative}.brand-row{display:flex;align-items:center;justify-content:space-between}.brand-actions{display:inline-flex;align-items:center;gap:6px}.icon-btn--sm{width:32px;height:32px}.wm{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:23px;letter-spacing:-.04em}.wm-mark{width:27px;height:27px;flex:none;color:#2477b8}.wm-text{display:inline-flex}.wm-keep{color:var(--ink)}.wm-accent{color:#2477b8}.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:2px 2px 20px;border-bottom:1px solid var(--line);margin-bottom:18px}.hero-kicker{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.09em}.hero-figure{display:flex;align-items:baseline;gap:9px;margin-top:8px}.hero-num{font-family:var(--num);font-size:54px;line-height:.92;font-weight:800;letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums}.hero-unit{font-size:14px;color:var(--muted);font-weight:600}.hero-meta{margin-top:10px;font-size:13px;color:var(--muted)}.streak-seal{display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.streak-seal svg{color:var(--accent)}.streak-seal b{font-family:var(--num);font-size:14px;font-weight:800}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;margin-bottom:12px}.field-label{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:8px}.start-card{padding:18px}.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.chips-5{grid-template-columns:repeat(3,1fr)}.chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--ink);transition:border-color .12s,background .12s,transform .08s}.chip b{font-size:15px;font-weight:700}.chip small{font-size:10.5px;color:var(--hint)}.chip.on{border-color:var(--ink);background:var(--surface-2)}.chip.on small{color:var(--muted)}.chip:active{transform:scale(.97)}.custom-min{display:flex;align-items:center;gap:8px;margin-top:12px}.custom-min input{width:92px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:15px;background:var(--surface);color:var(--ink)}.label-input{width:100%;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px;background:var(--surface);color:var(--ink)}.label-input::placeholder,.custom-min input::placeholder{color:var(--hint)}.label-input:focus,.custom-min input:focus{outline:none;border-color:var(--accent)}.start-hint{margin:14px 2px 0;font-size:12px;color:var(--muted);line-height:1.55}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 16px;font-size:14px;font-weight:600;background:transparent;color:var(--ink);transition:transform .08s,background .12s,border-color .12s,opacity .12s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-bg)}.btn.primary:hover{opacity:.9}.btn.big{width:100%;padding:15px;font-size:15px;margin-top:18px;border-radius:var(--r);background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700;letter-spacing:-.01em}.btn.big:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.ghost:hover{border-color:var(--ink-2)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.danger-text{color:var(--danger);border-color:var(--line)}.btn.sm{padding:8px 13px;font-size:13px}.btn:disabled{opacity:.45}.journey-peek,.reef-peek{margin:0 0 12px;padding:15px 16px;border-radius:var(--r-lg);cursor:pointer;background:var(--surface);border:1px solid var(--line);transition:border-color .12s}.journey-peek:hover,.reef-peek:hover{border-color:var(--ink-2)}.row-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--ink)}.row-more{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.peek-empty{margin:8px 0 0;font-size:12.5px;color:var(--muted)}.peek-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}.peek-fish{color:var(--accent);display:inline-flex}.screen-head{padding:6px 2px 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.screen-sub{margin:6px 0 0;font-size:12.5px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.empty{text-align:center;padding:32px 16px}.empty p{margin:4px 0}.reef-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reef-actions{display:flex;align-items:center;gap:8px}.grow-slim{display:flex;align-items:center;gap:9px;padding:8px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r)}.grow-lvchip{flex:none;font-family:var(--num);font-size:10.5px;font-weight:800;color:var(--accent);border:1px solid var(--line);padding:2px 7px;border-radius:var(--r-sm)}.grow-name{flex:none;font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.grow-bar{flex:1;height:4px;background:var(--line);border-radius:999px;overflow:hidden}.grow-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .5s cubic-bezier(.2,.7,.2,1)}.grow-next{flex:none;font-family:var(--num);font-size:11px;font-weight:700;color:var(--muted);min-width:26px;text-align:right}.reef-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.reef-cell{width:100%;font:inherit;color:var(--ink);cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:var(--r);padding:11px 4px 9px;text-align:center;position:relative;transition:border-color .12s,transform .08s}.reef-cell:hover{border-color:var(--ink-2)}.reef-cell:active{transform:scale(.96)}.reef-art{color:var(--ink);display:flex;justify-content:center}.reef-name{margin-top:6px;font-size:11.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reef-count{position:absolute;top:6px;right:7px;font-family:var(--num);font-size:10px;font-weight:700;color:var(--muted)}.reef-lv{position:absolute;top:6px;left:7px;font-family:var(--num);font-size:9px;font-weight:800;color:var(--accent)}.reef-cell.legendary{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 5%,transparent)}.reef-cell.legendary .reef-name{color:var(--accent)}.locked{margin-top:16px}.locked-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.locked-fish{color:var(--line);background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;transition:transform .08s}.locked-fish:hover{color:var(--hint)}.locked-fish:active{transform:scale(.92)}.locked-fish.legendary{color:color-mix(in srgb,var(--accent) 40%,var(--line))}@media(prefers-color-scheme:dark){.locked-fish{color:#333338}}.locked .small{margin-top:12px}.creature-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 24px 22px;width:100%;max-width:322px;text-align:center;animation:pop .26s cubic-bezier(.2,.9,.3,1.1)}.creature-art{display:flex;justify-content:center;margin-bottom:12px;color:var(--ink);min-height:92px;align-items:center}.creature-art.locked{color:var(--line)}@media(prefers-color-scheme:dark){.creature-art.locked{color:#33333a}}.creature-tierline{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.creature-name{font-size:22px;font-weight:800;margin:7px 0 9px;letter-spacing:-.02em}.creature-blurb{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:0 0 18px}.creature-stats{display:flex;gap:10px}.creature-stat{flex:1;border:1px solid var(--line);border-radius:var(--r);padding:11px 8px;display:flex;flex-direction:column;gap:3px}.creature-stat b{font-family:var(--num);font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.02em}.creature-stat span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.creature-locked-hint{font-size:13px;color:var(--muted);line-height:1.55;border-top:1px solid var(--line-soft);padding-top:14px}.lock-tag{display:block;font-weight:700;color:var(--ink-2);margin-bottom:6px}.creature-card.legendary{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.legend-pill{display:inline-block;margin-right:7px;font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 7px;vertical-align:1px}.creature-lv{font-family:var(--num);font-size:12px;font-weight:800;color:var(--accent);margin-left:8px;vertical-align:1px}.creature-lvbar{height:4px;background:var(--line);border-radius:999px;overflow:hidden;margin:0 0 15px}.creature-lvfill{height:100%;background:var(--accent);border-radius:999px;transition:width .5s}.creature-abils{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.abil{display:flex;align-items:center;gap:10px}.abil-lab{flex:none;min-width:40px;text-align:left;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}.abil-track{flex:1;height:6px;background:var(--line);border-radius:999px;overflow:hidden}.abil-fill{height:100%;background:var(--accent);border-radius:999px;opacity:.85;transition:width .4s}.creature-grow-hint{margin:12px 0 0}.stats .screen-head.compact{padding:2px 2px 8px;margin-bottom:9px}.stats .card{padding:9px 11px;margin-bottom:6px}.stats .field-label{margin-bottom:7px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:8px}.sum{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:13px 3px;border-left:1px solid var(--line-soft)}.sum:first-child{border-left:none}.sum b{font-family:var(--num);font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.1;white-space:nowrap}.sum.accent b{color:var(--accent)}.sum span{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.02em;text-align:center}.rank .screen-head.compact{padding:2px 2px 10px;margin-bottom:10px}.rank .card{margin-bottom:10px}.rank-hero{border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:10px;background:var(--surface)}.rank-hero-top{display:flex;align-items:baseline;gap:10px}.rank-lvchip{flex:none;font-family:var(--num);font-size:11px;font-weight:800;color:var(--accent);border:1px solid var(--line);padding:2px 8px;border-radius:var(--r-sm)}.rank-name{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.rank-score{margin-left:auto;font-family:var(--num);font-size:15px;font-weight:800;color:var(--ink)}.rank-hero-meta{margin-top:8px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.rank-form{display:flex;flex-direction:column;gap:10px}.rank-anon{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.lb-list{list-style:none;margin:0;padding:0}.lb-row{display:flex;align-items:center;gap:12px;padding:9px 6px;border-top:1px solid var(--line-soft)}.lb-row:first-child{border-top:none}.lb-row.me{background:var(--accent-soft);border-radius:var(--r-sm);border-top-color:transparent}.lb-row.standalone{margin-top:6px;border-top:1px dashed var(--line)}.lb-rank{flex:none;width:28px;text-align:center;font-family:var(--num);font-weight:800;font-size:14px;color:var(--muted)}.lb-row.me .lb-rank{color:var(--accent)}.lb-name{flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{flex:none;font-family:var(--num);font-weight:700;font-size:13.5px;color:var(--ink);font-variant-numeric:tabular-nums}.trophy-grid{display:flex;flex-direction:column;gap:8px}.trophy{display:flex;align-items:flex-start;gap:11px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--r);opacity:.62}.trophy.earned{opacity:1;border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.trophy-ico{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--line);color:var(--muted)}.trophy.earned .trophy-ico{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.trophy-txt{flex:1;min-width:0}.trophy-name{font-size:13.5px;font-weight:700;color:var(--ink)}.trophy-desc{font-size:11.5px;color:var(--muted);margin-top:1px}.trophy-bar{height:3px;background:var(--line);border-radius:999px;overflow:hidden;margin-top:6px}.trophy-fill{height:100%;background:var(--accent);border-radius:999px}.stats .goal-head{margin-bottom:10px}.stats .goal-ring{width:60px;height:60px}.stats .goal-ring-in b{font-size:16px}.stats .goal-row{gap:12px}.stats .goal-stepper{margin-top:6px}.stats .bars{height:42px}.stats .rec{padding:7px 6px}.stats .rec b{font-size:15px}.stats .heatmap{gap:2px}.settings .screen-head{padding:2px 2px 9px;margin-bottom:10px}.settings .card{padding:11px 13px;margin-bottom:8px}.settings .field-label{margin-bottom:8px}.settings .setting-row{padding:9px 0}.settings .setting-label{font-size:13.5px}.settings .setting-desc{font-size:11.5px;line-height:1.45}.settings .setting-desc.mb{margin-bottom:8px}.settings .pro-cta{padding:12px 13px;gap:11px;margin-bottom:8px}.settings .pro-cta-ico{width:34px;height:34px}.settings .pro-active{gap:11px}.settings .btn{padding:9px 13px;font-size:13px}.settings .btn-row{gap:8px}.settings .tz-select{margin-top:4px;padding:8px 11px}.settings .footer-ver{margin:12px 0 6px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:14px}.stat-tile{padding:18px 16px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.stat-tile:nth-child(-n+2){border-top:none}.stat-tile:nth-child(odd){border-left:none}.stat-tile.wide{grid-column:1 / -1;border-left:none}.stat-tile.hero-tile{position:relative}.stat-tile.hero-tile:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--accent);border-radius:2px}.stat-tile.wide{grid-column:1 / -1}.stat-num{font-family:var(--num);font-size:32px;line-height:1;font-weight:800;color:var(--ink);letter-spacing:-.04em}.stat-cap{margin-top:9px;font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.freeze-mini{color:var(--accent);font-weight:700;text-transform:none;letter-spacing:0}.goal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.goal-row{display:flex;align-items:center;gap:18px}.goal-ring{flex:none;width:88px;height:88px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,var(--surface) 0 66%,transparent 67%),conic-gradient(var(--accent) var(--p),var(--line) 0)}.goal-ring-in{font-family:var(--num);font-size:12px;color:var(--muted)}.goal-ring-in b{font-size:22px;color:var(--ink);font-weight:800}.goal-info{flex:1}.goal-now{font-family:var(--num);font-size:16px;font-weight:700}.goal-now span{color:var(--muted);font-weight:500}.goal-stepper{display:inline-flex;align-items:center;gap:12px;margin-top:12px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.goal-stepper button{width:24px;height:24px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;font-size:15px;line-height:1;color:var(--ink)}.records{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.rec{flex:1;text-align:center;padding:12px 6px;background:var(--surface)}.rec b{display:block;font-family:var(--num);font-size:18px;color:var(--ink);font-weight:800;letter-spacing:-.03em}.rec span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.bars{display:flex;align-items:flex-end;gap:8px;height:96px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;height:100%}.bar-track{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.bar-fill{width:100%;min-height:0;background:var(--accent);border-radius:2px 2px 0 0;transition:height .4s ease}.bar-lab{font-size:10.5px;color:var(--hint)}.heatmap{display:grid;grid-template-rows:repeat(7,1fr);grid-auto-flow:column;grid-auto-columns:1fr;gap:3px}.heatmap.locked{filter:blur(3px);opacity:.5;pointer-events:none}.hm-cell{aspect-ratio:1;border-radius:2px;background:var(--accent)}.hm-cell[data-lvl="0"]{background:var(--line);opacity:1!important}.heatmap-card .field-label{justify-content:flex-start}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--line-soft)}.setting-row:first-of-type{border-top:none}.setting-label{font-size:14px;font-weight:600}.setting-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-top:2px}.setting-desc.mb{margin-bottom:12px}.switch{flex:none;width:44px;height:26px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);position:relative;transition:background .16s,border-color .16s}.switch span{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--ink);transition:transform .16s}.switch.on{background:var(--accent);border-color:var(--accent)}.switch.on span{transform:translate(18px);background:#fff}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;flex:none}.seg-btn{padding:6px 11px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--muted)}.seg-btn.on{background:var(--solid-bg);color:var(--solid-fg)}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.footer-ver{text-align:center;font-size:11px;color:var(--hint);margin:20px 0 10px;font-variant-numeric:tabular-nums}.tz-select{width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:13px}.skin-row{display:block}.skin-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.skin-pill{padding:9px 4px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;font-size:12.5px;font-weight:600;color:var(--muted);transition:border-color .12s,background .12s,color .12s}.skin-pill.on{border-color:var(--ink);background:var(--surface-2);color:var(--ink)}.dev-card{border-style:dashed}.dev-tag{font-family:var(--num);font-size:9.5px;font-weight:700;letter-spacing:.1em;color:var(--warn);border:1px solid var(--warn);padding:1px 6px;border-radius:4px}.pro-cta{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:16px;margin-bottom:12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);transition:border-color .12s}.pro-cta:hover{border-color:var(--gold)}.pro-cta-ico{flex:none;width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--gold)}.pro-cta-txt{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pro-cta-t{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.pro-cta-d{font-size:12px;color:var(--muted);line-height:1.4}.pro-cta-go{flex:none;font-size:13px;font-weight:600;color:var(--muted)}.pro-active{display:flex;align-items:center;gap:12px;color:var(--gold)}.pro-active .setting-desc{color:var(--muted)}.pro-active-t{font-size:14px;font-weight:700;color:var(--ink)}.pro-pill{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:2px 7px;border-radius:5px;border:1px solid var(--gold);color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:none}.pearl-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.pearl-chip svg{color:var(--accent)}.pearl-chip.lg{font-size:15px;padding:8px 14px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;color:var(--ink)}.icon-btn:active{transform:scale(.95)}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:flex;background:var(--surface);border-top:1px solid var(--line);z-index:30}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;color:var(--hint)}.tab-ico{display:inline-flex;position:relative}.tab-lab{font-size:10.5px;font-weight:600}.tab.on{color:var(--accent)}.tab.on .tab-lab{font-weight:700}.update-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px);width:calc(100% - 36px);max-width:444px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 11px 16px;background:var(--ink);color:var(--surface);border-radius:var(--r);font-size:13px;z-index:40}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 12px);max-width:calc(100% - 36px);padding:10px 16px;background:var(--ink);color:var(--surface);border-radius:var(--r);font-size:13px;z-index:41;animation:fade .18s ease;pointer-events:none}.login-hint{margin-top:8px}.switch-card{text-align:left}.switch-card .pw-title{font-size:19px;margin-bottom:8px}.switch-card .btn{width:100%;margin-top:8px}.switch-card .switch-note{margin-top:12px}.update-banner .btn.primary{background:var(--surface);color:var(--ink);border-color:var(--surface)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0c8c;display:flex;align-items:center;justify-content:center;padding:24px;z-index:65;animation:fade .18s ease}@media(prefers-color-scheme:dark){.modal-scrim{background:#000000a8}}.result-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 24px 20px;width:100%;max-width:340px;text-align:center;animation:pop .26s cubic-bezier(.2,.9,.3,1.1)}.result-seal{width:96px;height:96px;margin:0 auto 16px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent)}.result-seal.muted{color:var(--hint)}.result-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--accent);text-transform:uppercase}.result-kicker.warn{color:var(--muted)}.result-name{font-size:22px;font-weight:800;margin:8px 0;letter-spacing:-.02em}.result-meta{font-size:12.5px;color:var(--muted);margin:0 0 12px}.result-note{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 18px}.result-actions{display:flex;gap:10px}.result-actions .btn{flex:1}.reward-pearls{display:inline-flex;align-items:center;gap:7px;margin:2px 0 12px;padding:8px 14px;border-radius:var(--r-sm);border:1px solid var(--line)}.reward-pearls svg{color:var(--accent)}.reward-pearls b{font-family:var(--num);font-size:19px;font-weight:800}.reward-pearls span{font-size:12px;color:var(--muted)}.reward-2x{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:3px 8px;border-radius:5px;border:1px solid var(--gold);color:var(--gold);font-size:10.5px;font-weight:700}.btn.double{width:100%;margin-bottom:12px;border-color:var(--accent);color:var(--accent)}.result-badge{display:inline-flex;align-items:center;gap:5px;margin-bottom:10px;padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--line);font-size:12px;font-weight:600;line-height:1.3}.result-badge.freeze{color:var(--accent)}.result-badge.journey{color:var(--muted)}.result-badge.journey-done{color:var(--gold);border-color:var(--gold)}.paywall{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 24px 22px;width:100%;max-width:360px;text-align:center;animation:pop .26s cubic-bezier(.2,.9,.3,1.1)}.pw-x,.ad-x{width:30px;height:30px;border:1px solid var(--line);background:transparent;border-radius:var(--r-sm);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.pw-x{position:absolute;top:14px;right:14px}.pw-crown{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--gold)}.pw-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--gold);text-transform:uppercase}.pw-title{font-size:22px;font-weight:800;margin:8px 0 20px;letter-spacing:-.02em}.pw-benefits{list-style:none;padding:0;margin:0 0 22px;text-align:left}.pw-benefits li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;font-size:13.5px;color:var(--ink);border-top:1px solid var(--line-soft)}.pw-benefits li:first-child{border-top:none}.pw-benefits li svg{flex:none;color:var(--accent);margin-top:1px}.pw-plans{display:flex;gap:10px;margin-bottom:16px}.pw-plan{flex:1;display:flex;flex-direction:column;gap:3px;padding:14px 10px;border-radius:var(--r);border:1px solid var(--line);background:transparent}.pw-plan.on{border-color:var(--ink);background:var(--surface-2)}.pw-plan-name{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.pw-plan-price{font-family:var(--num);font-size:16px;font-weight:800;color:var(--ink)}.pw-plan-note{font-size:11px;color:var(--muted)}.pw-fine{margin:12px 2px 0;font-size:11px;color:var(--hint);line-height:1.5}.ad-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;width:100%;max-width:360px;animation:pop .26s cubic-bezier(.2,.9,.3,1.1)}.ad-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ad-kicker{font-size:10.5px;font-weight:700;letter-spacing:.09em;color:var(--hint);text-transform:uppercase}.ad-body{display:flex;align-items:center;gap:14px;text-decoration:none;padding:16px;border-radius:var(--r);border:1px solid var(--line);margin-bottom:16px}.ad-ico{flex:none;width:44px;height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--ad)}.ad-txt{display:flex;flex-direction:column;gap:2px;min-width:0}.ad-app{font-size:15px;font-weight:700;color:var(--ink)}.ad-tag{font-size:12px;color:var(--muted);line-height:1.4}.ad-cta{font-size:12px;font-weight:600;color:var(--ad);margin-top:3px}.btn.waiting{opacity:.6}.ad-note{margin:10px 2px 0;font-size:11px;color:var(--hint);text-align:center;line-height:1.5}.store{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:var(--bg);max-width:480px;margin:0 auto;display:flex;flex-direction:column}.store-top{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 14px;border-bottom:1px solid var(--line)}.store-top h1{flex:1;font-size:17px}.store-scroll{flex:1;overflow-y:auto;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px)}.store-sec{margin-bottom:16px}.pearl-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pearl-pack{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);cursor:pointer;transition:border-color .12s,transform .08s}.pearl-pack:hover{border-color:var(--ink-2)}.pearl-pack:active{transform:scale(.97)}.pearl-pack.best{border-color:var(--accent)}.pack-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:9px;font-weight:800;letter-spacing:.05em;color:var(--accent-ink);background:var(--accent);padding:2px 8px;border-radius:999px;white-space:nowrap}.pack-amt{display:inline-flex;align-items:center;gap:4px;font-family:var(--num);font-size:15px;font-weight:800;color:var(--ink)}.pack-amt svg{color:var(--accent)}.pack-bonus{font-size:10px;font-weight:700;color:var(--accent)}.pack-price{margin-top:2px;font-size:12.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-cell{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;transition:border-color .12s}.theme-cell.active{border-color:var(--accent)}.theme-swatch{height:52px;border-radius:var(--r-sm);margin-bottom:10px;position:relative;overflow:hidden}.swatch-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.theme-name{font-size:13.5px;font-weight:600}.theme-desc{font-size:11.5px;color:var(--muted);line-height:1.4;margin:2px 0 10px;min-height:32px}.theme-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.theme-btn svg{color:var(--accent)}.theme-btn.buy{border-color:var(--ink)}.theme-btn.applied{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-bg)}.theme-btn.applied svg{color:var(--solid-fg)}.theme-btn.locked{border-color:var(--gold);color:var(--gold)}.theme-btn.locked svg{color:var(--gold)}.donate-card b{font-family:var(--num);color:var(--accent)}.supporter-badge,.supporter-inline{display:inline-flex;align-items:center;gap:5px;color:var(--gold);font-weight:600}.supporter-badge{padding:9px 14px;border-radius:var(--r-sm);border:1px solid var(--gold);font-size:13px}.supporter-inline{margin-left:8px;font-size:11px}.journey-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:10px}.journey-card.on{border-color:var(--accent)}.journey-head{display:flex;align-items:center;gap:8px}.journey-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.journey-done-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:5px;border:1px solid var(--line);color:var(--accent);font-size:11px;font-weight:600}.journey-active-pill{padding:2px 8px;border-radius:5px;border:1px solid var(--accent);color:var(--accent);font-size:11px;font-weight:600}.journey-desc{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 8px}.journey-meta{font-size:11.5px;color:var(--hint);line-height:1.5;font-variant-numeric:tabular-nums}.journey-meta b{font-family:var(--num);color:var(--accent)}.journey-prog{font-family:var(--num);font-size:12px;color:var(--muted)}.journey-actions{margin-top:12px}.journey-actions .btn{width:100%}.cheer-code{font-family:var(--num);font-size:15px;color:var(--accent);letter-spacing:.08em;font-weight:800}.cheer-kinds{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.chip-pill{padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;font-size:12.5px;font-weight:600;color:var(--muted)}.chip-pill.on{border-color:var(--solid-bg);background:var(--solid-bg);color:var(--solid-fg)}.cheer-send{display:flex;gap:8px;align-items:stretch}.cheer-send .label-input{flex:1;margin-top:0}.cheer-send .btn{flex:none;white-space:nowrap}.cheer-inbox{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.cheer-inbox-h{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.06em}.cheer-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.cheer-heart{color:var(--accent);display:inline-flex}.cheer-from{font-weight:600;color:var(--ink)}.cheer-kind{color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600}.cheer-when{margin-left:auto;color:var(--hint);font-size:11px;font-variant-numeric:tabular-nums}.dive-active{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;color:#d6e2ec;background:radial-gradient(130% 90% at 50% -12%,#123247,#0a1a26 46%,#050f16);padding:calc(env(safe-area-inset-top,0px) + 26px) 24px calc(env(safe-area-inset-bottom,0px) + 26px);overflow:hidden}.dive-rays{position:absolute;left:-25%;right:-25%;top:-10%;height:88%;pointer-events:none;z-index:0;background:repeating-linear-gradient(99deg,transparent 0 40px,rgba(140,214,244,.06) 40px 60px,transparent 60px 116px);filter:blur(8px);opacity:.8;transform-origin:50% 0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 78%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 78%);animation:rays 20s ease-in-out infinite alternate}.dive-top{width:100%;text-align:center;z-index:1}.dive-depth-read{font-family:var(--num);font-size:12px;color:#7ba0ba;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.dive-depth-read b{font-size:15px;color:#dceaf4;letter-spacing:-.02em}.dive-depth-max{color:#4d6f88}.dive-label{margin-top:12px;font-size:15px;color:#b9d0e0;font-weight:500}.dive-ring{flex:1;display:flex;align-items:center;justify-content:center;width:100%;z-index:1}.dive-ring-inner{position:relative;width:260px;height:260px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(#4bb3cf var(--p),rgba(120,160,184,.12) 0)}.dive-ring-inner:before{content:"";position:absolute;width:232px;height:232px;border-radius:50%;background:#0a1a26}.dive-ring-inner>*{position:relative;z-index:1}.dive-time{font-family:var(--num);font-size:66px;font-weight:800;line-height:1;color:#f2f9fd;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.dive-sub{margin-top:12px;font-size:12px;color:#6f95b0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.dive-bottom{width:100%;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}.dive-hint{text-align:center;font-size:12px;color:#5f83a0;line-height:1.55;max-width:300px;margin:0}.btn.surface{background:transparent;border:1px solid rgba(140,180,204,.28);color:#d6e2ec;padding:12px 22px}.btn.ghost-dark{background:transparent;border:1px solid rgba(140,180,204,.28);color:#d6e2ec}.dive-confirm{text-align:center;font-size:13px;color:#a9c4d6;display:flex;flex-direction:column;gap:12px;max-width:320px}.dive-confirm-row{display:flex;gap:10px}.dive-confirm-row .btn{flex:1}.dive-actions{display:flex;gap:10px}.dive-actions .btn{padding:12px 18px}.dive-pause{min-width:128px}.dive-min-btn{position:absolute;left:2px;top:-2px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(140,180,204,.24);border-radius:var(--r-sm);background:transparent;color:#a9c4d6}.dive-min-btn:active{transform:scale(.94)}.dive-top{position:relative}.dive-active--paused .dive-ring-inner{opacity:.72}.dive-active--paused .dive-time{color:#cfe0ec}.dive-active--break .dive-ring-inner{background:conic-gradient(#5fd6a8 var(--p),rgba(120,160,184,.12) 0)}.dive-minibar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 10px);width:calc(100% - 32px);max-width:448px;z-index:35;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:linear-gradient(180deg,#0c2b3e,#082130);color:#dceaf4;text-align:left;font-size:13px}.dmb-prog{position:absolute;left:0;top:0;bottom:0;background:#4bb3cf29;z-index:0}.dive-minibar>*{position:relative;z-index:1}.dmb-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}.dmb-dot[data-paused="1"]{background:#7ba0ba}.dmb-txt{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmb-time{font-family:var(--num);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dive-minibar svg{flex:none;color:#9fbdd0}[data-reef-theme=twilight]{--accent: #7c6bd0;--accent-strong: #6455bd;--accent-soft: #efecfa}[data-reef-theme=kelp]{--accent: #2f9e6e;--accent-strong: #227a55;--accent-soft: #e8f5ee}[data-reef-theme=abyss]{--accent: #2f6fb0;--accent-strong: #235486;--accent-soft: #eaf1f9}[data-reef-theme=aurora]{--accent: #22b0a0;--accent-strong: #188a7e;--accent-soft: #e6f6f3}[data-reef-theme=wreck]{--accent: #a9863f;--accent-strong: #856a30;--accent-soft: #f5efe2}@media(prefers-color-scheme:dark){[data-reef-theme=twilight]{--accent: #9a8ae8;--accent-soft: #1c1830}[data-reef-theme=kelp]{--accent: #45c48b;--accent-soft: #12241b}[data-reef-theme=abyss]{--accent: #4e93d6;--accent-soft: #13202e}[data-reef-theme=aurora]{--accent: #3fd0bd;--accent-soft: #10241f}[data-reef-theme=wreck]{--accent: #cba85e;--accent-soft: #241d10}}.theme-swatch[data-theme=coral]{background:#2477b8}.theme-swatch[data-theme=twilight]{background:#7c6bd0}.theme-swatch[data-theme=kelp]{background:#2f9e6e}.theme-swatch[data-theme=abyss]{background:#2f6fb0}.theme-swatch[data-theme=aurora]{background:#22b0a0}.theme-swatch[data-theme=wreck]{background:#a9863f}.reef-tank{position:relative;height:178px;margin:2px 0 12px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);isolation:isolate;background:linear-gradient(180deg,#0b2436,#071c2b 42%,#03111c)}@media(prefers-color-scheme:dark){.reef-tank{border-color:#1b2833}}.reef-tank:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(120% 62% at 50% -18%,rgba(120,200,235,.22),transparent 60%)}.tank-caustic{position:absolute;top:-30%;right:-12%;bottom:0;left:-12%;pointer-events:none;opacity:.5;background:radial-gradient(52% 40% at 28% 0%,rgba(96,186,224,.2),transparent 70%),radial-gradient(46% 34% at 74% 0%,rgba(72,154,206,.16),transparent 72%);animation:caustic 15s ease-in-out infinite alternate}.tank-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.tank-water{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.swimmer{position:absolute;left:0;width:100%;pointer-events:none;transform:translate(var(--x));will-change:transform;animation:swim-r var(--dur) linear infinite;animation-delay:var(--delay)}.swimmer.swim-l{animation-name:swim-l}.swimmer-depth{display:inline-flex;animation:depth var(--depth-dur) ease-in-out infinite alternate;animation-delay:var(--depth-delay)}.swimmer-bob{display:inline-flex;animation:bob var(--bob-dur) ease-in-out infinite alternate;animation-delay:var(--bob-delay)}.swimmer-face{display:inline-flex}@keyframes depth{0%{transform:scale(.78)}to{transform:scale(1.18)}}.tank-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#7ba7c2;font-size:13px;letter-spacing:-.01em;padding:16px;text-align:center}.reef-tank--still .tank-caustic,.reef-tank--still .swimmer-depth,.reef-tank--still .swimmer-bob{animation:none!important;transform:none!important}.reef-tank--still .swimmer{animation:none!important}@keyframes swim-r{0%{transform:translate(-18%)}to{transform:translate(116%)}}@keyframes swim-l{0%{transform:translate(116%)}to{transform:translate(-18%)}}@keyframes bob{0%{transform:translateY(-9px) rotate(-3deg)}to{transform:translateY(9px) rotate(3deg)}}.swimmer.anchored{animation:none}.motion-dart .swimmer-bob{animation-name:bob-dart;animation-timing-function:cubic-bezier(.6,0,.2,1)}.motion-drift .swimmer-bob{animation-name:bob-drift}.motion-crawl .swimmer-bob{animation-name:bob-crawl}.motion-crawl .swimmer-depth{animation:none}.motion-undulate .swimmer-bob{animation-name:bob-undulate}.motion-hover .swimmer-bob{animation-name:bob-hover}.motion-anchor .swimmer-bob{animation-name:bob-anchor;transform-origin:50% 100%}.motion-anchor .swimmer-depth{animation:none}@keyframes bob-dart{0%{transform:translateY(-4px) rotate(-2deg)}28%{transform:translateY(-3px) rotate(-1deg)}40%{transform:translate(22px,2px) rotate(4deg)}66%{transform:translate(24px,4px) rotate(2deg)}78%{transform:translate(4px,6px) rotate(-3deg)}to{transform:translateY(4px) rotate(-2deg)}}@keyframes bob-drift{0%{transform:translateY(-14px) scale(.94,1.06)}to{transform:translateY(12px) scale(1.06,.93)}}@keyframes bob-crawl{0%{transform:translateY(0) rotate(-1.5deg)}to{transform:translateY(-2px) rotate(1.5deg)}}@keyframes bob-undulate{0%{transform:translateY(-7px) rotate(-7deg) skewY(-3deg)}to{transform:translateY(7px) rotate(7deg) skewY(3deg)}}@keyframes bob-hover{0%{transform:translateY(-14px) rotate(-1.5deg)}to{transform:translateY(14px) rotate(1.5deg)}}@keyframes bob-anchor{0%{transform:rotate(-4deg) scaleY(.98)}to{transform:rotate(4deg) scaleY(1.02)}}.swimmer-face svg{filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 11px currentColor)}.glow-faint .swimmer-face svg{filter:drop-shadow(0 0 2.5px currentColor);opacity:.94}.glow-pulse .swimmer-face svg,.glow-flicker .swimmer-face svg{filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 14px currentColor)}.glow-ember .swimmer-face svg{filter:drop-shadow(0 0 8px currentColor) drop-shadow(0 0 20px currentColor)}.glow-pulse .swimmer-face{animation:glow-pulse 4.4s ease-in-out infinite alternate}.glow-flicker .swimmer-face{animation:glow-flicker 3.1s steps(1,end) infinite}.glow-ember .swimmer-face{animation:glow-ember 5.6s ease-in-out infinite alternate}@keyframes glow-pulse{0%{opacity:.55}to{opacity:1}}@keyframes glow-flicker{0%,to{opacity:1}9%{opacity:.3}13%{opacity:1}47%{opacity:.85}52%{opacity:.25}55%{opacity:.4}59%{opacity:1}81%{opacity:.3}84%{opacity:1}}@keyframes glow-ember{0%{opacity:.7}to{opacity:1}}.reef-tank--still .swimmer-face svg{filter:none!important;opacity:1}.reef-tank--still .swimmer-face{animation:none!important}.reef-tank--tall{height:clamp(280px,52vh,500px);margin:0;border-radius:0;border:0}.showcase{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;background:linear-gradient(180deg,#03111c,#061826 60%,#08202f);color:#e6eef5;animation:fade .22s ease}.showcase-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 10px}.showcase-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8fb6d2}.showcase-x{position:static;border-color:#e6eef538;color:#c9d8e4}.showcase-tank{position:relative;flex:none}.showcase-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,17,28,.35) 0%,transparent 22%,transparent 78%,rgba(6,24,38,.95) 100%)}.showcase-cap{flex:1;padding:18px 22px 8px;animation:showcase-cap .6s cubic-bezier(.2,.7,.2,1)}.showcase-dives{font-family:var(--num);font-size:12.5px;font-weight:600;letter-spacing:.04em;color:#8fb6d2;font-variant-numeric:tabular-nums}.showcase-dives b{font-size:30px;font-weight:800;letter-spacing:-.04em;color:#fff;margin-right:4px;line-height:1}.showcase-title{margin:10px 0 6px;font-size:24px;font-weight:800;letter-spacing:-.025em;line-height:1.15;text-wrap:balance;color:#fff}.showcase-sub{margin:0;font-size:14px;line-height:1.6;color:#b7c8d6;max-width:34ch}@keyframes showcase-cap{0%{opacity:0;transform:translateY(10px)}}.showcase-ctl{flex:none;display:flex;align-items:center;gap:12px;padding:12px 18px calc(18px + env(safe-area-inset-bottom,0px))}.showcase-play{flex:none;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid rgba(230,238,245,.22);background:transparent;color:#e6eef5;display:inline-flex;align-items:center;justify-content:center}.showcase-dots{flex:1;display:flex;gap:6px}.showcase-dot{flex:1;height:22px;padding:0;border:0;background:transparent;position:relative;cursor:pointer}.showcase-dot:before{content:"";position:absolute;left:0;right:0;top:10px;height:2px;border-radius:1px;background:#e6eef52e}.showcase-dot.done:before{background:#8fb6d2}.showcase-stage{position:absolute;left:0;top:10px;height:2px;width:0;border-radius:1px;background:#fff}.showcase-dot.on .showcase-stage{animation:showcase-stage linear forwards;animation-duration:3.6s}.showcase-dot.on.paused .showcase-stage{width:100%;background:#8fb6d2;animation:none}@keyframes showcase-stage{0%{width:0}to{width:100%}}.showcase-go{flex:none}.showcase :focus-visible{outline:2px solid #8fb6d2;outline-offset:2px}@keyframes caustic{0%{transform:translate3d(-3%,0,0) scale(1);opacity:.4}to{transform:translate3d(4%,2%,0) scale(1.08);opacity:.6}}.dive-caustics{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.7;background:radial-gradient(38% 60% at 26% -10%,rgba(110,200,235,.14),transparent 62%),radial-gradient(30% 52% at 68% -6%,rgba(90,170,215,.12),transparent 64%),radial-gradient(44% 66% at 50% -12%,rgba(120,210,240,.1),transparent 60%);animation:dive-caustic 18s ease-in-out infinite alternate}.dive-active--immersive .dive-ring-inner{animation:sway 7s ease-in-out infinite alternate}@keyframes dive-caustic{0%{transform:translate3d(-2%,0,0) scale(1.02);opacity:.55}to{transform:translate3d(3%,1.5%,0) scale(1.1);opacity:.8}}@keyframes sway{0%{transform:translate3d(-4px,-3px,0)}to{transform:translate3d(4px,3px,0)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.94) translateY(6px)}}:root[data-skin=deep]{--bg: #061826;--bg-2: #08202f;--surface: #0d2838;--surface-2: #123243;--ink: #e8f3fa;--ink-2: #bcd6e5;--muted: #85a8c0;--hint: #52748d;--line: #1a3b4f;--line-soft: #122d3d;--ok: #3fc07e;--warn: #d99a4a;--danger: #e87266;--accent: #45a6e6;--accent-strong: #66b9ee;--accent-soft: #12202e;--accent-ink: #04121c;--solid-bg: var(--accent);--solid-fg: var(--accent-ink);--gold: #d3b06a;--gold-bg: #1d2a38}:root[data-skin=deep] [data-reef-theme]{--accent-soft: #12202e}:root[data-skin=deep] body{background:#061826}:root[data-skin=deep] .app{background:radial-gradient(125% 72% at 50% -12%,#17435d,#0c2c3f 30%,#06192a 64%,#03111c);background-attachment:fixed}:root[data-skin=warm]{--bg: #f5efe4;--bg-2: #efe7d8;--surface: #fbf7ee;--surface-2: #f2ebdc;--ink: #2b2620;--ink-2: #4d463b;--muted: #8a7f6d;--hint: #b4a992;--line: #e3d9c6;--line-soft: #ece4d4;--ok: #4f7a3f;--warn: #a6702a;--danger: #b4442e;--accent: #2477b8;--accent-strong: #1a5f97;--accent-soft: #e8eff7;--accent-ink: #ffffff;--gold: #9a7b3f;--gold-bg: #f0e7d2}:root[data-skin=warm] [data-reef-theme]{--accent-soft: #ece4d4}:root[data-skin=warm] body,:root[data-skin=warm] .app{background:#f5efe4}:root[data-skin=noir]{--bg: #17161a;--bg-2: #1c1b20;--surface: #201f25;--surface-2: #26252c;--ink: #edeae4;--ink-2: #c3bfb6;--muted: #928d84;--hint: #635e56;--line: #302e36;--line-soft: #26242b;--ok: #6bbf83;--warn: #cfa15e;--danger: #e08a72;--accent: #5fb1de;--accent-strong: #82c5e8;--accent-soft: #21242b;--accent-ink: #14161a;--solid-bg: var(--accent);--solid-fg: var(--accent-ink);--gold: #cbaa63;--gold-bg: #221d12}:root[data-skin=noir] [data-reef-theme]{--accent-soft: #21242b}:root[data-skin=noir] body,:root[data-skin=noir] .app{background:#17161a}.app-ambient{position:fixed;left:50%;transform:translate(-50%);top:0;width:100%;max-width:480px;height:100%;pointer-events:none;z-index:0;overflow:hidden}.screen{position:relative;z-index:1}.amb-rays{position:absolute;left:-25%;right:-25%;top:-12%;height:92%;background:repeating-linear-gradient(101deg,transparent 0 34px,rgba(126,206,238,.055) 34px 52px,transparent 52px 104px);filter:blur(7px);opacity:.85;transform-origin:50% 0;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 82%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 82%);animation:rays 22s ease-in-out infinite alternate}.amb-caustic{position:absolute;left:-10%;right:-10%;top:-18%;height:72%;background:radial-gradient(52% 44% at 28% 0%,rgba(104,196,236,.26),transparent 68%),radial-gradient(46% 38% at 74% 0%,rgba(72,162,220,.2),transparent 70%);opacity:.9;animation:caustic 17s ease-in-out infinite alternate}.amb-motes span{position:absolute;border-radius:50%;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:var(--sz);height:var(--sz);background:#a0d4ee38;animation:drift calc(19s + var(--i) * 1.5s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -2.3s)}.dive-gloop,.tank-gloop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.gloop{position:absolute;bottom:2%}.dive-gloop .gloop{left:calc(24% + var(--g) * 26%)}.tank-gloop .gloop{left:calc(30% + var(--g) * 36%)}.gloop span{position:absolute;bottom:0;left:calc(var(--i) * 4px - 10px);width:5px;height:5px;border-radius:50%;opacity:0;background:radial-gradient(circle at 32% 27%,#fffffff2,#fff0 38%),radial-gradient(circle at 50% 50%,#d2eefa00 46%,#acd8f047 68%,#e6f7fdb3 85%,#d2eefa00 94%);box-shadow:inset 0 0 2px #c8e6f866;animation:gloop-burst 5s ease-in infinite;animation-delay:calc(var(--g) * 1.6s + var(--i) * .16s)}.gloop span:nth-child(3n){width:8px;height:8px}.gloop span:nth-child(3n+2){width:6px;height:6px}@keyframes gloop-burst{0%{transform:translateZ(0) scale(.4);opacity:0}5%{transform:translate3d(0,-6px,0) scale(.9);opacity:.9}28%{transform:translate3d(4px,-78px,0) scale(1.05);opacity:.75}50%{transform:translate3d(-3px,-172px,0) scale(1.15);opacity:0}to{transform:translate3d(-3px,-172px,0) scale(1.15);opacity:0}}.reef-tank--still .tank-gloop .gloop span{animation:none!important}@keyframes rays{0%{transform:translate(-4%) skew(-2.5deg)}to{transform:translate(4%) skew(2.5deg)}}@keyframes drift{0%{transform:translate(0);opacity:.18}50%{opacity:.42}to{transform:translate(12px,-30px);opacity:.22}}@media(prefers-reduced-motion:reduce){.bar-fill,.grow-fill,.result-card,.paywall,.ad-card,.modal-scrim,.tank-caustic,.swimmer,.swimmer-bob,.swimmer-depth,.swimmer-face,.dive-caustics,.dive-active--immersive .dive-ring-inner,.amb-caustic,.amb-rays,.amb-motes span,.dive-rays,.gloop span,.showcase-cap,.showcase-stage{animation:none!important;transition:none!important}.swimmer-depth{transform:none!important}}
