:root{
  --navy:#0f2f4a; --blue:#33608c; --blue-d:#1f4e79; --deep:#0b3a5e; --teal:#2bb3b1; --teal-l:#dff2f2;
  --bg:#f2f7f8; --bg2:#e7f2f4; --surface:#fff; --surface2:#f6fafb; --text:#0f2f4a; --muted:#5b7488; --line:#e0ecef;
  --red:#e05a5a; --red-l:#fdecec; --amber:#f0a020; --chip:#eaf2f6;
  --r:22px; --shadow:0 10px 30px -12px rgba(15,47,74,.18); --shadow-l:0 30px 60px -20px rgba(15,47,74,.35);
}
[data-theme=dark]{
  --bg:#07192a; --bg2:#0a2236; --surface:#0f2a40; --surface2:#123149; --text:#e6f1f7; --muted:#8fa9bd; --line:#1c3d57;
  --chip:#163a55; --teal-l:#113f47; --red-l:#3a1d24; --blue:#5b8fc2; --blue-d:#3f76ab;
  --shadow:0 10px 30px -12px rgba(0,0,0,.5); --shadow-l:0 30px 60px -20px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s,color .4s}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select{font:inherit;color:inherit}
.container{width:min(1200px,92%);margin-inline:auto}
.narrow{width:min(780px,92%)}
.hidden{display:none!important}
.muted{color:var(--muted)}
.center{text-align:center;justify-content:center}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px}

/* background */
.bg-blobs{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.bg-blobs span{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45}
.bg-blobs span:nth-child(1){width:520px;height:520px;background:#bfe6e6;top:-160px;right:-120px}
.bg-blobs span:nth-child(2){width:420px;height:420px;background:#c9dbee;top:40%;left:-160px;animation-delay:-6s}
.bg-blobs span:nth-child(3){width:360px;height:360px;background:#d7f0ea;bottom:-120px;right:20%;animation-delay:-12s}
[data-theme=dark] .bg-blobs span{opacity:.12}
@keyframes float{50%{transform:translate(30px,-40px) scale(1.08)}}
.bubbles{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bubbles i{position:absolute;bottom:-40px;border-radius:50%;border:1.5px solid rgba(43,179,177,.35);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),rgba(43,179,177,.08));animation:rise linear infinite}
@keyframes rise{to{transform:translate(30px,-115vh)}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:600;border-radius:999px;padding:.7rem 1.25rem;transition:transform .2s,box-shadow .2s,background .2s}
.btn svg{width:20px;height:20px;fill:currentColor}
.btn-sm{padding:.5rem 1rem;font-size:.9rem}
.btn-lg{padding:.95rem 1.6rem;font-size:1.02rem}
.btn-block{width:100%}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;box-shadow:0 10px 24px -10px rgba(31,78,121,.7)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(31,78,121,.75)}
.btn-ghost{background:color-mix(in srgb,var(--surface) 75%,transparent);border:1px solid var(--line);color:var(--blue);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:var(--surface);transform:translateY(-2px)}
.btn-light{background:#fff;color:#1f4e79}
.btn-light:hover{transform:translateY(-2px) scale(1.02)}

/* nav */
.nav{position:sticky;top:0;z-index:50;transition:background .3s,box-shadow .3s}
.nav.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.brand{display:flex;align-items:center;color:var(--deep);transition:transform .25s}
.brand:hover{transform:translateY(-1px)}
[data-theme=dark] .brand{color:#fff}
.brand .logo{height:34px;width:auto;display:block;overflow:visible}
.nav-links{display:flex;align-items:center;gap:1.6rem;font-weight:500;color:var(--muted)}
.nav-links a:not(.btn):hover{color:var(--blue)}
.nav-right{display:flex;align-items:center;gap:.4rem}
.theme-btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);transition:.3s}
.theme-btn:hover{transform:rotate(20deg)}
.theme-btn svg{width:20px;height:20px;fill:var(--blue);grid-area:1/1;transition:.3s}
.theme-btn .moon{opacity:0;transform:scale(.5)}
[data-theme=dark] .theme-btn .sun{opacity:0;transform:scale(.5)}
[data-theme=dark] .theme-btn .moon{opacity:1;transform:none}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{width:22px;height:2px;background:var(--text);border-radius:2px;transition:.3s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding:3rem 0 2rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--line);padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--blue);box-shadow:var(--shadow)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-l);animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(43,179,177,.1)}}
h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.04em;font-weight:900;margin:1.2rem 0}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.15;letter-spacing:-.03em;font-weight:800}
h3{font-size:1.2rem;letter-spacing:-.01em}
.grad{background:linear-gradient(120deg,var(--teal),var(--blue) 60%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:1.1rem;color:var(--muted);max-width:560px}
.lead b{color:var(--text)}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin:2rem 0}
.trust{display:flex;gap:2rem;flex-wrap:wrap}
.trust div{display:flex;flex-direction:column}
.trust strong{font-size:1.7rem;font-weight:800;color:var(--blue);line-height:1.2}
.trust span{font-size:.82rem;color:var(--muted)}

.hero-visual{position:relative;display:flex;flex-direction:column;align-items:center}
.float-card{position:absolute;z-index:3;display:flex;align-items:center;gap:.7rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:.7rem .95rem;box-shadow:var(--shadow);animation:bob2 5s ease-in-out infinite}
.float-card b{display:block;font-size:.88rem;line-height:1.3}
.float-card small{color:var(--muted);font-size:.76rem}
.fc-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--teal-l);font-size:1.2rem}
.fc-1{right:-10px;top:70px}
.fc-2{left:-20px;top:300px;animation-delay:-1.7s}
.fc-3{right:0;bottom:120px;animation-delay:-3.3s}
@keyframes bob2{50%{transform:translateY(-10px)}}
.tap-hint{margin-top:1rem;font-size:.85rem;color:var(--muted)}

/* ---------- device / app replica ---------- */
.device{position:relative;width:320px;height:650px;border-radius:48px;background:#0d2436;padding:12px;box-shadow:var(--shadow-l),inset 0 0 0 2px #2a4a63;display:flex;flex-direction:column;overflow:hidden}
.notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:#000;z-index:5;box-shadow:0 0 0 3px #0d2436}
.screen{flex:1;background:#f2f7f8;color:#0f2f4a;border-radius:38px 38px 0 0;overflow-y:auto;scrollbar-width:none;position:relative;transition:opacity .15s,transform .15s;font-size:12px;line-height:1.4}
.screen::-webkit-scrollbar{display:none}
.screen.swap{opacity:0;transform:translateY(6px)}
.app-tabbar{display:flex;background:#fff;border-radius:0 0 38px 38px;padding:8px 6px 16px;border-top:1px solid #e3edf0}
.app-tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;font-weight:600;color:#52697d;position:relative;transition:.2s}
.app-tabbar svg{width:20px;height:20px;fill:currentColor}
.app-tabbar button.active{color:#33608c}
.app-tabbar button.active::after{content:"";position:absolute;top:-2px;right:calc(50% - 16px);width:6px;height:6px;border-radius:50%;background:#33608c}
.a-pad{padding:44px 16px 20px}
.a-pad.center{text-align:center}
.a-hello{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.a-hello small{color:#52697d;font-size:10.5px}
.a-hello .on{color:#2a9d8f;font-weight:600}
.a-hello h4{font-size:17px;letter-spacing:-.02em}
.a-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#b7d8de,#8fbac7);display:grid;place-items:center;font-weight:800;color:#1f4e79;flex:none}
.a-av.xl{width:70px;height:70px;font-size:20px;margin:6px auto;box-shadow:0 0 0 4px #fff,0 8px 20px -6px rgba(15,47,74,.3)}
.a-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:.18em;color:#5b7488;margin:12px 0 6px;text-align:left}
.a-eyebrow.red{color:#c03d3d}
.a-prio{background:#fff;border-radius:20px;padding:14px;box-shadow:0 10px 24px -14px rgba(15,47,74,.35);text-align:left}
.a-prio-top{display:flex;justify-content:space-between;gap:8px}
.a-prio b{font-size:15px;display:block}
.a-prio small{color:#52697d;font-size:10.5px}
.a-prio em{color:#f0a020;font-style:normal;font-weight:600}
.a-timer{width:36px;height:36px;border-radius:12px;background:#eef4f8;display:grid;place-items:center;flex:none}
.a-prio-bot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.a-ready{background:#f4f8fa;border:1px solid #e3edf0;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:600}
.a-btn{background:#33608c;color:#fff;border-radius:99px;padding:7px 13px;font-size:11px;font-weight:600}
.a-btn.block{width:100%;margin-top:12px;padding:10px}
.a-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.a-mini{background:#fff;border:1px solid #e3edf0;border-radius:14px;padding:9px 10px;text-align:left}
.a-mini span{font-size:12px}
.a-mini b{display:block;font-size:14px}
.a-mini small{color:#52697d;font-size:10px}
.a-row-head{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:9.5px;font-weight:700;letter-spacing:.18em;color:#5b7488}
.a-row-head i{font-style:normal;background:#e6eff3;border-radius:99px;padding:1px 6px;letter-spacing:0;margin-left:4px;color:#1f4e79}
.a-plus{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:15px;color:#33608c;box-shadow:0 2px 6px rgba(0,0,0,.08);letter-spacing:0}
.a-task{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid #e3edf0;border-radius:14px;padding:9px 10px;margin-bottom:6px;text-align:left}
.a-task b{font-size:12px}
.a-task .star{color:#f0a020;font-style:normal}
.a-chk{width:16px;height:16px;border-radius:50%;border:1.5px solid #a8d3d6;flex:none;margin-top:1px}
.a-task.done .a-chk{background:#2bb3b1;border-color:#2bb3b1}
.a-task.done b{text-decoration:line-through;color:#62798d}
.a-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:3px}
.a-meta small{color:#52697d;font-size:9.5px}
.a-tag{font-size:8.5px;font-weight:700;letter-spacing:.06em;padding:1px 6px;border-radius:6px;color:color-mix(in srgb,var(--c) 55%,#000);background:color-mix(in srgb,var(--c) 14%,#fff)}
.a-od{font-size:8.5px;font-weight:600;color:#b53434;background:#fdecec;padding:1px 6px;border-radius:6px}
.a-habit{font-size:8.5px;color:#33608c;background:#eaf2f8;padding:1px 6px;border-radius:6px;font-weight:600}
.a-bar{position:sticky;top:0;z-index:2;background:#fff;display:flex;justify-content:center;align-items:center;padding:40px 16px 12px;border-bottom:1px solid #e3edf0}
.a-bar b{font-size:15px}
.a-bar span{position:absolute;right:14px;font-size:13px}
.a-bar + .a-pad{padding-top:10px}
.a-fab{position:sticky;bottom:12px;left:100%;margin-right:12px;float:right;width:42px;height:42px;border-radius:14px;background:#33608c;color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 8px 18px -6px rgba(31,78,121,.7)}
.a-title{font-size:18px;letter-spacing:-.02em;margin-bottom:2px}
.a-title.blue{color:#33608c}
.a-title.left{text-align:left;margin-bottom:8px}
.a-muted{color:#52697d;font-size:10.5px}
.a-score{position:relative;width:130px;height:130px;margin:10px auto}
.a-score svg{width:100%;height:100%;transform:rotate(-90deg)}
.a-score circle{fill:none;stroke:#dbe9ee;stroke-width:8}
.a-score .fg{stroke:#33608c;stroke-linecap:round;stroke-dasharray:264}
.a-score div{position:absolute;inset:0;display:grid;place-content:center}
.a-score b{font-size:32px;color:#1f4e79;line-height:1}
.a-score small{font-size:7.5px;letter-spacing:.15em;color:#5b7488;font-weight:700}
.a-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.a-3col>div{background:#fff;border:1px solid #e3edf0;border-radius:12px;padding:7px 4px}
.a-3col b{display:block;font-size:12px;color:#1f4e79}
.a-3col small{font-size:9px;color:#52697d}
.a-3col.plain>div{background:none;border:0;border-right:1px solid #e3edf0;border-radius:0}
.a-3col.plain>div:nth-child(3n){border-right:0}
.a-card{background:#fff;border:1px solid #e3edf0;border-radius:14px;padding:10px;margin-top:8px}
.a-bars{display:flex;align-items:flex-end;gap:6px;height:92px}
.a-bars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}
.a-bars i{width:100%;border-radius:5px 5px 2px 2px;background:linear-gradient(#2bb3b1,#33608c)}
.a-bars small{font-size:8.5px;color:#52697d}
.a-me{position:relative;width:max-content;margin:6px auto 10px}
.a-rankpill{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:#33608c;color:#fff;border-radius:99px;padding:1px 9px;font-size:10px;font-weight:700}
.a-seg{display:flex;background:#e6eff3;border-radius:12px;padding:3px;margin:10px 0}
.a-seg>*{flex:1;padding:6px;border-radius:9px;font-size:11px;color:#52697d}
.a-seg b{background:#fff;color:#33608c}
.a-rank{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:12px;background:#fff;margin-bottom:5px;border:1px solid #e3edf0;text-align:left}
.a-rank.me{border-color:#2bb3b1;background:#ebf8f7}
.a-rank .n{width:18px;text-align:center;font-weight:700;color:#5b7488}
.a-rank .av{font-size:15px}
.a-rank b{flex:1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.a-rank em{font-style:normal;font-weight:700;color:#33608c;font-size:11px}
.a-lvl{font-size:10.5px;font-weight:600;color:#5b7488;margin:6px 0}
.a-lvlbar{text-align:left;margin:8px 4px}
.a-lvlbar span{display:flex;justify-content:space-between;font-size:10.5px;margin-bottom:4px}
.a-lvlbar small{color:#52697d}
.a-lvlbar i{display:block;height:5px;background:#dbe9ee;border-radius:9px;overflow:hidden}
.a-lvlbar em{display:block;height:100%;background:linear-gradient(90deg,#2bb3b1,#33608c)}
.a-list{display:flex;flex-direction:column;margin-top:12px;text-align:left}
.a-list span{padding:11px 4px;border-bottom:1px solid #e3edf0;font-size:12.5px;display:flex;justify-content:space-between}
.a-list span::after{content:"›";color:#8aa0b1}

/* wave divider */
.wave-divider svg{width:100%;height:90px;display:block;fill:var(--bg2)}

/* sections */
.section{padding:6rem 0;content-visibility:auto;contain-intrinsic-size:auto 1100px}
.section-tint{background:var(--bg2)}
.section-head{text-align:center;max-width:680px;margin:0 auto 3rem}
.section-head p{color:var(--muted);margin-top:.8rem;font-size:1.05rem}
.section-head p b{color:var(--text)}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.7rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s,background .4s}
.lbl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--muted);margin:1.2rem 0 .55rem}
.lbl.mt{margin-top:1.6rem}
.progress{height:8px;background:var(--chip);border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;width:var(--w,0);background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:99px;transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
[data-theme=dark] .tag{color:color-mix(in srgb,var(--c) 65%,#fff)}
.tag{font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.12rem .5rem;border-radius:8px;color:color-mix(in srgb,var(--c) 60%,#000);background:color-mix(in srgb,var(--c) 14%,transparent)}

/* segmented controls */
.seg-lg{display:flex;background:var(--chip);border-radius:16px;padding:5px;gap:4px}
.seg-lg button{flex:1;padding:.65rem 1rem;border-radius:12px;font-weight:600;color:var(--muted);transition:.25s}
.seg-lg button.active{background:var(--deep);color:#fff;box-shadow:0 6px 14px -6px rgba(11,58,94,.6)}
.seg-lg.center{width:min(420px,100%);margin:0 auto 2.5rem}
.seg-lg.center button.active{background:var(--surface);color:var(--blue);box-shadow:0 3px 10px rgba(15,47,74,.12)}
.seg-sm{display:inline-flex;background:var(--chip);border-radius:99px;padding:4px;gap:2px;flex-wrap:wrap}
.seg-sm button{padding:.35rem .85rem;border-radius:99px;font-weight:600;font-size:.85rem;color:var(--muted);transition:.2s}
.seg-sm button.active{background:var(--surface);color:var(--blue);box-shadow:0 2px 8px rgba(15,47,74,.12)}

/* ---------- DIVE ---------- */
.dive-wrap{display:grid;grid-template-columns:220px minmax(0,440px) 1fr;gap:1.6rem;align-items:start;justify-content:center}
.depth-gauge{list-style:none;position:relative;display:flex;flex-direction:column;gap:.35rem;padding-left:18px}
.depth-gauge::before{content:"";position:absolute;left:5px;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(#bfe6e6,#33608c,#0b1f33)}
.depth-gauge li button{width:100%;display:flex;align-items:center;gap:.65rem;padding:.6rem .8rem;border-radius:14px;text-align:left;transition:.25s;position:relative}
.depth-gauge li button::before{content:"";position:absolute;left:-18px;width:13px;height:13px;border-radius:50%;background:var(--surface);border:3px solid var(--line);transition:.25s}
.depth-gauge li.passed button::before{border-color:var(--teal)}
.depth-gauge li.active button{background:var(--surface);box-shadow:var(--shadow)}
.depth-gauge li.active button::before{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 5px var(--teal-l)}
.depth-gauge li button:hover{background:var(--surface)}
.depth-gauge span{font-size:1.35rem}
.depth-gauge b{flex:1;font-size:.92rem}
.depth-gauge small{color:var(--muted);font-weight:600;font-size:.8rem}

.dive-stage{--depth:0;position:relative;isolation:isolate;border-radius:34px;overflow:hidden;min-height:640px;padding:1.4rem;border:1px solid var(--line);box-shadow:var(--shadow-l);background:linear-gradient(180deg,#eef8fa,#cfe7ee)}
.dive-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1b6f99,#062540 70%,#020b16);opacity:calc(var(--depth)*.92);transition:opacity 1s}
[data-theme=dark] .dive-stage{background:linear-gradient(180deg,#143a55,#0c2a40)}
.sea{position:absolute;inset:0;pointer-events:none}
.sea::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-30px;height:90px;border-radius:50%;background:rgba(255,255,255,.35)}
.sea::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 60px,rgba(255,255,255,.06) 60px 90px);opacity:calc(1 - var(--depth));animation:rays 12s ease-in-out infinite alternate}
@keyframes rays{to{transform:translateX(-40px)}}
.creatures span{position:absolute;opacity:.55;animation:swim ease-in-out infinite alternate}
@keyframes swim{0%{transform:translate(0,0)}50%{transform:translate(18px,-10px)}100%{transform:translate(-14px,8px)}}
.stage-view{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;animation:fadeUp .45s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}}
.dive-stage.diving .stage-view,.dive-stage:not(.diving) .stage-view{color:inherit}
.task-pill{width:100%;display:flex;align-items:center;gap:.7rem;background:var(--surface);border:2px solid var(--deep);border-radius:16px;padding:.7rem 1rem}
[data-theme=dark] .task-pill{border-color:var(--blue)}
.task-pill span{color:var(--blue);font-weight:800}
.task-pill b{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-pill button{color:var(--blue);font-weight:600;font-size:.9rem}
.zone-ring{position:relative;width:min(290px,72vw);aspect-ratio:1;margin:.6rem 0;cursor:ns-resize;border-radius:50%;touch-action:none}
.zone-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.zr-bg{fill:none;stroke:color-mix(in srgb,#d4e6ec 80%,transparent);stroke-width:12}
.zr-fg{fill:none;stroke:var(--deep);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.3,.9,.3,1);filter:drop-shadow(0 4px 10px rgba(11,58,94,.35))}
[data-theme=dark] .zr-fg{stroke:#6fb0e6}
.zone-center{position:absolute;inset:12%;border-radius:50%;display:grid;place-content:center;text-align:center;gap:.1rem;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(4px)}
.zone-emoji{font-size:2.8rem;line-height:1.1}
.zone-emoji.pop{animation:pop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{from{transform:scale(.4) translateY(10px);opacity:0}}
.zone-name{font-size:1.5rem;font-weight:800;color:var(--blue-d);letter-spacing:-.02em}
[data-theme=dark] .zone-name{color:#cfe6f7}
.zone-min{color:var(--muted);font-weight:600}
.zone-hint{display:flex;align-items:center;gap:.4rem;justify-content:center;color:var(--muted);font-size:.8rem;margin-top:.3rem}
.zone-hint button{width:26px;height:26px;border-radius:50%;background:var(--chip);font-size:.6rem;color:var(--blue)}
.ambient{display:flex;gap:.6rem}
.ambient button{width:70px;padding:.55rem 0;border-radius:16px;background:var(--surface);border:2px solid var(--line);display:flex;flex-direction:column;align-items:center;font-size:.78rem;font-weight:600;color:var(--muted);transition:.2s}
.ambient button span{font-size:1.35rem}
.ambient button.active{border-color:var(--teal);background:var(--teal-l);color:var(--blue-d)}
[data-theme=dark] .ambient button.active{color:#cfe6f7}
.fast{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted);cursor:pointer;background:color-mix(in srgb,var(--surface) 70%,transparent);padding:.35rem .8rem;border-radius:99px}
.fast input{accent-color:var(--teal)}
.run-label{font-size:.8rem;font-weight:700;letter-spacing:.3em;color:var(--blue);margin-top:.4rem}
.run-label{background:color-mix(in srgb,var(--surface) 82%,transparent);padding:.2rem .9rem;border-radius:99px}
.task-chip{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:.5rem 1.2rem .5rem .9rem;margin-top:1rem}
.task-chip span{font-size:1.4rem}
.task-chip small{display:block;color:var(--muted);font-size:.78rem}
.run-ring{position:relative;width:min(290px,72vw);aspect-ratio:1;margin:1rem 0}
.run-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rr-bg{fill:var(--surface);stroke:#51677d;stroke-width:9}
.rr-fg{fill:none;stroke:var(--teal);stroke-width:9;stroke-linecap:round}
.run-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.run-time{font-size:clamp(2.8rem,9vw,3.6rem);font-weight:500;color:var(--blue);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.run-rem{font-size:.72rem;letter-spacing:.25em;color:var(--muted);font-weight:600}
.run-zone{margin:.6rem auto 0;background:var(--chip);border:1px solid var(--line);border-radius:99px;padding:.2rem .9rem;font-size:.85rem;font-weight:600;letter-spacing:.05em}
.end-emoji{font-size:4rem;animation:pop .6s cubic-bezier(.3,1.6,.5,1)}
.end-title{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;text-align:center}
.end-sub{color:var(--muted);text-align:center;max-width:320px}
.end-title,.end-sub{background:color-mix(in srgb,var(--surface) 82%,transparent);padding:.1rem .8rem;border-radius:12px}
.end-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%}
.end-stats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.7rem .3rem;text-align:center}
.end-stats b{display:block;font-size:1.5rem;color:var(--blue)}
.end-stats i{font-style:normal}
.end-stats span{font-size:.62rem;letter-spacing:.12em;color:var(--muted);font-weight:700}
.depth-reached{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:1rem}
.depth-reached small{font-size:.7rem;letter-spacing:.15em;color:var(--muted);font-weight:700}
.depth-reached ul{list-style:none;margin-top:.5rem}
.depth-reached li{display:flex;align-items:center;gap:.7rem;padding:.45rem .7rem;border-radius:12px;opacity:.35}
.depth-reached li.past{opacity:.75}
.depth-reached li.here{opacity:1;background:var(--chip);border:1px solid var(--line)}
.depth-reached li b{flex:1;font-size:.95rem}
.depth-reached li small{letter-spacing:0;font-weight:500}
.depth-reached li em{font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.1em;background:#51677d;color:#fff;padding:.15rem .55rem;border-radius:99px}
.confetti{position:absolute;top:-30px;z-index:5;font-style:normal;font-size:1.3rem;animation:fall linear forwards;pointer-events:none}
@keyframes fall{to{transform:translateY(720px) rotate(360deg);opacity:0}}
.dive-notes{display:grid;gap:.9rem}
.note{display:flex;gap:.9rem;padding:1.1rem 1.2rem}
.note:hover{transform:translateX(4px)}
.n-ico{width:42px;height:42px;flex:none;border-radius:13px;background:var(--teal-l);display:grid;place-items:center;font-size:1.25rem}
.note p{color:var(--muted);font-size:.9rem;margin-top:.15rem}

/* ---------- TASKS ---------- */
.tasks-grid{display:grid;grid-template-columns:420px 1fr;gap:1.5rem;align-items:start}
.new-task h3{text-align:center;font-size:1.3rem;margin-bottom:1rem}
.input{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:.9rem 1.1rem;transition:.2s}
.input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-l)}
.shake{animation:shake .35s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips button{padding:.55rem 1rem;border-radius:99px;border:1.5px solid var(--line);background:var(--surface);font-weight:600;font-size:.92rem;transition:.2s}
.chips button:hover{border-color:var(--teal)}
.chips button.active{background:var(--blue);border-color:var(--blue);color:#fff}
.repeat .seg-sm{display:flex}
.repeat .seg-sm button{flex:1}
.sched{border:1.5px solid var(--line);border-radius:18px;overflow:hidden}
.sched .row,.set-row{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;cursor:pointer}
.sched .row+.row{border-top:1px solid var(--line)}
.sched .row>span:nth-child(2),.set-row>span:nth-child(2){flex:1;font-weight:600}
.sched small,.set-row small{display:block;color:var(--muted);font-weight:400;font-size:.8rem}
.ri{width:38px;height:38px;border-radius:12px;background:var(--chip);display:grid;place-items:center;flex:none}
.ri.amber{background:#fdeede;color:#e58a3a;font-size:1.2rem}
.sched input[type=date],.sched input[type=time],.time-in{border:0;background:none;color:var(--muted);font-weight:600;text-align:right;max-width:150px}
[data-theme=dark] input[type=date],[data-theme=dark] input[type=time]{color-scheme:dark}
.switch{appearance:none;width:48px;height:28px;border-radius:99px;background:var(--chip);border:1.5px solid var(--line);position:relative;cursor:pointer;transition:.25s;flex:none}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.25s}
.switch:checked{background:var(--blue);border-color:var(--blue)}
.switch:checked::after{left:23px}
.new-task .btn-block{margin-top:1.4rem}
.board-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.board-head h3{font-size:1.3rem}
.b-progress{display:flex;align-items:center;gap:1rem;margin-bottom:.4rem;font-size:.9rem;color:var(--muted)}
.b-progress b{color:var(--text)}
.b-progress .progress{flex:1}
.b-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--muted);margin:1.1rem 0 .6rem}
.b-eyebrow.red{color:var(--red)}
.b-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.b-task{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);transition:.2s;animation:fadeUp .35s ease}
.b-task:hover{border-color:color-mix(in srgb,var(--teal) 50%,var(--line));transform:translateX(3px)}
.b-chk{width:26px;height:26px;border-radius:50%;border:2px solid #a8d3d6;flex:none;display:grid;place-items:center;transition:.2s}
.b-task.done .b-chk{background:var(--teal);border-color:var(--teal)}
.b-task.done .b-chk::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.b-task.done b{text-decoration:line-through;color:var(--muted)}
.b-task.hist b{text-decoration:none;color:var(--text)}
.b-body{flex:1;min-width:0}
.b-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.25rem}
.b-meta small{color:var(--muted);font-size:.8rem}
.star{color:var(--amber)}
.od-tag{font-size:.7rem;font-weight:600;color:var(--red);background:var(--red-l);padding:.12rem .5rem;border-radius:8px}
.habit-tag{font-size:.7rem;font-weight:600;color:var(--blue);background:var(--chip);padding:.12rem .5rem;border-radius:8px}
.b-del{opacity:0;color:var(--muted);font-size:1.3rem;padding:.1rem .5rem;border-radius:8px;transition:.2s}
.b-task:hover .b-del{opacity:1}
.b-del:hover{color:var(--red);background:var(--red-l)}
.h-min{font-weight:700;color:var(--blue);background:var(--chip);border-radius:99px;padding:.2rem .7rem;font-size:.85rem}
.empty{text-align:center;color:var(--muted);padding:2rem 0}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin:.5rem 0 1rem;text-align:center}
.cal-head b{display:block;font-size:1.2rem}
.cal-head small{color:var(--muted);letter-spacing:.2em;font-size:.7rem;font-weight:600}
.cal-head button{width:40px;height:40px;border-radius:12px;border:1px solid var(--line);font-size:1.3rem;color:var(--blue)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;background:var(--surface2);border:1px solid var(--line);border-radius:20px;padding:.9rem;text-align:center}
.cal>small{color:var(--muted);font-weight:600;padding-bottom:.3rem}
.cal button{aspect-ratio:1;border-radius:12px;font-weight:600;font-size:.9rem;transition:.15s}
.cal button:hover{transform:scale(1.08)}
.lv0{background:transparent}
.lv1{background:#dfe9f1}.lv2{background:#b7cddf}.lv3{background:#8aabc8;color:#fff}.lv4{background:#4f7aa3;color:#fff}
[data-theme=dark] .lv1{background:#1b3a54}[data-theme=dark] .lv2{background:#27506f}
.cal button.today{outline:2.5px solid var(--deep);outline-offset:1px}
[data-theme=dark] .cal button.today{outline-color:#9cc9ee}
.cal-legend{display:flex;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.82rem;color:var(--muted)}
.cal-legend i{width:18px;height:18px;border-radius:5px;border:1px solid var(--line)}

/* ---------- STATS ---------- */
.stats-grid{display:grid;grid-template-columns:380px 1fr;gap:1.5rem}
.score-card{text-align:center}
.score-ring{position:relative;width:220px;height:220px;margin:.8rem auto 1.2rem}
.score-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.sr-bg{fill:none;stroke:var(--chip);stroke-width:14}
.sr-fg{fill:none;stroke:url(#sg);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.score-center{position:absolute;inset:0;display:grid;place-content:center}
.score-center b{font-size:3.6rem;font-weight:800;line-height:1;color:var(--blue-d)}
[data-theme=dark] .score-center b{color:#cfe6f7}
.score-center span{font-size:.68rem;letter-spacing:.2em;color:var(--muted);font-weight:700;margin-top:.3rem}
.score-center em{font-style:normal;font-size:.78rem;font-weight:700;color:#1b9a7a;margin-top:.35rem}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.2rem}
.tiles div{border:1px solid var(--line);border-radius:16px;padding:.8rem .3rem;background:var(--surface2)}
.tiles span{font-size:1.2rem}
.tiles b{display:block;color:var(--blue);font-size:1.02rem}
.tiles small{color:var(--muted);font-size:.78rem}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start}
.legend{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted)}
.legend i{width:12px;height:12px;border-radius:4px;background:linear-gradient(var(--teal),var(--blue))}
.bars{display:flex;align-items:flex-end;gap:clamp(.4rem,2vw,1.2rem);height:250px;margin:1.4rem 0 1.2rem;padding-bottom:1.6rem;border-bottom:1px dashed var(--line);position:relative}
.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}
.bar i{width:100%;max-width:54px;height:0;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--teal) 70%,transparent),var(--blue));transition:height 1.1s cubic-bezier(.2,.8,.2,1);opacity:.75}
.bars.grow .bar i{height:var(--h)}
.bar:nth-child(2) i{transition-delay:.06s}.bar:nth-child(3) i{transition-delay:.12s}.bar:nth-child(4) i{transition-delay:.18s}.bar:nth-child(5) i{transition-delay:.24s}.bar:nth-child(6) i{transition-delay:.3s}.bar:nth-child(7) i{transition-delay:.36s}
.bar.best i{opacity:1;box-shadow:0 10px 24px -8px rgba(43,179,177,.6)}
.bar small{position:absolute;bottom:-1.6rem;font-size:.8rem;color:var(--muted);font-weight:600}
.bar.today small{color:var(--blue);font-weight:800}
.bv{font-size:.78rem;font-weight:700;color:var(--blue);margin-bottom:.3rem;opacity:0;transition:opacity .4s 1s}
.bars.grow .bv{opacity:1}
.insights{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1.8rem}
.insights>div{display:flex;gap:.6rem;align-items:center;background:var(--surface2);border:1px solid var(--line);border-radius:16px;padding:.7rem .8rem}
.insights span{font-size:1.4rem}
.insights b{display:block;font-size:.85rem}
.insights small{color:var(--muted);font-size:.8rem}
.cat-split{margin-top:1.2rem}
.split{display:flex;height:12px;border-radius:99px;overflow:hidden;gap:3px}
.split i{display:block;height:100%}
.split-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.6rem;font-size:.82rem;color:var(--muted)}
.split-legend span{display:flex;align-items:center;gap:.35rem}
.split-legend i{width:10px;height:10px;border-radius:3px}

/* ---------- RANKS ---------- */
.ranks-wrap{max-width:760px;margin:0 auto}
.podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:1rem;margin-bottom:1.5rem}
.pod{display:flex;flex-direction:column;align-items:center;text-align:center;animation:fadeUp .5s ease both}
.pod-av{position:relative;width:78px;height:78px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:2.2rem;box-shadow:var(--shadow);border:4px solid var(--line);margin-bottom:.5rem}
.pod-av span{position:absolute;bottom:-8px;background:var(--blue);color:#fff;font-size:.72rem;font-weight:800;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--surface)}
.p1 .pod-av{width:96px;height:96px;font-size:2.8rem;border-color:#f3c94b}
.p1 .pod-av span{background:#e0a91a}
.p2 .pod-av{border-color:#c4ced8}
.p3 .pod-av{border-color:#dba579}
.pod small{color:var(--muted);font-weight:600}
.pod-block{width:100%;margin-top:.7rem;border-radius:18px 18px 6px 6px;display:grid;place-items:center;font-size:1.8rem;background:linear-gradient(180deg,var(--surface),var(--chip));border:1px solid var(--line)}
.p1 .pod-block{height:130px;background:linear-gradient(180deg,#fff6d8,#f6dea0)}
.p2 .pod-block{height:95px}
.p3 .pod-block{height:70px}
[data-theme=dark] .p1 .pod-block{background:linear-gradient(180deg,#4a3d14,#2a2410)}
.p1{animation-delay:.1s}.p3{animation-delay:.2s}
.rank-list{padding:.6rem}
.rk{display:flex;align-items:center;gap:.9rem;padding:.75rem .9rem;border-radius:16px;animation:fadeUp .45s ease both}
.rk+.rk{margin-top:.2rem}
.rk:hover{background:var(--surface2)}
.rk.me{background:var(--teal-l);border:1.5px solid var(--teal)}
.rk-n{width:26px;text-align:center;font-weight:800;color:var(--muted)}
.rk-av{width:42px;height:42px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-size:1.3rem;flex:none}
.rk-body{flex:1;min-width:0}
.rk-body b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-body em{font-style:normal;font-size:.65rem;letter-spacing:.1em;background:var(--teal);color:#fff;padding:.1rem .45rem;border-radius:99px;vertical-align:middle}
.rk-bar{height:5px;background:var(--chip);border-radius:9px;overflow:hidden;margin-top:.35rem}
.rk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:9px}
.rk-m{font-weight:800;color:var(--blue);min-width:56px;text-align:right}

/* ---------- PROGRESS ---------- */
.progress-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:1.5rem;align-items:start}
.pc-top{display:flex;gap:1.1rem;align-items:center}
.avatar{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#b7d8de,#8fbac7);display:grid;place-items:center;font-weight:800;color:#1f4e79;position:relative;flex:none}
.avatar.lg{width:78px;height:78px;font-size:1.5rem;box-shadow:0 0 0 4px var(--surface),var(--shadow)}
.avatar .edit{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:var(--deep);color:#fff;font-size:.75rem;display:grid;place-items:center;border:2px solid var(--surface)}
.pc-meta{font-size:.88rem;color:var(--muted);font-weight:600;margin-top:.2rem}
.pc-meta b{color:var(--blue)}
.lvl-bar{display:flex;justify-content:space-between;margin:1.4rem 0 .5rem;font-size:.9rem;font-weight:600}
.focus-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.focus-stats div{padding:.85rem .3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.focus-stats div:nth-child(3n){border-right:0}
.focus-stats div:nth-child(n+4){border-bottom:0}
.focus-stats b{display:block;font-size:1.15rem}
.focus-stats span{color:var(--muted);font-size:.8rem}
.goals{display:grid;gap:.7rem}
.goal{display:flex;gap:.9rem;border:1px solid var(--line);border-radius:18px;padding:.9rem 1rem;background:var(--surface2)}
.g-ico{width:44px;height:44px;border-radius:13px;background:var(--chip);display:grid;place-items:center;font-size:1.2rem;flex:none}
.g-body{flex:1}
.g-body small{display:block;color:var(--muted);font-size:.84rem}
.g-val{font-size:.84rem;font-weight:700;color:var(--blue);margin:.45rem 0 .35rem}
.ach-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.ach-head h3{font-size:1.3rem}
.ach-filter{margin-bottom:1.1rem}
.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem}
.ach{border:1px solid var(--line);border-radius:20px;padding:1rem .9rem;text-align:center;background:var(--surface2);animation:fadeUp .4s ease both;transition:.25s}
.ach:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ach-ico{width:60px;height:60px;margin:0 auto .55rem;border-radius:50%;display:grid;place-items:center;font-size:1.9rem;background:var(--chip);filter:grayscale(.3)}
.ach.got .ach-ico{background:radial-gradient(circle at 30% 30%,#fff,var(--teal-l));filter:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 40%,transparent),0 8px 20px -8px rgba(43,179,177,.6)}
[data-theme=dark] .ach.got .ach-ico{background:radial-gradient(circle at 30% 30%,#1e5a66,var(--teal-l))}
.ach b{display:block}
.ach small{color:var(--muted);font-size:.8rem}
.ach-prog{height:5px;background:var(--chip);border-radius:9px;overflow:hidden;margin:.6rem 0 .35rem}
.ach-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue))}
.ach em{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--muted)}
.ach.got em{color:#1b9a7a}

/* ---------- SETTINGS ---------- */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.settings-grid h3{margin-bottom:.4rem}
.slider-row{padding:1rem 0;border-bottom:1px solid var(--line)}
.sl-top{display:flex;justify-content:space-between;align-items:center}
.sl-top .val{font-weight:800;color:var(--blue);font-size:1.1rem}
.sl-foot{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}
input[type=range]{--p:0%;width:100%;appearance:none;height:6px;border-radius:9px;margin:.9rem 0 .5rem;background:linear-gradient(90deg,var(--blue) var(--p),var(--chip) var(--p));cursor:pointer}
input[type=range]::-webkit-slider-thumb{appearance:none;width:24px;height:24px;border-radius:50%;background:var(--blue);border:4px solid var(--surface);box-shadow:0 2px 8px rgba(15,47,74,.35)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--blue);border:4px solid var(--surface);box-shadow:0 2px 8px rgba(15,47,74,.35)}
.set-row{padding:.85rem 0;border-bottom:1px solid var(--line)}
.amb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}
.amb-list button{padding:.7rem .8rem;border-radius:14px;border:1.5px solid var(--line);text-align:left;font-weight:600;transition:.2s;position:relative}
.amb-list button.active{border-color:var(--teal);background:var(--teal-l)}
.amb-list button.active::after{content:"";position:absolute;right:.8rem;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--blue)}
.link-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.link-list>*{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;font-weight:500;text-align:left;transition:.2s}
.link-list>*+*{border-top:1px solid var(--line)}
.link-list>*:hover{background:var(--surface2);padding-left:1.3rem}
.link-list i{font-style:normal;color:var(--muted);font-size:1.2rem}

/* ---------- FAQ / CTA / footer ---------- */
.faq{display:grid;gap:.8rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.1rem 1.4rem;transition:.2s}
.faq details[open]{box-shadow:var(--shadow)}
.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--blue);transition:.25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--muted);margin-top:.6rem}
.cta-band{position:relative;overflow:hidden;text-align:center;color:#fff;border-radius:32px;padding:5rem 1.5rem;background:linear-gradient(135deg,#0b3a5e,#33608c 50%,#2a8f9c)}
.cta-band>h2,.cta-band>p,.cta-band>a,.cta-band>small,.cta-band>.cta-icon{position:relative;z-index:1}
.cta-icon{display:block;margin:0 auto 1.4rem;border-radius:22px;box-shadow:0 20px 40px -12px rgba(0,0,0,.45);animation:bob2 5s ease-in-out infinite}
.cta-band p{opacity:.85;margin:.8rem 0 2rem;font-size:1.1rem}
.cta-band small{display:block;margin-top:1rem;opacity:.7}
.cta-fish span{position:absolute;left:0;will-change:transform;font-size:2rem;opacity:.35;animation:swimx linear infinite}
.cta-fish span:nth-child(1){top:15%;animation-duration:18s}
.cta-fish span:nth-child(2){top:62%;animation-duration:24s;animation-delay:-8s}
.cta-fish span:nth-child(3){top:35%;animation-duration:30s;animation-delay:-15s;font-size:2.6rem}
.cta-fish span:nth-child(4){top:78%;animation-duration:21s;animation-delay:-4s}
.cta-fish span:nth-child(5){top:8%;animation-duration:27s;animation-delay:-20s}
@keyframes swimx{from{transform:translateX(-120px)}to{transform:translateX(min(1320px,105vw))}}
.cta-waves{position:absolute;inset:auto 0 0 0;height:120px;overflow:hidden}
.cta-waves .wave{position:absolute;left:-50%;width:200%;aspect-ratio:1;top:40px;border-radius:42%;background:rgba(255,255,255,.08);animation:spin 9s linear infinite}
.cta-waves .wave.w2{top:60px;background:rgba(255,255,255,.06);animation-duration:13s}
@keyframes spin{to{transform:rotate(360deg)}}
.footer{padding:2.5rem 0 3rem;border-top:1px solid var(--line)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.2rem}
.footer nav a:hover{color:var(--blue)}
.mobile-tabbar{display:none}
.toast{visibility:hidden;position:fixed;left:50%;bottom:30px;transform:translate(-50%,200px);background:#0f2f4a;color:#fff;padding:.8rem 1.3rem;border-radius:14px;font-weight:500;box-shadow:var(--shadow-l);transition:transform .35s cubic-bezier(.2,.9,.3,1.3),visibility .35s;z-index:100;max-width:90vw;text-align:center}
.toast.show{visibility:visible;transform:translate(-50%,0)}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1150px){
  .nav-links{gap:1.1rem;font-size:.95rem}
  .dive-wrap{grid-template-columns:200px minmax(0,440px)}
  .dive-notes{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}
}
@media (max-width:1024px){
  .hero{grid-template-columns:minmax(0,1fr);text-align:center;padding-top:2rem}
  .hero-copy .lead{margin-inline:auto}
  .cta-row,.trust{justify-content:center}
  .tasks-grid,.stats-grid,.progress-grid{grid-template-columns:minmax(0,1fr)}
  .new-task{max-width:560px;width:100%;margin:0 auto}
  .dive-notes{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .nav-links{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:blur(14px);padding:.5rem 4% 1.2rem;box-shadow:0 20px 30px -20px rgba(15,47,74,.3);transform:translateY(-120%);opacity:0;transition:.35s;pointer-events:none}
  .nav-links.open{transform:none;opacity:1;pointer-events:auto}
  .nav-links a:not(.btn){padding:.9rem 0;border-bottom:1px solid var(--line)}
  .nav-links .btn{margin-top:1rem}
  .burger{display:flex}
  .dive-wrap{grid-template-columns:minmax(0,1fr)}
  .depth-gauge{flex-direction:row;overflow-x:auto;padding:0 0 .4rem;gap:.4rem;scrollbar-width:none;order:0}
  .depth-gauge::-webkit-scrollbar{display:none}
  .depth-gauge::before{display:none}
  .depth-gauge li button{flex-direction:column;gap:0;padding:.5rem .7rem;min-width:84px;text-align:center;background:var(--surface);border:1.5px solid var(--line)}
  .depth-gauge li button::before{display:none}
  .depth-gauge li.active button{border-color:var(--teal)}
  .depth-gauge b{font-size:.78rem;white-space:nowrap}
  .settings-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .section{padding:4rem 0}
  .card{padding:1.2rem}
  .float-card{display:none}
  .ach-filter{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .device{width:292px;height:600px}
  .trust{gap:1.2rem}
  .trust strong{font-size:1.4rem}
  .dive-stage{padding:1rem;min-height:600px;border-radius:26px}
  .ambient button{width:62px}
  .dive-notes{grid-template-columns:minmax(0,1fr)}
  .insights{grid-template-columns:1fr}
  .bars{height:200px}
  .podium{gap:.5rem}
  .pod-av{width:62px;height:62px;font-size:1.8rem}
  .p1 .pod-av{width:76px;height:76px;font-size:2.2rem}
  .rk{gap:.6rem;padding:.65rem .5rem}
  .rk-av{width:36px;height:36px}
  .ach-grid{grid-template-columns:repeat(2,1fr)}
  .b-del{opacity:1}
  .board-head{flex-direction:column;align-items:stretch}
  .board-head .seg-sm{display:flex}
  .board-head .seg-sm button{flex:1}
  .footer-inner{flex-direction:column;text-align:center}
  body{padding-bottom:74px}
  .mobile-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:.4rem .3rem calc(.4rem + env(safe-area-inset-bottom))}
  .mobile-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600;color:var(--muted);padding:.3rem 0}
  .mobile-tabbar svg{width:22px;height:22px;fill:currentColor}
  .mobile-tabbar a.active{color:var(--blue)}
  .toast{bottom:90px}
}
@media (max-width:380px){
  .device{width:270px;height:560px}
  .ambient{gap:.35rem}
  .ambient button{width:56px;font-size:.7rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- SEO / content additions ---------- */
.kicker{display:block;font-size:clamp(.95rem,1.6vw,1.1rem);font-weight:700;letter-spacing:.02em;color:var(--teal);margin-bottom:.6rem;line-height:1.3}
[data-theme=light] .kicker{color:#136b69}
[data-theme=light] .trust span{color:#475f72}
.sample-note{font-size:.85rem!important;margin-top:.4rem!important;opacity:.85}
.faq p a,.legal a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}

/* ---------- legal pages ---------- */
.legal-wrap{padding:3rem 0 5rem}
.legal{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(1.5rem,4vw,3.2rem);box-shadow:var(--shadow);max-width:820px;margin:0 auto}
.legal h1{font-size:clamp(2rem,4.5vw,2.8rem);letter-spacing:-.03em;margin:0 0 .4rem}
.legal h2{font-size:1.3rem;letter-spacing:-.01em;margin:2.2rem 0 .7rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.legal h3{font-size:1.02rem;margin:1.3rem 0 .4rem}
.legal p,.legal li{color:var(--text);opacity:.88}
.legal p{margin:.6rem 0}
.legal ul{margin:.5rem 0 .8rem 1.3rem;display:grid;gap:.35rem}
.legal .policy-date{color:var(--muted);font-size:.9rem;opacity:1}
.legal .highlight-box{background:var(--teal-l);border:1px solid color-mix(in srgb,var(--teal) 35%,transparent);border-radius:18px;padding:1rem 1.2rem;margin:1.4rem 0}
.legal-back{display:flex;align-items:center;gap:.4rem;color:var(--blue);font-weight:600;margin:0 auto 1.2rem;max-width:820px;width:100%}
.nav-simple .nav-inner{justify-content:space-between}
