html[data-theme='neon'] {
  --accent: #22ffc8;
  --accent-strong: #7dffdf;
}
html[data-theme='amber'] {
  --accent: #ffcc21;
  --accent-strong: #ffdd57;
}
html[data-theme='sunset'] {
  --accent: #ff7a45;
  --accent-strong: #ffb08a;
}
html[data-theme='emerald'] {
  --accent: #34d399;
  --accent-strong: #7debbb;
}
html[data-theme='ocean'] {
  --accent: #38bdf8;
  --accent-strong: #8adcff;
}
html[data-theme='grape'] {
  --accent: #a78bfa;
  --accent-strong: #cdbcff;
}
html[data-theme='magma'] {
  --accent: #fb7185;
  --accent-strong: #ffa3b0;
}
html[data-theme='cobalt'] {
  --accent: #3b82f6;
  --accent-strong: #7dadff;
}
html[data-theme='coral'] {
  --accent: #fb923c;
  --accent-strong: #ffbe82;
}
html[data-theme='lime'] {
  --accent: #a3e635;
  --accent-strong: #d9f99d;
}
html[data-theme='teal'] {
  --accent: #14b8a6;
  --accent-strong: #5eead4;
}
html[data-theme='indigo'] {
  --accent: #6366f1;
  --accent-strong: #a5b4fc;
}
html[data-theme='orchid'] {
  --accent: #e879f9;
  --accent-strong: #f5b3ff;
}
html[data-theme='rose'] {
  --accent: #f43f8f;
  --accent-strong: #ff8cc0;
}
html[data-theme='ice'] {
  --accent: #7dd3fc;
  --accent-strong: #d6fbff;
}
html[data-theme='peach'] {
  --accent: #fdba8c;
  --accent-strong: #ffd9bf;
}
html[data-theme='ruby'] {
  --accent: #ef4444;
  --accent-strong: #ff8a8a;
}
html[data-theme='silver'] {
  --accent: #cbd5e1;
  --accent-strong: #f1f5f9;
}

:root{
  --bg:#06070e;--panel:#12131a;--panel-2:#1a1c28;--panel-3:#1f2232;--elev:#242840;
  --text:#f0f2f8;--muted:#9aa3b8;--faint:#aeb2c2;
  --n-hair:color-mix(in srgb,var(--text) 10%,transparent);--n-hair-strong:color-mix(in srgb,var(--text) 16%,transparent);
  --n-tint-1:color-mix(in srgb,var(--accent) 7%,transparent);--n-tint-2:color-mix(in srgb,var(--accent) 13%,transparent);--n-tint-3:color-mix(in srgb,var(--accent) 20%,transparent);
  --n-lift-1:0 2px 10px rgba(0,0,0,.28);--n-lift-2:0 10px 28px rgba(0,0,0,.36);--n-lift-3:0 20px 56px rgba(0,0,0,.44);
  --n-sheen:inset 0 1px 0 rgba(255,255,255,.06);
  --n-r-xs:10px;--n-r-sm:13px;--n-r-md:17px;--n-r-lg:22px;--n-r-pill:999px;--n-ctl:34px;--n-ctl-sm:28px;--n-row:34px;--n-ic:26px;
  --n-ease:cubic-bezier(.32,.72,0,1);--n-fast:.16s var(--n-ease);--n-mid:.24s var(--n-ease);
  --hair:var(--n-hair);--hair-strong:var(--n-hair-strong);
  --lift-1:var(--n-lift-1);--lift-2:var(--n-lift-2);--lift-3:var(--n-lift-3);--sheen:var(--n-sheen);
  --r-xs:var(--n-r-xs);--r-sm:var(--n-r-sm);--r-md:var(--n-r-md);--r-lg:var(--n-r-lg);--r-pill:var(--n-r-pill);
  --ctl:var(--n-ctl);--ctl-sm:var(--n-ctl-sm);--row:var(--n-row);--ic:var(--n-ic);
  --good:#34d399;--bad:#fb7185;--info:#38bdf8;--warn:#fbbf24;
  --accent:#22d3ee;--accent-ink:var(--accent);--accent-strong:#67e8f9;--accent-2:#a78bfa;--line:color-mix(in srgb,var(--accent) 18%,var(--n-hair));
  --line-soft:color-mix(in srgb,var(--accent) 10%,var(--n-hair));--a-glow:color-mix(in srgb,var(--accent) 18%,transparent);--a-glow-sm:color-mix(in srgb,var(--accent) 11%,transparent);--a-glow-warm:color-mix(in srgb,var(--accent-2) 15%,transparent);
  --g:1;
  --glow-1:0 0 calc(16px*var(--g)) -8px color-mix(in srgb,var(--accent) min(100%,calc(88%*var(--g))),transparent);
  --glow-2:0 0 calc(26px*var(--g)) -10px color-mix(in srgb,var(--accent) min(100%,calc(88%*var(--g))),transparent);
  --glow-3:0 0 calc(40px*var(--g)) -12px color-mix(in srgb,var(--accent) min(100%,calc(88%*var(--g))),transparent);
  --tint-ring:0 0 0 3px color-mix(in srgb,var(--accent) min(100%,calc(14%*var(--g))),transparent);
  --shadow:0 12px 40px rgba(0,0,0,.45);--sheen-top:linear-gradient(150deg,color-mix(in srgb,var(--text) 6%,transparent),transparent 54%);
  --surface:linear-gradient(150deg,var(--n-tint-1),transparent 60%),var(--sheen-top),var(--panel);--field:color-mix(in srgb,var(--bg) 70%,var(--panel-2));
  --row-hover:color-mix(in srgb,var(--accent) 7%,transparent);--font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Inter,system-ui,sans-serif;
  --mono:'SF Mono',SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;--ease:cubic-bezier(.4,0,.2,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--kb:0;--side:268px;
}
html[data-mode='dark']{color-scheme:dark;}
html[data-mode='light']{
  color-scheme:light;
  --bg:#f4efe9;--panel:#fff;--panel-2:#f6f2ed;--panel-3:#ece6de;
  --elev:#fff;--text:#1b1511;--muted:#665c55;--faint:#6e645c;
  --n-hair:color-mix(in srgb,#000 7%,transparent);--n-hair-strong:color-mix(in srgb,#000 13%,transparent);--hair:var(--n-hair);--hair-strong:var(--n-hair-strong);
  --lift-1:0 1px 5px color-mix(in srgb,#000 7%,transparent);--lift-2:0 8px 24px color-mix(in srgb,#000 10%,transparent);--lift-3:0 18px 48px color-mix(in srgb,#000 14%,transparent);
  --accent-ink:color-mix(in srgb,var(--accent) 55%,#1b1511);
  --sheen:inset 0 1px 0 color-mix(in srgb,#fff 90%,transparent);
  --sheen-top:linear-gradient(180deg,color-mix(in srgb,#fff 92%,transparent),transparent 44%);
  --surface:linear-gradient(150deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 60%),var(--sheen-top),var(--panel);
  --field:color-mix(in srgb,var(--accent) 5%,var(--panel-2));
}
html[data-mode='light']{
  --glow-1:0 0 calc(14px*var(--g)) -4px color-mix(in srgb,var(--accent) min(100%,calc(62%*var(--g))),transparent);
  --glow-2:0 0 calc(24px*var(--g)) -6px color-mix(in srgb,var(--accent) min(100%,calc(58%*var(--g))),transparent),0 1px 0 color-mix(in srgb,#fff 70%,transparent);
  --glow-3:0 0 calc(38px*var(--g)) -8px color-mix(in srgb,var(--accent) min(100%,calc(52%*var(--g))),transparent);
  --lift-1:0 1px 2px color-mix(in srgb,#3a2c1e 8%,transparent),0 1px 6px color-mix(in srgb,#3a2c1e 6%,transparent);
  --lift-2:0 6px 16px color-mix(in srgb,#3a2c1e 10%,transparent),0 2px 4px color-mix(in srgb,#3a2c1e 5%,transparent);
  --lift-3:0 16px 40px color-mix(in srgb,#3a2c1e 14%,transparent),0 4px 10px color-mix(in srgb,#3a2c1e 7%,transparent);
  --tint-1:color-mix(in srgb,var(--accent) 9%,transparent);
  --tint-2:color-mix(in srgb,var(--accent) 14%,transparent);
  --n-hair:color-mix(in srgb,#2a1f16 9%,transparent);
  --n-hair-strong:color-mix(in srgb,#2a1f16 16%,transparent);
  --panel-2:#faf7f3;
}
html[data-mode='light'] body{background:radial-gradient(1200px 620px at 12% -8%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 62%),radial-gradient(900px 520px at 92% 4%,color-mix(in srgb,var(--accent-2) 7%,transparent),transparent 60%),var(--bg);animation:boot-fade .28s ease-out;}
@keyframes boot-fade{from{opacity:0;}to{opacity:1;}}
html[data-anim='off'] body{animation:none;}
html[data-mode='light'] .card{box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 96%,transparent);}
html[data-mode='light'] .btn.primary{color:color-mix(in srgb,#1a140f 82%,var(--accent));}
html[data-mode='light'] .landing-top{background:color-mix(in srgb,var(--bg) 94%,transparent);}
html[data-mode='light'] #nebula{opacity:.5;}
html[data-mode='light'] #nebula .blob{opacity:.5;}
html[data-mode='light'] .landing-card:hover,html[data-mode='light'] .landing-feature:hover{box-shadow:var(--lift-2),var(--glow-1);}
html[data-mode='light'] .landing-live-stage{background:radial-gradient(360px 180px at 50% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),color-mix(in srgb,var(--panel-2) 88%,transparent);}
html[data-mode='light'] details.plain>summary{font-weight:650;}
html[data-mode='light'] .landing-card-num{opacity:.42;}
html[data-mode='light'] #lock .locktop-btn,html[data-mode='light'] #lock .locktop-langs{background:color-mix(in srgb,#fff 90%,transparent);box-shadow:var(--lift-1);}
html[data-mode='light'] .landing-phone{box-shadow:11px 13px 26px -6px color-mix(in srgb,#2a1f16 40%,transparent),0 46px 90px -30px color-mix(in srgb,#2a1f16 34%,transparent),0 0 60px -22px color-mix(in srgb,var(--accent) 46%,transparent),inset 1px 1px 1px color-mix(in srgb,#fff 80%,transparent),inset -1px -1px 2px color-mix(in srgb,#000 28%,transparent),inset 0 0 0 2px color-mix(in srgb,#000 16%,transparent),inset 0 0 0 8px #04060b;}
html[data-mode='light'] .landing-strip{border-color:color-mix(in srgb,var(--accent) 24%,var(--hair-strong));box-shadow:var(--lift-1);}
html[data-mode='light'] #toasts .toast{box-shadow:var(--lift-2),var(--glow-1);}
html[data-glow='off']{--g:0;}html[data-glow='soft']{--g:.5;}html[data-glow='on']{--g:1;}html[data-glow='max']{--g:1.6;}
html[data-glow='off'] .hero::before,html[data-glow='off'] .hero .scan-line,html[data-glow='off'] #nebula .aurora{display:none!important;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}html{scrollbar-gutter:stable;}
body{
  margin:0;color:var(--text);font:13.5px/1.55 var(--font);letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;background:
    radial-gradient(820px 520px at 16% -2%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 62%),
    radial-gradient(760px 520px at 90% 4%,color-mix(in srgb,var(--accent-2) 9%,transparent),transparent 62%),
    radial-gradient(1px 1px at 20% 30%,color-mix(in srgb,var(--text) 9%,transparent),transparent 60%),
    var(--bg);
  background-attachment:scroll;
}
a{color:var(--accent-ink);text-decoration:none;}a:hover{text-decoration:underline;text-underline-offset:2px;}img{max-width:100%;}
#nebula{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;}
#nebula .blob{position:absolute;border-radius:50%;opacity:.4;}
#nebula .b1{width:560px;height:560px;left:-88px;top:-118px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%);}
#nebula .b2{width:640px;height:640px;right:-116px;top:-58px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent-2) 20%,transparent),transparent 70%);opacity:.34;}
#nebula .b3{width:520px;height:520px;left:34%;bottom:-160px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%);opacity:.22;}
#nebula .aurora{position:absolute;left:-10%;right:-10%;top:0;height:52%;background:
  linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,transparent),transparent 82%);opacity:.32;}
html[data-mode='light'] #nebula .aurora{opacity:.2;}html[data-mode='light'] #nebula .b1{opacity:.2;}html[data-mode='light'] #nebula .b2{opacity:.16;}html[data-mode='light'] #nebula .b3{opacity:.14;}
#nebula .vignette{position:absolute;inset:0;background:radial-gradient(900px 600px at 50% 0%,transparent 62%,color-mix(in srgb,#000 22%,transparent) 100%);}
#nebula .blob{animation:nebula-drift 14s ease-in-out infinite alternate;}
#nebula .b2{animation-duration:18s;animation-delay:-4s;}
#nebula .b3{animation-duration:22s;animation-delay:-8s;}
#nebula .aurora{animation:aurora-sweep 9s ease-in-out infinite alternate;}
@keyframes nebula-drift{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(12px,-14px,0) scale(1.04);}}
@keyframes aurora-sweep{from{opacity:.28;transform:translateY(0);}to{opacity:.42;transform:translateY(-6px);}}
#stars{position:absolute;inset:0;}#stars i{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--text) 72%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--text) 22%,transparent);}
#brand{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:20;max-width:860px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px 8px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--hair));border-radius:var(--r-pill);box-shadow:var(--lift-2),0 0 26px -8px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);}
.brand-pill{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 13px 0 9px;border-radius:var(--r-pill);font:700 11px var(--font);letter-spacing:.02em;text-decoration:none;white-space:nowrap;backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);}
main#view{max-width:860px;margin:0 auto;padding:14px calc(16px + env(safe-area-inset-right)) calc(20px + 72px + env(safe-area-inset-bottom) + var(--kb)) calc(16px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px;}
.card{background:var(--surface);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border:1px solid var(--hair);border-radius:var(--r-lg);box-shadow:var(--lift-1),var(--sheen);overflow:hidden;transition:transform var(--n-fast),box-shadow var(--n-mid),border-color var(--n-mid);}
.card:hover{border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));box-shadow:var(--glow-1),var(--lift-1);}
.card:active{transform:scale(.993);}.card.aura:hover{animation:aura 3.4s ease-in-out infinite alternate;}.card.plain{padding:14px 14px;}
.hero{position:relative;display:flex;align-items:center;gap:16px;padding:18px 18px 16px;overflow:hidden;isolation:isolate;}
.hero::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.55;background:
  radial-gradient(420px 220px at 12% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%),
  radial-gradient(360px 200px at 92% 10%,color-mix(in srgb,var(--accent-2) 10%,transparent),transparent 68%);
  pointer-events:none;}
.hero>*{position:relative;}
.hero .ring{width:108px;height:108px;flex:0 0 108px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--panel-2) 88%,transparent);border:1px solid var(--hair);box-shadow:var(--lift-1);overflow:hidden;position:relative;}
.hero .scan-line{position:absolute;left:0;right:0;height:2px;top:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 72%,transparent),transparent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 42%,transparent);animation:scan-sweep 3s linear infinite;}
.hero h1{margin:0;font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.02em;}
.hero .kicker{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}
.ring{transform:rotate(-90deg);}.ring .bg{stroke:var(--panel-3);}.ring .fg{stroke:var(--accent);stroke-linecap:round;filter:drop-shadow(0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 65%,transparent));transition:stroke-dashoffset .9s var(--ease-out);}
[data-today]{display:flex;flex-direction:column;gap:12px;}
.orb-head{display:flex;align-items:center;gap:14px;padding:18px 18px 16px;}
.orb-ring{position:relative;width:96px;height:96px;flex:0 0 96px;}
.orb-ring svg{width:96px;height:96px;transform:rotate(-90deg);}
.orb-bg{fill:none;stroke:var(--panel-3);stroke-width:7;}
.orb-fg{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 65%,transparent));transition:stroke-dashoffset .9s var(--ease-out);}
.orb-num{position:absolute;inset:0;display:grid;place-content:center;gap:0;text-align:center;}
.orb-num b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.orb-num small{color:var(--muted);font-size:11px;font-weight:700;}
.orb-hello h2{margin:2px 0;font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.02em;}
.orb-hello p{margin:0;color:var(--muted);font-size:12.5px;}
.orb-kick{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}
.orb-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.orb-now,.orb-next{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--hair);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--lift-1),var(--sheen);min-width:0;}
.orb-now small,.orb-next small{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-weight:700;}
.orb-now b,.orb-next b{font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.orb-now span,.orb-next span{color:var(--muted);font-size:11.5px;font-family:var(--mono);font-variant-numeric:tabular-nums;}
.orb-now b.dim,.orb-next b.dim{color:var(--faint);font-weight:600;}
.orb-quick{display:flex;align-items:center;gap:8px;border:1px solid var(--hair);background:var(--field);border-radius:var(--r-pill);padding:6px 6px 6px 14px;}
.orb-quick input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 13.5px var(--font);}
.orb-quick input::placeholder{color:var(--faint);}
.orb-go{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:0;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));cursor:pointer;box-shadow:var(--glow-1);}
.orb-agenda{display:flex;flex-direction:column;gap:8px;}
.orb-sec{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.orb-sec h3{margin:0;font-size:14px;font-weight:750;}
.orb-list{display:flex;flex-direction:column;gap:6px;}
.orb-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--hair);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--lift-1);}
.orb-time{color:var(--muted);font-size:11px;font-family:var(--mono);font-variant-numeric:tabular-nums;flex:0 0 44px;}
.orb-row .check{width:26px;height:26px;flex:none;border-radius:50%;cursor:pointer;border:2px solid var(--hair-strong);background:none;color:transparent;display:grid;place-items:center;transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);}
.orb-row .check.done{border-color:transparent;background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;box-shadow:var(--glow-1);}
.orb-row .t{flex:1;min-width:0;cursor:pointer;}
.orb-row .t b{display:block;font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.orb-row .t.done b{color:var(--faint);text-decoration:line-through;}
.orb-row .t small{display:block;color:var(--muted);font-size:11px;}
.orb-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.orb-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ctl);border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text);font:600 13px var(--font);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.orb-link:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}
#tabbar .dock-btn{flex:1 0 auto;}
#tab-wrap{position:relative;flex:1 1 0;min-width:0;display:flex;}
#tab-scroll{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;gap:2px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:8px 6px;margin:-8px 0;}
#tab-scroll::-webkit-scrollbar{display:none;}
#tabbar #tab-scroll button[data-tab]{flex:1 0 auto;scroll-snap-align:center;min-width:64px;padding:6px 6px;}
#tabbar #tab-scroll button[data-tab]>span:not(.ico){display:block;max-width:none;overflow:visible;font-size:10px;}
#tabbar #tab-center{margin-right:4px;}
@media(max-width:767px){#tabbar #tab-scroll button[data-tab]{min-width:58px;padding:5px 4px;}#tabbar #tab-scroll button[data-tab]>span:not(.ico){font-size:9.5px;}#tabbar #tab-center{width:48px;height:48px;flex:0 0 48px;margin-right:2px;}}
#tab-center.dock-orb{box-shadow:var(--glow-2);}
#side-tabs .rail-btn{overflow:hidden;}
#side-tabs .rail-btn .rail-glow{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--accent) 22%,transparent) 50%,transparent 70%);transition:opacity .2s var(--ease);}
#side-tabs .rail-btn.on .rail-glow{opacity:1;}
.muted{color:var(--muted);}.faint{color:var(--faint);}
.btn,.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--text);font:600 13px var(--font);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease);user-select:none;-webkit-user-select:none;}
.btn{min-height:var(--ctl);padding:0 14px;}.chip{min-height:var(--ctl-sm);padding:0 12px;gap:6px;}
.btn:hover,.chip:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}
.btn:active,.chip:active{transform:scale(.98);}
.btn.primary{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.btn.ghost{background:color-mix(in srgb,var(--panel-2) 92%,transparent);border-color:var(--hair-strong);color:var(--text);box-shadow:var(--n-sheen);}.btn.ghost:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 34%,var(--hair));}
.chip.on{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.btn:disabled,.chip:disabled{opacity:.5;pointer-events:none;}.btn .ico,.chip .ico{width:16px;height:16px;}
.ico{display:inline-grid;place-items:center;width:var(--s,17px);height:var(--s,17px);flex:0 0 var(--s,17px);}
.ico svg{width:100%;height:100%;display:block;}
.input,.sheet-input,.sheet-codeinput{width:100%;min-height:var(--ctl);padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--hair);background:var(--field);color:var(--text);font:500 13.5px var(--font);outline:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);}
.input:focus,.sheet-input:focus,.sheet-codeinput:focus{border-color:color-mix(in srgb,var(--accent) 42%,var(--hair));box-shadow:var(--tint-ring);background:color-mix(in srgb,var(--field) 92%,var(--panel));}
.input::placeholder{color:var(--faint);}
input:not([type='checkbox']):not([type='radio']):not([type='file']),textarea,select{max-width:100%;min-width:0;}
input:not([type='checkbox']):not([type='radio']):not([type='file']),textarea,select,.input,.sheet-input{min-height:var(--ctl);padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--hair);background:color-mix(in srgb,var(--field) 92%,transparent);color:var(--text);font:500 13.5px var(--font);outline:none;transition:border-color var(--n-mid),box-shadow var(--n-mid),background var(--n-mid);}
input::placeholder,textarea::placeholder{color:var(--faint);}
input:focus,textarea:focus,select:focus,.input:focus{border-color:color-mix(in srgb,var(--accent) 42%,var(--hair));box-shadow:var(--tint-ring);background:color-mix(in srgb,var(--field) 92%,var(--panel));}
input:disabled,textarea:disabled,select:disabled{opacity:.5;pointer-events:none;}
.fld{display:flex;flex-direction:column;gap:6px;width:100%;}
.fld>.lbl{color:var(--muted);}
.pwdfield{position:relative;display:flex;align-items:center;gap:8px;}.pwdfield input{flex:1;min-width:0;padding-right:42px;}
.pwdeye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:var(--r-pill);border:1px solid transparent;background:transparent;color:var(--faint);display:grid;place-items:center;cursor:pointer;transition:color .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease);}
.pwdeye:hover{color:var(--accent-ink);background:var(--row-hover);border-color:color-mix(in srgb,var(--accent) 14%,var(--hair));}
.pwdlist{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px;max-height:0;overflow:hidden;opacity:0;transition:max-height .22s var(--ease),opacity .18s var(--ease);}
.pwdlist.show{max-height:120px;opacity:1;}
.pwdlist li{position:relative;font-size:11px;color:var(--faint);padding-left:14px;}
.pwdlist li::before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;border-radius:50%;background:var(--faint);opacity:.6;}
.pwdlist li[data-ok='1']{color:var(--good);}.pwdlist li[data-ok='1']::before{background:var(--good);opacity:1;box-shadow:0 0 8px color-mix(in srgb,var(--good) 40%,transparent);}
.chips{display:flex;flex-wrap:wrap;gap:6px;}.chips .chip{gap:6px;}
.row{display:flex;align-items:center;gap:10px;}.grow{flex:1;min-width:0;}.hidden{display:none!important;}
.lbl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.kicker{display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}
.grid-month{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:2px;}
.cal-week span{text-align:center;font:700 10px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.cal-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;border-radius:14px;background:transparent;color:var(--text);font:600 14px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;position:relative;transition:transform var(--n-fast),background var(--n-fast),color var(--n-fast),box-shadow var(--n-fast);}
.cal-cell:hover{background:var(--n-tint-1);transform:scale(1.05);}
.cal-cell:active{transform:scale(.93);}
.cal-num{line-height:1;}
.cal-out .cal-num{color:var(--faint);opacity:.42;}
.cal-cell.is-today{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 62%,transparent);color:var(--accent-ink);}
.cal-cell.is-sel{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);transform:scale(1.04);}
.cal-cell.is-sel:hover{background:var(--accent);}
.cal-cell.is-sel .cal-num{color:color-mix(in srgb,#000 78%,var(--accent));}
.cal-cell.is-sel.is-today{box-shadow:var(--glow-1),inset 0 0 0 1.5px color-mix(in srgb,#000 34%,transparent);}
.cal-dots{display:flex;align-items:center;gap:3px;height:5px;}
.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 calc(6px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
.cal-cell.is-sel .cal-dot{background:color-mix(in srgb,#000 70%,var(--accent));box-shadow:none;}
.cal-dot.cat-work{background:#60a5fa;}
.cal-dot.cat-study{background:#a78bfa;}
.cal-dot.cat-health{background:#34d399;}
.cal-dot.cat-sport{background:#fbbf24;}
.cal-dot.cat-personal{background:#fb923c;}
.cal-dot.cat-money{background:#4ade80;}
.cal-dot.cat-trip{background:#38bdf8;}
.cal-dot.cat-home{background:#f472b6;}
.cal-dot.cat-other{background:var(--accent);}
.cal-cell.many .cal-dots{gap:2px;}
.cal-card{padding:16px 14px 14px;}
.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.cal-title{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;}
.cal-title b{font:800 17px var(--font);letter-spacing:-.02em;}
.cal-title small{font:600 12px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;}
.cal-nav{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--text);cursor:pointer;transition:transform var(--n-fast),box-shadow var(--n-mid),border-color var(--n-mid);}
.cal-nav:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--hair));box-shadow:var(--glow-1);transform:translateY(-.5px);}
.cal-nav:active{transform:scale(.94);}
.wish-hero-row{display:flex;gap:12px;align-items:flex-start;}
.wish-hero-main{flex:1;min-width:0;}
.wish-ring{position:relative;flex:0 0 auto;width:96px;text-align:center;}
.wish-ring-icon{position:absolute;top:50%;left:0;right:0;display:flex;justify-content:center;color:var(--accent-ink);transform:translateY(-58%);pointer-events:none;}
.wish-ring-num{position:absolute;top:66px;left:0;right:0;font-size:18px;font-weight:800;pointer-events:none;}
.wish-ring-cap{margin-top:4px;font-size:10px;color:var(--faint);}
.wish-nav{margin:0 0 12px;}
.cal-cell:active{transform:scale(.93);}
.cal-cell.is-today .cal-num{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;}
.cal-num{line-height:1;}
html[data-anim='on'] .cal-cell.is-sel{animation:day-pop .3s var(--ease-spring);}.task,.wish{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair);}
.task:last-child,.wish:last-child{border-bottom:0;}.task .t,.wish .t{flex:1;min-width:0;font-weight:600;font-size:13px;line-height:1.35;}
.kv{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--hair);}
.kv:last-child{border-bottom:0;}.kv .val{color:var(--muted);font-size:13px;}
.empty{text-align:center;padding:28px 18px;color:var(--faint);display:flex;flex-direction:column;align-items:center;gap:10px;border:1px dashed var(--hair);border-radius:var(--r-lg);background:color-mix(in srgb,var(--panel) 70%,transparent);animation:float 3.6s ease-in-out infinite alternate;}
.empty .ico{width:44px;height:44px;--s:44px;color:var(--accent-ink);filter:drop-shadow(var(--glow-1));}
.skel{position:relative;overflow:hidden;background:color-mix(in srgb,var(--panel-2) 92%,transparent);border-radius:10px;contain:paint;}
.skel-line{height:12px;border-radius:999px;}.skel-line.full{width:92%;}.skel-line.mid{width:64%;}.skel-line.short{width:42%;}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 7%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:skel-shimmer 1.6s linear infinite;will-change:transform;}
.skel{box-shadow:inset 0 0 0 1px var(--hair);}
.skel-card{min-height:96px;border-radius:var(--r-md);}
.themes{display:flex;flex-wrap:wrap;gap:8px;}.themes button{display:inline-flex;align-items:center;gap:8px;min-height:var(--ctl-sm);padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 92%,transparent);color:var(--text);font:600 12.5px var(--font);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .16s var(--ease);}.themes button i{width:14px;height:14px;flex:0 0 14px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,#000 24%,transparent) inset;}
.themes button.on{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.themes button:hover{transform:translateY(-.5px);}
.progbar{height:6px;border-radius:var(--r-pill);background:var(--panel-3);overflow:hidden;box-shadow:inset 0 1px 3px color-mix(in srgb,#000 30%,transparent);}
.progfill{height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent);width:var(--p);transition:width .4s var(--ease-out);}
.msg{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.msg .b{max-width:86%;padding:10px 14px;font-size:13.5px;white-space:pre-wrap;word-break:break-word;}
.msg.mine{align-items:flex-end;}.msg.mine .b{background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;font-weight:550;border-radius:var(--r-md) var(--r-md) 4px var(--r-md);box-shadow:var(--glow-1);}
.msg.theirs{align-items:flex-start;}.msg.theirs .b{background:var(--sheen-top),var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-md) var(--r-md) var(--r-md) 4px;box-shadow:var(--sheen);}
.msg .meta{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);font-family:var(--mono);}
html[data-anim='on'] .msg{animation:pop-in .42s var(--ease-spring) both;}
.draft{max-width:320px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--r-md);background:var(--sheen-top),var(--panel);box-shadow:var(--lift-1),var(--glow-1),var(--sheen);padding:14px;}
.draft h3{margin:0 0 4px;font-size:14px;font-weight:700;letter-spacing:-.01em;}.draft .when{font-size:11.5px;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;}
.draft .btnrow{display:flex;gap:8px;margin-top:12px;}.draft .btnrow .btn{min-height:var(--ctl-sm);font-size:11.5px;}
.hintline{display:flex;gap:7px;align-items:baseline;margin:7px 2px 0;font-size:11px;line-height:1.55;color:var(--faint);text-align:left;}
.hintline::before{content:"";flex:none;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 80%,transparent);transform:translateY(-2px);}
.fld .hintline{max-height:0;overflow:hidden;opacity:0;transition:max-height .22s var(--ease),opacity .18s var(--ease);}.fld:has(input:focus) .hintline,.fld:has(input:not(:placeholder-shown)) .hintline{max-height:80px;opacity:1;}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--hair);background:var(--field);border-radius:var(--r-pill);padding:6px 8px 6px 14px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease);}
.search:focus-within{border-color:color-mix(in srgb,var(--accent) 42%,var(--hair));box-shadow:var(--tint-ring);background:color-mix(in srgb,var(--field) 92%,var(--panel));}
.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:500 13.5px var(--font);}.search input::placeholder{color:var(--faint);}.search .ico{width:17px;height:17px;flex:0 0 17px;color:var(--faint);}
.banner{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--lift-1);}
.banner .big{font-size:22px;line-height:1;}.cb{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 92%,transparent);color:var(--text);cursor:pointer;position:relative;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .16s var(--ease),color .16s var(--ease),background .16s var(--ease);}
.cb:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}.cb:active{transform:scale(.96);}
.cb::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:transparent;pointer-events:none;}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--panel-2) 92%,transparent);border:1px solid var(--hair);}
.seg button{min-height:28px;padding:0 12px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--muted);font:600 12.5px var(--font);cursor:pointer;}
.seg button.on{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.tgl{width:34px;height:20px;border-radius:999px;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 92%,transparent);position:relative;cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease);}
.tgl::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--text);opacity:.7;transition:transform .18s var(--ease),background .18s var(--ease),opacity .18s var(--ease);}
.tgl.on{background:var(--accent);border-color:transparent;}.tgl.on::after{background:#fff;opacity:1;transform:translateX(14px);}
.langrow{display:flex;flex-wrap:wrap;gap:8px;}
.ver{font-size:11px;color:var(--faint);text-align:center;padding:6px 0 2px;letter-spacing:.02em;}
.spacebar{margin:0 12px 8px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 60%,transparent);overflow:hidden;}
.spacebar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 88%,transparent);border:1px solid var(--hair);}
.spacechips{display:flex;flex-wrap:nowrap;gap:6px;flex:1 1 100%;min-width:0;overflow-x:auto;scrollbar-width:none;padding-bottom:1px;}
.spacechips::-webkit-scrollbar{display:none;}
.spacechips .chip{white-space:nowrap;flex:0 0 auto;}.spacerow{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap;}
.spacerow .spacemembers{flex:1 1 120px;}
@media(max-width:520px){.spacerow .spacemembers{display:none;}}
.spacerow .spacebtn{flex:0 0 auto;}
.spacemembers{display:flex;flex-wrap:wrap;gap:8px;min-width:0;overflow:hidden;}
.spaceadd,.spacebtn{flex:none;}
.ava{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--hair);display:inline-grid;place-items:center;font-size:11px;background:var(--panel-2);color:var(--faint);overflow:hidden;}
.ava.ph{background:var(--panel-2);color:var(--faint);}
.avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 calc(14px*var(--g)) -2px color-mix(in srgb,var(--accent) 45%,transparent);}
.avatar.ph{display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--faint);}
.credit{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);}
.credit .chip{padding:2px 12px;min-height:34px;font-size:11px;}
.chip.brand-pill,.credit .chip.brand-pill{min-height:44px;}
.chathead{display:flex;align-items:center;gap:8px;padding:8px 0 10px;position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);margin:-4px -2px 6px;border-bottom:1px solid var(--hair-strong);}
.chathead b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space: nowrap;white-space: nowrap;font-size:13.5px;}
#composer{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(72px + env(safe-area-inset-bottom) + var(--kb));width:min(860px,calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--hair);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:var(--lift-2);z-index:5;}
#composer input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text);font:500 13.5px var(--font);}
#composer input::placeholder{color:var(--faint);}
#composer button{width:38px;height:38px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 92%,transparent);color:var(--text);display:grid;place-items:center;cursor:pointer;flex:0 0 38px;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .16s var(--ease);}
#composer button:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}
#composer button.send{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
#composer button.rec{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent);}
.statusline{display:flex;align-items:center;gap:8px;padding:6px 4px;font-size:11px;}
#sendstatus{position:relative;min-height:30px;}
#sendstatus .slowhint{display:none;font-size:10.5px;color:var(--faint);}
#sendstatus.slow .slowhint{display:inline;}
#sendstatus .stopsend{margin-left:auto;font:700 11px var(--font);}
.statusline b{color:var(--accent-ink);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 45%,transparent);}
.statusline .el{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--muted);}
.statusline .dot{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 8px color-mix(in srgb,var(--good) 45%,transparent);}
.downbtn{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--cmp-b,88px) + 92px + env(safe-area-inset-bottom) + var(--kb));width:40px;height:40px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--lift-2);display:grid;place-items:center;color:var(--text);cursor:pointer;z-index:4;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.downbtn:hover{transform:translateX(-50%) translateY(-1px);box-shadow:var(--glow-1),var(--lift-2);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}
.about-overlay .sheet-box{align-items:center;padding-bottom:calc(18px + env(safe-area-inset-bottom));animation:about-box-in .34s var(--ease-spring) both;}
@keyframes about-box-in{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
.about-box{width:min(680px,94vw)!important;display:flex;flex-direction:column;gap:16px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));background:radial-gradient(520px 300px at 100% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 66%),radial-gradient(420px 280px at 0% 100%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 70%),var(--panel);box-shadow:var(--lift-3),0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 0 70px -10px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);}
.about-overlay .sheet-backdrop{background:color-mix(in srgb,var(--bg) 92%,#000);backdrop-filter:blur(16px) saturate(1.05);-webkit-backdrop-filter:blur(16px) saturate(1.05);}
.about-overlay{z-index:30;}
.about-hero{display:flex;align-items:center;gap:18px;padding:4px 8px 6px;}
.about-hero-text{display:flex;flex-direction:column;gap:5px;min-width:0;padding-left:4px;}
.about-hero .about-name{font-size:22px;font-weight:900;letter-spacing:-.03em;}
.about-hero .about-tag{color:var(--muted);font-size:12.5px;line-height:1.45;max-width:52ch;}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.about-grid .about-card{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--accent) 16%,var(--hair));background:color-mix(in srgb,var(--panel-2) 82%,transparent);box-shadow:var(--lift-1);animation:about-card-in .42s var(--ease-spring) both;animation-delay:calc(var(--i) * 60ms);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.about-grid .about-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 44%,transparent);box-shadow:var(--lift-2),var(--glow-1);}
.about-card-icon{width:32px;height:32px;flex:0 0 32px;border-radius:11px;display:grid;place-items:center;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:var(--glow-1);}
.about-card-icon svg{width:17px;height:17px;}
.about-grid .about-card h4{margin:0 0 3px;font-size:13px;font-weight:800;letter-spacing:-.01em;}
.about-grid .about-card p{margin:0;color:var(--muted);font-size:11.5px;line-height:1.45;}
.about-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:2px;}
.credit-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px 0 11px;border-radius:var(--r-pill);font:700 12px var(--font);text-decoration:none;white-space:nowrap;}
.side-credit{padding:0 12px 0 10px;}
.about-foot .btn{min-height:44px;padding-inline:20px;}
@keyframes about-card-in{from{opacity:0;transform:translateY(8px) scale(.98);}to{opacity:1;transform:none;}}
@media(max-width:560px){.about-grid{grid-template-columns:1fr;}}
.about-logo{width:96px;height:96px;object-fit:contain;flex:0 0 96px;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}.about-name{font-size:18px;font-weight:800;letter-spacing:-.02em;}
.about-tag{color:var(--muted);font-size:13px;}.about-text{color:var(--muted);font-size:13px;line-height:1.5;text-align:left;}
.sheet{position:fixed;top:0;bottom:0;left:0;width:100vw;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding-bottom:var(--kb);background:color-mix(in srgb,#000 62%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);}
.sheet .box{width:100%;max-width:640px;max-height:86vh;max-height:calc(86dvh - var(--kb));overflow-y:auto;background:var(--sheen-top),var(--panel);border:1px solid var(--hair);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:18px 16px calc(28px + env(safe-area-inset-bottom));box-shadow:var(--lift-3),var(--glow-1),var(--sheen);}
.sheet .box h3{margin:0 0 12px;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-shadow:0 0 calc(22px*var(--g)) color-mix(in srgb,var(--accent) 35%,transparent);}
html[data-anim='on'] .sheet .box{animation:sheet-in .28s var(--ease-out);}
.board .lrow{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;border:1px solid transparent;font-size:13px;color:var(--faint);}
.board .lrow.done{color:var(--muted);}.board .lrow.cur{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--text);font-weight:700;}
.boardhead{display:flex;align-items:center;gap:8px;width:100%;padding:0;background:none;border:0;cursor:pointer;color:var(--muted);text-align:left;}
.boardchev{margin-left:auto;color:var(--faint);transition:transform .18s var(--ease);}
.board.open .boardchev{transform:rotate(180deg);}
.sheet-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px calc(14px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));}
.sheet-overlay.gone{opacity:0;pointer-events:none;}
.sheet-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 58%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.sheet-box{position:relative;width:min(560px,92vw);max-height:min(78vh,720px);overflow:auto;padding:18px 18px 16px;border-radius:var(--r-lg);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:var(--lift-3),var(--glow-1);animation:sheet .22s var(--ease-out);}
.sheet-box::-webkit-scrollbar{width:6px;}.sheet-box::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:999px;}
.sheet-title{font-size:17px;font-weight:800;letter-spacing:-.02em;}.sheet-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.sheet-input{width:100%;min-height:var(--ctl);padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--hair);background:var(--field);color:var(--text);font:500 13.5px var(--font);outline:none;}
.sheet-members{display:grid;gap:8px;margin-top:6px;}.sheet-member{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 92%,transparent);border:1px solid var(--hair);}
.sheet-code{max-width:280px;margin:0 auto;letter-spacing:.18em;text-align:center;font:700 22px var(--mono);font-variant-numeric:tabular-nums;}
.sheet-codenum{text-align:center;font:800 22px var(--mono);letter-spacing:.22em;color:var(--accent-ink);text-shadow:0 0 calc(12px*var(--g)) color-mix(in srgb,var(--accent) 30%,transparent);}
.sheet-grab{width:36px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--text) 16%,transparent);margin:0 auto 10px;}
.sheet-actions{display:flex;gap:8px;margin-top:12px;}
.popup-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;}
.popup-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 58%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.popup-box{position:relative;width:min(560px,calc(100vw - 32px));padding:18px 18px 16px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--hair);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:var(--lift-3),var(--glow-1);animation:popup .22s var(--ease-out);}
.popup-box h3{margin:0 0 12px;font-size:17px;font-weight:800;letter-spacing:-.02em;}
.popup-options{display:grid;gap:8px;margin-top:8px;}
.popup-opt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--text);font:600 13px var(--font);cursor:pointer;text-align:left;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .16s var(--ease);}
.popup-opt:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 16%,var(--hair));}
.popup-ico{width:32px;height:32px;border-radius:var(--r-xs);display:grid;place-items:center;background:color-mix(in srgb,var(--panel-2) 92%,transparent);border:1px solid var(--hair);flex:0 0 32px;}
.dtp-trigger{min-height:var(--ctl);display:flex;align-items:center;gap:8px;width:100%;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--hair);background:color-mix(in srgb,var(--field) 92%,transparent);color:var(--text);font:600 13.5px var(--font);font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;transition:border-color var(--n-mid),box-shadow var(--n-mid),background var(--n-mid),transform var(--n-fast);}
.dtp-trigger::after{content:"";margin-left:auto;width:12px;height:12px;flex:0 0 12px;opacity:.7;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18M5 5h14a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18M5 5h14a2 2 0 012 2v12a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2z'/%3E%3C/svg%3E") center/contain no-repeat;}
.dtp-trigger:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--hair));box-shadow:var(--tint-ring);background:color-mix(in srgb,var(--field) 92%,var(--panel));}
.dtp-trigger:active{transform:scale(.99);}
.dtp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;}
.dtp-box{width:min(420px,calc(100vw - 32px));padding:16px 16px 14px;}
.dob-box{width:min(420px,calc(100vw - 32px));padding:18px 16px 14px;}
.dob-title{display:flex;justify-content:center;margin-bottom:10px;font:800 16px var(--font);letter-spacing:-.01em;}
.dob-view{position:relative;}
.dob-band{position:absolute;left:6px;right:6px;top:50%;height:38px;transform:translateY(-50%);border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 13%,transparent);box-shadow:0 0 22px -6px color-mix(in srgb,var(--accent) 65%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);pointer-events:none;}
.dob-cols{position:relative;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:8px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);}
.dob-col{height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;scroll-snap-type:y mandatory;}
.dob-col::-webkit-scrollbar{display:none;}
.dob-opt{display:flex;align-items:center;justify-content:center;width:100%;height:38px;scroll-snap-align:center;border:0;background:transparent;color:var(--muted);font:600 15px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap;}
.dob-pad{display:block;height:38px;scroll-snap-align:center;}
.dob-opt.on{color:var(--text);font-weight:800;text-shadow:0 0 14px color-mix(in srgb,var(--accent) 80%,transparent);}
.dtp-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.dtp-title{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1.15;}
.dtp-title b{font:800 17px var(--font);letter-spacing:-.02em;}
.dtp-title small{font:600 12px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;}
.dtp-nav{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--text);cursor:pointer;transition:transform var(--n-fast),box-shadow var(--n-mid),border-color var(--n-mid);}
.dtp-nav:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--hair));box-shadow:var(--glow-1);transform:translateY(-.5px);}
.dtp-nav:active{transform:scale(.94);}
.dtp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;}
.dtp-year{display:flex;align-items:center;justify-content:center;gap:10px;margin:-4px 0 10px;}
.dtp-year b{min-width:54px;text-align:center;font:800 14px var(--mono);font-variant-numeric:tabular-nums;}
.dtp-year .chip{min-height:26px;min-width:26px;padding:0 8px;justify-content:center;font:700 13px var(--mono);}
.dtp-week span{text-align:center;font:700 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.dtp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.dtp-pad{aspect-ratio:1;}
.dtp-day{aspect-ratio:1;display:grid;place-items:center;min-height:34px;border:0;border-radius:50%;background:transparent;color:var(--text);font:600 13.5px var(--font);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform var(--n-fast),background var(--n-fast),color var(--n-fast),box-shadow var(--n-fast);}
.dtp-day:hover{background:var(--n-tint-2);transform:scale(1.06);}
.dtp-day:active{transform:scale(.92);}
.dtp-day.today{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent-ink);}
.dtp-day.on{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.dtp-time{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 70%,transparent);}
.dtp-clock{display:flex;align-items:center;gap:2px;margin:0 auto;}
.dtp-time .dtp-clock input.dtp-num{width:44px;min-width:44px;height:38px;min-height:0;padding:0;text-align:center;font:800 22px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--r-sm);caret-color:var(--accent);transition:border-color var(--n-fast),background var(--n-fast),box-shadow var(--n-fast);}
.dtp-time .dtp-clock input.dtp-num:hover{background:var(--n-tint-2);}
.dtp-time .dtp-clock input.dtp-num:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:var(--n-tint-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 0 14px color-mix(in srgb,var(--accent) 35%,transparent);}
.dtp-step{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background var(--n-fast),color var(--n-fast),transform var(--n-fast);}
.dtp-step:hover{background:var(--n-tint-2);color:var(--text);}
.dtp-step:active{transform:scale(.9);}
.dtp-colon{font:800 20px var(--mono);color:var(--muted);}
.dtp-quick{display:flex;gap:5px;margin-left:auto;}
.dtp-quick .chip{min-height:26px;padding:0 9px;font:600 11.5px var(--mono);}
.dtp .sheet-actions{margin-top:14px;}
@media(max-width:480px){
  .dtp-box{width:calc(100vw - 32px);padding:14px 12px 12px;}
  .dtp-grid{gap:2px;}
  .dtp-day{min-height:30px;font-size:12.5px;}
  .dtp-time{flex-wrap:wrap;gap:6px;padding:8px 10px;}
  .dtp-quick{margin-left:0;width:100%;justify-content:space-between;}
}
.dp-col{display:grid;gap:6px;max-height:220px;overflow-y:auto;padding-right:4px;}
.dp-head{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font:700 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.dp-opt{min-height:36px;border-radius:var(--r-sm);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--text);font:600 13px var(--font);cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .16s var(--ease),background .16s var(--ease);}
.dp-opt:hover{transform:translateY(-.5px);box-shadow:var(--glow-1);}
.dp-opt.on{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
#toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom) + var(--kb));display:flex;flex-direction:column;gap:8px;align-items:center;z-index:60;pointer-events:none;}
#toasts .toast{backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);pointer-events:auto;max-width:min(420px,92vw);padding:10px 14px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--hair);color:var(--text);font:600 13px var(--font);box-shadow:var(--lift-2);animation:toast .18s var(--ease-out);}
#toasts .toast.out{animation:toast-out .16s var(--ease) forwards;}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--muted);font:600 11.5px var(--font);}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-1);}.dot.live{animation:beacon 2s var(--n-ease) infinite;}
#lock{position:fixed;inset:0;z-index:40;overflow-y:auto;scrollbar-width:none;transition:opacity .42s var(--ease),transform .42s var(--ease),filter .42s var(--ease);}
#lock::-webkit-scrollbar{display:none;}
#lock.gone{opacity:0;transform:scale(1.06);filter:blur(14px);pointer-events:none;}
#lockfield{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;}
html[data-mode='light'] #lockfield{opacity:.55;}
#lock .lockui{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:18px;padding:18px calc(14px + env(safe-area-inset-right)) calc(84px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));text-align:center;pointer-events:none;}
#netbar{position:fixed;z-index:90;pointer-events:none;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;max-width:calc(100vw - 24px);padding:7px 14px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--bad) 42%,var(--hair));background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:var(--lift-2),0 0 calc(18px*var(--g)) -8px color-mix(in srgb,var(--bad) 60%,transparent);color:var(--text);font:600 12px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#netbar[hidden]{display:none;}
#netbar .ico{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--bad);box-shadow:0 0 calc(9px*var(--g)) color-mix(in srgb,var(--bad) 80%,transparent);animation:pulse 1.8s ease-in-out infinite;}
html[data-anim='on'] #netbar{animation:netbar-in .3s var(--ease-spring);}
@keyframes netbar-in{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
#netbar.ok{border-color:color-mix(in srgb,var(--good) 42%,var(--hair));box-shadow:var(--lift-2),0 0 calc(18px*var(--g)) -8px color-mix(in srgb,var(--good) 60%,transparent);}
#netbar.ok .ico{background:var(--good);box-shadow:0 0 calc(9px*var(--g)) color-mix(in srgb,var(--good) 80%,transparent);}
#side{display:none;}
@media(min-width:1200px){
  #side{display:flex;flex-direction:column;position:fixed;z-index:30;top:0;bottom:0;left:0;width:var(--side);padding:16px 12px calc(16px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));background:color-mix(in srgb,var(--panel) 76%,transparent);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-right:1px solid var(--hair);box-shadow:var(--lift-2);}
  body:has(> #app:not(.hidden)){padding-left:var(--side);}
  .side-brand{display:flex;align-items:center;gap:9px;padding:2px 8px 14px;font:800 15px var(--font);letter-spacing:-.02em;}
  #brand-home{display:inline-flex;align-items:center;gap:8px;margin-right:auto;text-decoration:none;color:var(--text);font:800 15px var(--font);letter-spacing:-.02em;transition:transform var(--n-fast),opacity var(--n-fast);}
#brand-home:hover{opacity:.86;transform:translateX(-1px);}
#brand-home img{width:40px;height:40px;flex:0 0 40px;object-fit:contain;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}
#brand-home:hover img{transform:scale(1.06) rotate(-2deg);box-shadow:0 0 calc(18px*var(--g)) -3px color-mix(in srgb,var(--accent) 85%,transparent);}
.side-brand img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}
  #side-tabs{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow:auto;scrollbar-width:none;}
  #side-tabs::-webkit-scrollbar{display:none;}
  #side-tabs button{position:relative;display:flex;align-items:center;gap:10px;min-height:var(--ctl);padding:0 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:600 13px var(--font);text-align:left;cursor:pointer;overflow:hidden;transition:transform var(--n-fast),box-shadow var(--n-mid),background var(--n-mid),color var(--n-fast);}
  #side-tabs button .ico{--s:20px;width:20px;height:20px;flex:0 0 20px;}
  #side-tabs button:hover{color:var(--text);background:var(--n-tint-1);transform:translateX(1px);}
  #side-tabs button.on{color:color-mix(in srgb,#000 78%,var(--accent));background:var(--accent);box-shadow:var(--glow-1);}
  .side-credit{align-self:flex-start;margin:10px 2px 0;}
}
#lock .lockui>*{width:100%;max-width:340px;pointer-events:auto;}
#lock .lockui>.badge{width:128px;height:128px;padding:0;border:0;background:none;}
#lock .lockui>.lockhint-dock{max-width:none;width:auto;margin:0;pointer-events:none;}
#lock .btn{min-height:44px;}
#lock .lockhero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 16px;border-radius:var(--r-lg);background:radial-gradient(420px 260px at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%),var(--surface);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--hair));box-shadow:var(--lift-2),var(--glow-1),var(--sheen);}
#lock .lockhero h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.1;}
#lock .badge-logo{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}
html[data-anim='on'] #lock .badge-logo{animation:badge-in .7s var(--ease-spring) both,au-float 5s ease-in-out .7s infinite;}
#lock .lockhint{font-size:12px;color:var(--muted);line-height:1.4;white-space:nowrap;}
#lock .lockhint-dock {position: fixed;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom));z-index:5;display:flex;justify-content: center;pointer-events:none;white-space: nowrap;}
#lock .locktop{position:absolute;top:calc(14px + env(safe-area-inset-top));right:calc(14px + env(safe-area-inset-right));display:flex;align-items:center;gap:8px;z-index:7;}
#lock .locktop-accent{position:relative;}
#lock .locktop-btn{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--hair));background:color-mix(in srgb,var(--panel-2) 94%,transparent);color:var(--text);display:grid;place-items:center;cursor:pointer;box-shadow:var(--lift-1);transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),color .16s var(--ease);}
#lock .locktop-btn:hover{transform:translateY(-1px);color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:var(--lift-2),var(--glow-1);}
#lock .locktop-btn .landing-prefs-swatch{width:16px;height:16px;box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent);}
#lock .locktop-btn .mode-icon{inset:0;width:auto;height:auto;display:grid;place-items:center;}
#lock .locktop-btn .mode-icon svg{width:20px;height:20px;display:block;}
#lock .locktop-btn .mode-icon-moon{display:none;}
html[data-mode='light'] #lock .locktop-btn .mode-icon-sun{display:none;}
html[data-mode='light'] #lock .locktop-btn .mode-icon-moon{display:grid;}
#lock .locktop-sound.off{opacity:.5;color:var(--muted);}
#lock .locktop-langs{display:flex;gap:6px;padding:4px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 94%,transparent);box-shadow:var(--lift-1);}
#lock .locktop-lang{min-width:46px;min-height:36px;padding:0 10px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:800 12px var(--font);letter-spacing:.04em;cursor:pointer;transition:color .16s var(--ease),background .16s var(--ease),box-shadow .16s var(--ease);}
#lock .locktop-lang.on{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
#lock .locktop-panel{position:absolute;top:52px;right:0;min-width:220px;padding:12px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--hair));background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--lift-3),var(--glow-1);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);}
#lock .locktop-panel.hidden{display:none;}
#lock .locktop-title{margin:0 0 9px;font:800 10px var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
#lock .locktop-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
#lock .locktop-dots .locktheme{width:100%;aspect-ratio:1;height:auto;border-radius:50%;border:2px solid transparent;background:var(--t);cursor:pointer;box-shadow:0 0 0 1px var(--hair);transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
#lock .locktop-dots .locktheme.on{border-color:var(--text);transform:scale(1.08);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),var(--glow-1);}
.lockplay,.lockabout,.lockmute{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:color .16s var(--ease),border-color .18s var(--ease),background .16s var(--ease),box-shadow .18s var(--ease),opacity .16s var(--ease),transform .16s var(--ease);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:fixed;z-index:6;}
.lockplay{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));width:auto;height:36px;border-radius:var(--r-pill);padding:0 14px;display:inline-flex;align-items:center;gap:6px;overflow:hidden;}
.lockabout{left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));}
.lockmute{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));}
.lockplay:hover,.lockabout:hover,.lockmute:hover{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:var(--lift-2),var(--glow-1);}
.lockmute.off{opacity:.45;}
.lockthemes{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}.locktheme{width:30px;height:30px;border-radius:50%;border:2px solid transparent;background:var(--t);cursor:pointer;box-shadow:0 0 0 1px var(--hair);transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.locktheme.on{transform:scale(1.12);box-shadow:0 0 0 2px var(--text);border-color:transparent;}
.locklangs{display:flex;gap:6px;}.locklang{min-height:28px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);font:700 11px var(--font);cursor:pointer;transition:color .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease);}
.locklang.on{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
.pendingwrap{display:grid;place-items:center;padding:18px 0 6px;}.pendingring{width:42px;height:42px;border-radius:50%;border:3px solid var(--hair);border-top-color:var(--accent);animation:spin .9s linear infinite;}
#bigheart{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;width:210px;height:210px;border-radius:50%;border:0;cursor:pointer;font-size:88px;background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(40px*var(--g)) -8px color-mix(in srgb,var(--accent) calc(100%*var(--g)),transparent),0 20px 50px -14px color-mix(in srgb,#000 55%,transparent),inset 0 2px 0 color-mix(in srgb,#fff 30%,transparent);transition:transform .1s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation;}
#bigheart:active{transform:scale(.9);}#bigheart span{display:block;line-height:1;-webkit-touch-callout:none;}
html[data-anim='on'] #bigheart{animation:heart-beat 1.5s var(--ease) infinite;}
#heartstage{position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;display:flex;align-items:center;justify-content:center;height:300px;margin:0 6px 12px;--heat:0;--decay:0;}
#heartstage::before{content:"";position:absolute;left:50%;top:50%;width:280px;height:280px;margin:-140px 0 0 -140px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) calc(22% + 26%*var(--heat)),transparent),transparent 72%);transition:background .3s var(--ease);}
html[data-anim='on'] #heartstage::before{animation:aura 3.4s ease-in-out infinite alternate;}
#heartstage.shake{animation:stage-shake .5s var(--ease);}
#sparks{position:absolute;inset:0;pointer-events:none;opacity:var(--heat);transition:opacity .4s var(--ease);}
#sparks i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent-strong);box-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 80%,transparent);}
html[data-anim='on'] #sparks i{animation:spark-orbit 2.6s linear infinite;}
#sparks i:nth-child(1){animation-delay:0;}#sparks i:nth-child(2){animation-delay:-.32s;}#sparks i:nth-child(3){animation-delay:-.65s;}#sparks i:nth-child(4){animation-delay:-.97s;}
#sparks i:nth-child(5){animation-delay:-1.3s;}#sparks i:nth-child(6){animation-delay:-1.62s;}#sparks i:nth-child(7){animation-delay:-1.95s;}#sparks i:nth-child(8){animation-delay:-2.27s;}
#floaters{position:absolute;inset:0;pointer-events:none;}.floater{position:absolute;left:50%;top:34%;z-index:4;font:800 15px/1 var(--mono);font-variant-numeric:tabular-nums;color:var(--accent-ink);text-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 75%,transparent);animation:floater-up .85s var(--ease-out) forwards;}
#heartglyph.squash{animation:glyph-squash .22s var(--ease-spring);}html[data-anim='on'] #bigheart.pulse{animation:bigheart-pulse .18s var(--ease-spring);}
.tap-ripple{position:absolute;z-index:3;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 80%,transparent);pointer-events:none;animation:tap-ripple-out .45s var(--ease-out) forwards;}.core-flash{position:absolute;z-index:3;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle,#fff,var(--accent) 60%,transparent 75%);pointer-events:none;animation:core-flash-pop .22s var(--ease-out) forwards;}
@keyframes tap-ripple-out{from{transform:scale(.4);opacity:.9;}to{transform:scale(6);opacity:0;}}
@keyframes core-flash-pop{from{transform:scale(.5);opacity:1;}to{transform:scale(2.2);opacity:0;}}
#shockwaves{position:absolute;inset:0;pointer-events:none;}#shockwaves i{position:absolute;left:50%;top:50%;width:200px;height:200px;margin:-100px 0 0 -100px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 55%,transparent);animation:shock .68s var(--ease-out) forwards;}
#comboring{position:absolute;z-index:3;top:14px;right:18px;min-width:62px;padding:7px 12px 9px;border-radius:var(--r-pill);font:800 15px/1 var(--mono);font-variant-numeric:tabular-nums;color:#141414;background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(24px*var(--g)*(0.4 + var(--heat))) color-mix(in srgb,var(--accent) 90%,transparent);transition:opacity .2s var(--ease);overflow:hidden;}
#combodecay{position:absolute;left:8px;right:8px;bottom:3px;height:2px;border-radius:var(--r-pill);background:color-mix(in srgb,#141414 22%,transparent);}
html[data-anim='on'] #combodecay.run{animation:decay 1.2s linear forwards;}
#comboring.hidden{opacity:0;pointer-events:none;}#comboring.pop{animation:bump .22s var(--ease-spring);}
.heart-fly{position:fixed;z-index:30;pointer-events:none;width:30px;height:30px;color:color-mix(in srgb,var(--accent) 55%,#fff);filter:drop-shadow(0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent));animation:flyup .9s var(--ease-out) forwards;--rot:30deg;}
.heart-fly svg{display:block;width:100%;height:100%;}
.tap-fx{position:fixed;inset:0;width:100vw;height:100vh;z-index:150;pointer-events:none;}
.screenflash{position:fixed;inset:0;z-index:80;pointer-events:none;background:radial-gradient(circle at var(--fx,50%) var(--fy,42%),var(--a-glow),transparent 58%);opacity:1;animation:flash-out .45s var(--ease-out) forwards;}
.praise-pop{position:absolute;z-index:4;left:50%;top:30%;transform:translateX(-50%);font:800 22px/1 var(--font);color:var(--accent-ink);text-shadow:0 0 18px color-mix(in srgb,var(--accent) 80%,transparent);white-space:nowrap;pointer-events:none;animation:praise-rise 1.1s var(--ease-out) forwards;}
.milestone{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-pill);background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;font:700 13px/1 var(--font);box-shadow:0 0 calc(20px*var(--g)) -4px color-mix(in srgb,var(--accent) 80%,transparent);animation:milestone-pop .4s var(--ease-spring) both;}
.milestone::before{content:"";position:absolute;inset:-4px;border-radius:var(--r-pill);background:conic-gradient(from 0deg,var(--accent),transparent,var(--accent));opacity:.3;z-index:-1;}
.notify-preview{position:fixed;right:14px;top:14px;z-index:70;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--hair);box-shadow:var(--lift-2),var(--glow-1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);max-width:320px;animation:toast .22s var(--ease-out);}
.notify-preview .np-ico{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid var(--line-soft);color:var(--accent-ink);flex:0 0 auto;}
.notify-preview .np-text{flex:1;min-width:0;font-size:12px;line-height:1.35;}.notify-preview .np-text b{display:block;font-size:13px;}
.alarm-overlay{position:fixed;inset:0;z-index:72;display:grid;place-items:center;padding:18px 14px;background:color-mix(in srgb,#000 52%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.alarm-box{width:min(380px,calc(100vw - 28px));padding:16px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--hair);box-shadow:var(--lift-3);text-align:center;animation:popup .22s var(--ease-out);}
.alarm-bell{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 22%,transparent);color:var(--bad);font-size:22px;}
.alarm-kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-weight:700;}.alarm-actions{display:flex;gap:8px;margin-top:12px;}
.rankbar{height:6px;border-radius:var(--r-pill);background:var(--panel-3);overflow:hidden;box-shadow:inset 0 1px 3px color-mix(in srgb,#000 30%,transparent);}
.rankbar i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent);transition:width .4s var(--ease-out);}
.board{border-radius:var(--r-md);overflow:hidden;}
.board .lrow{animation:none;}
.board .r{display:grid;gap:6px;padding:10px 0;}
.board .r.lead{padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 7%,var(--panel-2));border:1px solid color-mix(in srgb,var(--accent) 10%,var(--hair));}
.board .r.mine{background:color-mix(in srgb,var(--accent) 6%,transparent);border-radius:var(--r-sm);}
.board .r.moved{animation:row-moved .5s var(--ease-out);}
.bar{height:6px;border-radius:var(--r-pill);background:var(--panel-3);overflow:hidden;}
.bar i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .35s var(--ease-out);}
.anim-in{animation:card-in .4s var(--ease-out) both;}
.bump{animation:bump .22s var(--ease-spring);}html[data-anim='on'] #au-go-password,html[data-anim='on'] #au-face-go,html[data-anim='on'] #lock .lockhero .chip.on {
  animation: au-glow 2.6s ease-in-out infinite;}

html[data-anim='on'] #au-face-go.kbump,html[data-anim='on'] #au-go.kbump,html[data-anim='on'] html[data-anim='off'] #lock .kbump{transform:none;}#lock .lockhero .chip.on{animation:au-glow 2.6s ease-in-out infinite;}#lock .lockhero .chip.on.kbump{animation:au-glow 2.6s ease-in-out infinite,kbump .45s var(--ease-spring);}
#lock .kbump{border-color:color-mix(in srgb,var(--accent) 70%,transparent);}
.playexit{position:fixed;z-index:9;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 16px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--hair));background:color-mix(in srgb,var(--panel) 94%,transparent);color:var(--text);font:700 14px var(--font);cursor:pointer;box-shadow:var(--lift-2),var(--glow-1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease),box-shadow .2s var(--ease);}
.playexit:hover{transform:translateY(-1px);box-shadow:var(--lift-2),var(--glow-2);}
.playexit:active{transform:scale(.97);}
.playexit .ico{--s:16px;width:16px;height:16px;flex:0 0 16px;}
.lockplay[hidden]{display:none;}
#tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(10px + env(safe-area-inset-bottom) + var(--kb));display:flex;align-items:center;gap:4px;padding:6px 6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--hair);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:var(--lift-2),var(--glow-1);max-width:min(520px,calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));animation:tabbar-in .45s var(--ease-spring) both;}
@keyframes tabbar-flat{from{opacity:0;transform:translateY(10px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes tabbar-in{from{opacity:0;transform:translateX(-50%) translateY(10px) scale(.985);}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1);}}
@media(min-width:1200px){#tabbar{display:none;}}

#tabbar:empty{display:none;}#tabbar button[data-tab]{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--muted);font:600 10px var(--font);letter-spacing:.02em;cursor:pointer;position:relative;transition:color .16s var(--ease),background .16s var(--ease),transform .16s var(--ease);}
#tabbar button[data-tab]:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent);}
#tabbar button[data-tab].on{color:color-mix(in srgb,#000 78%,var(--accent));background:var(--accent);box-shadow:var(--glow-1);}
#tabbar button[data-tab].on:hover{box-shadow:var(--glow-2);}
#tabbar button[data-tab] .ico{--s:23px;width:23px;height:23px;flex:0 0 23px;}#tabbar button[data-tab] span{font-size:10px;line-height:1;}
#tab-center{width:56px;height:56px;border-radius:50%;border:0;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));display:grid;place-items:center;cursor:pointer;flex:0 0 56px;box-shadow:var(--glow-2);transition:transform .16s var(--ease),box-shadow .18s var(--ease);}
#tab-center:hover{transform:translateY(-1px) scale(1.02);}
#tab-center:active{transform:scale(.96);}
#tab-indicator{position:absolute;height:100%;border-radius:var(--r-pill);background:var(--accent);opacity:0;pointer-events:none;}
.tab-ripple{position:absolute;border-radius:50%;pointer-events:none;background:color-mix(in srgb,var(--accent) 22%,transparent);transform:translate(-50%,-50%) scale(0);animation:ripple-out .45s var(--ease-out) forwards;}
.ripple{position:fixed;z-index:28;pointer-events:none;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 70%,transparent),transparent 70%);animation:ripple-dot .5s var(--ease-out) forwards;}
.admin-only.hidden{display:none!important;}
@media(min-width:1200px){main#view{max-width:900px;padding-top:22px;}#brand{max-width:900px;}.hero{padding:20px 22px 18px;}.hero h1{font-size:24px;}.hero .ring{width:116px;height:116px;flex-basis:116px;}}
@media(min-width:768px) and (max-width:1023px){main#view{max-width:720px;padding-top:18px;}#brand{max-width:720px;}}
@media(max-width:767px){main#view{max-width:100%;padding:10px calc(12px + env(safe-area-inset-right)) calc(18px + 64px + env(safe-area-inset-bottom) + var(--kb)) calc(12px + env(safe-area-inset-left));}.hero{flex-direction:column;align-items:flex-start;gap:12px;}.hero .ring{width:96px;height:96px;flex-basis:96px;}#tabbar{left:10px;right:10px;transform:none;max-width:none;overflow:hidden;gap:2px;padding:5px;animation-name:tabbar-flat;bottom:calc(10px + env(safe-area-inset-bottom) + var(--kb));}#tabbar button[data-tab]{padding:5px 2px;gap:2px;}#tabbar button[data-tab] .ico{--s:20px;width:20px;height:20px;flex:0 0 20px;}#tabbar button[data-tab] span{font-size:8.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#tab-center{width:46px;height:46px;flex:0 0 46px;}#composer{bottom:calc(68px + env(safe-area-inset-bottom) + var(--kb));}#toasts{left:10px;right:10px;transform:none;bottom:calc(72px + env(safe-area-inset-bottom) + var(--kb));}#toasts .toast{max-width:100%;overflow-wrap:anywhere;text-align:center;}.sheet-box{width:94vw;}.popup-box{width:calc(100vw - 32px);}}
@media(max-width:480px){main#view{padding:8px calc(10px + env(safe-area-inset-right)) calc(14px + 64px + env(safe-area-inset-bottom) + var(--kb)) calc(10px + env(safe-area-inset-left));}#tabbar{padding:5px 5px;gap:2px;}.hero h1{font-size:20px;}.hero .ring{width:88px;height:88px;flex-basis:88px;}#tabbar button[data-tab]>span:not(.ico){display:none;}#tabbar button[data-tab]{padding:6px 2px;}#tabbar button[data-tab] .ico{--s:21px;width:21px;height:21px;flex:0 0 21px;}#tab-center{width:52px;height:52px;flex:0 0 52px;}.sheet-box{width:94vw;}.grid-month{gap:4px;}.card.plain{padding:12px 12px;}}
@keyframes scan-sweep{0%{transform:translateY(-2px);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(280px);opacity:0;}}
@keyframes skel-shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
@keyframes empty-float{0%{transform:translateY(0);}100%{transform:translateY(-4px);}}
@keyframes float{from{transform:translateY(0);}to{transform:translateY(-4px);}}
@keyframes breathe{0%,100%{opacity:.9;filter:brightness(1);}50%{opacity:1;filter:brightness(1.08);}}
@keyframes beacon{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 22%,transparent);}100%{box-shadow:0 0 0 14px transparent;}}
@keyframes aura{0%{box-shadow:var(--glow-1),var(--lift-1);}100%{box-shadow:var(--glow-3),var(--lift-2);}}
@keyframes day-pop{0%{transform:scale(.92);}100%{transform:scale(1);}}

@keyframes badge-in{0%{opacity:0;transform:scale(.86) translateY(6px);}100%{opacity:1;transform:scale(1) translateY(0);}}
@keyframes au-float{0%{transform:translateY(0);}50%{transform:translateY(-4px);}100%{transform:translateY(0);}}
@keyframes au-glow{0%,100%{box-shadow:var(--glow-1);}50%{box-shadow:var(--glow-2);}}
@keyframes popup{0%{opacity:0;transform:translateY(8px) scale(.97);}100%{opacity:1;transform:none;}}
@keyframes sheet{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:none;}}
@keyframes sheet-in{from{transform:translateY(24px) scale(.985);opacity:0;}}
@keyframes toast{0%{opacity:0;transform:translateY(6px);}100%{opacity:1;transform:translateY(0);}}
@keyframes toast-out{0%{opacity:1;transform:translateY(0);}100%{opacity:0;transform:translateY(6px);}}
@keyframes flash{0%{opacity:.55;}100%{opacity:0;}}
@keyframes flash-out{from{opacity:1;}to{opacity:0;}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes kbump{0%{transform:scale(1);}30%{transform:scale(1.06);}100%{transform:scale(1);}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.08);opacity:.9;}}
@keyframes decay{from{transform:scaleX(1);}to{transform:scaleX(0);}}
@keyframes flyup{to{transform:translate(var(--dx),calc(-170px + var(--dy,0px))) scale(.45) rotate(var(--rot));opacity:0;}}
@keyframes shock{to{transform:scale(1.9);opacity:0;border-width:1px;}}
@keyframes spark-orbit{from{transform:rotate(0deg) translateX(clamp(74px,30vw,128px)) scale(.6);}50%{transform:rotate(180deg) translateX(clamp(80px,33vw,140px)) scale(1);}to{transform:rotate(360deg) translateX(clamp(74px,30vw,128px)) scale(.6);}}
@keyframes floater-up{from{transform:translate(-50%,0) scale(.8) rotate(0deg);opacity:0;}25%{opacity:1;}to{transform:translate(calc(-50% + var(--dx,0px)),-96px) scale(1.05) rotate(var(--rot,0deg));opacity:0;}}
@keyframes glyph-squash{0%{transform:scale(1,1);}40%{transform:scale(1.16,.86);}70%{transform:scale(.94,1.08);}100%{transform:scale(1,1);}}
@keyframes bigheart-pulse{0%{transform:scale(1);}50%{transform:scale(calc(1 + .04*min(var(--heat,0),1)));}100%{transform:scale(1);}}
@keyframes heart-beat{0%,100%{transform:scale(1);}14%{transform:scale(1.045);}28%{transform:scale(1);}42%{transform:scale(1.03);}56%{transform:scale(1);}}
@keyframes stage-shake{12%{transform:translateY(3px) scaleY(.994);}30%{transform:translateY(-2px);}52%{transform:translateY(2px);}74%{transform:translateY(-1px);}100%{transform:none;}}
@keyframes praise-rise{0%{transform:translateX(-50%) translateY(10px) scale(.7);opacity:0;}20%{opacity:1;transform:translateX(-50%) translateY(0) scale(1.08);}100%{transform:translateX(-50%) translateY(-70px) scale(1);opacity:0;}}
@keyframes milestone-pop{0%{transform:scale(.5);opacity:0;}60%{transform:scale(1.12);}100%{transform:scale(1);opacity:1;}}
@keyframes milestone-breathe{from{opacity:.15;}to{opacity:.45;}}
@keyframes card-in{from{opacity:0;transform:translateY(14px) scale(.985);}}
@keyframes row-moved{0%{background:color-mix(in srgb,var(--accent) 22%,transparent);transform:translateX(3px);}}
@keyframes bump{0%{transform:scale(1);}50%{transform:scale(1.06);}100%{transform:scale(1);}}
@keyframes ripple-out{to{transform:translate(-50%,-50%) scale(4);opacity:0;}}
@keyframes ripple-dot{to{transform:scale(9);opacity:0;}}
@keyframes pop-in{0%{opacity:0;transform:scale(.94) translateY(12px);}60%{opacity:1;transform:scale(1.015) translateY(-2px);}100%{transform:none;}}
html[data-anim='off'] *,html[data-anim='off'] *::before,html[data-anim='off'] *::after{animation-duration:.18s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.16s!important;transition-delay:0s!important;scroll-behavior:auto!important;}
html[data-anim='off'] .hero .scan-line,html[data-anim='off'] #nebula .aurora,html[data-anim='off'] .skel::after{display:none!important;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.18s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.16s!important;transition-delay:0s!important;scroll-behavior:auto!important;}.hero .scan-line,#nebula .aurora,.skel::after{display:none!important;}}
.task .check{width:26px;height:26px;flex:none;border-radius:50%;cursor:pointer;border:2px solid var(--hair-strong);background:none;color:transparent;font-size:13px;transition:background .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);}.task .check:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}.task .check.done{border-color:transparent;background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;font-weight:700;box-shadow:var(--glow-1);}.task .t{flex:1;min-width:0;cursor:pointer;}.task .t b{display:block;font-size:13.5px;font-weight:650;}.task .t.done b{color:var(--faint);text-decoration:line-through;}.task .t small{display:block;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;}.task .del{border:0;background:none;color:var(--faint);cursor:pointer;font-size:15px;transition:color .18s var(--ease),transform .18s var(--ease);}.task .del:hover{color:var(--bad);transform:scale(1.1);}.task .del .ico{width:16px;height:16px;}.tnum,.mono{font-variant-numeric:tabular-nums;font-family:var(--mono);}#lock.playing{overflow:hidden;}#lock.playing .lockhint{opacity:0;}#lock .lockui.playhide{opacity:0;pointer-events:none;}#lock .lockui.playhide>*{pointer-events:none;}html.locked,html.locked body{overflow:hidden;}html.locked #landing{display:none;}html.locked main,html.locked #tabbar,html.locked #brand,html.locked #side,html.locked #composer{opacity:0!important;visibility:hidden;pointer-events:none;animation:none!important;}.sheet-body{font-size:15px;color:var(--text);line-height:1.5;margin-bottom:16px;}.tier1{filter:drop-shadow(0 0 calc(10px*var(--g)) color-mix(in srgb,var(--good) 25%,transparent));}.tier2{filter:drop-shadow(0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 35%,transparent));}.tier3{filter:drop-shadow(0 0 calc(18px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent));}.spacebtn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,transparent);}.spaceadd{border-style:dashed;}.selected{outline:2px solid var(--accent);outline-offset:2px;}.danger{color:var(--bad);}body.no-anim .anim-in,body.no-anim main>.card{animation:none!important;}html[data-anim='off'] #lock .kbump{transform:none;}.landing{max-width:980px;margin:0 auto;padding:18px calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:32px;overflow-x:clip;}
.landing{width:100%;max-width:none;min-width:0;display:flex;flex-direction:column;gap:22px;padding-left:calc(clamp(8px,3vw,48px) + env(safe-area-inset-left));padding-right:calc(clamp(8px,3vw,48px) + env(safe-area-inset-right));overflow-x:clip;}.landing>*{min-width:0;max-width:100%;}.landing-top{width:100%;max-width:100%;min-width:0;position:sticky;top:calc(10px + env(safe-area-inset-top));z-index:5;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:10px;padding:8px 10px 8px 12px;background:color-mix(in srgb,var(--bg) 91%,transparent);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--hair));border-radius:var(--r-pill);box-shadow:var(--lift-2),0 0 28px -6px color-mix(in srgb,var(--accent) 55%,transparent),0 0 80px -20px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);}.landing-top .landing-right{display:flex;align-items:center;gap:8px;}
.landing-top .btn{min-height:38px;padding-inline:16px;font-size:13.5px;font-weight:700;white-space:nowrap;}
.landing-top .landing-cta{position:relative;overflow:hidden;box-shadow:var(--lift-2),0 0 calc(34px*var(--g)) -4px color-mix(in srgb,var(--accent) 75%,transparent),0 0 calc(90px*var(--g)) -18px color-mix(in srgb,var(--accent) 55%,transparent);}
.landing-top .landing-cta::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-70%;width:45%;background:linear-gradient(100deg,transparent,color-mix(in srgb,#fff 38%,transparent),transparent);animation:cta-sheen 3.4s ease-in-out infinite;pointer-events:none;}
.landing-langs .chip{min-width:46px;justify-content:center;font-weight:700;letter-spacing:.02em;}
.landing-prefs-btn{width:44px;height:44px;display:grid;place-items:center;}
.landing-top .landing-login{background:color-mix(in srgb,var(--panel-2) 94%,transparent);}
.landing-top .top-control{flex-basis:38px;width:38px;height:38px;min-height:38px;background:color-mix(in srgb,var(--panel-2) 96%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,var(--hair-strong));box-shadow:0 0 18px -6px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);}
html[data-mode='light'] .landing-logo,html[data-mode='light'] .about-logo,html[data-mode='light'] #brand-home img,html[data-mode='light'] .side-brand img,html[data-mode='light'] #lock .badge-logo,html[data-mode='light'] #lock .auth-story-mark img{filter:drop-shadow(0 0 1px color-mix(in srgb,#000 62%,transparent)) drop-shadow(0 1px 5px color-mix(in srgb,#000 30%,transparent));}
@keyframes landing-border-sweep{0%{transform:translateX(-18%);}50%{transform:translateX(18%);}100%{transform:translateX(-18%);}}
.landing-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);}
.landing-logo{width:48px;height:48px;object-fit:contain;animation:logo-glow 3.6s ease-in-out infinite;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}
.landing-wordmark{font-weight:800;letter-spacing:-.02em;font-size:17px;}
.landing-badge{font:700 10px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 72%,transparent);padding:3px 7px;border-radius:var(--r-pill);}
.landing-nav{display:flex;gap:6px;align-items:center;justify-content:center;min-width:0;overflow:hidden;}
.landing-nav a{padding:9px 16px;border-radius:var(--r-pill);color:var(--text);font:800 14px var(--font);letter-spacing:-.01em;text-decoration:none;white-space:nowrap;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));background:color-mix(in srgb,var(--panel) 55%,transparent);box-shadow:0 0 16px -6px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent);transition:color var(--n-fast),background var(--n-fast),border-color var(--n-fast),box-shadow var(--n-fast),transform var(--n-fast);}
.landing-nav a:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 16%,var(--panel));border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 24px -4px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);}
.landing-right{display:flex;align-items:center;gap:8px;justify-self:end;}.landing-right .btn{min-height:44px;white-space:nowrap;}
.landing-hero{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center;padding:14px 0 10px;overflow:hidden;}
.landing-hero::before{content:"";position:absolute;inset:-12% -6% -20%;background:radial-gradient(520px 280px at 18% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 62%),radial-gradient(420px 220px at 92% 8%,color-mix(in srgb,var(--accent-2) 8%,transparent),transparent 62%);pointer-events:none;opacity:.9;}
.landing-hero>*{position:relative;}
.landing-hero-copy{display:flex;flex-direction:column;gap:14px;}
.landing-hero h1{margin:0;font-size:clamp(40px,4.6vw,64px);line-height:1.02;letter-spacing:-.03em;font-weight:900;text-wrap:balance;background:linear-gradient(100deg,var(--text) 30%,color-mix(in srgb,var(--accent) 22%,var(--text)) 50%,var(--text) 70%);-webkit-background-clip:text;background-clip:text;}
.landing-hero h1 span{display:block;}
.landing-hero h1 span:first-child{margin-bottom:2px;}
.landing-hero h1 span:last-child{line-height:1.02;background-image:linear-gradient(100deg,var(--accent-strong) 10%,var(--accent) 60%,color-mix(in srgb,var(--accent) 55%,var(--text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 50%,transparent);}
.landing-hero-copy .kicker{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--hair));border-radius:var(--r-pill);padding:9px 16px;background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:0 0 22px -8px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);}
@keyframes kicker-glow{from{filter:drop-shadow(0 0 0 transparent);}to{filter:drop-shadow(0 4px 18px color-mix(in srgb,var(--accent) 18%,transparent));}}
.landing-lead{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:46ch;}
.landing-cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
.landing-hint{color:var(--faint);font-size:12px;}
.landing-proof{display:flex;flex-wrap:wrap;gap:10px;}
.landing-proof-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--muted);font:600 11px var(--font);}
.landing-proof-item{transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.landing-proof-item:hover{transform:translateY(-1px);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 18%,var(--hair));}
.landing-proof-item i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));font-style:normal;font-size:11px;box-shadow:var(--glow-1);}
.landing-hero-art{position:relative;min-height:400px;display:grid;place-items:center;justify-items:center;align-content:center;}
.landing-phone-wrap{position:relative;width:250px;height:538px;flex:0 0 auto;}
.landing-phone-wrap .landing-phone{position:absolute;left:50%;top:50%;margin:-326px 0 0 -151px;}


.landing-bubble{padding:10px 12px;border-radius:16px;font-size:12px;line-height:1.4;box-shadow:var(--lift-1);}
.landing-bubble.mine{background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;font-weight:600;align-self:flex-end;max-width:86%;}
.landing-bubble.theirs{background:var(--sheen-top),var(--panel-2);border:1px solid var(--line-soft);align-self:flex-start;max-width:92%;}
.landing-wave{display:flex;gap:3px;align-items:center;justify-content:center;height:22px;}
.landing-wave i{width:3px;height:14px;border-radius:999px;background:var(--accent);opacity:.9;animation:landing-wave .9s ease-in-out infinite alternate;}
.landing-wave i:nth-child(2){animation-delay:.08s;height:18px;}
.landing-wave i:nth-child(3){animation-delay:.16s;height:10px;}
.landing-wave i:nth-child(4){animation-delay:.24s;height:16px;}
.landing-wave i:nth-child(5){animation-delay:.32s;height:12px;}
.landing-glow{position:absolute;inset:auto -20% -18% -20%;height:42%;background:radial-gradient(420px 180px at 50% 0%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 68%);filter:blur(14px);pointer-events:none;}
.landing-orbit{position:absolute;inset:0;pointer-events:none;}
.landing-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-1);opacity:.9;}
.landing-orbit i:nth-child(1){left:12%;top:14%;animation:landing-drift 6s ease-in-out infinite alternate;}
.landing-orbit i:nth-child(2){right:10%;top:22%;animation:landing-drift 7s ease-in-out infinite alternate-reverse;}
.landing-orbit i:nth-child(3){left:18%;bottom:18%;animation:landing-drift 5.5s ease-in-out infinite alternate;}
.landing-orbit i:nth-child(4){right:16%;bottom:12%;animation:landing-drift 6.5s ease-in-out infinite alternate-reverse;}
.landing-strip{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px 10px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 64%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--muted);font:700 11px var(--font);letter-spacing:.06em;text-transform:uppercase;position:relative;overflow:hidden;}
.landing-strip::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 8%,transparent),transparent);transform:translateX(-100%);animation:landing-strip-shimmer 3.8s ease-in-out infinite;pointer-events:none;}
@keyframes landing-strip-shimmer{60%{transform:translateX(100%);}100%{transform:translateX(100%);}}
.landing-section{display:flex;flex-direction:column;gap:14px;}
.landing-section.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);}
.landing-section.reveal.is-visible{opacity:1;transform:none;}
.landing-cta.reveal{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);}
.landing-cta.reveal.is-visible{opacity:1;transform:none;}
.landing-strip.reveal{opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease-out),transform .45s var(--ease-out);}
.landing-strip.reveal.is-visible{opacity:1;transform:none;}


.landing-head{display:flex;flex-direction:column;gap:6px;}
.landing-head h2{margin:0;font-size:22px;letter-spacing:-.02em;}
.landing-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.landing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.landing-card{padding:16px 16px;display:flex;flex-direction:column;gap:8px;}
.landing-card h3{margin:0;font-size:14px;letter-spacing:-.01em;}
.landing-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.landing-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.landing-steps{counter-reset:landing-step;}
.landing-steps li{padding:16px 16px;border-radius:var(--r-md);border:1px solid var(--hair);background:var(--surface);box-shadow:var(--lift-1);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;counter-increment:landing-step;}
.landing-steps li::before{content:counter(landing-step);position:absolute;right:10px;top:8px;font:800 28px/1 var(--font);color:color-mix(in srgb,var(--accent) 9%,transparent);pointer-events:none;}
.landing-steps li:hover{transform:translateY(-2px);box-shadow:var(--glow-1),var(--lift-1);border-color:color-mix(in srgb,var(--accent) 14%,var(--hair));}
.landing-steps li b{font-size:14px;}
.landing-steps li span{color:var(--muted);font-size:13px;line-height:1.5;}
.landing-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:stretch;}
.landing-section details.card{transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.landing-section details.card:hover{transform:translateY(-1px);box-shadow:0 0 26px -6px color-mix(in srgb,var(--accent) 65%,transparent),var(--lift-1);border-color:color-mix(in srgb,var(--accent) 40%,transparent);}
.landing-section details[open].card{border-color:color-mix(in srgb,var(--accent) 30%,var(--hair));box-shadow:var(--glow-2),var(--lift-2),inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent);}
.landing-section details[open]>:not(summary){animation:faq-in .28s var(--ease);}
@keyframes faq-in{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
section.landing-cta{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 16px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));background:radial-gradient(420px 200px at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),var(--surface);box-shadow:var(--lift-2),var(--glow-1);text-align:center;}
section.landing-cta h2{margin:0;font-size:clamp(24px,3.4vw,34px);font-weight:900;letter-spacing:-.03em;text-wrap:balance;background:linear-gradient(100deg,var(--accent-strong) 5%,var(--accent) 45%,color-mix(in srgb,var(--accent) 40%,var(--text)) 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 22px color-mix(in srgb,var(--accent) 32%,transparent);}
section.landing-cta .btn.primary{animation:cta-btn-pulse 2.8s ease-in-out infinite;}
@keyframes cta-breathe{0%,100%{opacity:.45;}50%{opacity:1;}}
@keyframes cta-btn-pulse{0%,100%{box-shadow:var(--lift-2),0 0 22px -6px color-mix(in srgb,var(--accent) 65%,transparent);}50%{box-shadow:var(--lift-2),0 0 38px -4px color-mix(in srgb,var(--accent) 85%,transparent);}}
html[data-anim='off'] section.landing-cta,html[data-anim='off'] section.landing-cta .btn.primary{animation:none;}
section.landing-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 220px at 50% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 68%);pointer-events:none;}
section.landing-cta::after{content:"";position:absolute;left:-18%;right:-18%;bottom:-18%;height:46%;background:radial-gradient(520px 180px at 50% 0%,color-mix(in srgb,var(--accent-2) 10%,transparent),transparent 68%);pointer-events:none;opacity:.45;animation:cta-breathe 4.2s ease-in-out infinite;}
section.landing-cta h2{margin:0;font-size:22px;letter-spacing:-.02em;}
section.landing-cta p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:560px;}
.landing-foot{padding:14px 0 calc(20px + env(safe-area-inset-bottom));display:flex;justify-content:center;}
.app-shell{max-width:860px;margin:0 auto;padding:0 calc(16px + env(safe-area-inset-right)) calc(20px + 72px + env(safe-area-inset-bottom) + var(--kb)) calc(16px + env(safe-area-inset-left));display:flex;flex-direction:column;gap:12px;}
.app-shell #brand{margin:0;}.app-shell #brand .brand-home{display:inline-flex;align-items:center;gap:8px;min-width:0;}.app-shell #brand .brand-home span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:767px){.app-shell #brand{gap:6px;}.app-shell #brand .brand-pill{display:none;}.app-shell #brand .brand-home{gap:7px;}.app-shell #brand .brand-home span{font-size:14px;}}
.app-shell #view{margin:0;padding-left:0;padding-right:0;}

.landing-phone{--mx:0;--my:0;--rx:0;--ry:0;--shine:.5;position:relative;width:302px;height:652px;flex:0 0 auto;border-radius:60px;padding:5px;background:linear-gradient(115deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,transparent 30px,rgba(20,22,26,.9) 30px,rgba(20,22,26,.9) 32px,transparent 32px),linear-gradient(90deg,transparent 270px,rgba(20,22,26,.9) 270px,rgba(20,22,26,.9) 272px,transparent 272px),linear-gradient(0deg,transparent 300px,rgba(20,22,26,.9) 300px,rgba(20,22,26,.9) 302px,transparent 302px),linear-gradient(0deg,transparent 480px,rgba(20,22,26,.9) 480px,rgba(20,22,26,.9) 482px,transparent 482px),linear-gradient(148deg,#eef0f2 0%,#a7abb0 10%,#5f646a 22%,#c8ccd1 38%,#f1f3f5 50%,#9ba0a6 62%,#d6d9dd 76%,#5a5f65 90%,#8f949a 100%);box-shadow:12px 16px 30px -8px color-mix(in srgb,#000 72%,transparent),0 46px 100px -26px color-mix(in srgb,#000 76%,transparent),0 0 70px -20px color-mix(in srgb,var(--accent) 58%,transparent),inset 1px 1px 1px color-mix(in srgb,#fff 75%,transparent),inset -1px -1px 2px color-mix(in srgb,#000 45%,transparent),inset 0 0 0 2px color-mix(in srgb,#000 28%,transparent),inset 0 0 0 8px #04060b;transform:perspective(1200px) rotateX(calc(var(--ry) * 11deg)) rotateY(calc(var(--rx) * 16deg)) translate3d(calc(var(--mx) * 16px),calc(var(--my) * 12px),0) scale(.83);transition:transform .28s var(--ease);isolation:isolate;transform-style:preserve-3d;}
.landing-phone-front{position:absolute;inset:0;border-radius:60px;background:linear-gradient(115deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,transparent 30px,rgba(20,22,26,.9) 30px,rgba(20,22,26,.9) 32px,transparent 32px),linear-gradient(90deg,transparent 270px,rgba(20,22,26,.9) 270px,rgba(20,22,26,.9) 272px,transparent 272px),linear-gradient(0deg,transparent 300px,rgba(20,22,26,.9) 300px,rgba(20,22,26,.9) 302px,transparent 302px),linear-gradient(0deg,transparent 480px,rgba(20,22,26,.9) 480px,rgba(20,22,26,.9) 482px,transparent 482px),linear-gradient(148deg,#eef0f2 0%,#a7abb0 10%,#5f646a 22%,#c8ccd1 38%,#f1f3f5 50%,#9ba0a6 62%,#d6d9dd 76%,#5a5f65 90%,#8f949a 100%);box-shadow:inset 1px 1px 1px color-mix(in srgb,#fff 75%,transparent),inset -1px -1px 2px color-mix(in srgb,#000 45%,transparent),inset 0 0 0 2px color-mix(in srgb,#000 28%,transparent),inset 0 0 0 8px #04060b;transform:translateZ(7px);}
.landing-phone-face{position:absolute;pointer-events:none;transform-style:preserve-3d;}
.landing-phone-back{inset:0;border-radius:60px;background:linear-gradient(150deg,#3a3d43 0%,#232529 60%,#2e3136 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08);transform:translateZ(-7px);}
.landing-phone-edge-l{left:-7px;top:8px;bottom:8px;width:14px;border-radius:3px;background:linear-gradient(0deg,transparent 32%,#17181c 32%,#17181c 34%,transparent 34%),linear-gradient(0deg,transparent 66%,#17181c 66%,#17181c 68%,transparent 68%),linear-gradient(270deg,#2e3138 0%,#565b63 35%,#a8adb4 60%,#3f434a 100%);transform:rotateY(-90deg);}
.landing-phone-edge-r{right:-7px;top:8px;bottom:8px;width:14px;border-radius:3px;background:linear-gradient(0deg,transparent 32%,#17181c 32%,#17181c 34%,transparent 34%),linear-gradient(0deg,transparent 66%,#17181c 66%,#17181c 68%,transparent 68%),linear-gradient(90deg,#2e3138 0%,#565b63 35%,#a8adb4 60%,#3f434a 100%);transform:rotateY(90deg);}
.landing-phone-edge-t{top:-7px;left:8px;right:8px;height:14px;border-radius:3px;background:linear-gradient(90deg,transparent 30%,#17181c 30%,#17181c 32%,transparent 32%),linear-gradient(90deg,transparent 68%,#17181c 68%,#17181c 70%,transparent 70%),linear-gradient(180deg,#2e3138 0%,#6a6f76 40%,#a8adb4 65%,#4a4d54 100%);transform:rotateX(90deg);}
.landing-phone-edge-b{bottom:-7px;left:8px;right:8px;height:14px;border-radius:3px;background:linear-gradient(90deg,transparent 30%,#17181c 30%,#17181c 32%,transparent 32%),linear-gradient(90deg,transparent 68%,#17181c 68%,#17181c 70%,transparent 70%),linear-gradient(0deg,#2e3138 0%,#6a6f76 40%,#a8adb4 65%,#4a4d54 100%);transform:rotateX(-90deg);}
.landing-phone-btn{position:absolute;left:2px;width:10px;border-radius:2px;background:linear-gradient(90deg,#f4f6f8 0%,#9aa0a7 45%,#54585f 80%,#c6cacf 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.6);transform:translateZ(3px);pointer-events:none;}
.landing-phone-btn-action{top:112px;height:30px;}
.landing-phone-btn-volup{top:166px;height:58px;}
.landing-phone-btn-voldown{top:232px;height:58px;}
.landing-phone-btn-cam{top:150px;height:30px;}
.landing-phone-btn-power{top:206px;height:84px;}
.landing-phone-frame{position:absolute;inset:5px;border-radius:55px;background:#000;box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 10%,transparent),inset 0 2px 8px rgba(0,0,0,.9),inset 0 -1px 2px rgba(255,255,255,.08),0 1px 0 rgba(255,255,255,.3);pointer-events:none;z-index:2;}
.landing-phone-island{position:absolute;left:50%;transform:translateX(-50%);top:19px;width:88px;height:27px;border-radius:999px;background:#000;display:flex;align-items:center;justify-content:flex-end;padding-right:9px;box-shadow:0 1px 0 color-mix(in srgb,#fff 7%,transparent);z-index:6;}
.landing-island-lens{width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 36% 32%,#1b2733 0%,#0a0e13 44%,#000 74%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 7%,transparent);}
.landing-phone-screen{--phone-bg:#f7f8fb;--phone-text:#151821;--phone-muted:#667085;--phone-panel:#e9edf4;--phone-line:color-mix(in srgb,var(--accent) 18%,#cbd2df);position:absolute;inset:8px;border-radius:52px;display:flex;flex-direction:column;gap:10px;padding:13px 12px 14px;background:radial-gradient(130% 64% at 50% 0%,color-mix(in srgb,var(--accent) 26%,transparent),transparent 64%),radial-gradient(90% 44% at 84% 100%,color-mix(in srgb,var(--accent-2) 24%,transparent),transparent 68%),var(--phone-bg);overflow:hidden;z-index:4;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 2px 12px rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.4);}
html[data-mode='light'] .landing-phone-screen{--phone-bg:#10131a;--phone-text:#f6f8fb;--phone-muted:#aeb8c9;--phone-panel:#1c222d;--phone-line:color-mix(in srgb,var(--accent) 32%,#303a4b);}
.landing-phone-screen::after{content:"";position:absolute;top:-40%;left:-30%;width:120%;height:150%;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,#fff 12%,transparent) 47%,color-mix(in srgb,#fff 4%,transparent) 53%,transparent 62%);transform:translateX(calc((var(--mx) + 1) * 16%));transition:transform .3s var(--ease);pointer-events:none;z-index:5;}
.landing-status{display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:relative;z-index:6;height:15px;color:var(--phone-text);}
.landing-status-moon{height:11px;width:auto;display:block;margin-left:7px;}
.landing-status-time{font:700 11px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;line-height:1;display:flex;align-items:center;height:12px;}
.landing-status-icons{display:flex;align-items:center;gap:6px;}
.landing-status-svg{height:11px;width:auto;display:block;}
.landing-status-cell{display:flex;align-items:flex-end;gap:1.5px;height:9px;}
.landing-status-cell b{width:2px;border-radius:1px;background:currentColor;}
.landing-status-cell b:nth-child(1){height:3px;}
.landing-status-cell b:nth-child(2){height:5px;}
.landing-status-cell b:nth-child(3){height:7px;}
.landing-status-cell b:nth-child(4){height:9px;}
.landing-status-wifi{position:relative;width:12px;height:9px;overflow:hidden;}
.landing-status-wifi b{position:absolute;left:50%;bottom:-4.5px;border:1.4px solid transparent;border-top-color:currentColor;border-radius:50%;transform:translateX(-50%);}
.landing-status-wifi b:nth-child(1){width:13px;height:13px;}
.landing-status-wifi b:nth-child(2){width:8px;height:8px;}
.landing-status-wifi b:nth-child(3){width:3px;height:3px;background:currentColor;border:0;border-radius:50%;}
.landing-status-batt{position:relative;width:19px;height:9.5px;border:1.1px solid color-mix(in srgb,currentColor 55%,transparent);border-radius:3px;}
.landing-status-batt::after{content:"";position:absolute;right:-3px;top:50%;transform:translateY(-50%);width:1.6px;height:3.4px;border-radius:0 1.4px 1.4px 0;background:color-mix(in srgb,currentColor 55%,transparent);}
.landing-status-batt b{position:absolute;left:1.2px;top:1.2px;bottom:1.2px;width:11px;border-radius:1.6px;background:currentColor;}
.landing-bubble{padding:9px 11px;border-radius:16px;font-size:11.5px;line-height:1.4;box-shadow:var(--lift-1);position:relative;z-index:3;}
.landing-bubble.mine{background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:color-mix(in srgb,#000 78%,var(--accent));margin-left:24px;border-bottom-right-radius:6px;}
.landing-bubble.theirs{background:var(--phone-panel);border:1px solid var(--phone-line);color:var(--phone-text);margin-right:20px;border-bottom-left-radius:6px;}
.landing-chat{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;flex:1;min-height:0;position:relative;z-index:3;}
.landing-event{display:flex;align-items:center;gap:9px;margin:0 20px 0 24px;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--phone-panel) 82%,transparent);border:1px solid var(--phone-line);}
.landing-event-day{width:26px;height:26px;flex:0 0 26px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));font:800 12px var(--font);box-shadow:var(--glow-1);}
.landing-event.done .landing-event-day{background:var(--phone-muted);}
.landing-event-text{display:flex;flex-direction:column;gap:1px;min-width:0;}
.landing-event-text b{font:700 11px var(--font);color:var(--phone-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.landing-event-text small{font:500 9.5px var(--font);color:var(--phone-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.landing-voice{display:flex;align-items:center;gap:9px;margin:0 20px 0 24px;padding:9px 12px;border-radius:16px;background:var(--phone-panel);border:1px solid var(--phone-line);}
.landing-voice-bars{display:flex;align-items:center;gap:2px;flex:1;height:20px;}
.landing-voice-bars i{flex:1;border-radius:999px;background:color-mix(in srgb,var(--accent) 74%,var(--phone-muted));animation:landing-voice 1.1s ease-in-out infinite;}
.landing-voice-bars i:nth-child(3n+1){height:40%;animation-delay:.12s;}
.landing-voice-bars i:nth-child(3n+2){height:86%;animation-delay:.24s;}
.landing-voice-bars i:nth-child(3n){height:58%;animation-delay:.36s;}
@keyframes landing-voice{0%,100%{transform:scaleY(.55);}50%{transform:scaleY(1);}}
.landing-voice-time{font:600 9.5px var(--mono);color:var(--phone-muted);}
.landing-wave{display:flex;gap:3px;align-items:center;justify-content:center;height:20px;position:relative;z-index:3;}
.landing-wave i{width:3px;height:13px;border-radius:999px;background:var(--accent);opacity:.9;animation:landing-wave 1s ease-in-out infinite;transform-origin:center;}
.landing-wave i:nth-child(2){animation-delay:.08s;height:17px;}
.landing-wave i:nth-child(3){animation-delay:.16s;height:9px;}
.landing-wave i:nth-child(4){animation-delay:.24s;height:15px;}
.landing-wave i:nth-child(5){animation-delay:.32s;height:11px;}
.landing-homebar{width:104px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--phone-text) 34%,transparent);margin:1px auto 0;position:relative;z-index:6;}
.landing-glow{position:absolute;inset:auto -24% -20% -24%;height:46%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 34%,transparent),transparent 74%);filter:blur(16px);z-index:0;pointer-events:none;}
.landing-feature{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:18px 18px 16px;min-height:132px;animation:landing-card-in .6s var(--ease-spring) both;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.landing-feature:nth-child(2){animation-delay:.06s;}
.landing-feature:nth-child(3){animation-delay:.12s;}
.landing-feature:nth-child(4){animation-delay:.18s;}
.landing-feature:hover{transform:translateY(-3px);box-shadow:var(--glow-2),var(--lift-2);border-color:color-mix(in srgb,var(--accent) 22%,var(--hair));}
.landing-feature::before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(420px 220px at 40% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 62%);transition:opacity .22s var(--ease);pointer-events:none;}
.landing-feature:hover::before{opacity:1;}
.landing-card{position:relative;overflow:hidden;animation:landing-card-in .55s var(--ease-spring) both;transition:transform .16s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);}
.landing-card::after{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(380px 200px at 30% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 62%);transition:opacity .18s var(--ease);pointer-events:none;}
.landing-card:hover::after{opacity:1;}
.landing-card:hover{transform:translateY(-2px);box-shadow:var(--glow-1),var(--lift-1);border-color:color-mix(in srgb,var(--accent) 14%,var(--hair));}
.landing-card:nth-child(2){animation-delay:.04s;}
.landing-card:nth-child(3){animation-delay:.08s;}
.landing-card:nth-child(4){animation-delay:.12s;}
.landing-card:nth-child(5){animation-delay:.16s;}
.landing-card:nth-child(6){animation-delay:.2s;}
.landing-hero h1{animation:landing-title-in .7s var(--ease-spring) both;}
.landing-lead{animation:landing-card-in .6s var(--ease-spring) .08s both;}
.landing-cta .btn.primary{animation:landing-pulse 2.8s ease-in-out infinite;}
#landing-cta,#landing-cta2,#landing-cta3{box-shadow:var(--glow-2),var(--lift-1);transition:transform .16s var(--ease),box-shadow .18s var(--ease);}
#landing-cta:hover,#landing-cta2:hover,#landing-cta3:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--glow-3),var(--lift-2);}
.landing-proof-item{animation:landing-card-in .5s var(--ease-spring) both;}
.landing-proof-item:nth-child(2){animation-delay:.06s;}
.landing-proof-item:nth-child(3){animation-delay:.12s;}
@keyframes landing-phone-float{from{transform:translateY(0) rotate(-.6deg);}to{transform:translateY(-8px) rotate(.6deg);}}
@keyframes landing-card-in{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes landing-title-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes logo-glow{0%,100%{filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}50%{filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 52%,transparent));}}
@keyframes cta-sheen{0%{transform:translateX(0);}55%,100%{transform:translateX(470%);}}
@keyframes landing-pulse{0%,100%{box-shadow:var(--glow-1),var(--lift-1);}50%{box-shadow:var(--glow-3),var(--lift-2);}}

@keyframes landing-wave{from{transform:scaleY(.7);}to{transform:scaleY(1.3);}}
@keyframes landing-drift{from{transform:translateY(0) scale(1);}to{transform:translateY(-8px) scale(1.05);}}
@media(max-width:1024px){.landing-grid{grid-template-columns:repeat(2,1fr);}.landing-steps{grid-template-columns:repeat(2,1fr);}}
@media(max-width:767px){.landing{padding-top:10px;gap:22px;}.landing-top{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:0;padding:4px 8px 6px;}.landing-brand{overflow:hidden;}.landing-wordmark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.landing-nav{display:none;}.landing-right{grid-column:2;}.landing-brand{grid-column:1;min-width:0;}.landing-login{display:none;}.landing-langs{padding:2px;gap:2px;}.landing-top .landing-lang{min-height:30px;padding:0 7px;font-size:10.5px;}.landing-right .btn{padding:0 12px;}.landing-top .btn{min-height:36px;padding-inline:12px;font-size:12.5px;}.landing-top .top-control{flex-basis:34px;width:34px;height:34px;min-height:34px;}.landing-wordmark{display:none;}}
@media(max-width:480px){.landing-badge,.landing-prefs{display:none;}.landing-wordmark{font-size:14px;}.landing-logo{width:40px;height:40px;}.landing-brand{gap:7px;}.landing-right .btn{padding:0 10px;font-size:12.5px;}}
@media(max-width:1300px){.landing-top{gap:10px;}.landing-nav a{padding:9px 15px;font-size:14px;}.landing-top .btn{padding-inline:14px;}}
@media(max-width:1140px){.landing-nav{display:none;}.landing-top{grid-template-columns:auto 1fr;}.landing-right{grid-column:2;}}
@media(max-width:767px){.landing-nav{display:none;}.landing-hero{grid-template-columns:1fr;}.landing-hero h1{font-size:clamp(34px,9vw,46px);}
.landing-hero h1 span:first-child{margin-bottom:2px;}.landing-hero-art{min-height:420px;}.landing-grid{grid-template-columns:1fr;}.landing-steps{grid-template-columns:1fr;}.landing-cols{grid-template-columns:1fr;}}@media(max-width:360px){.landing-wordmark{display:none;}.landing-top .landing-langs .chip{min-width:40px;}.landing-top .landing-right{gap:6px;}.landing-top [data-sound-toggle]{display:none;}}
html[data-anim='off'] .landing-wave i,html[data-anim='off'] .landing-orbit i,html[data-anim='off'] #nebula .blob,html[data-anim='off'] #nebula .aurora,html[data-anim='off'] .landing-phone,html[data-anim='off'] .landing-logo,html[data-anim='off'] .landing-top .landing-cta::after{animation:none!important;transform:none!important;}
@media(prefers-reduced-motion:reduce){.landing-wave i,.landing-orbit i,#nebula .aurora,#nebula .blob,.landing-top::after,.landing-strip::after,.landing-phone{animation:none!important;}}

.landing-prefs{position:relative;display:flex;align-items:center;}
.landing-prefs-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 88%,transparent);display:grid;place-items:center;cursor:pointer;transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease);}
.landing-prefs-btn:hover{transform:scale(1.06);box-shadow:var(--glow-1);border-color:color-mix(in srgb,var(--accent) 18%,var(--hair));}
.landing-prefs-swatch{width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 42%,transparent);}
.landing-prefs-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:176px;padding:10px 10px 10px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--hair);box-shadow:var(--lift-2),var(--glow-1);display:flex;flex-direction:column;gap:8px;transform-origin:top right;transition:opacity .18s var(--ease),transform .18s var(--ease-spring);}
.landing-prefs-panel.hidden{opacity:0;transform:translateY(-6px) scale(.96);pointer-events:none;}
.landing-prefs-panel:not(.hidden){opacity:1;transform:none;animation:prefs-in .22s var(--ease-spring);}
.landing-prefs-title{margin:0;font:700 10px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.landing-dots{display:flex;gap:6px;align-items:center;flex-wrap:wrap;max-width:152px;}
.landing-dot{width:20px;height:20px;border-radius:50%;border:2px solid transparent;background:var(--c);cursor:pointer;box-shadow:0 0 0 1px var(--hair),0 2px 10px color-mix(in srgb,var(--c) 28%,transparent);transition:transform .16s var(--ease),box-shadow .16s var(--ease),border-color .16s var(--ease);}
.landing-dot.on{transform:scale(1.1);border-color:var(--text);box-shadow:0 0 0 1px var(--text),0 4px 16px color-mix(in srgb,var(--c) 42%,transparent);}
.landing-dot:hover{transform:scale(1.06);}
.landing-langs{display:flex;gap:4px;padding:3px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 70%,transparent);}
.landing-lang{min-height:44px;padding:0 12px;font:700 12px var(--font);}
.landing-lang.on{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
@keyframes prefs-in{from{opacity:0;transform:translateY(-6px) scale(.96);}to{opacity:1;transform:none;}}
@media(max-width:767px){.landing-prefs-panel{right:0;left:auto;}}

.skip-link{position:fixed;left:12px;top:-64px;z-index:60;padding:10px 14px;border-radius:var(--r-sm);background:var(--panel);border:1px solid var(--hair-strong);color:var(--text);font:600 12px var(--font);letter-spacing:.01em;text-decoration:none;box-shadow:var(--lift-2);transition:top .18s var(--ease);}
.skip-link:focus{top:calc(12px + env(safe-area-inset-top));}
html[data-anim='off'] .skip-link{transition:none;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%);}
:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);outline-offset:2px;box-shadow:var(--tint-ring);}
:focus:not(:focus-visible){outline:none;box-shadow:none;}
.landing-dot:focus-visible,.chip:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

@media(max-width:767px){.landing-nav{display:none;}.landing-login{display:none;}}
@media(max-width:480px){.landing-badge,.landing-prefs{display:none;}.landing-wordmark{font-size:14px;}.landing-logo{width:40px;height:40px;}.landing-brand{gap:7px;}.landing-right .btn{padding:0 10px;font-size:12.5px;}}
@media(max-width:360px){.landing-wordmark{display:none;}}

@media(max-width:767px){#tabbar{left:10px;right:10px;transform:none;max-width:none;overflow:hidden;gap:2px;padding:5px;}#tabbar button[data-tab]{padding:5px 2px;gap:2px;}#tabbar button[data-tab] .ico{--s:20px;width:20px;height:20px;flex:0 0 20px;}#tabbar button[data-tab]>span:not(.ico){font-size:8.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}#tab-center{width:52px;height:52px;flex:0 0 52px;}}

.landing-chatbar{display:flex;align-items:center;gap:8px;padding:9px 4px 0;position:relative;z-index:6;border-bottom:1px solid color-mix(in srgb,var(--phone-line) 70%,transparent);}
.landing-chat-avatar{width:24px;height:24px;flex:0 0 24px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:color-mix(in srgb,#000 78%,var(--accent));font:800 11px var(--font);box-shadow:var(--glow-1);}
.landing-chat-name{display:flex;flex-direction:column;font:700 11px var(--font);color:var(--phone-text);line-height:1.25;}
.landing-chat-name small{font:500 8.5px var(--font);color:var(--phone-muted);}
.landing-demo{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:9px;flex:1;min-height:0;}
.landing-demo[hidden]{display:none;}
.landing-demo-dots{display:flex;gap:5px;justify-content:center;position:relative;z-index:3;margin-top:2px;}
.landing-demo-dots i{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--phone-text) 26%,transparent);transition:background var(--n-mid),width var(--n-mid);}
.landing-demo-dots i.on{width:14px;border-radius:999px;background:var(--accent);box-shadow:0 0 calc(7px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
.landing-demo-hint{margin:14px 0 0;font-size:12px;color:var(--muted);text-align:center;}
@media(max-width:767px){.landing-demo-hint{font-size:11px;}}

.landing-phone::before{content:"";position:absolute;inset:0;border-radius:60px;z-index:7;pointer-events:none;background:linear-gradient(100deg,transparent 40%,color-mix(in srgb,#fff 24%,transparent) 50%,transparent 60%),linear-gradient(100deg,transparent 68%,color-mix(in srgb,#000 44%,transparent) 82%,transparent 95%);background-position:calc(50% + var(--rx,0)*46%) 0,calc(50% + var(--rx,0)*46%) 0;transform:translateZ(8px);}
#landing-phone{rotate:-3deg;animation:phone-idle 9s ease-in-out infinite alternate;}
@keyframes phone-idle{from{rotate:-3.5deg;}to{rotate:3.5deg;}}
html[data-anim='off'] #landing-phone{animation:none;rotate:0deg;}
@media(prefers-reduced-motion:reduce){#landing-phone{animation:none;rotate:0deg;}}

.landing{width:100%;max-width:none;}
@media(min-width:768px){.landing-hero{grid-template-columns:1.15fr .85fr;gap:34px;padding:20px 0 14px;}}
.landing-grid{gap:16px;}
@media(min-width:1100px){
  #brand,main#view{max-width:1240px;}
}
@media(min-width:1200px){
  main#view{padding-left:22px;padding-right:22px;}
}
@media(min-width:1024px){
  #brand,main#view{max-width:880px;}
}
@media(min-width:1200px){
  #brand,main#view{max-width:940px;}
  .app-shell #brand .brand-home,
  .app-shell #brand .brand-pill{display:none;}
  .app-shell #brand{justify-content:flex-end;}
}

@media(min-width:1100px){.app-shell{max-width:1240px;}}

.top-controls{display:flex;align-items:center;gap:8px;margin-left:auto;}
.top-control{position:relative;}
.mode-icon,.sound-icon{position:absolute;inset:0;margin:auto;width:22px;height:22px;}
.mode-icon-moon,.sound-icon-off{display:none;}
html[data-mode='light'] .mode-icon-sun{display:none;}
html[data-mode='light'] .mode-icon-moon{display:block;}
html[data-sound='off'] .sound-icon-on{display:none;}
html[data-sound='off'] .sound-icon-off{display:block;}
.icon-btn{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 88%,transparent);color:var(--text);cursor:pointer;transition:transform var(--n-fast),box-shadow var(--n-mid),border-color var(--n-mid),color var(--n-fast);}
.icon-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--hair));box-shadow:var(--glow-1);color:var(--accent-ink);transform:translateY(-.5px);}
.icon-btn:active{transform:scale(.94);}
.icon-btn.danger:hover{border-color:color-mix(in srgb,var(--bad) 55%,var(--hair));color:var(--bad);box-shadow:0 0 calc(14px*var(--g)) -6px color-mix(in srgb,var(--bad) 70%,transparent);}
.ava-34{width:34px;height:34px;flex:0 0 34px;}

:root{--sp-1:4px;--sp-2:8px;--sp-3:10px;--sp-4:12px;--sp-5:16px;}
.mt-1{margin-top:var(--sp-1);}.mt-2{margin-top:var(--sp-2);}.mt-3{margin-top:var(--sp-3);}.mt-4{margin-top:var(--sp-4);}.mt-5{margin-top:var(--sp-5);}
.mb-2{margin-bottom:var(--sp-2);}.mb-3{margin-bottom:var(--sp-3);}.mb-4{margin-bottom:var(--sp-4);}
.flex-none{flex:none;}

.sec{margin:0 0 12px;}.sec:last-child{margin-bottom:0;}
.sec-hd{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line-soft);font:700 10px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.card.plain>.sec-hd:first-child{margin-top:-2px;}
.dot-swatch{width:13px;height:13px;flex:0 0 13px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 16%,transparent) inset;}
.themes button .dot-swatch{width:14px;height:14px;flex:0 0 14px;border-radius:50%;}
.avatar-pick{cursor:pointer;display:inline-flex;flex:none;}
.avatar-pick.busy{pointer-events:none;opacity:.55;}
.avatar-pick.busy .avatar{animation:avatar-busy .9s var(--ease) infinite;}
@keyframes avatar-busy{0%,100%{transform:scale(1);}50%{transform:scale(.9);}}
html[data-anim='off'] .avatar-pick.busy .avatar{animation:none;opacity:.6;}

.name-input{font-size:16px;font-weight:700;letter-spacing:-.01em;min-height:var(--ctl-lg,42px);}
.note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--faint);}
:root{--ctl-lg:42px;}

.row-btn{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--hair);background:transparent;color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:background var(--n-fast),padding-left var(--n-fast);}
.row-btn:last-child{border-bottom:0;}
.row-btn:hover{background:var(--n-tint-1);}
.row-btn:active{background:var(--n-tint-2);}
.row-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-2px;border-radius:var(--r-sm);}
.row-btn .t{flex:1;min-width:0;}

.tgl{width:48px;height:28px;flex:none;}
.tgl::after{left:3px;top:3px;width:20px;height:20px;}
.tgl.on::after{transform:translateX(20px);}
.tgl::before{content:"";position:absolute;inset:-9px -6px;}
.check{width:32px;height:32px;font-size:15px;position:relative;}
.check::before{content:"";position:absolute;inset:-9px;}
@media(max-width:767px){.check::before{inset:-11px;}.chip,.boardhead{position:relative;}.chip::before,.boardhead::before{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%);}.wk-add{min-width:44px;justify-content:center;}}
.del{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;font-size:16px;}
.del:hover{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad);}

.kv .ico{display:inline-flex;vertical-align:-4px;margin-right:2px;}
.kv b{display:flex;align-items:center;gap:8px;}

.mt-0{margin-top:0;}
.mt-2{margin-top:8px;}
.mono-note{margin:2px 0 12px;font-family:var(--mono);font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums;}
.box>h3:first-child{margin-top:0;}

#lock .auth-lockui{justify-content:center;gap:0;padding-top:clamp(72px,12vh,132px);padding-bottom:clamp(92px,14vh,150px);pointer-events:none;}
#lock .auth-lockui>*{width:100%;max-width:none;pointer-events:auto;}
#lock .auth-lockui>.lockhint-dock{width:auto;max-width:none;pointer-events:none;}
#lock .auth-layout{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;align-items:stretch;}
#lock .auth-lockui{justify-content:flex-start;padding-top:clamp(64px,11vh,140px);padding-bottom:clamp(28px,5vh,56px);}
#lock .auth-story{position:relative;min-width:0;min-height:520px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:clamp(22px,3vw,34px);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--hair));border-radius:var(--r-lg);background:radial-gradient(420px 320px at 12% 8%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),radial-gradient(360px 300px at 90% 92%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 72%),color-mix(in srgb,var(--panel) 88%,transparent);box-shadow:var(--lift-2),var(--glow-1),var(--sheen);}
#lock .auth-story::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,#fff 7%,transparent),transparent 38%);pointer-events:none;}
#lock .auth-story::after{content:"";position:absolute;right:-22%;bottom:-18%;width:62%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:50%;box-shadow:0 0 0 22px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 46px color-mix(in srgb,var(--accent) 3%,transparent);pointer-events:none;}
#lock .auth-story>*{position:relative;z-index:1;}
#lock .auth-story-top{display:flex;align-items:center;gap:12px;}
#lock .auth-story-mark{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;}
#lock .auth-story-mark img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 1px color-mix(in srgb,#fff 88%,transparent)) drop-shadow(0 0 7px color-mix(in srgb,#fff 46%,transparent)) drop-shadow(0 0 16px color-mix(in srgb,var(--accent) 26%,transparent));}
#lock .auth-story-name{font-size:17px;font-weight:850;letter-spacing:-.02em;}
#lock .auth-story-caption{margin-top:2px;color:var(--muted);font-size:11px;letter-spacing:.04em;}
#lock .auth-story-copy{display:flex;flex-direction:column;gap:10px;max-width:330px;text-align:left;}
#lock .auth-story-copy .kicker{margin:0;}
#lock .auth-story-copy h2{margin:0;font-size:clamp(30px,3.4vw,44px);line-height:1.0;letter-spacing:-.04em;font-weight:900;text-wrap:balance;background:linear-gradient(100deg,var(--accent-strong) 5%,var(--accent) 45%,color-mix(in srgb,var(--accent) 45%,var(--text)) 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 24px color-mix(in srgb,var(--accent) 35%,transparent));}
#lock .auth-story-copy>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.6;}
#lock .auth-benefits{display:grid;gap:9px;}
#lock .auth-benefit{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:650;}
#lock .auth-benefit i{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--hair));border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);font:800 10px var(--mono);box-shadow:0 0 14px -2px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 12%,transparent);}
#lock .auth-story-foot .credit-pill{box-shadow:var(--lift-1),0 0 calc(20px*var(--g)) -8px color-mix(in srgb,var(--accent) 70%,transparent);}
.auth-story-foot{display:flex;align-items:center;gap:7px;}
.auth-story-foot-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-1);}
#lock .auth-story-foot-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-1);}
#lock .auth-card{position:relative;min-width:0;display:flex;flex-direction:column;gap:18px;overflow:hidden;padding:clamp(20px,3vw,32px);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--hair));border-radius:var(--r-lg);background:radial-gradient(520px 320px at 100% 0%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 68%),radial-gradient(420px 300px at 0% 100%,color-mix(in srgb,var(--accent-2) 12%,transparent),transparent 70%),var(--surface);box-shadow:var(--lift-3),0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 0 46px -10px color-mix(in srgb,var(--accent) 46%,transparent),var(--sheen);transition:border-color var(--n-mid),box-shadow var(--n-mid);}
#lock .auth-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,#fff 6%,transparent),transparent 42%);pointer-events:none;}
#lock .auth-card::after{content:"";position:absolute;left:clamp(20px,3vw,32px);right:clamp(20px,3vw,32px);top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 75%,transparent),transparent);opacity:.9;pointer-events:none;}
#lock .auth-card>*{position:relative;z-index:1;}
#lock .auth-card:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,var(--hair));box-shadow:var(--lift-3),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 0 62px -8px color-mix(in srgb,var(--accent) 62%,transparent),var(--sheen);}
#lock .auth-head h1{margin:0;font-size:32px;line-height:1.05;letter-spacing:-.035em;font-weight:900;background:linear-gradient(100deg,var(--accent-strong) 5%,var(--accent) 45%,color-mix(in srgb,var(--accent) 40%,var(--text)) 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px color-mix(in srgb,var(--accent) 30%,transparent);}
#lock .auth-body input{min-height:50px;padding:0 14px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--field) 96%,transparent);border:1px solid color-mix(in srgb,var(--accent) 12%,var(--hair));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 6%,transparent);transition:border-color var(--n-fast),box-shadow var(--n-fast),background var(--n-fast);}
#lock .auth-body input:focus{border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),0 0 22px -4px color-mix(in srgb,var(--accent) 60%,transparent);outline:none;}
#lock .auth-story{box-shadow:var(--lift-2),0 0 40px -12px color-mix(in srgb,var(--accent) 46%,transparent),var(--sheen);border-color:color-mix(in srgb,var(--accent) 26%,var(--hair));}
#lock .auth-head{display:flex;flex-direction:column;align-items:stretch;gap:9px;width:100%;max-width:none;padding:0;border:0;background:transparent;box-shadow:none;}
#lock .auth-head>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
#lock .auth-overline{display:flex;align-items:center;gap:7px;color:var(--accent-ink);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
#lock .auth-overline>span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:var(--glow-1);}
#lock .auth-back{font-size:12px;}
#lock .auth-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin-top:5px;padding:4px;border:1px solid var(--hair);border-radius:var(--r-pill);background:color-mix(in srgb,var(--panel-2) 88%,transparent);}
#lock .auth-tabs .chip{min-width:0;min-height:44px;padding:0 8px;border-radius:var(--r-pill);font-size:12px;white-space:nowrap;}
#lock .auth-tabs .chip.on{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);}
#lock .auth-body{width:100%;max-width:none;min-width:0;display:flex;flex-direction:column;gap:2px;}
#lock .auth-body .fld{gap:7px;}
#lock .auth-body .lbl{text-align:left;line-height:1.25;}
#lock .auth-body .pwdfield input{padding-right:52px;}
#lock .auth-body .pwdeye{right:2px;width:44px;height:44px;}
#lock .auth-body input:focus{background:color-mix(in srgb,var(--field) 90%,var(--panel));}
#lock .auth-body .btn{min-height:48px;border-radius:var(--r-sm);}
#lock .auth-body .btn.primary{font-weight:750;}
#lock .auth-body .hintline{margin:1px 0 0;line-height:1.45;}
#lock .auth-body .pwdlist{gap:5px;margin-top:2px;padding:8px 10px;border:1px solid var(--hair);border-radius:var(--r-sm);background:color-mix(in srgb,var(--panel-2) 60%,transparent);}
#lock .auth-body .pwdlist li{font-size:10.5px;}
#lock .auth-body .pendingwrap{padding:10px 0 2px;}
#lock .auth-body .pendingring{width:38px;height:38px;}
#lock .auth-body .row{gap:8px;}
#lock .auth-body .row .btn{flex:1 1 0;min-width:0;}
#lock .auth-status{min-height:20px;margin:0;color:var(--muted);font-size:12px;line-height:1.45;}
#lock .auth-status.ok{color:var(--good);}
#lock .auth-status.bad{color:var(--bad);}






@media(max-width:767px){
  #lock .auth-lockui{justify-content:flex-start;padding-top:calc(74px + env(safe-area-inset-top));padding-bottom:calc(118px + env(safe-area-inset-bottom));}
  #lock:has(.auth-lockui) .lockabout{left:calc(12px + env(safe-area-inset-left));top:calc(16px + env(safe-area-inset-top));bottom:auto;}
  #lock .auth-layout{display:block;width:min(480px,100%);}
  #lock .auth-story{min-height:0;gap:14px;margin-bottom:12px;padding:14px 16px;border-radius:20px;}
  #lock .auth-story-mark{width:48px;height:48px;flex-basis:48px;}
  #lock .auth-story-mark img{width:36px;height:36px;}
  #lock .auth-story-name{font-size:15px;}
  #lock .auth-story-copy{display:none;}
  #lock .auth-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
  #lock .auth-benefit{align-items:flex-start;flex-direction:column;gap:4px;font-size:10px;line-height:1.2;}
  #lock .auth-benefit i{width:23px;height:23px;flex-basis:23px;border-radius:7px;font-size:9px;}
  #lock .auth-story-foot{margin-top:auto;}
  #lock .auth-card{gap:14px;padding:18px 16px;border-radius:20px;}
  #lock .auth-head h1{font-size:25px;}
  #lock .auth-tabs .chip{font-size:11px;padding:0 5px;}
  #lock .auth-body input{min-height:50px;}
  #lock .auth-body .btn{min-height:50px;}
}
@media(max-width:360px){
  #lock .auth-story{padding:12px;}
  #lock .auth-card{padding:16px 12px;}
  #lock .auth-head h1{font-size:23px;}
  #lock .auth-tabs .chip{font-size:10px;}
}
html[data-perf='lite'] #nebula .blob,
html[data-perf='lite'] #nebula .aurora,
html[data-perf='lite'] #nebula 
html[data-perf='lite'] .landing-phone,
html[data-perf='lite'] .landing-orbit i{animation:none!important;}
html[data-perf='lite'] #nebula{opacity:.72;}
html[data-perf='lite'] #brand,
html[data-perf='lite'] .landing-top,
html[data-perf='lite'] #tabbar,
html[data-perf='lite'] #composer,
html[data-perf='lite'] .chathead,
html[data-perf='lite'] .card,
html[data-perf='lite'] .brand-pill,
html[data-perf='lite'] .landing-strip{backdrop-filter:none;-webkit-backdrop-filter:none;}
.btn.primary{box-shadow:var(--glow-1),var(--sheen),0 1px 0 color-mix(in srgb,#fff 26%,transparent);transition:transform .16s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease);}
.btn.primary:hover{transform:translateY(-1px);box-shadow:var(--glow-2),var(--sheen);filter:saturate(1.08) brightness(1.04);}
.btn.primary:active{transform:scale(.98);}
.btn.ghost:hover,.btn:not(.primary):hover{box-shadow:var(--glow-1),var(--lift-1);}
.card:hover{box-shadow:var(--glow-1),0 0 calc(30px*var(--g)) -14px color-mix(in srgb,var(--accent) 70%,transparent),var(--lift-2);}
.landing-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:var(--glow-2),var(--lift-2);}
input:focus,textarea:focus,select:focus,.input:focus{border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent),0 0 24px -6px color-mix(in srgb,var(--accent) 70%,transparent),var(--tint-ring);}
#tabbar{box-shadow:var(--lift-2),var(--glow-1),0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent);}
#composer{box-shadow:var(--lift-2),0 0 calc(28px*var(--g)) -14px color-mix(in srgb,var(--accent) 70%,transparent);}
#composer:focus-within{box-shadow:var(--lift-2),var(--glow-1),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);}
.sheet-box,.popup-box{box-shadow:var(--lift-3),var(--glow-2),var(--sheen);}
#toasts .toast{box-shadow:var(--lift-2),var(--glow-1);}
.kicker>span,.kicker .dot{box-shadow:0 0 calc(12px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
.landing-section .landing-head h2::after{content:"";display:block;width:46px;height:2px;margin-top:12px;border-radius:999px;background:linear-gradient(90deg,var(--accent),transparent);box-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
.landing-strip{box-shadow:var(--glow-1),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);}
#lock .lockhint-dock .lockhint{text-shadow:0 0 calc(16px*var(--g)) color-mix(in srgb,var(--accent) 45%,transparent);}
.locktop-lang.on,.auth-tabs .chip.on,.landing-mini.on,.task .check.done{box-shadow:var(--glow-1),inset 0 1px 0 color-mix(in srgb,#fff 30%,transparent);}
html[data-glow='off'] .btn.primary:hover,html[data-glow='off'] .card:hover,html[data-glow='off'] .landing-card:hover{box-shadow:var(--lift-1);}
.landing-card{position:relative;overflow:hidden;padding:20px 18px 18px;}
.landing-card h3,.landing-card p,.landing-feature h3,.landing-feature p{margin:0;}
.landing-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,color-mix(in srgb,#fff 9%,transparent) 50%,transparent 58%);transform:translateX(-70%);transition:transform .7s var(--ease);pointer-events:none;}
.landing-card:hover::after{transform:translateX(70%);}
.landing-card-ico{position:relative;z-index:1;width:38px;height:38px;margin-bottom:12px;border-radius:13px;display:grid;place-items:center;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:var(--glow-1);transition:transform .22s var(--ease-spring),box-shadow .22s var(--ease);}
.landing-card-ico svg{width:18px;height:18px;}
.landing-card:hover .landing-card-ico{transform:translateY(-2px) scale(1.06);box-shadow:var(--glow-2);}
.landing-card-num{position:absolute;top:14px;right:16px;font:800 12px var(--mono);font-style:normal;color:color-mix(in srgb,var(--accent) 60%,transparent);letter-spacing:.06em;opacity:.5;}
.landing-card h3{position:relative;z-index:1;}
.landing-card p{position:relative;z-index:1;}
.landing-feature{padding:20px 18px 18px;}
.landing-feature-ico{width:34px;height:34px;margin-bottom:12px;border-radius:12px;display:grid;place-items:center;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:var(--glow-1);transition:transform .22s var(--ease-spring),box-shadow .22s var(--ease);}
.landing-feature-ico svg{width:17px;height:17px;}
.landing-feature:hover .landing-feature-ico{transform:translateY(-2px) rotate(-4deg) scale(1.06);box-shadow:var(--glow-2);}
.landing-steps{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:step;}
.landing-steps li{position:relative;padding:46px 16px 16px;border-radius:var(--r-lg);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 70%,transparent);box-shadow:var(--lift-1);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease);}
.landing-steps li::before{counter-increment:step;content:counter(step);position:absolute;top:10px;left:16px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:800 13px var(--mono);color:color-mix(in srgb,#000 74%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:var(--glow-1);}
.landing-steps li:hover{transform:translateY(-3px);box-shadow:var(--lift-2),var(--glow-1);border-color:color-mix(in srgb,var(--accent) 32%,transparent);}
.landing-steps li b{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px;}
.landing-steps li span{color:var(--muted);font-size:12.5px;line-height:1.45;}
.landing-live{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin:6px 0 2px;}
.landing-section{scroll-margin-top:96px;}
section.landing-cta{scroll-margin-top:96px;}
section.landing-section,section.landing-cta,section.landing-strip{content-visibility:auto;contain-intrinsic-size:auto 640px;}
.landing-live-stage{position:relative;width:min(560px,100%);min-height:112px;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:var(--r-lg);border:1px solid transparent;background:radial-gradient(360px 180px at 50% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%),color-mix(in srgb,var(--panel) 62%,transparent);}
.landing-live-bubble{flex:1;min-width:0;padding:11px 14px;border-radius:16px;font-size:13px;font-weight:600;background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:var(--glow-1);animation:landing-breathe 3.6s var(--ease) infinite;}
.landing-live-card{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--hair));background:color-mix(in srgb,var(--panel-2) 86%,transparent);opacity:.35;transform:translateX(10px) scale(.96);animation:landing-settle 3.6s var(--ease) infinite;}
.landing-live-card i{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;font:800 12px var(--mono);font-style:normal;background:var(--accent);color:color-mix(in srgb,#000 74%,var(--accent));box-shadow:var(--glow-1);}
.landing-live-card b{display:block;font-size:12.5px;font-weight:800;}
.landing-live-card small{display:block;font-size:10.5px;color:var(--muted);}
.landing-live-card::after{content:"";position:absolute;right:22px;top:50%;width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent));transform:translateX(0);animation:landing-swap 3.6s var(--ease) infinite;}
@keyframes landing-breathe{0%,22%{transform:scale(1);}34%{transform:scale(1.03);}46%{transform:scale(1);}100%{transform:scale(1);}}
@keyframes landing-settle{0%,32%{opacity:.3;transform:translateX(14px) scale(.95);}52%,86%{opacity:1;transform:none;}100%{opacity:.3;transform:translateX(14px) scale(.95);}}
@keyframes landing-swap{0%,30%{opacity:0;transform:translateX(-6px);}50%,86%{opacity:1;transform:translateX(0);}100%{opacity:0;transform:translateX(6px);}}
.landing-live-note{margin:0;color:var(--faint);font-size:11.5px;letter-spacing:.02em;}
details.plain>summary{list-style:none;cursor:pointer;position:relative;padding-right:34px;}
details.plain>summary::-webkit-details-marker{display:none;}
details.plain>summary::after{content:"";position:absolute;right:2px;top:50%;width:10px;height:10px;margin-top:-6px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .22s var(--ease),border-color .22s var(--ease);}
details.plain[open]>summary::after{transform:rotate(225deg);margin-top:-2px;}
details.plain[open]{border-color:color-mix(in srgb,var(--accent) 32%,transparent);box-shadow:var(--lift-2),var(--glow-1);}
details.plain>summary:hover{color:var(--accent-ink);}
@media(max-width:767px){.landing-steps{grid-template-columns:1fr;}.landing-steps::before{display:none;}.landing-steps li{padding:16px 16px 16px 62px;}.landing-steps li::before{top:50%;margin-top:-16px;}.landing-live-stage{flex-direction:column;align-items:stretch;}}
html[data-perf='lite'] #lock.gone{filter:none;}
html[data-perf='lite'] .landing-steps::before,html[data-perf='lite'] .landing-live-bubble,html[data-perf='lite'] .landing-live-card,html[data-perf='lite'] .landing-live-card::after{animation:none;}
html[data-perf='lite'] .landing-phone-screen::after{transition:none;}
.dock-btn{position:relative;}
#tab-center.dock-orb{position:relative;}
#tab-center.dock-orb::before{content:"";position:absolute;inset:-7px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 42%,transparent),transparent 68%);animation:orb-halo 2.6s ease-in-out infinite;pointer-events:none;}
@keyframes orb-halo{0%,100%{opacity:.65;transform:scale(1);}50%{opacity:1;transform:scale(1.12);}}
#tab-indicator{background:color-mix(in srgb,var(--accent) 26%,transparent);box-shadow:0 0 18px -2px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent);}
#side-tabs .rail-btn{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border-radius:18px;border:1px solid transparent;background:transparent;color:var(--muted);font:700 14px var(--font);cursor:pointer;text-align:left;overflow:hidden;}
#side-tabs .rail-btn .ico{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 80%,transparent);}
#side-tabs .rail-btn.on{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:0 0 22px -6px color-mix(in srgb,var(--accent) 55%,transparent);}
#side-tabs .rail-btn.on .ico{background:var(--accent);border-color:transparent;color:color-mix(in srgb,#000 78%,var(--accent));box-shadow:0 0 16px -2px color-mix(in srgb,var(--accent) 70%,transparent);}
#side-tabs .rail-glow{position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 12px 1px color-mix(in srgb,var(--accent) 80%,transparent);opacity:0;}
#side-tabs .rail-btn.on .rail-glow{opacity:1;}
.orb-head{display:flex;gap:16px;align-items:center;padding:18px;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--hair));background:color-mix(in srgb,var(--panel) 66%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent),0 0 34px -12px color-mix(in srgb,var(--accent) 55%,transparent);}
.orb-ring{position:relative;flex:0 0 76px;width:76px;height:76px;}
.orb-ring svg{width:76px;height:76px;transform:rotate(-90deg);}
.orb-ring .orb-bg{fill:none;stroke:var(--hair-strong);stroke-width:7;}
.orb-ring .orb-fg{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 80%,transparent));}
.orb-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;}
.orb-num b{font-size:22px;font-weight:900;letter-spacing:-.02em;}
.orb-num small{font-size:10px;color:var(--faint);font-weight:700;}
.orb-hello{min-width:0;}
.orb-hello h2{margin:2px 0;font-size:24px;font-weight:900;letter-spacing:-.02em;}
.orb-hello p{margin:0;color:var(--muted);font-size:13px;}
.orb-kick{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);}
.orb-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.orb-now,.orb-next{padding:13px 14px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 66%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);}
.orb-now small,.orb-next small{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:5px;}
.orb-now b,.orb-next b{display:block;font-size:14px;font-weight:800;}
.orb-now span,.orb-next span{display:block;margin-top:3px;font-size:12px;color:var(--muted);}
.orb-now .dim,.orb-next .dim{color:var(--faint);font-weight:600;}
.orb-quick{display:flex;gap:8px;margin-top:10px;padding:8px 8px 8px 16px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));background:color-mix(in srgb,var(--panel) 72%,transparent);box-shadow:0 0 22px -8px color-mix(in srgb,var(--accent) 55%,transparent);}
.orb-quick input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 14px var(--font);outline:none;}
.orb-go{flex:0 0 40px;width:40px;height:40px;border-radius:50%;border:0;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));display:grid;place-items:center;cursor:pointer;box-shadow:0 0 18px -2px color-mix(in srgb,var(--accent) 70%,transparent);}
.orb-agenda{margin-top:10px;padding:6px 14px 12px;border-radius:var(--r-lg);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 60%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);}
.orb-sec{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;}
.orb-sec h3{margin:0;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.orb-list{display:flex;flex-direction:column;}
.orb-row{display:grid;grid-template-columns:44px 34px 1fr;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line-soft);}
.orb-row:first-child{border-top:0;}
.orb-time{font:700 12px var(--font);font-variant-numeric:tabular-nums;color:var(--accent-ink);}
.orb-row .t b{display:block;font-size:14px;}
.orb-row .t small{display:block;color:var(--muted);font-size:12px;margin-top:1px;}
.orb-row .t.done b{text-decoration:line-through;color:var(--faint);}
.orb-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.orb-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--hair));background:color-mix(in srgb,var(--panel) 66%,transparent);color:var(--text);font:700 13.5px var(--font);cursor:pointer;box-shadow:0 0 18px -10px color-mix(in srgb,var(--accent) 60%,transparent);}
.wk-tools{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.wk-search{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 14px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 70%,transparent);}
.wk-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 14px var(--font);outline:none;}
.wk-card{overflow:hidden;}
.wk-head{display:flex;align-items:center;gap:8px;padding:4px 2px 10px;}
.wk-nav{flex:0 0 38px;width:38px;height:38px;border-radius:50%;border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--text);display:grid;place-items:center;cursor:pointer;}
.wk-title{flex:1;min-width:0;text-align:center;}
.wk-title b{display:block;font-size:16px;font-weight:900;letter-spacing:-.01em;}
.wk-title small{display:block;font-size:11px;color:var(--faint);font-weight:700;}
.wk-rail{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.wk-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 2px 8px;border-radius:16px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;min-width:0;}
.wk-dow{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;}
.wk-num{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;}
.wk-n{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-ink);font-size:10.5px;font-weight:800;}
.wk-day.is-today .wk-num{color:var(--accent-ink);}
.wk-day.is-sel{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--text);box-shadow:0 0 20px -6px color-mix(in srgb,var(--accent) 65%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);}
.wk-day.has-events::after{content:"";position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px 1px color-mix(in srgb,var(--accent) 80%,transparent);}
.wk-day.is-sel.has-events::after{background:#fff;}
.cal-jump{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--hair));background:color-mix(in srgb,var(--panel) 75%,transparent);color:var(--text);font:800 15px var(--font);cursor:pointer;box-shadow:0 0 18px -8px color-mix(in srgb,var(--accent) 60%,transparent);}
.cal-orbit-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.cal-orbit-mid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-bottom:10px;}
.gender-seg{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:4px;padding:3px;min-height:var(--ctl);border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 85%,transparent);isolation:isolate;}
.gender-opt{position:relative;z-index:1;display:grid;place-items:center;min-height:calc(var(--ctl) - 8px);padding:0 14px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:700 14px var(--font);cursor:pointer;transition:color .25s var(--ease-out);}
.gender-opt:hover{color:var(--text);}
.gender-opt:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:1px;}
.gender-opt[aria-checked='true']{color:var(--accent-ink);}
.gender-thumb{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(33.3333% - 2px);border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 16%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 calc(18px*var(--g)) -6px color-mix(in srgb,var(--accent) 75%,transparent);opacity:0;transform:translateX(0) scale(.92);transition:transform .38s var(--ease-spring),opacity .2s;}
.gender-seg[data-value='m'] .gender-thumb{opacity:1;transform:translateX(0) scale(1);}
.gender-seg[data-value='f'] .gender-thumb{opacity:1;transform:translateX(100%) scale(1);}
.gender-seg[data-value='o'] .gender-thumb{opacity:1;transform:translateX(200%) scale(1);}
.pp-f .gender-seg{margin-top:0;min-height:50px;border-radius:14px;}
.pp-f .gender-seg .gender-opt,.pp-f .gender-seg .gender-thumb{border-radius:11px;}
.cal-count{text-align:center;}
.cal-ring{position:relative;display:grid;place-items:center;}
.cal-ring-num{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;line-height:1;color:var(--accent-ink);pointer-events:none;}
.cal-ring-num b{font:900 17px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--text);}
.cal-ring-num small{margin-top:3px;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);}
.cal-ring.free .fg{stroke:color-mix(in srgb,var(--accent) 38%,transparent);filter:none;}
.cal-week{display:flex;flex-direction:column;gap:6px;min-width:0;}
.cal-week-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);}
.cal-week-head b{font:800 12px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none;color:var(--text);}
.cal-count b{display:block;font-size:26px;font-weight:900;letter-spacing:-.02em;}
.cal-count small{display:block;font-size:10.5px;color:var(--faint);font-weight:700;margin-top:2px;}
html[data-anim='off'] #tab-center.dock-orb::before{animation:none!important;opacity:.6;}
.chat-orbit{display:flex;align-items:center;gap:14px;}
.chat-orbit-main{flex:1;min-width:0;}
.chat-orbit-main h1{margin:2px 0;font-size:22px;font-weight:900;letter-spacing:-.02em;}
.chat-orbit-main p{margin:0;color:var(--muted);font-size:13px;}
.chat-count{flex:0 0 64px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 22px -6px color-mix(in srgb,var(--accent) 65%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent);}
.chat-count b{font-size:22px;font-weight:900;}
.chat-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.chat-panel{display:flex;flex-direction:column;}
.chat-row{border:1px solid var(--hair)!important;border-radius:var(--r-md);padding:11px 12px!important;background:color-mix(in srgb,var(--panel) 62%,transparent);box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 7%,transparent);align-items:center;gap:12px;transition:background var(--n-fast),border-color var(--n-fast),transform var(--n-fast);}
.chat-row:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-color:color-mix(in srgb,var(--accent) 34%,var(--hair))!important;}
.chat-row:active{transform:scale(.995);}
.chat-row .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;text-align:left;}
.chat-row .t b{display:block;font-size:14px;font-weight:700;line-height:1.25;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-row .t small{display:block;font-size:12px;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.chat-when{flex:0 0 auto;font:600 10.5px var(--mono);color:var(--faint);align-self:flex-start;padding-top:2px;}
.chat-row .del{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:0;background:transparent;color:var(--faint);cursor:pointer;transition:color var(--n-fast),background var(--n-fast),transform var(--n-fast);}
.chat-row .del:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);transform:scale(1.06);}
.chat-row .del .ico{width:16px;height:16px;}
.chat-ava{flex:0 0 40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);}
.thread-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:8px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 0 22px -8px color-mix(in srgb,var(--accent) 55%,transparent);}
.thread-bar #chattitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;}
.wish-orbit{display:flex;align-items:center;gap:14px;}
.wish-orbit-main{flex:1;min-width:0;}
.wish-orbit-main h1{margin:2px 0;font-size:22px;font-weight:900;letter-spacing:-.02em;}
.wish-orbit-main p{margin:0;color:var(--muted);font-size:13px;}
.wish-cap{display:block;margin-top:4px;font-size:11px;color:var(--faint);font-weight:700;}
.wish-nav{display:flex;align-items:center;gap:8px;margin-top:10px;}
@media (max-width:767px){
  .orb-head,.orb-now,.orb-next,.orb-agenda,.thread-bar,#toasts .toast,#netbar,.notify-preview,.playexit,.chathead,.sheet-box,.popup-box{backdrop-filter:none;-webkit-backdrop-filter:none;}
  .sheet-box,.popup-box{background:color-mix(in srgb,var(--panel) 97%,transparent);}
}
#appbg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;}
#appbg .ab-glow{position:absolute;display:block;border-radius:50%;opacity:.5;}
#appbg .g1{width:min(58vw,520px);height:min(58vw,520px);left:-14vw;top:-12vh;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 34%,transparent),transparent 68%);animation:ab-drift-a 26s ease-in-out infinite alternate;will-change:transform;}
#appbg .g2{width:min(52vw,460px);height:min(52vw,460px);right:-12vw;bottom:-14vh;background:radial-gradient(circle,color-mix(in srgb,var(--accent-2,var(--accent)) 26%,transparent),transparent 70%);animation:ab-drift-b 32s ease-in-out infinite alternate;will-change:transform;}
#appbg .ab-grid{position:absolute;inset:-10%;background-image:radial-gradient(circle,color-mix(in srgb,var(--text) 12%,transparent) 1px,transparent 1px);background-size:34px 34px;opacity:.5;animation:ab-grid-drift 44s linear infinite;will-change:transform;}
#appbg .ab-arc{position:absolute;display:block;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);left:50%;top:50%;}
#appbg .a1{width:min(120vw,900px);height:min(120vw,900px);margin:calc(min(120vw,900px) / -2) 0 0 calc(min(120vw,900px) / -2);animation:ab-spin 68s linear infinite;opacity:.55;}
#appbg .a2{width:min(78vw,620px);height:min(78vw,620px);margin:calc(min(78vw,620px) / -2) 0 0 calc(min(78vw,620px) / -2);animation:ab-spin 44s linear infinite reverse;opacity:.35;}
#appbg .ab-fade{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,transparent 40%,color-mix(in srgb,var(--bg) 82%,transparent) 100%);}
@keyframes ab-drift-a{from{transform:translate3d(0,0,0) scale(1);}to{transform:translate3d(12vw,8vh,0) scale(1.16);}}
@keyframes ab-drift-b{from{transform:translate3d(0,0,0) scale(1.1);}to{transform:translate3d(-10vw,-6vh,0) scale(1);}}
@keyframes ab-grid-drift{from{transform:translate3d(0,0,0);}to{transform:translate3d(-34px,-34px,0);}}
@keyframes ab-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
html[data-anim='off'] #appbg .ab-glow,
html[data-anim='off'] #appbg .ab-grid,
html[data-anim='off'] #appbg .ab-arc{animation:none!important;}
html[data-perf='lite'] #appbg .ab-glow{opacity:.42;animation:none!important;}
html[data-perf='lite'] #appbg .ab-grid{display:none;}
html[data-perf='lite'] #appbg .a2{display:none;}
html[data-perf='lite'] #appbg .ab-arc{animation:none!important;}
html[data-perf='lite'] .orb-head,
html[data-perf='lite'] .orb-now,
html[data-perf='lite'] .orb-next,
html[data-perf='lite'] .orb-agenda,
html[data-perf='lite'] .thread-bar,
html[data-perf='lite'] #toasts .toast,
html[data-perf='lite'] #netbar,
html[data-perf='lite'] .notify-preview,
html[data-perf='lite'] .playexit,
html[data-perf='lite'] .lockplay,
html[data-perf='lite'] .lockabout,
html[data-perf='lite'] .lockmute,
html[data-perf='lite'] #side{backdrop-filter:none;-webkit-backdrop-filter:none;}
@media(prefers-reduced-motion:reduce){#appbg .ab-glow,#appbg .ab-grid,#appbg .ab-arc{animation:none!important;}}
.card.hero.wish-hero{display:flex;flex-direction:column;align-items:stretch;gap:14px;}
.wish-head{display:flex;align-items:flex-start;gap:12px;}
.wish-head-text{flex:1;min-width:0;}
.wish-head-text h1{margin:2px 0 3px;font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1.1;}
.wish-head-text p{margin:0;color:var(--muted);font-size:13px;line-height:1.35;}
.wish-head-add{flex:0 0 auto;min-height:40px;}
.wish-meter{display:flex;align-items:center;gap:12px;}
.wish-meter-bar{flex:1 1 auto;min-width:0;height:10px;border-radius:5px;background:color-mix(in srgb,var(--panel-2) 90%,#000 10%);border:1px solid var(--hair);overflow:hidden;}
.wish-meter-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 65%,transparent),var(--accent-strong));box-shadow:0 0 14px -2px color-mix(in srgb,var(--accent) 80%,transparent);transition:width .4s var(--ease);}
.wish-meter-nums{flex:0 0 auto;display:flex;align-items:baseline;gap:3px;font:800 14px var(--font);}
.wish-meter-nums b{color:var(--accent-ink);}
.wish-meter-nums span{color:var(--faint);}
.wish-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--r-pill);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 70%,transparent);font:600 10.5px var(--font);color:var(--muted);white-space:nowrap;}
.wish-panel{display:flex;flex-direction:column;gap:10px;}
.wish-bar{display:flex;align-items:center;gap:8px;}
.wish-bar .wk-title{flex:1;min-width:0;text-align:left;}
.wk-title b{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wk-title small{display:block;font-size:11px;color:var(--faint);font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wk-add{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--hair));background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);font:700 12.5px var(--font);cursor:pointer;white-space:nowrap;box-shadow:var(--glow-1);transition:transform var(--n-fast),box-shadow var(--n-mid),background var(--n-mid);-webkit-tap-highlight-color:transparent;}
.wk-add:hover{transform:translateY(-1px);box-shadow:var(--glow-2);}
.wk-add:active{transform:scale(.97);}
.wk-add .ico{--s:16px;width:16px;height:16px;flex:0 0 16px;}
#wlist{display:flex;flex-direction:column;gap:8px;}
@media(max-width:480px){.wish-bar #w-now{display:none;}}
@media(max-width:400px){.wk-add span{display:none;}.wk-add{padding:0 13px;}.wish-bar{gap:6px;}}
#wlist{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.wish-ticket{display:grid;grid-template-columns:44px 1fr 40px;gap:10px;align-items:center;padding:12px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 62%,transparent);box-shadow:var(--lift-1),inset 0 1px 0 color-mix(in srgb,#fff 7%,transparent);}
.wish-ticket.is-done{border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 0 20px -8px color-mix(in srgb,var(--accent) 60%,transparent);}
.wish-ticket .t b{display:block;font-size:14px;}
.wish-ticket .t small{display:block;color:var(--muted);font-size:12px;margin-top:2px;}
.wish-ticket .t.done b{text-decoration:line-through;color:var(--faint);}
.wish-ticket .check{width:44px;height:44px;flex:none;display:grid;place-items:center;padding:0;border-radius:50%;border:2px solid var(--hair-strong);background:color-mix(in srgb,var(--panel-2) 70%,transparent);color:var(--muted);cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);}
.wish-ticket .check:hover{color:var(--accent-ink);}
.wish-ticket .check:hover{border-color:color-mix(in srgb,var(--accent) 60%,transparent);}
.wish-ticket .check.done{border-color:transparent;background:linear-gradient(140deg,var(--accent-strong),var(--accent));color:#141414;box-shadow:var(--glow-1);}
.wish-ticket .check .ico{width:18px;height:18px;}
.wish-ticket .del{width:40px;height:40px;flex:none;display:grid;place-items:center;padding:0;border-radius:50%;border:0;background:transparent;color:var(--faint);cursor:pointer;transition:color var(--n-fast),background var(--n-fast),transform var(--n-fast);}
.wish-ticket .del:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 16%,transparent);transform:scale(1.06);}
.wish-ticket .del .ico{width:17px;height:17px;}
.stat-orbit{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.stat-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:124px;padding:12px 6px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 55%,transparent);}
.stat-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-ink);}
.stat-cell b{font-size:17px;font-weight:900;font-variant-numeric:tabular-nums;}
.stat-cell small{font-size:10px;color:var(--faint);font-weight:700;text-align:center;}
.prof-orbit{overflow:hidden;}
.prof-id{display:flex;gap:14px;align-items:center;}
.avatar-orb{flex:0 0 72px;width:72px;height:72px;border-radius:50%;padding:3px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 24px -6px color-mix(in srgb,var(--accent) 65%,transparent);}
.avatar-orb .avatar,.avatar-orb .avatar.ph{width:100%;height:100%;}
#heartstage{border-radius:28px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--hair));box-shadow:0 0 34px -10px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);}
#bigheart{will-change:transform;}
#heartstage{background:radial-gradient(220px 220px at 50% 42%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),color-mix(in srgb,var(--panel) 55%,transparent);}
#combotext{text-shadow:0 0 16px color-mix(in srgb,var(--accent) 85%,transparent);}
#tapcount{font-variant-numeric:tabular-nums;text-shadow:0 0 14px color-mix(in srgb,var(--accent) 60%,transparent);}
#milestone{text-shadow:0 0 18px color-mix(in srgb,var(--accent) 80%,transparent);}
.catchip{width:40px;height:40px;flex:0 0 40px;padding:0!important;font-size:19px;line-height:1;display:inline-flex;align-items:center;justify-content:center;}
.cemo{display:inline-grid;place-items:center;width:22px;height:22px;font-size:16px;line-height:1;vertical-align:-4px;}

.dock-edge{position:absolute;top:50%;bottom:auto;transform:translateY(-50%);z-index:2;width:44px;min-height:44px;display:grid;place-items:center;border:0;padding:0;cursor:pointer;color:var(--accent-ink);opacity:0;pointer-events:none;transition:opacity .2s var(--ease);}
.dock-edge-l{left:0;border-radius:var(--r-pill) 0 0 var(--r-pill);background:linear-gradient(90deg,var(--panel) 35%,transparent);}
.dock-edge-r{right:0;border-radius:0 var(--r-pill) var(--r-pill) 0;background:linear-gradient(270deg,var(--panel) 35%,transparent);}
#tab-wrap[data-l='1'] .dock-edge-l,#tab-wrap[data-r='1'] .dock-edge-r{opacity:1;pointer-events:auto;}
.dock-edge .ico{--s:16px;width:16px;height:16px;}
html[data-anim='on'] #tab-wrap[data-r='1'] .dock-edge-r .ico{animation:dock-nudge 1.6s ease-in-out infinite;}
html[data-anim='on'] #tab-wrap[data-l='1'] .dock-edge-l .ico{animation:dock-nudge-l 1.6s ease-in-out infinite;}
@keyframes dock-nudge{0%,100%{transform:translateX(0);}50%{transform:translateX(3px);}}
@keyframes dock-nudge-l{0%,100%{transform:translateX(0);}50%{transform:translateX(-3px);}}
#tab-indicator{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent),0 0 10px -3px color-mix(in srgb,var(--accent) 55%,transparent);transition:left .22s var(--ease-out),top .22s var(--ease-out),width .22s var(--ease-out),height .22s var(--ease-out),opacity .15s var(--ease);}
#tabbar button[data-tab]:not(.on){transition:transform .16s var(--ease);}
#side-tabs .rail-btn:not(.on){transition:transform .3s var(--ease-spring);}
#side-tabs .rail-btn:not(.on) .ico{transition:transform .35s var(--ease-spring);}
#side-tabs .rail-btn:not(.on) .rail-glow{transition:none;}
.view-skel{display:grid;gap:12px;padding:6px 0;}
.view-skel i{display:block;height:84px;border-radius:var(--r-md);background:linear-gradient(100deg,color-mix(in srgb,var(--text) 5%,transparent) 30%,color-mix(in srgb,var(--text) 11%,transparent) 50%,color-mix(in srgb,var(--text) 5%,transparent) 70%);background-size:220% 100%;animation:vw-shimmer 1.3s linear infinite;}
.view-skel i:first-child{height:120px;}
@keyframes vw-shimmer{to{background-position:-220% 0;}}
html[data-anim='off'] .view-skel i{animation:none;}
@media(prefers-reduced-motion:reduce){.view-skel i,.dock-edge .ico{animation:none!important;}}
#view.view-still>*{animation:none!important;}

#heartstage,#heartstage *{-webkit-tap-highlight-color:transparent;}
#bigheart,#bigheart:focus,#bigheart:focus-visible,#bigheart:active{outline:0;}
#bigheart:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 60%,transparent),0 0 calc(34px*var(--g)) -6px color-mix(in srgb,var(--accent) 80%,transparent);}

.task .check{position:relative;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:none;color:transparent;font-size:13px;cursor:pointer;transition:transform .18s var(--ease);}
.task .check::before{content:"";position:absolute;inset:9px;border-radius:50%;border:2px solid var(--hair-strong);background:none;transition:background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);}
.task .check:hover::before{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.task .check.done{background:none;color:#141414;font-weight:700;box-shadow:none;}
.task .check.done::before{border-color:transparent;background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:var(--glow-1),inset 0 1px 0 color-mix(in srgb,#fff 30%,transparent);}

.orb-row .check{position:relative;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:none;color:transparent;display:grid;place-items:center;cursor:pointer;transition:transform .18s var(--ease);}
.orb-row .check::before{content:"";position:absolute;inset:9px;border-radius:50%;border:2px solid var(--hair-strong);background:none;transition:border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);}
.orb-row .check:hover::before{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.orb-row .check.done{background:none;color:#141414;box-shadow:none;}
.orb-row .check.done::before{border-color:transparent;background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:var(--glow-1);}

.chip.brand-pill,.chip.credit-pill{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 16px 0 6px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text);font:700 13px var(--font);letter-spacing:.01em;text-decoration:none;white-space:nowrap;box-shadow:0 0 calc(26px*var(--g)) -5px color-mix(in srgb,var(--accent) 72%,transparent),0 0 2px color-mix(in srgb,var(--accent) 45%,transparent);transition:transform .3s var(--ease-spring),box-shadow .3s var(--ease),scale .12s var(--ease);}
.chip.brand-pill::before,.chip.credit-pill::before{content:"";position:absolute;top:50%;left:50%;right:auto;z-index:-2;width:240%;height:auto;aspect-ratio:1;background:conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 38%,transparent) 0 46%,color-mix(in srgb,var(--accent) 76%,transparent) 78%,color-mix(in srgb,var(--accent-strong) 95%,#fff) 93%,color-mix(in srgb,var(--accent) 38%,transparent));transform:translate(-50%,-50%) rotate(0deg);}
.chip.brand-pill::after,.chip.credit-pill::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:inherit;background:color-mix(in srgb,var(--bg) 80%,var(--accent));}
.chip.brand-pill:active,.chip.credit-pill:active{scale:.97;}
.chip.brand-pill:focus-visible,.chip.credit-pill:focus-visible,.notice-tg:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:3px;}
.credit-mark{position:relative;display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-ink);box-shadow:0 0 calc(14px*var(--g)) -3px color-mix(in srgb,var(--accent) 45%,transparent);}
.credit-mark::after{content:"";position:absolute;inset:-2px;border:1px solid var(--accent);border-radius:50%;opacity:0;pointer-events:none;}
.credit-gx{color:var(--accent-ink);}
.credit-mark .credit-gx{color:inherit;}
svg.credit-gx{width:17px;height:17px;flex:0 0 17px;}
.credit-text{display:inline-flex;align-items:baseline;gap:.3em;}
.credit-text>span{color:var(--muted);font-weight:600;}
.credit-text b,.notice-tg b{color:var(--accent-ink);font-weight:800;}
@media(hover:hover){.chip.brand-pill:hover,.chip.credit-pill:hover{transform:translateY(-1px);color:var(--text);text-decoration:none;box-shadow:0 0 calc(36px*var(--g)) -4px color-mix(in srgb,var(--accent) 85%,transparent),0 0 3px color-mix(in srgb,var(--accent) 60%,transparent);}}
@media(max-width:340px){.credit-text{display:none;}.chip.brand-pill,.chip.credit-pill{padding:0 6px;}}
@media(prefers-reduced-motion:no-preference){html[data-anim='on'] .chip.brand-pill::before,html[data-anim='on'] .chip.credit-pill::before{will-change:transform;animation:gx-arc 6s linear infinite;}html[data-anim='on'] .credit-mark::after{animation:gx-ping 2.8s ease-out infinite;}}
@media(prefers-reduced-motion:reduce){.chip.brand-pill::before,.chip.credit-pill::before{animation:gx-glow-breathe 3.4s ease-in-out infinite!important;animation-duration:3.4s!important;animation-iteration-count:infinite!important;}}
@keyframes gx-arc{to{transform:translate(-50%,-50%) rotate(360deg);}}
@keyframes gx-ping{0%{opacity:.75;transform:scale(1);}70%,100%{opacity:0;transform:scale(1.7);}}
@keyframes gx-glow-breathe{0%,100%{opacity:.45;}50%{opacity:1;}}
.langrow .chip{display:inline-flex;align-items:center;gap:7px;}
.langrow .chip.on{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text);border-color:color-mix(in srgb,var(--accent) 72%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent),0 0 calc(12px*var(--g)) -5px var(--accent);}
.langrow .chip.on::before{content:"";width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:var(--accent);box-shadow:0 0 calc(8px*var(--g)) var(--accent);}
.landing-langs .chip.landing-lang.on{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);border-color:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 72%,transparent),0 0 calc(10px*var(--g)) -4px var(--accent);}
.tz-now{display:flex;align-items:center;gap:14px;padding:4px 0 12px;}
#tz-clock{font:800 30px var(--mono);letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);}
.tz-meta{display:flex;flex-direction:column;gap:2px;min-width:0;}
.tz-meta #tz-name{font:700 13.5px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tz-meta small{color:var(--muted);font:600 11.5px var(--font);}
.tz-hint{margin:10px 2px 0;color:var(--muted);font-size:12px;line-height:1.45;}
.tz-picker{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.tz-picker[hidden]{display:none;}
.tz-list{max-height:248px;overflow:auto;display:flex;flex-direction:column;gap:2px;padding:4px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel-2) 82%,transparent);overscroll-behavior:contain;}
.tz-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--text);font:600 13px var(--font);text-align:left;cursor:pointer;transition:background .16s var(--ease),box-shadow .16s var(--ease);}
.tz-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tz-item i{font-style:normal;color:var(--faint);font-size:11px;margin-left:4px;}
.tz-item em{flex:0 0 auto;font-style:normal;color:var(--muted);font:600 12px var(--font);font-variant-numeric:tabular-nums;}
.tz-item:hover{background:color-mix(in srgb,var(--text) 6%,transparent);}
.tz-item.on{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 66%,transparent);}
.tz-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.tz-empty{padding:14px;text-align:center;color:var(--muted);font-size:12.5px;}
#tz-card.busy{opacity:.7;pointer-events:none;}
#site-banner{position:fixed;top:0;left:0;right:0;z-index:95;padding:calc(6px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) 6px calc(12px + env(safe-area-inset-left));pointer-events:none;}
html[data-anim='on'] #site-banner{animation:sb-in .4s var(--ease-out) both;}
@keyframes sb-in{from{transform:translateY(-100%);opacity:0;}to{transform:none;opacity:1;}}
.site-banner{--sb:var(--accent);display:flex;align-items:center;justify-content:center;gap:10px;max-width:760px;margin:0 auto;padding:7px 8px 7px 14px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--sb) 45%,var(--hair));background:color-mix(in srgb,var(--sb) 14%,var(--panel));backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);box-shadow:var(--lift-1),0 0 calc(18px*var(--g)) -8px var(--sb);color:var(--text);pointer-events:auto;}
.site-banner.k-warn{--sb:var(--warn);}
.site-banner.k-good{--sb:var(--good);}
.site-banner .sb-ico{display:inline-grid;place-items:center;color:var(--sb);flex:0 0 auto;}
.site-banner p{margin:0;font:600 12.5px/1.4 var(--font);text-align:center;min-width:0;overflow-wrap:anywhere;}
.site-banner .sb-x{flex:0 0 auto;display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease);}
.site-banner .sb-x:hover{background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text);}
body.has-banner{padding-top:var(--banner-h);}
body.has-banner #brand{top:calc(8px + env(safe-area-inset-top) + var(--banner-h));}
body.has-banner #lock{top:var(--banner-h);}
body.has-banner #side{top:var(--banner-h);}
body.has-banner #netbar{top:calc(8px + env(safe-area-inset-top) + var(--banner-h));}
body.has-banner .lockhome{top:calc(12px + env(safe-area-inset-top) + var(--banner-h));}

:root{
  --w-glass:color-mix(in srgb,var(--panel) 66%,transparent);
  --w-glass-solid:color-mix(in srgb,var(--panel) 92%,transparent);
  --w-edge:color-mix(in srgb,var(--text) 9%,transparent);
  --w-edge-hi:color-mix(in srgb,var(--accent) 26%,var(--w-edge));
  --w-wash:linear-gradient(165deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 46%);
  --w-gap:12px;
}
html[data-mode='light']{--w-glass:color-mix(in srgb,var(--panel) 78%,transparent);--w-edge:color-mix(in srgb,#2a1f16 10%,transparent);}

#view{gap:var(--w-gap);}
#view>*{min-width:0;}

#view .card,
#view .orb-head,
#view .orb-now,
#view .orb-next,
#view .orb-agenda,
#view .spacebar,
#view .wk-search,
#view .orb-quick,
#view .chat-row,
#view .wish-ticket,
#view .orb-link,
#view .stat-cell,
#view #heartstage{
  background:var(--w-wash),var(--w-glass);
  border:1px solid var(--w-edge);
  box-shadow:var(--lift-1);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
}
#view .card:hover,
#view .orb-head:hover,
#view .orb-now:hover,
#view .orb-next:hover,
#view .orb-agenda:hover,
#view .spacebar:hover{
  border-color:var(--w-edge-hi);
  box-shadow:var(--lift-1);
}
#view .card:active{transform:none;}
#view .card.aura:hover{animation:none;}
#view .orb-head,#view .orb-agenda{border-radius:var(--r-lg);}
#view .orb-now,#view .orb-next,#view .orb-quick,#view .chat-row,#view .wish-ticket,#view .orb-link,#view .stat-cell{border-radius:var(--r-md);}
#view .orb-quick,#view .wk-search{border-radius:var(--r-pill);}

#view .hero,#view .orb-head{position:relative;isolation:isolate;overflow:hidden;}
#view .hero::before{opacity:.32;}
#view .hero::after,#view .orb-head::after{
  content:"";position:absolute;left:0;width:240%;top:0;height:1px;z-index:1;pointer-events:none;will-change:transform;
  background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--accent) 72%,transparent) 22%,color-mix(in srgb,var(--accent-strong) 96%,transparent) 50%,color-mix(in srgb,var(--accent) 72%,transparent) 78%,transparent 100%);
  background-size:100% 100%;
  box-shadow:0 0 calc(14px*var(--g)) 0 color-mix(in srgb,var(--accent) 36%,transparent);
  animation:w-edge 7s ease-in-out infinite alternate;
}
@keyframes w-edge{from{transform:translateX(0);}to{transform:translateX(-58.333%);}}
#view .orb-head{padding:18px;border-color:var(--w-edge);}
#view .orb-quick{border-color:var(--w-edge);box-shadow:var(--lift-1);}
#view .orb-quick:focus-within{border-color:color-mix(in srgb,var(--accent) 56%,transparent);box-shadow:var(--tint-ring),var(--lift-1);}
#view .orb-link{border-color:var(--w-edge);box-shadow:var(--lift-1);}
#view .orb-link{padding:0 10px;min-height:46px;white-space:nowrap;font-size:13px;}
#view .orb-link:hover{border-color:var(--w-edge-hi);box-shadow:var(--glow-1),var(--lift-1);transform:translateY(-1px);}
#view .orb-now b,#view .orb-next b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;}
#view .orb-duo{margin-top:0;}
#view .orb-quick,#view .orb-links,#view .orb-agenda{margin-top:0;}
#view .orb-agenda{padding:8px 14px 14px;}
#view .hero>p,#view .hero>h1{margin:0;}

#view .hero>.cal-orbit,#view .hero>.chat-orbit,#view .hero>.wish-orbit,#view .hero>.prof-id,#view .orb-head>.orb-hello{flex:1 1 auto;min-width:0;}
#view .cal-hero .cal-orbit{display:flex;flex-direction:column;gap:12px;}
#view .cal-orbit-top{margin:0;}
#view .cal-orbit-mid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:0;}
@media(min-width:768px){
  #view .cal-hero .cal-orbit{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:36px;row-gap:14px;align-items:center;}
  #view .cal-orbit-top{grid-column:1/-1;}
  #view .cal-orbit-mid{grid-template-columns:auto auto auto;justify-content:start;gap:28px;}
  #view .cal-count{text-align:left;}
  #view .cal-hero .cal-week{align-self:center;}
  #view .cal-hero .progbar{height:8px;}
}
#view .cal-jump{padding:8px 16px;border-color:var(--w-edge-hi);box-shadow:none;}
#view .cal-jump:hover{box-shadow:var(--glow-1);}

#view .chat-orbit{align-items:center;}
#view .wish-head-add{align-self:flex-start;}

#view .banner{background:none;border:0;box-shadow:none;padding:12px 14px;}
#view .banner>div{flex:1;min-width:0;}
#view .banner small{display:block;margin-top:2px;}

#view .spacebar{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:0;padding:10px 12px;border-radius:var(--r-lg);overflow:visible;}
#view .spacechips{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:1px 0;scrollbar-width:none;}
#view .spacechips .chip{flex:0 0 auto;white-space:nowrap;}
#view .spacerow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
#view .spacemembers{display:flex;flex:1 1 140px;flex-wrap:nowrap;align-items:center;gap:0;min-width:0;padding-left:6px;overflow:visible;}
#view .spacemembers .ava{flex:0 0 26px;min-width:26px;max-width:none;object-fit:cover;width:26px!important;height:26px!important;margin:0 -6px 0 0!important;border:2px solid color-mix(in srgb,var(--panel) 92%,transparent);}
#view .spacerow>span[style]{display:none;}
#view .spacerow .spacebtn{flex:0 0 auto;min-height:var(--ctl-sm);padding:0 12px;}
#view .spacerow .spacebtn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--hair));}
@media(min-width:768px){
  #view .spacebar{flex-direction:row;align-items:center;justify-content:space-between;gap:14px;}
  #view .spacechips{flex:1 1 auto;min-width:0;}
  #view .spacerow{flex:0 0 auto;flex-wrap:nowrap;}
  #view .spacemembers{flex:0 0 auto;margin-right:6px;}
}
@media(max-width:520px){
  #view .spacerow .spacemembers{display:none;}
  #view .spacerow .spacebtn{flex:1 1 0;min-width:0;}
}

#view .wk-tools{display:flex;flex-direction:column;gap:10px;margin:0;}
#view .wk-search{padding:6px 6px 6px 14px;}
#view .chips#catfilter{gap:6px;}

#view .board .r{display:block;padding:10px 12px;margin:0 0 6px;border-radius:var(--r-sm);}
#view .board-solo{display:flex;align-items:center;gap:12px;width:100%;margin:2px 0 8px;padding:12px 14px;border-radius:var(--r-md);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--hair));background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--n-fast),background var(--n-fast),box-shadow var(--n-fast),transform var(--n-fast);}
#view .board-solo:hover{border-style:solid;background:color-mix(in srgb,var(--accent) 11%,transparent);box-shadow:0 0 22px -8px color-mix(in srgb,var(--accent) 70%,transparent);}
#view .board-solo:active{transform:scale(.985);}
#view .board-solo-ico{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 16%,transparent);}
#view .board-solo-txt{display:grid;gap:2px;flex:1;min-width:0;}
#view .board-solo-txt b{font-size:14px;font-weight:800;}
#view .board-solo-txt small{font-size:12px;color:var(--muted);line-height:1.35;}
#view .board-solo-go{color:var(--muted);flex:0 0 auto;}
#view .board .r.lead{background:color-mix(in srgb,var(--accent) 8%,var(--panel-2));border:1px solid var(--w-edge-hi);}
#view .board .r.mine{background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid var(--w-edge);}
#view .board .r>div{min-width:0;}
#view .board .r .row{gap:8px;margin-bottom:6px;}
#view .board .r .row>b:not(.tnum){flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#view .board .r .row>span[style*='flex:1']{display:none;}
#view .board .r .row .tnum{flex:0 0 auto;min-width:2ch;text-align:right;}
#view .board .r .row .ava{flex:0 0 24px;}
#view .board .r .bar{margin-bottom:6px;}
#view .board .lrow{padding:7px 12px;}
#view .boardhead{gap:10px;padding:2px 0 8px;}
#view .boardhead .lbl{white-space:nowrap;}
#view .boardhead .lbl.mono{margin-left:auto!important;}

#view .hero:has(#tapcount){flex-direction:column;align-items:stretch;gap:8px;}
#view .hero #tapcount{font-size:clamp(40px,11vw,56px);line-height:1;font-weight:900;letter-spacing:-.04em;background:linear-gradient(120deg,var(--accent-strong),var(--accent) 60%,color-mix(in srgb,var(--accent) 55%,var(--text)));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;}
#view .hero:has(#tapcount)>p{color:var(--muted);font-size:13px;}
#view .hero:has(#tapcount) .rankbar{width:100%;margin-top:4px;}

#view #heartstage{border-radius:var(--r-lg);border-color:var(--w-edge);box-shadow:var(--lift-1);background:radial-gradient(260px 260px at 50% 46%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 72%),var(--w-glass);margin:0;}
#view #heartstage::before{box-shadow:none!important;animation:none!important;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) calc(20% + 26%*var(--heat)),transparent),transparent 72%);}
html[data-anim='on'] #view #heartstage::before{animation:w-halo 3.4s ease-in-out infinite alternate!important;}
@keyframes w-halo{from{transform:scale(.94);opacity:.8;}to{transform:scale(1.06);opacity:1;}}
#view #bigheart{box-shadow:0 0 calc(34px*var(--g)) -6px color-mix(in srgb,var(--accent) 80%,transparent),inset 0 2px 0 color-mix(in srgb,#fff 30%,transparent);}

#view .stat-orbit{gap:10px;}
#view .stat-cell{min-height:0;padding:14px 8px;}
@media(min-width:768px){#view .stat-orbit{grid-template-columns:repeat(6,1fr);}}

#view .prof-id{align-items:center;}
#view .prof-orbit .fld{min-width:0;}
@media(min-width:768px){#view .prof-orbit .name-input{max-width:420px;}}
#view .prof-orbit .prof-id>.grow{flex:1 1 auto;min-width:0;}
#view .prof-orbit .name-input{width:100%;box-sizing:border-box;}

#view .sec-hd{margin-bottom:12px;}
#view .kv:has(>b:only-child){min-height:0;padding:16px 0 8px;border:0;font:700 10.5px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
#view .kv:has(>b:only-child)+.seg{margin-bottom:4px;}
#view .wish-meter-nums span::before{content:"/";margin-right:2px;opacity:.55;}
#view .themes{gap:8px;}
#view .kv{min-height:44px;}
#view .seg{max-width:100%;flex-wrap:wrap;}

#view .empty{animation:none;border-color:var(--w-edge);background:color-mix(in srgb,var(--panel) 40%,transparent);}
html[data-anim='on'] #view .empty .ico{animation:float 3.6s ease-in-out infinite alternate;}

#view .task,#view .wish{min-width:0;}
#view .task .t,#view .wish .t,#view .wish-ticket .t,#view .chat-row .t{min-width:0;}
#view .task .t b,#view .wish .t b,#view .wish-ticket .t b{overflow-wrap:anywhere;}

#brand{background:var(--w-glass-solid);border-color:var(--w-edge-hi);box-shadow:var(--lift-2),0 0 calc(22px*var(--g)) -12px color-mix(in srgb,var(--accent) 60%,transparent);}
@media(min-width:1200px){
  #brand{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;top:calc(14px + env(safe-area-inset-top));pointer-events:none;}
  #brand>*{pointer-events:auto;}
  #brand .top-controls{padding:5px;border-radius:var(--r-pill);background:var(--w-glass-solid);border:1px solid var(--w-edge-hi);box-shadow:var(--lift-1);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);}
}

#tabbar{background:var(--w-glass-solid);border-color:var(--w-edge-hi);}
@media(min-width:768px) and (max-width:1199px){#tabbar{max-width:min(660px,calc(100vw - 24px));}#tabbar button[data-tab]{padding:6px 10px;}}
html[data-perf='lite'] #tabbar{background:color-mix(in srgb,var(--panel) 96%,transparent);}
#tabbar button[data-tab].on{background:transparent;color:var(--accent-ink);box-shadow:none;}
html[data-mode='dark'] #tabbar button[data-tab].on{color:var(--accent-strong);}
#tab-indicator{background:color-mix(in srgb,var(--accent) 22%,transparent);transition:left .32s var(--ease-out),width .32s var(--ease-out),opacity .2s var(--ease);}
html[data-anim='off'] #tab-indicator{transition:none;}
@media(max-width:1199px){
  body:has(> #app:not(.hidden))::after{
    content:"";position:fixed;left:0;right:0;bottom:0;height:calc(96px + env(safe-area-inset-bottom));z-index:4;pointer-events:none;
    background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--bg) 82%,transparent) 62%,var(--bg));
  }
  #tabbar,#composer{z-index:10;}
}

#side{background:var(--w-glass-solid);}
#side-tabs .rail-btn.on{box-shadow:none;border-color:var(--w-edge-hi);}
#side-tabs .rail-btn:hover:not(.on){background:color-mix(in srgb,var(--accent) 7%,transparent);}

#appbg{z-index:-1;}
#appbg .ab-glow{opacity:.34;}
#appbg .g1{width:min(46vw,480px);height:min(46vw,480px);}
#appbg .g2{width:min(44vw,460px);height:min(44vw,460px);}
#appbg .ab-arc{display:none;}
#appbg .ab-grid{opacity:.34;-webkit-mask-image:radial-gradient(70% 60% at 50% 55%,#000,transparent 100%);mask-image:radial-gradient(70% 60% at 50% 55%,#000,transparent 100%);}
#appbg #appcore{position:absolute;inset:0;width:100%;height:100%;display:block;}
html[data-perf='lite'] #appbg .ab-grid{display:none;}

@media(prefers-reduced-motion:reduce){
  #view .hero::after,#view .orb-head::after,#view #heartstage::before{animation:none!important;}
}
html[data-anim='off'] #view .hero::after,
html[data-anim='off'] #view .orb-head::after,
html[data-anim='off'] #view #heartstage::before{animation:none!important;}

.popup-box,.sheet-box{background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--w-edge-hi);box-shadow:var(--lift-3),0 0 calc(30px*var(--g)) -16px color-mix(in srgb,var(--accent) 70%,transparent);}
.popup-box{display:flex;flex-direction:column;gap:12px;}
.popup-box h3{margin:0;}
.popup-box>.btn[data-action='cancel']{width:100%;min-height:44px;margin:0;}
.popup-options{margin:0;gap:8px;}
.popup-opt{min-height:52px;}
.popup-opt:hover{border-color:var(--w-edge-hi);}
.sheet-actions{align-items:stretch;}
.sheet-actions .btn{flex:1 1 0;min-height:44px;}
.cf-overlay{--cf:var(--bad);}
.cf-overlay.tone-warn{--cf:var(--warn);}
.cf-overlay.tone-accent{--cf:var(--accent);}
.cf-overlay .cf-backdrop{background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--cf) 16%,transparent),color-mix(in srgb,var(--bg) 72%,transparent) 62%);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);animation:cf-fade .3s ease both;}
.cf-box{position:relative;width:min(420px,100%);display:grid;justify-items:center;text-align:center;gap:10px;padding:26px 22px 20px;border-radius:24px;overflow:hidden;isolation:isolate;border:1px solid color-mix(in srgb,var(--cf) 42%,var(--hair));background:linear-gradient(180deg,color-mix(in srgb,var(--cf) 11%,var(--panel)) 0%,var(--panel) 58%);box-shadow:0 30px 70px -28px color-mix(in srgb,var(--cf) 60%,transparent),0 0 calc(46px*var(--g)) -14px color-mix(in srgb,var(--cf) 55%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);animation:cf-in .46s var(--ease-spring) both;}
.cf-aura{position:absolute;z-index:-1;left:50%;top:-96px;width:260px;height:260px;margin-left:-130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--cf) 34%,transparent),transparent 65%);filter:blur(8px);pointer-events:none;animation:cf-breathe 3.2s ease-in-out infinite;}
.cf-badge{position:relative;width:68px;height:68px;display:grid;place-items:center;margin-bottom:4px;}
.cf-core{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:var(--cf);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--cf) 30%,var(--panel)),color-mix(in srgb,var(--cf) 12%,var(--panel)));border:1px solid color-mix(in srgb,var(--cf) 55%,transparent);box-shadow:0 0 calc(28px*var(--g)) -4px color-mix(in srgb,var(--cf) 70%,transparent),inset 0 0 18px -6px color-mix(in srgb,var(--cf) 60%,transparent);animation:cf-pop .5s .08s var(--ease-spring) both;}
.cf-ring{position:absolute;inset:2px;border-radius:50%;border:2px solid color-mix(in srgb,var(--cf) 60%,transparent);pointer-events:none;animation:cf-pulse 2.4s ease-out infinite;}
.cf-ring-2{animation-delay:1.2s;}
.cf-title{margin:4px 0 0;font:850 19px var(--font);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;}
.cf-text{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;}
.cf-points{list-style:none;margin:4px 0 2px;padding:10px 12px;width:100%;display:grid;gap:8px;text-align:left;border-radius:14px;background:color-mix(in srgb,var(--cf) 6%,transparent);border:1px solid color-mix(in srgb,var(--cf) 18%,var(--hair));}
.cf-points li{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.4;color:var(--text);animation:cf-item .4s calc(.16s + var(--i,0)*.07s) var(--ease-out) both;}
.cf-points li svg{flex:0 0 auto;margin-top:2px;color:var(--cf);}
.cf-actions{width:100%;margin-top:8px;gap:10px;}
.cf-go{position:relative;overflow:hidden;gap:8px;color:#fff;border-color:color-mix(in srgb,var(--cf) 70%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--cf) 92%,#fff),color-mix(in srgb,var(--cf) 78%,#000));box-shadow:0 10px 26px -12px color-mix(in srgb,var(--cf) 85%,transparent),0 0 calc(22px*var(--g)) -6px color-mix(in srgb,var(--cf) 70%,transparent);transition:transform var(--n-fast),box-shadow var(--n-fast),filter var(--n-fast);}
.cf-go::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s var(--ease-out);pointer-events:none;}
.cf-go:hover{filter:brightness(1.08);box-shadow:0 14px 32px -12px color-mix(in srgb,var(--cf) 95%,transparent),0 0 calc(30px*var(--g)) -4px color-mix(in srgb,var(--cf) 80%,transparent);}
.cf-go:hover::after{transform:translateX(120%);}
.cf-go:active{transform:scale(.97);}
.cf-go:focus-visible,.cf-no:focus-visible{outline:2px solid color-mix(in srgb,var(--cf) 80%,#fff);outline-offset:2px;}
.cf-overlay.tone-warn .cf-go{color:#1a1206;}
.cf-overlay.tone-accent .cf-go{color:color-mix(in srgb,#000 80%,var(--accent));}
.cf-form{gap:10px;text-align:center;}
.cf-form .sheet-label{justify-self:start;margin:4px 2px 0;font-size:12px;font-weight:700;color:var(--muted);}
.cf-form .sheet-input,.cf-input{width:100%;min-height:46px;border-radius:14px;text-align:left;border:1px solid color-mix(in srgb,var(--cf) 30%,var(--hair));background:color-mix(in srgb,var(--field) 92%,transparent);transition:border-color var(--n-fast),box-shadow var(--n-fast);animation:cf-item .4s .18s var(--ease-out) both;}
.cf-form .sheet-input:focus,.cf-input:focus{outline:none;border-color:color-mix(in srgb,var(--cf) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cf) 18%,transparent);}
.cf-go:disabled{opacity:.45;filter:saturate(.5);box-shadow:none;cursor:not-allowed;}
.cf-go:disabled::after{display:none;}
.cf-choice{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--hair));box-shadow:0 30px 70px -30px color-mix(in srgb,var(--accent) 50%,transparent),0 0 calc(36px*var(--g)) -16px color-mix(in srgb,var(--accent) 50%,transparent);animation:cf-in .42s var(--ease-spring) both;}
.cf-choice::before{content:"";position:absolute;left:50%;top:-120px;width:280px;height:220px;margin-left:-140px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 22%,transparent),transparent 65%);pointer-events:none;}
.cf-choice .popup-opt{animation:cf-item .38s calc(.1s + var(--i,0)*.06s) var(--ease-out) both;transition:transform var(--n-fast),border-color var(--n-fast),box-shadow var(--n-fast),background var(--n-fast);}
.cf-choice .popup-opt:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 8px 22px -14px color-mix(in srgb,var(--accent) 80%,transparent);}
.cf-choice .popup-opt:active{transform:scale(.98);}
.cf-overlay.gone .cf-choice{animation:cf-out .24s var(--ease-out) both;}
.cf-overlay.gone .cf-box{animation:cf-out .24s var(--ease-out) both;}
.cf-overlay.gone .cf-backdrop{opacity:0;transition:opacity .24s;}
@keyframes cf-in{from{opacity:0;transform:translateY(14px) scale(.92);}to{opacity:1;transform:none;}}
@keyframes cf-out{to{opacity:0;transform:translateY(8px) scale(.96);}}
@keyframes cf-fade{from{opacity:0;}to{opacity:1;}}
@keyframes cf-pop{from{opacity:0;transform:scale(.5) rotate(-12deg);}to{opacity:1;transform:none;}}
@keyframes cf-pulse{0%{opacity:.7;transform:scale(1);}100%{opacity:0;transform:scale(1.7);}}
@keyframes cf-breathe{0%,100%{opacity:.7;transform:scale(1);}50%{opacity:1;transform:scale(1.08);}}
@keyframes cf-item{from{opacity:0;transform:translateX(-6px);}to{opacity:1;transform:none;}}
@media(max-width:480px){.cf-box{padding:22px 16px 16px;}.cf-actions{flex-direction:column-reverse;}}
@media(prefers-reduced-motion:reduce){.cf-ring,.cf-aura{animation:none;}}
html[data-anim='off'] .cf-ring,html[data-anim='off'] .cf-aura{animation:none;}

.sheet .box{display:flex;flex-direction:column;align-items:stretch;gap:8px;background:var(--w-glass-solid);border-color:var(--w-edge-hi);}
.sheet .box>.lbl{display:block;margin:6px 0 0;}
.sheet .box>input,.sheet .box>textarea,.sheet .box>select{width:100%;}
.sheet .box>.row:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 0!important;}
.sheet .box>.row:last-child .btn{min-height:44px;width:100%;}
.sheet .box>.row:not(:last-child){align-items:flex-start;}

#view .prof-logout{align-self:center;flex:0 0 auto;gap:8px;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 38%,var(--hair));}
#view .prof-logout:hover{background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:var(--bad);box-shadow:0 0 calc(18px*var(--g)) -6px color-mix(in srgb,var(--bad) 70%,transparent);}
#view .prof-exit .exit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
#view .prof-exit .exit-row .btn{width:100%;justify-content:center;gap:8px;min-height:44px;}
@media(max-width:560px){#view .prof-exit .exit-row{grid-template-columns:1fr;}}

#view #milestone{position:relative;height:0;margin:0;z-index:6;pointer-events:none;}
#view .milestone{position:absolute;left:50%;top:12px;transform:translateX(-50%);max-width:min(calc(100% - 24px),380px);padding:7px 14px;gap:7px;font:750 12px/1.1 var(--font);animation:w-toast .28s var(--ease-out) both;}
#view .milestone::before{display:none;}
#view .milestone span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@keyframes w-toast{from{opacity:0;transform:translateX(-50%) translateY(-8px);}to{opacity:1;transform:translateX(-50%);}}
#view #comboring{max-width:calc(100% - 28px);}
#view #comboring.pop{animation:w-pulse .14s var(--ease-out);}
@keyframes w-pulse{50%{transform:scale(1.04);}}
#view #combotext{display:block;white-space:nowrap;text-shadow:none;}
#view #heartstage{overflow:hidden;}
#view .praise-pop{max-width:90%;overflow:hidden;text-overflow:ellipsis;}

#view .hero #tapcount{display:block;min-height:1em;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';transform:none!important;will-change:filter;}
#view .hero #tapcount.bump{animation:tap-flash .22s var(--ease-out);}
@keyframes tap-flash{40%{filter:brightness(1.35) drop-shadow(0 0 calc(10px*var(--g)) var(--accent));}}
#view .hero:has(#tapcount)>p{display:flex;align-items:baseline;gap:6px;min-height:1.5em;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums;}
#view .hero:has(#tapcount)>p #rankname{flex:none;}
#view .hero:has(#tapcount)>p #ranknext{min-width:0;overflow:hidden;text-overflow:ellipsis;}
#view .hero:has(#tapcount) #rankname.bump{animation:none;}
#view #maxcombo{font-variant-numeric:tabular-nums;white-space:nowrap;}

#view .chat-row .chat-when{flex:0 0 66px;width:66px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;align-self:center;padding-top:0;}
#view .chat-row{align-items:center;}
.rank-up{position:fixed;inset:0;z-index:70;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--bg) 80%,transparent) 62%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ru-fade .35s ease both;}
.rank-up.out{animation:ru-out .42s var(--ease-out) both;}
.ru-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,#fff 70%,var(--accent)) 0%,transparent 42%);animation:ru-flash .7s ease-out both;}
.ru-rays{position:absolute;left:50%;top:42%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;pointer-events:none;opacity:.8;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--accent) 24%,transparent) 0deg 6deg,transparent 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 0%,transparent 52%);mask:radial-gradient(circle,#000 0%,transparent 52%);animation:ru-spin 9s linear infinite,ru-fade .6s ease both;}
.ru-card{position:relative;display:grid;justify-items:center;gap:6px;padding:0 16px;text-align:center;animation:ru-card .7s var(--ease-spring) both;}
.ru-badge{position:relative;width:132px;height:132px;display:grid;place-items:center;margin-bottom:8px;}
.ru-core{position:relative;z-index:1;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;overflow:hidden;color:#fff;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--accent) 65%,#fff),var(--accent) 45%,color-mix(in srgb,var(--accent) 60%,#000));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 30%,transparent),0 0 calc(70px*var(--g)) 4px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 -10px 24px -10px rgba(0,0,0,.35);animation:ru-pop .8s var(--ease-spring) both;}
.ru-core::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);transform:translateX(-130%);animation:ru-shine 1.6s .5s ease-in-out both;}
.ru-core b{font:900 24px var(--mono);line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);}
.ru-ring{position:absolute;inset:0;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 70%,transparent);pointer-events:none;animation:ru-ring 1.8s ease-out infinite;}
.ru-ring-2{animation-delay:.9s;}
.ru-kicker{font:800 12px var(--font);letter-spacing:.24em;text-transform:uppercase;color:var(--accent-ink);animation:ru-up .5s .2s var(--ease-out) both;}
.ru-name{margin:0;font:900 clamp(30px,8vw,46px) var(--font);letter-spacing:-.03em;color:var(--text);text-shadow:0 0 calc(24px*var(--g)) color-mix(in srgb,var(--accent) 80%,transparent);animation:ru-up .6s .28s var(--ease-spring) both;}
.ru-sub{margin:0;color:var(--muted);font-size:14px;animation:ru-up .5s .38s var(--ease-out) both;}
@keyframes ru-fade{from{opacity:0;}to{opacity:1;}}
@keyframes ru-out{to{opacity:0;transform:scale(1.04);}}
@keyframes ru-flash{0%{opacity:1;transform:scale(.4);}100%{opacity:0;transform:scale(1.6);}}
@keyframes ru-spin{to{transform:rotate(360deg);}}
@keyframes ru-card{from{opacity:0;transform:translateY(30px) scale(.6);}to{opacity:1;transform:none;}}
@keyframes ru-pop{0%{transform:scale(0) rotate(-30deg);}70%{transform:scale(1.12) rotate(4deg);}100%{transform:none;}}
@keyframes ru-shine{to{transform:translateX(130%);}}
@keyframes ru-ring{0%{opacity:.8;transform:scale(1);}100%{opacity:0;transform:scale(1.9);}}
@keyframes ru-up{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.ru-rays,.ru-ring{animation:none;}}
html[data-anim='off'] .ru-rays,html[data-anim='off'] .ru-ring{animation:none;}

.landing-hero{overflow:visible;}
.landing-hero::before{
  inset:-6% -3% -8%;opacity:1;
  background:
    radial-gradient(ellipse closest-side at 26% 38%,color-mix(in srgb,var(--accent) 11%,transparent),transparent),
    radial-gradient(ellipse closest-side at 80% 44%,color-mix(in srgb,var(--accent-2) 9%,transparent),transparent);
}

.landing-hero-art{perspective:1700px;perspective-origin:50% 38%;}
.landing-hero-art::before{content:"";position:absolute;left:50%;top:46%;width:min(130%,560px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 20%,transparent),transparent);pointer-events:none;}
.landing-hero-art::after{content:"";position:absolute;left:50%;bottom:50px;width:230px;height:26px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.5),transparent);filter:blur(6px);pointer-events:none;}
#landing-phone{
  position:absolute;left:50%;top:50%;width:302px;height:636px;margin:-318px 0 0 -151px;padding:0;border-radius:0;background:none;box-shadow:none;
  rotate:none;animation:none;isolation:auto;transform:scale(.84);transform-origin:50% 50%;
  cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none;
}
#landing-phone,#landing-phone.landing-phone{transform-style:flat;}
#landing-phone.grabbing{cursor:grabbing;}
#landing-phone:focus-visible{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--accent) 70%,transparent));}
#landing-phone::before,#landing-phone .landing-glow{display:none;}
.landing-phone-wrap{position:relative;width:310px;height:560px;flex:0 0 auto;}
.phone-rim{position:absolute;left:-70px;top:-70px;width:442px;height:776px;pointer-events:none;}
#landing-phone .landing-phone-front,#landing-phone .landing-phone-back{position:absolute;inset:0;border-radius:47px;will-change:transform;transform-style:flat;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
#landing-phone .landing-phone-front{overflow:hidden;}
#landing-phone .landing-phone-front::after,#landing-phone .landing-phone-back::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:9;background:linear-gradient(105deg,transparent calc(var(--gl,50%) - 26%),rgba(255,255,255,.16) var(--gl,50%),transparent calc(var(--gl,50%) + 26%));mix-blend-mode:soft-light;}
.phone-tools{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;white-space:nowrap;position:relative;z-index:3;}
.phone-hint{display:inline-flex;align-items:center;gap:7px;font:600 11.5px var(--font);color:var(--muted);}
.phone-hint svg{color:var(--accent);}
html[data-anim='on'] .phone-hint svg{animation:phone-orbit 4s linear infinite;}
@keyframes phone-orbit{to{transform:rotate(360deg);}}
.phone-flip{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--hair));background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--text);font:700 12px var(--font);cursor:pointer;transition:border-color .18s var(--ease),box-shadow .2s var(--ease),transform .16s var(--ease);}
.phone-flip svg{color:var(--accent);}
.phone-flip:hover{border-color:var(--accent);box-shadow:0 0 calc(18px*var(--g)) -4px color-mix(in srgb,var(--accent) 75%,transparent);}
.phone-flip:active{transform:scale(.95);}
.landing-hero-art .landing-demo-hint{margin-top:6px;}

@property --faq-a{syntax:'<angle>';inherits:false;initial-value:0deg;}
#faq{counter-reset:faq;display:flex;flex-direction:column;gap:12px;}
#faq>.landing-head{margin-bottom:6px;}
#faq details.plain{
  position:relative;padding:0;overflow:hidden;counter-increment:faq;border-radius:var(--r-lg);
  background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 55%),color-mix(in srgb,var(--panel) 66%,transparent);
  border:1px solid color-mix(in srgb,var(--text) 9%,transparent);
  box-shadow:var(--lift-1);
  transition:border-color .3s var(--ease),box-shadow .35s var(--ease),transform .3s var(--ease-spring),background .3s var(--ease);
}
#faq details.plain::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;z-index:2;
  background:conic-gradient(from var(--faq-a),transparent 0 58%,color-mix(in srgb,var(--accent) 80%,transparent) 80%,var(--accent-strong) 90%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  transition:opacity .35s var(--ease);
}
#faq details.plain:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:var(--lift-2),0 0 calc(26px*var(--g)) -12px color-mix(in srgb,var(--accent) 70%,transparent);}
#faq details.plain:hover::before,#faq details.plain[open]::before{opacity:1;animation:faq-spin 3.4s linear infinite;}
#faq details.plain[open]{
  border-color:color-mix(in srgb,var(--accent) 38%,transparent);
  background:radial-gradient(520px 160px at 8% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%),color-mix(in srgb,var(--panel) 72%,transparent);
  box-shadow:var(--lift-2),0 0 calc(34px*var(--g)) -12px color-mix(in srgb,var(--accent) 80%,transparent);
}
@keyframes faq-spin{to{--faq-a:360deg;}}
#faq details.plain>summary{
  display:flex;align-items:center;gap:14px;min-height:60px;padding:14px 18px 14px 16px;cursor:pointer;list-style:none;
  font:700 15px var(--font);letter-spacing:-.01em;color:var(--text);
  transition:color .25s var(--ease),padding .3s var(--ease);
}
#faq details.plain>summary::-webkit-details-marker{display:none;}
#faq details.plain>summary::before{
  content:counter(faq);flex:0 0 38px;display:grid;place-items:center;height:30px;border-radius:10px;
  font:800 11.5px var(--mono);letter-spacing:.08em;color:var(--accent-ink);
  background:color-mix(in srgb,var(--accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);
  text-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 80%,transparent);
  transition:background .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease-spring),color .3s var(--ease);
}
#faq details.plain:hover>summary::before,#faq details.plain[open]>summary::before{background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));text-shadow:none;box-shadow:0 0 calc(18px*var(--g)) -2px color-mix(in srgb,var(--accent) 85%,transparent);transform:scale(1.06);}
#faq details.plain>summary::after{
  content:"";position:static;margin:0 0 0 auto;flex:0 0 28px;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:50%;
  background:linear-gradient(var(--accent),var(--accent)) center/12px 2px no-repeat,linear-gradient(var(--accent),var(--accent)) center/2px 12px no-repeat;
  transform:none;transition:transform .45s var(--ease-spring),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
#faq details.plain:hover>summary::after{box-shadow:0 0 calc(16px*var(--g)) -2px color-mix(in srgb,var(--accent) 80%,transparent);}
#faq details.plain[open]>summary::after{transform:rotate(135deg);border-color:var(--accent);margin-top:0;box-shadow:0 0 calc(18px*var(--g)) -2px color-mix(in srgb,var(--accent) 90%,transparent);}
#faq details.plain>summary:hover{color:var(--accent-ink);}
html[data-mode='dark'] #faq details.plain>summary:hover{color:var(--accent-strong);}
#faq details.plain>p{
  position:relative;margin:0;padding:2px 22px 20px 68px;color:var(--muted);font-size:14px;line-height:1.65;
}
#faq details.plain>p::before{content:"";position:absolute;left:33px;top:4px;bottom:20px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),transparent);box-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);transform-origin:top;}
#faq details.plain[open]>p{animation:faq-answer .5s var(--ease-out) both;}
#faq details.plain[open]>p::before{animation:faq-rail .55s var(--ease-out) both;}
@keyframes faq-answer{from{opacity:0;transform:translateY(-8px);filter:blur(4px);}to{opacity:1;transform:none;filter:none;}}
@keyframes faq-rail{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@media(max-width:560px){#faq details.plain>summary{font-size:14px;gap:11px;padding:12px 14px 12px 12px;}#faq details.plain>p{padding:2px 16px 18px 16px;}#faq details.plain>p::before{display:none;}}
html[data-anim='off'] #faq details.plain::before,html[data-anim='off'] #faq details.plain[open]>p,html[data-anim='off'] #faq details.plain[open]>p::before{animation:none!important;}
@media(prefers-reduced-motion:reduce){#faq details.plain::before,#faq details.plain[open]>p,#faq details.plain[open]>p::before{animation:none!important;}#faq details.plain:hover{transform:none;}}

html body,html[data-mode] body{background-repeat:no-repeat;background-attachment:fixed;}
#nebula .blob{border-radius:0;}
#nebula .b1{background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 24%,transparent),transparent);}
#nebula .b2{background:radial-gradient(closest-side,color-mix(in srgb,var(--accent-2) 20%,transparent),transparent);}
#nebula .b3{background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 14%,transparent),transparent);}

#lock .auth-card::before,#lock .auth-story::before{
  inset:0;padding:1px;border-radius:inherit;pointer-events:none;
  background:conic-gradient(from var(--faq-a),transparent 0 54%,color-mix(in srgb,var(--accent) 70%,transparent) 76%,var(--accent-strong) 88%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  opacity:.75;animation:faq-spin 8s linear infinite;
}
#lock .auth-card::before,#lock .auth-story::before{animation:none;}
#lock .auth-story::before{opacity:.45;}
#lock .auth-card:focus-within::before{opacity:1;}
#lock .auth-story::after{animation:au-ring 9s ease-in-out infinite alternate;}
@keyframes au-ring{from{transform:scale(.94) rotate(0deg);opacity:.7;}to{transform:scale(1.08) rotate(24deg);opacity:1;}}
#lock .auth-story-mark img{filter:drop-shadow(0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 55%,transparent));animation:au-logo-glow 5s ease-in-out infinite;will-change:transform;}
#lock .auth-story-mark::before,#lock .auth-story-mark::after{content:none;display:none;}
@keyframes au-logo-glow{50%{transform:scale(1.045);}}
@keyframes au-orbit{to{transform:rotate(360deg);}}
#lock .auth-card .auth-head{padding-top:26px;}

#lock .auth-overline>span{animation:beacon 2s var(--n-ease) infinite;}
#lock .auth-head h1{background-size:220% 100%;background-position:30% 0;}
@keyframes au-title{from{background-position:0% 0;}to{background-position:100% 0;}}
#lock .auth-head>p:not(.auth-back){
  display:inline-block;align-self:center;font:600 13px var(--mono);letter-spacing:.06em;
  background:linear-gradient(100deg,var(--muted) 0%,var(--accent-strong) 38%,var(--muted) 62%);background-size:240% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-position:40% 0;
}
#lock .auth-head>p:not(.auth-back)::after{content:"_";margin-left:3px;-webkit-text-fill-color:var(--accent);animation:au-caret 1s steps(2,jump-none) infinite;}
@keyframes au-caret{50%{opacity:0;}}

#lock .auth-back{position:absolute;z-index:3;top:14px;left:14px;margin:0!important;}
#lock .auth-back a{
  position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 11px 0 8px;border:0;border-radius:var(--r-pill);background:transparent;
  font:750 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--accent-ink);
  transition:transform .3s var(--ease-spring);
}
#lock .auth-back a::after{
  content:"";position:absolute;inset:10px 0;border-radius:var(--r-pill);
  border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--panel));
  transition:box-shadow .3s var(--ease),background .25s var(--ease),border-color .25s var(--ease);
}
#lock .auth-back a::before{
  content:"";width:12px;height:12px;background:currentColor;transition:transform .3s var(--ease-spring);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
#lock .auth-back a:hover{transform:translateX(-2px);text-decoration:none;}
#lock .auth-back a:hover::after{background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:var(--accent);box-shadow:0 0 calc(22px*var(--g)) -4px color-mix(in srgb,var(--accent) 75%,transparent);}
#lock .auth-back a:hover::before{transform:translateX(-2px);}

#lock .auth-tabs{position:relative;isolation:isolate;border-color:color-mix(in srgb,var(--accent) 18%,var(--hair));}
#lock .auth-tabs::before{
  content:"";position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 18px) / 3);border-radius:var(--r-pill);
  background:linear-gradient(120deg,var(--accent-strong),var(--accent) 60%,color-mix(in srgb,var(--accent) 70%,var(--accent-2)));
  box-shadow:0 0 calc(22px*var(--g)) -4px color-mix(in srgb,var(--accent) 80%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 40%,transparent);
  transition:transform .55s var(--ease-spring);
}
#lock .auth-tabs:has(#auth-tab-reg.on)::before{transform:translateX(calc(100% + 5px));}
#lock .auth-tabs:has(#auth-tab-code.on)::before{transform:translateX(calc(200% + 10px));}
#lock .auth-tabs .chip,#lock .auth-tabs .chip.on{background:transparent;border-color:transparent;box-shadow:none;font:750 12px var(--font);letter-spacing:.02em;transition:color .3s var(--ease),transform .2s var(--ease);}
#lock .auth-tabs .chip:not(.on){color:var(--muted);}
#lock .auth-tabs .chip:not(.on):hover{color:var(--accent-ink);transform:none;box-shadow:none;}

#lock .auth-body .lbl{
  display:flex;align-items:center;gap:9px;margin-bottom:2px;font:800 10.5px var(--mono);letter-spacing:.14em;
  color:color-mix(in srgb,var(--accent) 52%,var(--muted));transition:color .25s var(--ease),text-shadow .25s var(--ease);
}
#lock .auth-body .lbl::before{content:"";flex:0 0 14px;height:2px;border-radius:2px;background:currentColor;opacity:.75;box-shadow:0 0 calc(8px*var(--g)) currentColor;transition:flex-basis .4s var(--ease-spring),opacity .25s var(--ease);}
#lock .auth-body .fld:focus-within>.lbl{color:var(--accent-strong);text-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
#lock .auth-body .fld:focus-within>.lbl::before{flex-basis:24px;opacity:1;}

#lock .nf{
  position:relative;display:flex;align-items:center;flex:1 1 auto;min-width:0;overflow:hidden;border-radius:var(--r-sm);
  background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),color-mix(in srgb,var(--field) 96%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--hair));
  transition:border-color .3s var(--ease),box-shadow .35s var(--ease),transform .3s var(--ease-spring);
}
#lock .nf::after{content:"";position:absolute;top:0;bottom:0;left:0;width:34%;pointer-events:none;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--accent) 11%,transparent),transparent);transform:translateX(-130%);animation:nf-scan 6s ease-in-out infinite;}
@keyframes nf-scan{0%,55%{transform:translateX(-130%);}100%{transform:translateX(420%);}}
#lock .nf-ico{flex:0 0 48px;display:grid;place-items:center;align-self:stretch;color:var(--faint);border-right:1px solid color-mix(in srgb,var(--accent) 10%,var(--hair));transition:color .3s var(--ease),filter .3s var(--ease),background .3s var(--ease);}
#lock .nf-ico b{font:800 17px var(--mono);}
#lock .nf-ico .ico{--s:18px;}
#lock .auth-body .nf input{flex:1 1 auto;min-width:0;min-height:50px;padding:0 14px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;font:600 14.5px var(--font);letter-spacing:.01em;}
#lock .auth-body .nf input::placeholder{color:color-mix(in srgb,var(--faint) 80%,transparent);font-weight:500;}
#lock .auth-body .nf input:focus{background:transparent!important;box-shadow:none!important;}
#lock .nf-line{position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-strong),var(--accent),transparent);box-shadow:0 0 calc(12px*var(--g)) var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);}
#lock .nf:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--hair));}
#lock .gender-seg{min-height:56px;border-radius:var(--r-sm);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),color-mix(in srgb,var(--field) 96%,transparent);border:1px solid color-mix(in srgb,var(--accent) 14%,var(--hair));}
#lock .gender-opt{min-height:48px;font-size:14.5px;}
#lock .gender-opt,#lock .gender-thumb{border-radius:calc(var(--r-sm) - 3px);}
#lock .nf:focus-within{border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 0 calc(28px*var(--g)) -8px color-mix(in srgb,var(--accent) 65%,transparent);}
#lock .nf:focus-within .nf-line{transform:scaleX(1);}
#lock .nf:focus-within .nf-ico,#lock .nf[data-filled='1'] .nf-ico{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 10%,transparent);}
html[data-mode='dark'] #lock .nf:focus-within .nf-ico,html[data-mode='dark'] #lock .nf[data-filled='1'] .nf-ico{color:var(--accent-strong);}
#lock .nf:focus-within .nf-ico{filter:drop-shadow(0 0 calc(7px*var(--g)) color-mix(in srgb,var(--accent) 80%,transparent));}
#lock .nf.nf-pulse{animation:nf-pulse .38s var(--ease-out);}
@keyframes nf-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 50%,transparent);}100%{box-shadow:0 0 0 9px transparent;}}
#lock .pwdfield .nf{flex:1 1 auto;}
#lock .pwdfield .nf input{padding-right:46px!important;}
#lock .auth-body .pwdeye{z-index:2;color:var(--accent-ink);}
#lock .auth-body .pwdeye:hover{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 calc(14px*var(--g)) -2px color-mix(in srgb,var(--accent) 70%,transparent);}

#lock .auth-code-row{flex-wrap:wrap;}
#lock .auth-code-row>.grow{flex:1 1 240px;min-width:0;}
#lock .auth-code-row>.btn{flex:1 1 auto!important;}
#lock .auth-body #au-code{text-align:center;font:800 24px var(--mono)!important;letter-spacing:.5em;text-indent:.5em;}

#lock .auth-body .btn{position:relative;overflow:hidden;min-height:52px;border-radius:var(--r-sm);font:750 14px var(--font);letter-spacing:.02em;transition:transform .25s var(--ease-spring),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);}
#lock .auth-body .btn.primary{
  color:color-mix(in srgb,#000 82%,var(--accent));
  background:linear-gradient(115deg,var(--accent-strong),var(--accent) 55%,color-mix(in srgb,var(--accent) 72%,var(--accent-2)));
  box-shadow:0 0 calc(26px*var(--g)) -6px color-mix(in srgb,var(--accent) 85%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 40%,transparent);
}
#lock .auth-body .btn.primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:46%;transform:skewX(-20deg);pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:au-sheen 3.6s ease-in-out infinite;}
@keyframes au-sheen{0%,45%{left:-60%;}100%{left:140%;}}
#lock .auth-body .btn.primary:hover{transform:translateY(-2px);filter:saturate(1.1) brightness(1.05);}
#lock .auth-body .btn:not(.primary){
  color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 38%,var(--hair));
  background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,transparent),transparent),color-mix(in srgb,var(--panel-2) 92%,transparent);
}
html[data-mode='dark'] #lock .auth-body .btn:not(.primary){color:var(--accent-strong);}
#lock .auth-body .btn:not(.primary):hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));box-shadow:0 0 calc(24px*var(--g)) -6px color-mix(in srgb,var(--accent) 75%,transparent);}
#lock .auth-body .btn:active{transform:scale(.98);}
#lock .auth-body .btn:disabled{opacity:.45;animation:none;box-shadow:none;}
#lock .auth-body .btn:disabled::after{display:none;}

#au-pwdstrength .grow>div:first-child{height:8px!important;border-radius:999px!important;background:color-mix(in srgb,var(--panel-2) 90%,transparent)!important;border:1px solid var(--hair);overflow:hidden;position:relative;}
#au-pwdbar{border-radius:999px!important;box-shadow:0 0 calc(12px*var(--g)) -1px currentColor;position:relative;overflow:hidden;}
#au-pwdbar::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-100%);animation:au-bar 2.2s ease-in-out infinite;}
@keyframes au-bar{to{transform:translateX(120%);}}
#au-pwdlabel{font:800 10.5px var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;}

#lock .auth-body .pwdlist{border-color:color-mix(in srgb,var(--accent) 14%,var(--hair));}
#lock .auth-body .pwdlist li{font:600 10.5px var(--mono);letter-spacing:.04em;}
#lock .auth-body .hintline{font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:color-mix(in srgb,var(--accent) 45%,var(--faint));}

#lock .auth-status{display:flex;align-items:center;gap:9px;font:700 11.5px var(--mono);letter-spacing:.05em;}
#lock .auth-status:not(:empty)::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 calc(10px*var(--g)) var(--accent);animation:beacon 1.8s var(--n-ease) infinite;}
#lock .auth-status.ok::before{background:var(--good);box-shadow:0 0 calc(10px*var(--g)) var(--good);}
#lock .auth-status.bad::before{background:var(--bad);box-shadow:0 0 calc(10px*var(--g)) var(--bad);}

#lock .auth-story-copy>p:last-child{position:relative;padding:2px 0 2px 16px;color:color-mix(in srgb,var(--text) 72%,var(--muted));font-size:14.5px;line-height:1.65;}
#lock .auth-story-copy>p:last-child::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),transparent);box-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);animation:au-rail 3.4s ease-in-out infinite alternate;}
@keyframes au-rail{from{opacity:.45;}to{opacity:1;}}
#lock .auth-story-name{background:linear-gradient(100deg,var(--text),var(--accent-strong));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
#lock .auth-story-caption{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 55%,var(--muted));}
#lock .auth-benefit{padding:7px 12px 7px 7px;border-radius:var(--r-pill);border:1px solid transparent;font:700 12.5px var(--font);transition:transform .3s var(--ease-spring),border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease);}
#lock .auth-benefit:hover{transform:translateX(5px);border-color:color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text);}
#lock .auth-benefit i{animation:beacon 2.6s var(--n-ease) infinite;}
#lock .auth-benefit:nth-child(2) i{animation-delay:.5s;}
#lock .auth-benefit:nth-child(3) i{animation-delay:1s;}

html[data-anim='off'] #lock .auth-card::before,html[data-anim='off'] #lock .auth-story::before,html[data-anim='off'] #lock .auth-story::after,html[data-anim='off'] #lock .nf::after,html[data-anim='off'] #lock .auth-body .btn,html[data-anim='off'] #lock .auth-body .btn::after,html[data-anim='off'] #au-pwdbar::after,html[data-anim='off'] #lock .auth-head h1,html[data-anim='off'] #lock .auth-head>p,html[data-anim='off'] #lock .auth-benefit i,html[data-anim='off'] #lock .auth-story-mark img,html[data-anim='off'] #lock .auth-story-mark::before{animation:none!important;}
@media(prefers-reduced-motion:reduce){#lock .auth-card::before,#lock .auth-story::before,#lock .auth-story::after,#lock .nf::after,#lock .auth-body .btn,#lock .auth-body .btn::after,#au-pwdbar::after,#lock .auth-head h1,#lock .auth-head>p,#lock .auth-benefit i,#lock .auth-story-mark img,#lock .auth-story-mark::before{animation:none!important;}}

section.landing-cta::after{background:radial-gradient(ellipse closest-side,color-mix(in srgb,var(--accent-2) 14%,transparent),transparent);}

.landing-logo,.side-brand img,#brand-home img,.brand-home img,.about-logo,#lock .badge-logo,#lock .auth-story-mark img{box-sizing:content-box;padding:12px;margin:-12px;}
#lock .auth-story-mark{overflow:visible;}
.landing-brand{overflow:visible;}

.landing-status{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:center;height:23px;margin-bottom:-8px;padding:0;}
.landing-status-left,.landing-status-right{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;height:100%;}
.landing-status-left{grid-column:1;}
.landing-status-right{grid-column:3;}
.landing-status-time{font:700 11.5px/1 var(--font);letter-spacing:-.01em;font-variant-numeric:tabular-nums;height:auto;}
.landing-status-moon{margin:0;height:10px;opacity:.72;}
.landing-status-icons{display:flex;align-items:center;justify-content:center;gap:0;}
.landing-status-svg{height:10.5px;}

#landing-phone{
  --ph-rim-hi:#fbfbfc;--ph-rim-lo:#7d838c;--ph-edge:rgba(255,255,255,.55);--ph-vig:rgba(50,58,70,.24);
  --ph-body-1:#f1f2f4;--ph-body-2:#c9ced5;--ph-body-3:#e3e6ea;--ph-glass-1:#f8f9fb;--ph-glass-2:#d3d7de;
  --ph-cam-1:#f4f5f7;--ph-cam-2:#bfc5cd;--ph-cam-edge:rgba(60,68,80,.55);--ph-ring-1:#ffffff;--ph-ring-2:#7b818a;
  --ph-btn-1:#fafafb;--ph-btn-2:#9aa0a8;--ph-mark-1:#c3c8d0;--ph-mark-2:#9aa1ab;--ph-mark-hi:rgba(255,255,255,.85);
}
html[data-mode='dark'] #landing-phone[data-ph='orange']{
  --ph-rim-hi:#ffc79a;--ph-rim-lo:#a14310;--ph-edge:rgba(255,226,200,.55);--ph-vig:rgba(120,38,0,.3);
  --ph-body-1:#ffa468;--ph-body-2:#e2631d;--ph-body-3:#f68a4f;--ph-glass-1:#ffb07a;--ph-glass-2:#e5671f;
  --ph-cam-1:#ffb98a;--ph-cam-2:#df7138;--ph-cam-edge:rgba(120,48,8,.55);--ph-ring-1:#ffe6d2;--ph-ring-2:#9a5630;
  --ph-btn-1:#ffc9a2;--ph-btn-2:#b2551d;--ph-mark-1:#ffd3b4;--ph-mark-2:#e08a52;--ph-mark-hi:rgba(255,255,255,.7);
}
html[data-mode='dark'] #landing-phone[data-ph='orange'] .landing-phone-front{
  background:linear-gradient(115deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(90,22,0,.5) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,transparent 30px,rgba(90,30,8,.85) 30px,rgba(90,30,8,.85) 32px,transparent 32px),linear-gradient(90deg,transparent 270px,rgba(90,30,8,.85) 270px,rgba(90,30,8,.85) 272px,transparent 272px),linear-gradient(0deg,transparent 300px,rgba(90,30,8,.85) 300px,rgba(90,30,8,.85) 302px,transparent 302px),linear-gradient(0deg,transparent 480px,rgba(90,30,8,.85) 480px,rgba(90,30,8,.85) 482px,transparent 482px),linear-gradient(148deg,#ffd6b3 0%,#f08a47 10%,#a14a18 22%,#ffb784 38%,#ffddc2 50%,#df7332 62%,#f9aa70 76%,#8c3e12 90%,#dc7a33 100%);
}
html[data-mode='dark'] #landing-phone[data-ph='blue']{
  --ph-rim-hi:#b5c9e6;--ph-rim-lo:#1d2e48;--ph-edge:rgba(205,222,250,.45);--ph-vig:rgba(6,18,44,.4);
  --ph-body-1:#62799b;--ph-body-2:#2a3c58;--ph-body-3:#4a5f82;--ph-glass-1:#7088ab;--ph-glass-2:#2e4260;
  --ph-cam-1:#6f87ab;--ph-cam-2:#2a3e5c;--ph-cam-edge:rgba(8,18,40,.55);--ph-ring-1:#dce8f8;--ph-ring-2:#44587a;
  --ph-btn-1:#a2b9d8;--ph-btn-2:#22344f;--ph-mark-1:#a9bfdc;--ph-mark-2:#6d85a9;--ph-mark-hi:rgba(255,255,255,.55);
}
html[data-mode='dark'] #landing-phone[data-ph='titan']{
  --ph-rim-hi:#efe9df;--ph-rim-lo:#5b544a;--ph-edge:rgba(255,249,236,.55);--ph-vig:rgba(48,40,28,.3);
  --ph-body-1:#cfc7bb;--ph-body-2:#8d8579;--ph-body-3:#b6aea1;--ph-glass-1:#d8d0c4;--ph-glass-2:#9a9286;
  --ph-cam-1:#d5cdc1;--ph-cam-2:#8a8276;--ph-cam-edge:rgba(48,42,34,.5);--ph-ring-1:#f7f2e9;--ph-ring-2:#675f55;
  --ph-btn-1:#ded6c9;--ph-btn-2:#786f63;--ph-mark-1:#bdb4a6;--ph-mark-2:#8f877b;--ph-mark-hi:rgba(255,255,255,.6);
}
html[data-mode='dark'] #landing-phone[data-ph='blue'] .landing-phone-front{
  background:linear-gradient(115deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(6,16,40,.5) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,transparent 30px,rgba(10,24,52,.85) 30px,rgba(10,24,52,.85) 32px,transparent 32px),linear-gradient(90deg,transparent 270px,rgba(10,24,52,.85) 270px,rgba(10,24,52,.85) 272px,transparent 272px),linear-gradient(0deg,transparent 300px,rgba(10,24,52,.85) 300px,rgba(10,24,52,.85) 302px,transparent 302px),linear-gradient(0deg,transparent 480px,rgba(10,24,52,.85) 480px,rgba(10,24,52,.85) 482px,transparent 482px),linear-gradient(148deg,#b8cbe8 0%,#5a7399 10%,#1f3150 22%,#b8cbe8 38%,#ffffff 50%,#5a7399 62%,#b8cbe8 76%,#1f3150 90%,#5a7399 100%);
}
html[data-mode='dark'] #landing-phone[data-ph='titan'] .landing-phone-front{
  background:linear-gradient(115deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(40,32,20,.45) 0%,rgba(0,0,0,0) 26%),linear-gradient(90deg,transparent 30px,rgba(60,52,40,.8) 30px,rgba(60,52,40,.8) 32px,transparent 32px),linear-gradient(90deg,transparent 270px,rgba(60,52,40,.8) 270px,rgba(60,52,40,.8) 272px,transparent 272px),linear-gradient(0deg,transparent 300px,rgba(60,52,40,.8) 300px,rgba(60,52,40,.8) 302px,transparent 302px),linear-gradient(0deg,transparent 480px,rgba(60,52,40,.8) 480px,rgba(60,52,40,.8) 482px,transparent 482px),linear-gradient(148deg,#f1ece2 0%,#a79f92 10%,#6a6358 22%,#f1ece2 38%,#ffffff 50%,#a79f92 62%,#f1ece2 76%,#6a6358 90%,#a79f92 100%);
}
html[data-mode='light'] #landing-phone{
  --ph-rim-hi:#7c8088;--ph-rim-lo:#0f1013;--ph-edge:rgba(255,255,255,.16);--ph-vig:rgba(0,0,0,.45);
  --ph-body-1:#3c3e43;--ph-body-2:#141518;--ph-body-3:#26282c;--ph-glass-1:#2e3035;--ph-glass-2:#0e0f11;
  --ph-cam-1:#383a3f;--ph-cam-2:#121316;--ph-cam-edge:rgba(255,255,255,.14);--ph-ring-1:#c5cad3;--ph-ring-2:#23252a;
  --ph-btn-1:#62666e;--ph-btn-2:#16171a;--ph-mark-1:#5a5f67;--ph-mark-2:#3b3e44;--ph-mark-hi:rgba(255,255,255,.2);
}
html[data-mode='light'] #landing-phone .landing-phone-front{
  background:linear-gradient(115deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,0) 18%),linear-gradient(295deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 26%),linear-gradient(148deg,#70747b 0%,#34363b 22%,#575a60 40%,#1e1f22 64%,#47494f 84%,#2a2b2f 100%);
}

#landing-phone .landing-phone-back{
  inset:0;border-radius:47px;overflow:hidden;transform:translateZ(-16px) rotateY(180deg);transform-style:flat;backface-visibility:hidden;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 3px),linear-gradient(158deg,var(--ph-body-1) 0%,var(--ph-body-2) 46%,var(--ph-body-3) 100%);
  box-shadow:inset 0 0 0 1.5px var(--ph-edge),inset 0 0 30px var(--ph-vig);
}
.landing-back-glass{position:absolute;left:12px;right:12px;top:150px;bottom:12px;border-radius:36px;display:grid;place-items:center;background:linear-gradient(160deg,var(--ph-glass-1),var(--ph-glass-2));box-shadow:inset 0 0 0 1px var(--ph-edge),inset 0 1.5px 0 rgba(255,255,255,.28),inset 0 -12px 28px var(--ph-vig);}
.landing-phone-mark{display:block;width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}

.landing-chatbar{flex-direction:column;align-items:center;gap:3px;padding:8px 4px 8px;border-bottom:0;}
.landing-chat-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:0;display:grid;place-items:center;overflow:visible;background:none;box-shadow:none;}
.landing-chat-avatar img{display:block;width:34px;height:34px;object-fit:contain;filter:none;box-sizing:content-box;padding:0;margin:0;}
.landing-chat-name{align-items:center;text-align:center;font:700 11px var(--font);}
.landing-chat-name small{font:500 8.5px var(--font);color:var(--phone-muted);}
.landing-cal{position:relative;z-index:3;margin:2px 2px 4px;padding:9px 9px 8px;border-radius:18px;background:color-mix(in srgb,var(--phone-panel) 70%,transparent);border:1px solid var(--phone-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);}
.lc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;}
.lc-head b{font:800 13px var(--font);letter-spacing:-.01em;color:var(--accent-ink);}
html[data-mode='dark'] .lc-head b{color:color-mix(in srgb,var(--accent) 70%,#0a6e57);}
.lc-nav{display:flex;gap:9px;}
.lc-nav i{width:6px;height:6px;border-top:1.6px solid var(--phone-muted);border-left:1.6px solid var(--phone-muted);transform:rotate(-45deg);}
.lc-nav i:last-child{transform:rotate(135deg);}
.lc-week,.lc-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;}
.lc-week span{font:700 7.5px var(--font);letter-spacing:.04em;color:var(--phone-muted);padding-bottom:3px;}
.lc-grid{row-gap:2px;}
.lc-day{position:relative;display:grid;place-items:center;height:20px;font:600 9.5px var(--font);font-variant-numeric:tabular-nums;color:var(--phone-text);}
.lc-day.pad{visibility:hidden;}
.lc-day.mark::after{content:"";position:absolute;bottom:1px;width:3px;height:3px;border-radius:50%;background:var(--accent);}
.lc-day.sel{color:color-mix(in srgb,#000 82%,var(--accent));font-weight:800;}
.lc-day.sel::before{content:"";position:absolute;width:19px;height:19px;border-radius:50%;background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent);z-index:-1;}
.lc-day.sel::after{display:none;}
.lc-grid{isolation:isolate;}
.landing-bubble{border-radius:18px;padding:8px 11px;font-size:11px;box-shadow:none;}
.landing-bubble.mine{border-bottom-right-radius:5px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent);}
.landing-bubble.theirs{border-bottom-left-radius:5px;}
.landing-event{position:relative;overflow:hidden;padding:8px 10px 8px 12px;border-radius:12px;border:1px solid var(--phone-line);}
.landing-event::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3.5px;background:linear-gradient(180deg,var(--accent-strong),var(--accent));}
.landing-event-day{width:30px;height:32px;flex:0 0 30px;border-radius:8px;background:#fff;color:#1b1c1f;box-shadow:0 1px 4px rgba(0,0,0,.25);align-content:end;padding-bottom:3px;position:relative;overflow:hidden;font:800 14px/1 var(--font);}
.landing-event-day::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:linear-gradient(180deg,#ff6b6b,#ff3b30);}
.landing-event.done .landing-event-day{background:#fff;color:#1b1c1f;}
.landing-event.done .landing-event-day::before{background:linear-gradient(180deg,#9aa3b2,#7d8696);}

#landing-phone .landing-phone-front *,#landing-phone .landing-phone-back *{backface-visibility:hidden;-webkit-backface-visibility:hidden;}

#landing-phone .landing-phone-front{border-radius:47px;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.35),inset 0 0 0 10px #04060b,inset 0 0 0 11px rgba(255,255,255,.05);}
#landing-phone .landing-phone-frame{inset:1.5px;border-radius:45.5px;}
#landing-phone .landing-phone-screen{inset:9.5px;border-radius:38px;padding-top:12px;}
#landing-phone .landing-phone-island{top:17px;width:84px;height:25px;}
.landing-back-glass::after{content:"iPhone";position:absolute;bottom:14px;font:600 7.5px/1 var(--font);letter-spacing:.18em;color:var(--ph-mark-2);opacity:.85;}

.landing-back-art{position:absolute;inset:0;width:100%;height:100%;display:block;}
.landing-back-glass{left:0;right:0;top:0;bottom:0;background:none;box-shadow:none;border-radius:0;}
.landing-hero-art::after{z-index:-1;}

html[data-glow='on']{--g:1.35;}

html.booting #landing{visibility:hidden;}
html:not(.in-app) #appbg,html.locked #appbg{display:none;}
.lockhome{position:fixed;z-index:6;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));display:flex;align-items:center;gap:8px;}
.lockhome .lockplay{position:static;}
.lockback{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px 0 10px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent) 34%,var(--hair));background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--muted);font:600 13px var(--font);cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:color .16s var(--ease),border-color .18s var(--ease),box-shadow .2s var(--ease),transform .16s var(--ease);}
.lockback:hover{color:var(--text);border-color:var(--accent);box-shadow:var(--lift-2),0 0 calc(18px*var(--g)) -4px color-mix(in srgb,var(--accent) 70%,transparent);}
.lockback:hover .ico{transform:translateX(-2px);}
.lockback .ico{transition:transform .18s var(--ease);}
.lockback:active{transform:scale(.96);}

.landing-logo,.side-brand img,#brand-home img,.brand-home img,.about-logo,#lock .badge-logo,#lock .auth-story-mark img{object-fit:contain;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 52%,transparent)) drop-shadow(0 3px 5px rgba(0,0,0,.28));}
html[data-mode='light'] .landing-logo,html[data-mode='light'] .side-brand img,html[data-mode='light'] #brand-home img,html[data-mode='light'] .brand-home img,html[data-mode='light'] .about-logo,html[data-mode='light'] #lock .badge-logo,html[data-mode='light'] #lock .auth-story-mark img{filter:drop-shadow(0 0 calc(8px*var(--g)) color-mix(in srgb,var(--accent) 38%,transparent)) drop-shadow(0 2px 4px rgba(20,24,40,.22));}
.landing-brand{gap:12px;align-items:center;}
.landing-logo{width:56px;height:56px;}
.landing-wordmark{font-size:20px;letter-spacing:-.03em;line-height:1;}
.app-shell #brand .brand-home{gap:10px;align-items:center;}
.app-shell #brand .brand-home img{width:36px;height:36px;flex:0 0 36px;}
.app-shell #brand .brand-home span{font-weight:800;font-size:16px;line-height:1;}
@media(max-width:429px){.app-shell #brand .brand-home span{display:none;}}
@media(min-width:430px) and (max-width:767px){.app-shell #brand .brand-home span{font-size:15px;}}
.side-brand{gap:12px;align-items:center;padding:4px 8px 16px;}
.side-brand img,#brand-home img{width:48px;height:48px;flex:0 0 48px;}
.side-brand span,#brand-home span{font-size:19px;line-height:1;letter-spacing:-.03em;}
#lock .badge{width:150px;height:150px;}
#lock .badge-logo{width:150px;height:150px;}
.about-logo{width:124px;height:124px;flex:0 0 124px;}
#lock .auth-story-mark{position:relative;display:grid;place-items:center;width:104px;height:104px;flex:0 0 104px;}
#lock .auth-story-mark img{width:96px;height:96px;}
#lock .auth-story-name{font-size:24px;}
@media(max-width:767px){
  .landing-logo{width:46px;height:46px;}
  .landing-wordmark{font-size:17px;}
  .app-shell #brand .brand-home img{width:32px;height:32px;flex-basis:32px;}
  #lock .badge,#lock .badge-logo{width:128px;height:128px;}
  #lock .auth-story-mark{width:76px;height:76px;flex-basis:76px;}
  #lock .auth-story-mark img{width:68px;height:68px;}
  #lock .auth-story-name{font-size:18px;}
}
@media(max-width:480px){.landing-logo{width:42px;height:42px;}}

.phone-float{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 10px;border-radius:15px;pointer-events:none;will-change:transform,opacity;transform-style:flat;backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:4;visibility:hidden;opacity:0;
  color:var(--text);font:600 11px/1.15 var(--font);white-space:nowrap;
  background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 16%,var(--panel-2)),var(--panel-2));
  border:1px solid color-mix(in srgb,var(--accent) 46%,transparent);
  box-shadow:0 10px 26px rgba(0,0,0,.34),0 0 calc(22px*var(--g,1)) -4px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px 0 rgba(255,255,255,.18);}
.phone-float .ico{color:var(--accent-strong);flex:none;}
.phone-float span{display:grid;gap:2px;}
.phone-float b{font-weight:800;font-size:11.5px;}
.phone-float small{font-size:10px;font-weight:600;color:var(--muted);}
.phone-float.pf-day{width:58px;height:58px;padding:0;border-radius:50%;flex-direction:column;justify-content:center;gap:0;background:radial-gradient(circle at 32% 26%,color-mix(in srgb,var(--accent) 60%,#fff),var(--accent) 62%,color-mix(in srgb,var(--accent) 70%,#000));border-color:rgba(255,255,255,.4);color:var(--on-accent,#04120d);}
.phone-float.pf-day b{font-size:21px;line-height:1;}
.phone-float.pf-day small{color:inherit;opacity:.78;font-size:10px;text-transform:uppercase;letter-spacing:.06em;}
html[data-mode='light'] .phone-float{box-shadow:0 10px 26px rgba(20,30,50,.22),0 0 calc(22px*var(--g,1)) -6px color-mix(in srgb,var(--accent) 60%,transparent),inset 0 1px 0 rgba(255,255,255,.6);}
html[data-anim='off'] .phone-float{will-change:auto;}
.phone-rim{z-index:1;}
#landing-phone .landing-phone-back,#landing-phone .landing-phone-front{z-index:2;}
.phone-cam3d{z-index:3;}
.phone-cam3d[data-side='front']{z-index:0;}

#landing-phone{opacity:0;transition:opacity .45s var(--ease,ease);}
#landing-phone.ph-ready{opacity:1;}
html[data-anim='off'] #landing-phone,html[data-reduce='1'] #landing-phone{transition:none;}
@media(prefers-reduced-motion:reduce){#landing-phone{transition:none;}}

#lock .auth-sso{display:block;}
#lock .auth-sso[hidden]{display:none;}

@keyframes beacon-ring{0%{transform:scale(1);opacity:.55;}100%{transform:scale(2.5);opacity:0;}}
@keyframes au-sheen-x{0%,45%{transform:translateX(0) skewX(-20deg);}100%{transform:translateX(435%) skewX(-20deg);}}
@keyframes au-dot-pulse{0%,100%{opacity:.55;}50%{opacity:1;}}
#lock .auth-overline>span{position:relative;animation:none;}
#lock .auth-overline>span::after,#lock .auth-benefit i::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1.5px solid var(--accent);pointer-events:none;animation:beacon-ring 2.2s ease-out infinite;will-change:transform,opacity;}
#lock .auth-benefit i{position:relative;animation:none;}
#lock .auth-benefit:nth-child(2) i::after{animation-delay:.5s;}
#lock .auth-benefit:nth-child(3) i::after{animation-delay:1s;}
#lock .auth-status:not(:empty)::before{animation:au-dot-pulse 1.8s ease-in-out infinite;}
#lock .auth-body .btn.primary::after{left:-60%;animation:au-sheen-x 3.6s ease-in-out infinite;will-change:transform;}
html[data-anim='on'] #au-go-password,html[data-anim='on'] #au-face-go,html[data-anim='on'] #lock .lockhero .chip.on{animation:none;}
#lock .lockhero .chip.on{animation:none;box-shadow:var(--glow-2);}
#lock .lockhero .chip.on.kbump{animation:kbump .45s var(--ease-spring);}
html[data-anim='off'] #lock .auth-overline>span::after,html[data-anim='off'] #lock .auth-benefit i::after{display:none;}
.landing .landing-top .landing-logo{width:48px;height:48px;flex:none;max-width:none;translate:0 1px;}
.landing .landing-top .landing-brand{min-width:48px;}
.landing .landing-top{padding-left:10px;}
@media(max-width:767px){.landing .landing-top{padding:5px 8px 5px 5px;}.landing .landing-top .landing-logo{width:42px;height:42px;}.landing .landing-top .landing-brand{min-width:42px;}}

.card.has-pp{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;}
.card.has-pp>.sec-hd{display:none;}
.card.has-pp::before,.card.has-pp::after{display:none;}

.pp{--lvl:var(--accent);position:relative;display:grid;gap:20px;padding:22px;border-radius:24px;background:var(--w-wash),var(--w-glass-solid);border:1px solid var(--w-edge-hi);box-shadow:var(--lift-1),0 0 calc(40px*var(--g)) -22px var(--lvl);overflow:hidden;isolation:isolate;}
.pp[data-level='basic']{--lvl:var(--warn);}
.pp[data-level='strong']{--lvl:var(--good);}
.pp::before{content:"";position:absolute;left:0;width:400%;top:0;height:2px;z-index:1;background:linear-gradient(90deg,transparent,var(--lvl),var(--accent-strong),var(--lvl),transparent);background-size:50% 100%;will-change:transform;animation:pp-edge 5s linear infinite;opacity:.9;pointer-events:none;}
.pp::after{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--lvl) 20%,transparent),transparent);pointer-events:none;z-index:-1;animation:pp-glow 7s ease-in-out infinite;}
@keyframes pp-edge{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes pp-glow{50%{transform:translate(-18px,14px) scale(1.12);opacity:.75;}}

.pp-head{display:flex;align-items:center;gap:16px;min-width:0;}
.pp-orb{position:relative;flex:none;width:76px;height:76px;display:grid;place-items:center;}
.pp-orb .ava{border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--bg),0 0 0 4px color-mix(in srgb,var(--lvl) 70%,transparent),0 0 calc(22px*var(--g)) color-mix(in srgb,var(--lvl) 55%,transparent);}
.pp-orb .ava.ph{display:grid;place-items:center;font-weight:800;font-size:26px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 22%,var(--panel-2)),var(--panel-2));color:var(--accent-strong);}
.pp-orb i{position:absolute;inset:0;border-radius:50%;border:1.5px dashed color-mix(in srgb,var(--lvl) 60%,transparent);animation:pp-spin 18s linear infinite;pointer-events:none;}
@keyframes pp-spin{to{transform:rotate(360deg);}}
.pp-id{flex:1 1 auto;min-width:0;display:grid;gap:3px;}
.pp-id b{font-size:20px;font-weight:800;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pp-id>span{color:var(--accent-strong);font:700 13px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px;}
.pp-tags em{font-style:normal;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid var(--w-edge);}
.pp-tags em.adm{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);}

.pp-shield{display:flex;align-items:center;gap:18px;padding:16px;border-radius:18px;background:color-mix(in srgb,var(--lvl) 7%,var(--panel-2));border:1px solid color-mix(in srgb,var(--lvl) 28%,var(--w-edge));}
.pp-ring{flex:none;width:84px;height:84px;transform:rotate(-90deg);overflow:visible;}
.pp-ring circle{fill:none;stroke-width:6;stroke-linecap:round;}
.pp-ring .bg{stroke:color-mix(in srgb,var(--text) 10%,transparent);}
.pp-ring .fg{stroke:var(--lvl);filter:drop-shadow(0 0 calc(6px*var(--g)) var(--lvl));transition:stroke-dashoffset 1.1s var(--ease-out);}
.pp-ring text{transform:rotate(90deg);transform-origin:36px 36px;fill:var(--text);font:800 19px var(--font);}
.pp-shield-txt{min-width:0;display:grid;gap:4px;}
.pp-shield-txt small{color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.pp-shield-txt>b{font-size:19px;font-weight:800;color:var(--lvl);}
.pp-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;}
.pp-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:99px;font:700 12px var(--font);color:var(--muted);background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid var(--w-edge);cursor:pointer;transition:transform .2s var(--ease-out),border-color .25s,box-shadow .25s,color .25s;}
.pp-chip span{display:grid;place-items:center;}
.pp-chip i{font-style:normal;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;font-size:12px;font-weight:800;background:color-mix(in srgb,var(--text) 10%,transparent);}
.pp-chip:not(.ok):hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 0 calc(18px*var(--g)) -6px var(--accent);color:var(--text);}
.pp-chip.ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent);cursor:default;}
.pp-chip.ok i{background:var(--good);color:var(--bg);}

.pp-sec{display:grid;gap:12px;}
.pp-sec h4{margin:0;display:flex;align-items:center;gap:8px;color:var(--faint);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.pp-sec h4 .ico{color:var(--accent-strong);}
.pp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.pp-f{display:grid;gap:6px;min-width:0;}
.pp-wide{grid-column:1/-1;}
.pp-f>small{padding-left:2px;color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.04em;transition:color .25s;}
.pp-f:focus-within>small,.pp-f[data-filled='1']>small{color:var(--accent-strong);}
.pp-fbox{position:relative;display:flex;align-items:stretch;min-height:50px;border-radius:14px;overflow:hidden;background:var(--panel-2);border:1px solid var(--w-edge);text-align:left;color:var(--text);transition:border-color .3s var(--ease),box-shadow .3s var(--ease);}
.pp-fbox:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--w-edge));}
.pp-fbox:focus-within{border-color:color-mix(in srgb,var(--accent) 62%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 0 calc(26px*var(--g)) -8px color-mix(in srgb,var(--accent) 65%,transparent);}
.pp-fico{flex:0 0 46px;display:grid;place-items:center;color:var(--faint);border-right:1px solid var(--w-edge);transition:color .3s,background .3s,filter .3s;}
.pp-fico b{font:800 17px var(--mono);}
.pp-f[data-filled='1'] .pp-fico,.pp-fbox:focus-within .pp-fico{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 10%,transparent);}
.pp-fbox:focus-within .pp-fico{filter:drop-shadow(0 0 calc(7px*var(--g)) color-mix(in srgb,var(--accent) 80%,transparent));}
.pp-fbox input,.pp-fbox textarea{flex:1 1 auto;min-width:0;padding:0 14px;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--text);font:600 14.5px var(--font);outline:none;}
.pp-fbox input:focus,.pp-fbox textarea:focus{background:transparent;box-shadow:none;}
.pp-fbox input::placeholder,.pp-fbox textarea::placeholder{color:color-mix(in srgb,var(--faint) 80%,transparent);font-weight:500;}
.pp-area{min-height:78px;}
.pp-area textarea{padding:13px 14px;resize:none;line-height:1.45;}
.pp-dob{width:100%;cursor:pointer;align-items:center;}
.pp-dob .pp-fico{align-self:stretch;}
.pp-dobtxt{padding:0 14px;font:600 14.5px var(--font);}
.pp-line{position:absolute;left:0;right:0;bottom:0;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-strong),var(--accent),transparent);box-shadow:0 0 calc(12px*var(--g)) var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out);}
.pp-fbox:focus-within .pp-line{transform:scaleX(1);}

.pp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.pp-tile{display:flex;align-items:center;gap:13px;padding:14px;border-radius:16px;text-align:left;color:var(--text);background:var(--panel-2);border:1px solid var(--w-edge);cursor:pointer;transition:transform .25s var(--ease-out),border-color .3s,box-shadow .3s;}
.pp-tile:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 12px 30px -16px rgba(0,0,0,.6),0 0 calc(26px*var(--g)) -8px color-mix(in srgb,var(--accent) 60%,transparent);}
.pp-tile:active{transform:translateY(0) scale(.98);}
.pp-tico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);}
.pp-tile>span:last-child{display:grid;gap:3px;min-width:0;}
.pp-tile b{font-size:14px;font-weight:800;}
.pp-tile small{color:var(--faint);font-size:11.5px;line-height:1.35;}
.pp-code{margin:0;padding:14px;border-radius:14px;text-align:center;font:800 26px var(--mono);letter-spacing:.34em;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 8%,var(--panel-2));border:1px dashed color-mix(in srgb,var(--accent) 50%,transparent);text-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);animation:pp-pop .45s var(--ease-out);}
.pp-code[hidden]{display:none;}
@keyframes pp-pop{from{opacity:0;transform:scale(.94);}}

.pp-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--w-edge);}
.pp-foot #ac-status{flex:1 1 140px;margin:0;font-size:13px;min-height:18px;}
.pp-dirty{display:inline-flex;align-items:center;gap:7px;color:var(--warn);font-size:12px;font-weight:700;}
.pp-dirty::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--warn);box-shadow:0 0 calc(10px*var(--g)) var(--warn);animation:pp-blink 1.6s ease-in-out infinite;}
.pp-dirty[hidden]{display:none;}
@keyframes pp-blink{50%{opacity:.35;}}
.pp-save{min-width:150px;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.pp.is-dirty .pp-save{border-color:color-mix(in srgb,var(--accent) 55%,var(--hair));box-shadow:0 0 calc(14px*var(--g)) -6px color-mix(in srgb,var(--accent) 55%,transparent);}
.pp.is-dirty .pp-save:hover{box-shadow:0 0 calc(18px*var(--g)) -6px color-mix(in srgb,var(--accent) 70%,transparent);}

@media(max-width:767px){
  .pp{padding:16px;gap:16px;border-radius:20px;}
  .pp-head{flex-wrap:wrap;gap:14px;}
  .pp-orb{width:64px;height:64px;}
  .pp-id{flex:1 1 0;}
  .pp-shield{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:14px;align-items:center;}
  .pp-shield-txt{display:contents;}
  .pp-shield .pp-ring{grid-row:1/3;width:68px;height:68px;}
  .pp-shield-txt small{align-self:end;}
  .pp-shield-txt>b{align-self:start;}
  .pp-chips{grid-column:1/-1;margin-top:8px;}
  .pp-grid{gap:8px;}
  .pp-tiles{grid-template-columns:minmax(0,1fr);}
  .pp-foot{flex-direction:column;align-items:stretch;}
  .pp-save{width:100%;}
}

html[data-anim='off'] .pp::before,html[data-anim='off'] .pp::after,html[data-anim='off'] .pp-orb i,html[data-anim='off'] .pp-dirty::before,html[data-anim='off'] .pp-code{animation:none!important;}
html[data-anim='off'] .pp-ring .fg{transition:none;}
@media(prefers-reduced-motion:reduce){.pp::before,.pp::after,.pp-orb i,.pp-dirty::before,.pp-code{animation:none!important;}.pp-ring .fg{transition:none;}}

html[data-mode='light'] .pp{--lvl:var(--accent-ink);}
html[data-mode='light'] .pp[data-level='basic']{--lvl:#b86a00;}
html[data-mode='light'] .pp[data-level='strong']{--lvl:#0f8a4f;}
html[data-mode='light'] .pp-id>span,html[data-mode='light'] .pp-tags em.adm,html[data-mode='light'] .pp-sec h4 .ico,html[data-mode='light'] .pp-tico,html[data-mode='light'] .pp-code,html[data-mode='light'] .pp-orb .ava.ph{color:var(--accent-ink);}
html[data-mode='light'] .pp-sec h4,html[data-mode='light'] .pp-shield-txt small,html[data-mode='light'] .pp-f>small,html[data-mode='light'] .pp-tile small{color:var(--muted);}
html[data-mode='light'] .pp-f:focus-within>small,html[data-mode='light'] .pp-f[data-filled='1']>small{color:var(--accent-ink);}
html[data-mode='light'] .pp-f[data-filled='1'] .pp-fico,html[data-mode='light'] .pp-fbox:focus-within .pp-fico{color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 16%,#fff);}
html[data-mode='light'] .pp-fbox,html[data-mode='light'] .pp-tile{background:color-mix(in srgb,#fff 78%,var(--panel-2));border-color:color-mix(in srgb,#2a1f16 12%,transparent);}
html[data-mode='light'] .pp-fico{color:var(--muted);border-right-color:color-mix(in srgb,#2a1f16 10%,transparent);}
html[data-mode='light'] .pp-shield{background:color-mix(in srgb,var(--lvl) 8%,#fff);}
html[data-mode='light'] .pp-ring text{fill:var(--text);}
html[data-mode='light'] .pp-ring .bg{stroke:color-mix(in srgb,#2a1f16 12%,transparent);}
html[data-mode='light'] .pp-chip{color:var(--muted);background:color-mix(in srgb,#2a1f16 5%,#fff);border-color:color-mix(in srgb,#2a1f16 12%,transparent);}
html[data-mode='light'] .pp-chip.ok{color:#0f7a45;background:color-mix(in srgb,#17b26a 12%,#fff);border-color:color-mix(in srgb,#17b26a 40%,transparent);}
html[data-mode='light'] .pp-chip.ok i{background:#17b26a;color:#fff;}
html[data-mode='light'] .pp-tags em{color:var(--muted);background:color-mix(in srgb,#2a1f16 6%,#fff);}
html[data-mode='light'] .pp-dirty{color:#b86a00;}

.pp-orb.avatar-pick{cursor:pointer;}
.pp-cam{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:color-mix(in srgb,#000 78%,var(--accent));border:2px solid var(--bg);box-shadow:0 0 calc(12px*var(--g)) -2px var(--accent);transition:transform .2s var(--ease-spring);}
.pp-orb.avatar-pick:hover .pp-cam{transform:scale(1.12);}
.pp-cam .ico{--s:13px;width:13px;height:13px;}
.pp-name{width:100%;box-sizing:border-box;min-width:0;padding:2px 0 3px;border:0;border-bottom:1px dashed transparent;border-radius:0;background:transparent;color:var(--text);font:800 20px var(--font);letter-spacing:.01em;text-overflow:ellipsis;outline:0;box-shadow:none;transition:border-color .2s var(--ease);}
.pp-name:hover{border-bottom-color:var(--w-edge);}
.pp-name:focus{border-bottom-color:var(--accent);}
.pp-linkbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.pp-linkbox .tg-card{margin:0;padding:10px 12px;border-radius:14px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--panel-2) 70%,transparent);box-shadow:none;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;}
.pp-linkbox .tg-card[hidden]{display:none;}
.pp-linkbox .sec-hd{grid-column:1/-1;margin:0;padding:0;border:0;}
.pp-linkbox .tg-state{grid-column:1;grid-row:2;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35;}
.pp-linkbox .tg-state .tg-dot{flex:none;margin-top:4px;width:7px;height:7px;}
.pp-linkbox .tg-row{grid-column:2;grid-row:2;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.pp-linkbox .tg-card .btn{position:relative;gap:9px;min-height:38px;padding:0 16px 0 5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--hair));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,var(--panel-2)),var(--panel-2));color:var(--text);font:700 13px var(--font);white-space:nowrap;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 6%,transparent);transition:transform var(--n-fast),border-color var(--n-fast),background var(--n-fast),box-shadow var(--n-fast);}
.pp-linkbox .tg-card .btn .ico{--s:15px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:var(--accent-ink);background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);transition:transform .3s var(--ease-spring),background var(--n-fast);}
.pp-linkbox .tg-card .btn:not(:has(.ico)){padding:0 16px;}
.pp-linkbox .tg-card .btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,var(--panel-2)),color-mix(in srgb,var(--accent) 6%,var(--panel-2)));box-shadow:0 6px 16px -12px color-mix(in srgb,var(--accent) 80%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 8%,transparent);}
.pp-linkbox .tg-card .btn:hover .ico{transform:rotate(-8deg) scale(1.06);background:color-mix(in srgb,var(--accent) 28%,transparent);}
.pp-linkbox .tg-card .btn:active{transform:scale(.97);}
.pp-linkbox .tg-card .btn.ghost{border-color:var(--hair);background:transparent;color:var(--muted);}
.pp-linkbox .tg-card .btn.ghost:hover{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--hair));background:color-mix(in srgb,var(--bad) 7%,transparent);box-shadow:none;}
.pp .pp-head .pp-id input.pp-name{min-height:0;height:auto;padding:2px 0 3px;border:0;border-bottom:1px dashed transparent;border-radius:0;background:transparent;box-shadow:none;}
.pp .pp-head .pp-id input.pp-name:hover{border-bottom-color:var(--w-edge);}
.pp .pp-head .pp-id input.pp-name:focus{border-bottom-color:var(--accent);background:transparent;box-shadow:none;}
.pp-linkbox .hintline{grid-column:1/-1;margin:2px 0 0;}
@media(max-width:700px){.pp-linkbox{grid-template-columns:1fr;}.pp-linkbox .tg-state{grid-column:1/-1;grid-row:auto;}.pp-linkbox .tg-row{grid-column:1/-1;grid-row:auto;justify-content:flex-start;}}
.pp-exit .exit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pp-exit .exit-row .btn{width:100%;justify-content:center;gap:8px;min-height:44px;}
@media(max-width:560px){.pp-exit .exit-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.pp-exit .exit-row .btn{flex-direction:column;gap:4px;padding:8px 4px;min-height:56px;font-size:12px;line-height:1.2;}}
@media(max-width:359px){.pp-grid{grid-template-columns:minmax(0,1fr);}.pp-exit .exit-row{grid-template-columns:1fr;}.pp-exit .exit-row .btn{flex-direction:row;min-height:44px;}}
.pp-status{margin:0;font-size:13px;min-height:0;}
.pp-status:empty{display:none;}
.pp-foot{margin-top:4px;padding-top:12px;justify-content:space-between;}
.pp-foot[hidden]{display:none;}
.pp-tiles{margin-bottom:0;}
.pp-sec:last-of-type{margin-bottom:0;}
.pp{grid-template-columns:minmax(0,1fr);}
.pp>*{min-width:0;}

.pp-delete{justify-self:start;margin-top:6px;opacity:.85;}
.pp-delete:hover{opacity:1;}
.btn.danger{background:color-mix(in srgb,var(--bad) 22%,var(--panel-2));border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:var(--bad);}
.btn.danger:disabled{opacity:.4;cursor:not-allowed;}
#acct-card:has(>#acct-body>.pp){padding:0;background:none;border:0;box-shadow:none;transform:none;animation:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;}
#acct-card:has(>#acct-body>.pp)::before,#acct-card:has(>#acct-body>.pp)::after{content:none;}
.pp-delete{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;}

@property --adm-ang{syntax:'<angle>';inherits:false;initial-value:0deg;}
@keyframes adm-ring{0%{transform:scale(.88);opacity:.7;}100%{transform:scale(1.22);opacity:0;}}
@keyframes pp-edge{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes adm-rise{from{opacity:0;transform:translateY(10px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes adm-pulse{50%{box-shadow:0 0 calc(18px*var(--g)) calc(3px*var(--g)) var(--good);}}

.adm-entry{padding:0!important;overflow:hidden;}
.adm-entry[hidden]{display:none!important;}
.adm-open{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;cursor:pointer;position:relative;transition:background .2s var(--ease);}
.adm-open::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,color-mix(in srgb,var(--accent) 14%,transparent) 50%,transparent 62%);transform:translateX(-110%);}
html[data-anim='on'] .adm-open:hover::before{transition:transform .9s var(--ease-out);transform:translateX(110%);}
.adm-open:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);}
.adm-open:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.adm-open-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:color-mix(in srgb,#000 80%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(22px*var(--g)) -4px color-mix(in srgb,var(--accent) 80%,transparent);flex:none;}
.adm-open-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.adm-open-txt b{font:800 15px/1.2 var(--font);}
.adm-open-txt small{color:var(--muted);font-size:12px;}
.adm-open-ico.set{background:linear-gradient(140deg,var(--accent-2,var(--accent-strong)),var(--accent));}
.adm-open-go{color:var(--faint);transition:transform .2s var(--ease),color .2s var(--ease);}
.adm-open:hover .adm-open-go{transform:translateX(4px);color:var(--accent);}

#sess-card[hidden]{display:none!important;}
.sess-last{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-size:12.5px;margin-bottom:10px;}
.sess-last span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);}
.sess-last .ico{color:var(--accent);}
.sess-list{display:flex;flex-direction:column;gap:8px;}
.sess{padding:12px;border-radius:var(--r-md);border:1px solid var(--hair);background:color-mix(in srgb,var(--text) 4%,transparent);animation:adm-rise .4s var(--ease-out) both;animation-delay:calc(var(--i)*60ms);}
.sess.cur{border-color:color-mix(in srgb,var(--good) 45%,var(--hair));background:linear-gradient(160deg,color-mix(in srgb,var(--good) 8%,transparent),transparent 70%),color-mix(in srgb,var(--text) 4%,transparent);}
.sess-top{display:flex;align-items:center;gap:9px;margin-bottom:10px;min-width:0;}
.sess-ico{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);flex:none;}
.sess.cur .sess-ico{color:var(--good);background:color-mix(in srgb,var(--good) 14%,transparent);}
.sess-top>b{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sess-now{flex:none;padding:2px 9px;border-radius:99px;font:800 10.5px/1.5 var(--font);text-transform:uppercase;letter-spacing:.03em;color:var(--good);background:color-mix(in srgb,var(--good) 16%,transparent);}
html[data-anim='on'] .sess-now{animation:adm-pulse 2.2s ease-in-out infinite}
.sess-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;}
@media(max-width:520px){.sess-grid{grid-template-columns:1fr;}}
.sess-grid>span{display:grid;grid-template-columns:16px 1fr;grid-template-rows:auto auto;column-gap:6px;min-width:0;}
.sess-grid .ico{grid-row:1/3;color:var(--faint);align-self:center;}
.sess-grid i{font-style:normal;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;}
.sess-grid b{font-size:12.5px;font-weight:600;overflow-wrap:anywhere;}
.sess-hint{margin:10px 2px 0;color:var(--faint);font-size:12px;line-height:1.45;}

.terms-check{--tc:var(--accent);position:relative;display:flex;align-items:center;gap:14px;width:100%;margin:18px 0 0;padding:14px 16px;box-sizing:border-box;text-align:left;cursor:pointer;font-size:13px;line-height:1.5;color:var(--muted);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 88%,transparent);border:1px solid var(--hair-strong);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease);overflow:hidden;}
.terms-check::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--tc) 12%,transparent),transparent);transform:translateX(-120%);}
.terms-check input{position:absolute;opacity:0;width:1px;height:1px;}
.terms-tick{position:relative;flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;border:1.5px solid color-mix(in srgb,var(--tc) 50%,var(--hair-strong));background:color-mix(in srgb,var(--tc) 6%,transparent);color:transparent;transition:background .22s var(--ease),border-color .22s var(--ease),box-shadow .25s var(--ease),transform .3s var(--ease-spring),color .12s;}
.terms-tick .ico{width:15px;height:15px;transform:scale(.4);transition:transform .3s var(--ease-spring);}
.terms-copy{flex:1 1 auto;min-width:0;}
.terms-copy a{padding:5px 0;color:var(--accent-strong);font-weight:700;text-decoration:none;white-space:nowrap;border-bottom:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);transition:border-color .16s var(--ease),text-shadow .2s var(--ease);}
.terms-copy a:hover{border-bottom-style:solid;text-shadow:0 0 calc(10px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);}
.terms-check:hover{border-color:color-mix(in srgb,var(--tc) 50%,var(--hair-strong));}
.terms-check:hover .terms-tick{border-color:var(--tc);box-shadow:0 0 calc(14px*var(--g)) -4px color-mix(in srgb,var(--tc) 80%,transparent);}
.terms-check:focus-within{border-color:var(--tc);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 16%,transparent);}
.terms-check:has(input:checked){border-color:color-mix(in srgb,var(--tc) 60%,transparent);background:color-mix(in srgb,var(--tc) 8%,var(--panel-2));box-shadow:0 0 calc(26px*var(--g)) -12px var(--tc);color:var(--text);}
.terms-check input:checked+.terms-tick{background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-color:transparent;color:color-mix(in srgb,#000 80%,var(--accent));box-shadow:0 0 calc(18px*var(--g)) -2px color-mix(in srgb,var(--accent) 85%,transparent);transform:scale(1.04);}
.terms-check input:checked+.terms-tick .ico{transform:none;}
html[data-anim='on'] .terms-check:has(input:checked)::before{animation:tc-sweep .9s var(--ease-out) 1;}
@keyframes tc-sweep{to{transform:translateX(120%);}}
.terms-check.need{--tc:var(--bad);animation:tc-shake .42s var(--ease-out);}
@keyframes tc-shake{20%{transform:translateX(-6px);}45%{transform:translateX(5px);}70%{transform:translateX(-3px);}}
#au-reg-go[disabled]{opacity:.45;filter:saturate(.6);cursor:not-allowed;}
#au-pwdstrength[hidden]{display:none!important;}
.pwdlist:empty{display:none;}

.terms-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px calc(14px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));opacity:0;transition:opacity .26s var(--ease);}
.terms-overlay.in{opacity:1;}
.terms-overlay.out{opacity:0;pointer-events:none;}
.terms-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 62%),color-mix(in srgb,#02040a 74%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.terms-box{position:relative;display:flex;flex-direction:column;width:min(600px,100%);max-height:min(760px,100%);border-radius:26px;overflow:hidden;background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel) 42%);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(35px*var(--g)) -24px color-mix(in srgb,var(--accent) 80%,transparent);transform:translateY(18px) scale(.97);transition:transform .38s var(--ease-spring);}
.terms-box::before{content:"";position:absolute;left:0;width:400%;top:0;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-strong),var(--accent),transparent);background-size:50% 100%;will-change:transform;animation:pp-edge 5s linear infinite;pointer-events:none;}
.terms-overlay.in .terms-box{transform:none;}
.terms-head{display:flex;align-items:center;gap:12px;padding:18px 18px 12px;}
.terms-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:color-mix(in srgb,#000 80%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(20px*var(--g)) -4px color-mix(in srgb,var(--accent) 80%,transparent);flex:none;}
.terms-ttl{flex:1;min-width:0;}
.terms-ttl h2{margin:0;font:800 18px/1.2 var(--font);letter-spacing:-.015em;}
.terms-ttl span{display:block;margin-top:2px;color:var(--faint);font:600 11.5px var(--mono);}
.terms-x{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;border:1px solid var(--hair-strong);background:transparent;color:var(--muted);cursor:pointer;transition:color .16s var(--ease),border-color .16s var(--ease),transform .2s var(--ease-out);}
.terms-x:hover{color:var(--text);border-color:var(--accent);transform:rotate(90deg);}
.terms-tabs{display:flex;gap:4px;margin:0 18px 12px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--text) 6%,transparent);}
.terms-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;border-radius:11px;background:transparent;color:var(--muted);font:700 13px var(--font);cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease);}
.terms-tab:hover{color:var(--text);}
.terms-tab.on{color:color-mix(in srgb,#000 80%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(18px*var(--g)) -6px var(--accent);}
.terms-prog{position:relative;height:2px;background:var(--hair);}
.terms-prog i{position:absolute;inset:0 auto 0 0;width:calc(var(--p,0)*100%);background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:0 0 calc(10px*var(--g)) var(--accent);transition:width .12s linear;}
.terms-body{padding:8px 18px 12px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;}
.terms-sec{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 12px;align-items:start;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--w-edge,var(--hair));animation:adm-rise .4s var(--ease-out) both;animation-delay:calc(var(--i)*45ms + 80ms);}
.terms-sec .n{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;font:800 14px var(--mono);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);}
.terms-sec h3{margin:0;align-self:center;font:700 14.5px/1.3 var(--font);color:var(--text);}
.terms-sec p{margin:0;grid-column:2;font-size:13px;line-height:1.6;color:var(--muted);}
.terms-foot{padding:12px 18px calc(16px + env(safe-area-inset-bottom) * 0);border-top:1px solid var(--hair);}
.terms-ok{width:100%;min-height:48px;border:0;border-radius:14px;font:800 14px var(--font);color:color-mix(in srgb,#000 80%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(24px*var(--g)) -6px var(--accent);cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .25s var(--ease);}
.terms-ok:hover{transform:translateY(-1px);box-shadow:0 0 calc(32px*var(--g)) -4px var(--accent);}
.terms-ok:active{transform:scale(.98);}

@media(max-width:600px){
  .terms-overlay{place-items:end center;padding:0;}
  .terms-box{width:100%;max-height:92%;border-radius:26px 26px 0 0;transform:translateY(100%);}
  .terms-box::after{content:"";position:absolute;top:7px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:color-mix(in srgb,var(--text) 22%,transparent);z-index:3;}
  .terms-head{padding-top:22px;}
  .terms-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom));}
}

.notice{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .3s var(--ease);}
.notice.in{opacity:1;}
.notice.out{opacity:0;pointer-events:none;}
.notice-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--bad) 22%,transparent),transparent 60%),color-mix(in srgb,#02040a 82%,transparent);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);}
.notice-card{position:relative;width:min(430px,100%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:30px 24px 22px;border-radius:26px;background:linear-gradient(170deg,color-mix(in srgb,var(--bad) 10%,var(--panel)),var(--panel) 46%);border:1px solid color-mix(in srgb,var(--bad) 45%,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(35px*var(--g)) -20px color-mix(in srgb,var(--bad) 80%,transparent);transform:translateY(22px) scale(.95);transition:transform .4s var(--ease-spring);}
.notice.in .notice-card{transform:none;}
.notice-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--adm-ang),transparent 0 62%,var(--bad) 80%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;}
html[data-anim='on'] .notice-card::before{animation:adm-spin 4.2s linear infinite;}
@keyframes adm-spin{to{--adm-ang:360deg;}}
.notice-orb{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;color:var(--bad);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--bad) 26%,transparent),color-mix(in srgb,var(--bad) 8%,transparent));border:1.5px solid color-mix(in srgb,var(--bad) 60%,transparent);box-shadow:0 0 calc(38px*var(--g)) -6px color-mix(in srgb,var(--bad) 85%,transparent),inset 0 0 22px color-mix(in srgb,var(--bad) 22%,transparent);margin-bottom:4px;}
.notice-orb .ico{width:38px;height:38px;filter:drop-shadow(0 0 calc(8px*var(--g)) var(--bad));}
.notice-orb i{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--bad) 55%,transparent);opacity:0;}
html[data-anim='on'] .notice-orb i{animation:adm-ring 2.6s ease-out infinite;}
html[data-anim='on'] .notice-orb i:nth-child(2){animation-delay:1.3s;}
.notice-card h2{margin:0;font:800 22px/1.2 var(--font);letter-spacing:-.02em;}
.notice-text{margin:0;color:var(--muted);font-size:14px;line-height:1.55;}
.notice-reason{width:100%;display:flex;flex-direction:column;gap:3px;padding:11px 14px;border-radius:var(--r-md);background:color-mix(in srgb,var(--bad) 10%,transparent);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent);text-align:left;}
.notice-reason span{font:800 10.5px/1 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--bad);}
.notice-reason b{font-weight:600;font-size:13.5px;overflow-wrap:anywhere;}
.notice-again{margin:0;color:var(--faint);font-size:12.5px;}
.notice-ok{width:100%;min-height:48px;margin-top:6px;background:linear-gradient(140deg,color-mix(in srgb,var(--bad) 82%,#fff),var(--bad));color:#fff;border-color:transparent;box-shadow:0 0 calc(24px*var(--g)) -6px color-mix(in srgb,var(--bad) 85%,transparent);}
.notice-ok:hover{filter:brightness(1.1);}
.notice-tg{display:inline-flex;align-items:center;gap:6px;color:var(--faint);font-size:12px;text-decoration:none;transition:color .16s var(--ease),transform .22s var(--ease-spring);}
.notice-tg:hover{color:var(--text);transform:translateY(-1px);}

html[data-anim='off'] .adm *,html[data-anim='off'] .notice *,html[data-anim='off'] .terms-overlay *,html[data-anim='off'] .sess,html[data-anim='off'] #sess-card *{animation:none!important;}
@media(prefers-reduced-motion:reduce){
  .adm *,.notice *,.terms-overlay *,.sess,#sess-card *,.adm-open::before{animation:none!important;transition-duration:.01ms!important;}
}

html[data-mode='light'] .terms-copy a,html[data-mode='light'] .terms-sec .n{color:var(--accent-ink);}
html[data-mode='light'] .terms-check{background:color-mix(in srgb,#fff 80%,var(--panel-2));}
html[data-mode='light'] .terms-check:has(input:checked){color:var(--text);}
html[data-mode='light'] .terms-box{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 8%,#fff),#fff 45%);}
html[data-mode='light'] .terms-sec{background:color-mix(in srgb,#2a1f16 3%,#fff);}
html[data-mode='light'] .terms-scrim{background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 62%),color-mix(in srgb,#1b1410 52%,transparent);}

.heart-fly img,.heart-rain img{display:block;width:100%;height:100%;object-fit:contain;filter:hue-rotate(var(--hue,0deg)) drop-shadow(0 0 calc(7px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent));}
#heartglyph{display:flex!important;align-items:center;justify-content:center;line-height:0!important;}
#heartglyph img{display:block;}
#heartglyph img{width:128px;height:128px;object-fit:contain;pointer-events:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 18px color-mix(in srgb,#000 45%,transparent));transition:filter .35s var(--ease),transform .35s var(--ease-spring);}
#heartglyph[data-tier='1'] img{filter:hue-rotate(28deg) saturate(1.25) drop-shadow(0 0 16px color-mix(in srgb,var(--warn) 70%,transparent));transform:scale(1.05);}
#heartglyph[data-tier='2'] img{filter:hue-rotate(95deg) saturate(1.45) drop-shadow(0 0 22px color-mix(in srgb,var(--accent-2,var(--accent)) 80%,transparent));transform:scale(1.1);}
#heartglyph[data-tier='3'] img{filter:hue-rotate(-40deg) saturate(1.7) brightness(1.1) drop-shadow(0 0 28px color-mix(in srgb,var(--bad) 85%,transparent));transform:scale(1.16);}
@media(max-width:480px){#heartglyph img{width:108px;height:108px;}}
.view-fail{display:grid;justify-items:center;gap:14px;padding:30px 18px;text-align:center;}
.view-fail p{margin:0;color:var(--muted);font:600 14px/1.45 var(--font);max-width:34ch;}

.pg-hud{position:fixed;z-index:10;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 18px;border-radius:99px;background:color-mix(in srgb,var(--panel) 90%,transparent);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-2),0 0 calc(34px*var(--g)) -14px var(--accent);white-space:nowrap;}
.pg-score{display:flex;align-items:baseline;gap:7px;}
.pg-score b{min-width:2ch;font:800 28px var(--font);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 calc(16px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent);}
.pg-score span{color:var(--muted);font:700 11px var(--font);letter-spacing:.08em;text-transform:uppercase;}
.pg-best{color:var(--faint);font:700 11px var(--mono);}
.pg-best.new{color:var(--good);text-shadow:0 0 calc(10px*var(--g)) var(--good);}

.pg-streak{--tc:var(--accent);position:relative;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 7px;border-radius:99px;color:var(--tc);background:color-mix(in srgb,var(--tc) 12%,transparent);border:1px solid color-mix(in srgb,var(--tc) 45%,transparent);overflow:hidden;font:800 16px var(--font);}
.pg-streak[hidden]{display:none;}
.pg-streak[data-tier='2'],.pg-streak[data-tier='3']{--tc:var(--warn);}
.pg-streak[data-tier='4'],.pg-streak[data-tier='5'],.pg-streak[data-tier='6']{--tc:var(--bad);}
.pg-streak i{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--tc);transform-origin:left;transform:scaleX(var(--k,0));box-shadow:0 0 calc(8px*var(--g)) var(--tc);transition:transform .1s linear;}
.pg-flame{display:grid;place-items:center;filter:drop-shadow(0 0 calc(6px*var(--g)) var(--tc));}
.pg-streak.beat{animation:pg-beat .22s var(--ease-out);}
.pg-streak.lost{animation:pg-lost .55s var(--ease-out);filter:grayscale(.8);}
@keyframes pg-beat{40%{transform:scale(1.14);}}
@keyframes pg-lost{20%{transform:translateX(-7px);}45%{transform:translateX(6px);}70%{transform:translateX(-3px);}}

.pg-bar{position:fixed;z-index:10;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));display:flex;align-items:center;gap:8px;}
.pg-bar .playexit{position:static;}
.pg-lbbtn{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 16px;border-radius:99px;font:700 13px var(--font);color:var(--text);cursor:pointer;background:color-mix(in srgb,var(--panel) 90%,transparent);border:1px solid color-mix(in srgb,var(--warn) 50%,var(--hair-strong));transition:transform .2s var(--ease-out),box-shadow .25s var(--ease),border-color .25s;}
.pg-lbbtn .ico{color:var(--warn);filter:drop-shadow(0 0 calc(6px*var(--g)) var(--warn));}
.pg-lbbtn:hover{transform:translateY(-1px);box-shadow:var(--lift-2),0 0 calc(24px*var(--g)) -6px var(--warn);}
.pg-lbbtn[aria-expanded='true']{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,var(--panel));}

.pg-lb{position:fixed;z-index:10;top:calc(64px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));width:min(350px,calc(100vw - 24px));max-height:calc(100vh - 150px - env(safe-area-inset-top));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--panel);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(25px*var(--g)) -19px var(--warn);animation:pg-in .32s var(--ease-spring);}
.pg-lb[hidden]{display:none;}
@keyframes pg-in{from{opacity:0;transform:translateY(-10px) scale(.96);}}
.pg-lb header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--hair);font:800 14px var(--font);}
.pg-lb header span{display:inline-flex;align-items:center;gap:8px;}
.pg-lb header .ico{color:var(--warn);}
.pg-lbx{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;border:1px solid var(--hair-strong);background:transparent;color:var(--muted);cursor:pointer;}
.pg-lbx:hover{color:var(--text);border-color:var(--accent);}
.pg-rows{padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain;}
.pg-empty{margin:18px 10px;text-align:center;color:var(--faint);font-size:13px;}
.pg-row{display:grid;grid-template-columns:24px 34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid transparent;}
.pg-row.me{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:0 0 calc(18px*var(--g)) -8px var(--accent);}
.pg-row.first{background:color-mix(in srgb,var(--warn) 10%,transparent);}
.pg-rk{display:grid;place-items:center;color:var(--faint);font:800 13px var(--mono);}
.pg-row.first .pg-rk{color:var(--warn);filter:drop-shadow(0 0 calc(6px*var(--g)) var(--warn));}
.pg-ava{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.pg-ava.ph{display:grid;place-items:center;font-weight:800;font-size:14px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));}
.pg-who{display:grid;gap:5px;min-width:0;}
.pg-who b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pg-who i{display:block;height:5px;border-radius:99px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden;}
.pg-who u{display:block;height:100%;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong));}
.pg-row.first .pg-who u{background:linear-gradient(90deg,var(--warn),var(--accent-strong));}
.pg-row em{font:800 16px var(--font);font-style:normal;font-variant-numeric:tabular-nums;}

.pg-fx{position:fixed;inset:0;z-index:12;pointer-events:none;overflow:hidden;}
.pg-pop{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;animation:pg-pop 1.3s var(--ease-out) forwards;}
.pg-pop b{display:block;font:900 clamp(40px,9vw,84px)/1 var(--font);letter-spacing:-.03em;color:var(--accent-strong);text-shadow:0 0 calc(30px*var(--g)) var(--accent),0 0 calc(70px*var(--g)) color-mix(in srgb,var(--accent) 60%,transparent);}
.pg-pop.tier-3 b,.pg-pop.tier-4 b{color:var(--warn);text-shadow:0 0 calc(30px*var(--g)) var(--warn),0 0 calc(70px*var(--g)) color-mix(in srgb,var(--warn) 60%,transparent);}
.pg-pop.tier-5 b,.pg-pop.tier-6 b{color:var(--bad);font-size:clamp(52px,12vw,110px);text-shadow:0 0 calc(34px*var(--g)) var(--bad),0 0 calc(90px*var(--g)) color-mix(in srgb,var(--bad) 60%,transparent);}
.pg-pop.record{top:20%;}
.pg-pop.record b{font-size:clamp(26px,6vw,46px);color:var(--good);text-shadow:0 0 calc(24px*var(--g)) var(--good);}
.pg-pop.lost{top:56%;animation-duration:1.1s;}
.pg-pop.lost b{font-size:clamp(18px,4vw,26px);color:var(--bad);text-shadow:0 0 calc(16px*var(--g)) var(--bad);}
.pg-pop.passed{top:auto;bottom:calc(92px + env(safe-area-inset-bottom));}
.pg-pop.passed b{font-size:clamp(16px,3.6vw,22px);color:var(--good);text-shadow:0 0 calc(14px*var(--g)) var(--good);}
@keyframes pg-pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.5);}18%{opacity:1;transform:translate(-50%,-50%) scale(1.14);}35%{transform:translate(-50%,-50%) scale(1);}100%{opacity:0;transform:translate(-50%,-110%) scale(1.02);}}

.playing.pg-flash::after,.playing.pg-flash-big::after{content:"";position:fixed;inset:0;z-index:8;pointer-events:none;box-shadow:inset 0 0 120px 10px color-mix(in srgb,var(--accent) 40%,transparent);animation:pg-flash .6s var(--ease-out) forwards;}
.playing.pg-flash-big::after{box-shadow:inset 0 0 220px 40px color-mix(in srgb,var(--warn) 55%,transparent);animation-duration:.7s;}
@keyframes pg-flash{from{opacity:1;}to{opacity:0;}}

@media(max-width:767px){
  .pg-hud{gap:10px;padding:8px 14px;max-width:calc(100vw - 20px);}
  .pg-score b{font-size:23px;}
  .pg-best{display:none;}
  .pg-lbbtn span{display:none;}
  .pg-lbbtn{padding:0;width:44px;justify-content:center;}
  .pg-lb{top:calc(64px + env(safe-area-inset-top));left:12px;right:12px;width:auto;}
}

html[data-anim='off'] .pg-pop,html[data-anim='off'] .pg-lb,html[data-anim='off'] .pg-streak{animation:none!important;}
html[data-anim='off'] .playing::after{animation:none!important;opacity:0;}
@media(prefers-reduced-motion:reduce){.pg-pop,.pg-lb,.pg-streak{animation:none!important;}.playing::after{animation:none!important;opacity:0;}.pg-pop{opacity:1;}}

#lock .locktop{gap:4px;padding:5px;border-radius:99px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--hair));box-shadow:var(--lift-2),0 0 calc(30px*var(--g)) -16px var(--accent);}
#lock .locktop .locktop-btn{width:44px;height:44px;border:0;background:transparent;box-shadow:none;color:var(--muted);transition:transform .25s var(--ease-spring),color .2s var(--ease),background .2s var(--ease),box-shadow .25s var(--ease);}
#lock .locktop .locktop-btn:hover{transform:none;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 13%,transparent);box-shadow:0 0 calc(18px*var(--g)) -4px color-mix(in srgb,var(--accent) 70%,transparent);}
#lock .locktop .locktop-btn:active{transform:scale(.9);}
#lock .locktop .locktop-btn[aria-expanded='true']{background:color-mix(in srgb,var(--accent) 18%,transparent);}
#lock .locktop .landing-prefs-swatch{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 22%,transparent),0 0 calc(12px*var(--g)) var(--accent);}
#lock .locktop .locktop-langs{padding:0;border:0;background:transparent;gap:2px;}
#lock .locktop .locktop-lang{min-width:44px;min-height:44px;border-radius:99px;font:800 11.5px var(--mono);letter-spacing:.08em;transition:color .2s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);}
#lock .locktop .locktop-lang:hover:not(.on){color:var(--text);background:color-mix(in srgb,var(--text) 7%,transparent);}
#lock .locktop .locktop-lang.on{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 72%,transparent),0 0 calc(10px*var(--g)) -4px var(--accent);}
#lock .locktop .locktop-sound.off{opacity:.55;}

#lock .lockback,#lock .lockplay{position:relative;top:auto;left:auto;height:38px;padding:0 15px 0 11px;font:750 12.5px var(--font);letter-spacing:.02em;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--lift-1);}
#lock .lockplay{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 50%,var(--hair));}
#lock .lockplay::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%);transform:translateX(-130%);}
html[data-anim='on'] #lock .lockplay::after{animation:lu-sheen 4.8s ease-in-out infinite;}
@keyframes lu-sheen{0%,55%{transform:translateX(-130%);}100%{transform:translateX(130%);}}
#lock .lockplay .ico{filter:drop-shadow(0 0 calc(6px*var(--g)) var(--accent));}
#lock .lockplay:hover{transform:translateY(-1px);color:var(--text);box-shadow:var(--lift-2),0 0 calc(26px*var(--g)) -4px var(--accent);}
#lock .lockplay:active,#lock .lockback:active{transform:scale(.96);}

#lock .lockabout{width:38px;height:38px;background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--lift-1);transition:transform .3s var(--ease-spring),color .2s var(--ease),border-color .2s var(--ease),box-shadow .25s var(--ease);}
#lock .lockabout:hover{transform:rotate(14deg) scale(1.06);color:var(--accent-strong);border-color:var(--accent);box-shadow:var(--lift-2),0 0 calc(22px*var(--g)) -4px var(--accent);}

#lock #unlock{position:relative;overflow:hidden;border:0;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));font-weight:800;box-shadow:0 0 calc(34px*var(--g)) -8px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent);transition:transform .25s var(--ease-out),box-shadow .3s var(--ease);}
#lock #unlock::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,#fff 55%,transparent),transparent 65%);transform:translateX(-140%);}
html[data-anim='on'] #lock #unlock::after{animation:lu-sheen 5.4s ease-in-out infinite;}
#lock #unlock:hover{transform:translateY(-2px);box-shadow:0 0 calc(48px*var(--g)) -6px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 50%,transparent);}
#lock #unlock:active{transform:scale(.98);}

@media(max-width:767px){
  #lock .locktop{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));}
  #lock .locktop .locktop-btn{width:44px;height:44px;}
  #lock .locktop .locktop-lang{min-width:44px;min-height:44px;}
}
html[data-anim='off'] #lock .lockplay::after,html[data-anim='off'] #lock #unlock::after{animation:none!important;}
@media(prefers-reduced-motion:reduce){#lock .lockplay::after,#lock #unlock::after{animation:none!important;}#lock .lockabout:hover{transform:none;}}

#lock .lockui>.locktop,#lock .auth-lockui>.locktop{width:auto;max-width:none;}

#lock .auth-back a{isolation:isolate;}
#lock .auth-back a::after{z-index:-1;}

@media(min-width:1200px){
  :root{--side:244px;}
  #side{padding:24px 16px calc(18px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));gap:6px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--panel)),var(--panel) 38%,color-mix(in srgb,var(--panel) 94%,#000));border-right:0;box-shadow:inset -1px 0 0 var(--w-edge),18px 0 60px -34px rgba(0,0,0,.7);}
  #side::before{content:"";position:absolute;z-index:-1;left:-90px;top:-110px;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 24%,transparent),transparent);pointer-events:none;}
  html[data-anim='on'] #side::before{animation:sd-drift 14s ease-in-out infinite alternate;}
  #side::after{content:"";position:absolute;z-index:1;top:0;right:0;height:220%;width:1px;will-change:transform;pointer-events:none;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 70%,transparent) 22%,color-mix(in srgb,var(--accent) 12%,transparent) 62%,transparent);background-size:100% 100%;}
  html[data-anim='on'] #side::after{animation:sd-edge 9s ease-in-out infinite alternate;}
  @keyframes sd-drift{to{transform:translate(50px,40px) scale(1.14);}}
  @keyframes sd-edge{from{transform:translateY(0);}to{transform:translateY(-54.545%);}}

  #side .side-brand{display:flex;align-items:center;gap:12px;padding:0 4px 14px;margin-bottom:4px;border-bottom:1px solid var(--w-edge);}
  #side .side-mark{position:relative;flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;}
  #side .side-mark img{width:44px;height:44px;flex:none;}
  #side .side-name{display:grid;gap:5px;min-width:0;}
  #side .side-name b{font:850 19px/1 var(--font);letter-spacing:-.035em;background:linear-gradient(100deg,var(--text) 10%,var(--accent-strong) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
  #side .side-name small{font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--accent) 60%,var(--muted));}

  #side-tabs{gap:3px;padding:2px 0;}
  #side-tabs .rail-sec{display:flex;align-items:center;gap:8px;margin:10px 6px 4px;color:var(--faint);font:800 9px var(--mono);letter-spacing:.16em;text-transform:uppercase;}
  #side-tabs .rail-sec:first-child{margin-top:4px;}
  #side-tabs .rail-sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--w-edge),transparent);}

  #side-tabs .rail-btn{--rc:var(--accent);min-height:40px;padding:5px 10px 5px 7px;gap:10px;border-radius:12px;border:1px solid transparent;font:650 13.5px var(--font);letter-spacing:.005em;transition:transform .3s var(--ease-spring),background .25s var(--ease),border-color .25s var(--ease),color .2s var(--ease);}
  #side-tabs .rail-btn .ico{flex:0 0 28px;width:28px;height:28px;padding:6px;border-radius:9px;box-sizing:border-box;color:var(--muted);background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid var(--w-edge);transition:transform .35s var(--ease-spring),color .25s var(--ease),background .25s var(--ease),box-shadow .3s var(--ease),border-color .25s;}
  #side-tabs .rail-btn:hover:not(.on){color:var(--text);background:color-mix(in srgb,var(--accent) 7%,transparent);transform:translateX(3px);}
  #side-tabs .rail-btn:hover:not(.on) .ico{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:0 0 calc(5px*var(--g)) -2px var(--accent);transform:rotate(-6deg) scale(1.06);}
  #side-tabs .rail-btn:active{transform:scale(.98);}
  #side-tabs .rail-btn.on{color:var(--text);border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:linear-gradient(100deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));box-shadow:0 0 calc(28px*var(--g)) -12px var(--accent);}
  #side-tabs .rail-btn.on .ico{color:color-mix(in srgb,#000 80%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-color:transparent;box-shadow:0 0 calc(22px*var(--g)) -2px var(--accent);}
  #side-tabs .rail-btn.on::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 65%);transform:translateX(-130%);}
  html[data-anim='on'] #side-tabs .rail-btn.on::after{animation:lu-sheen 6s ease-in-out infinite;}
  #side-tabs .rail-glow{display:none!important;}

  #side .side-credit{align-self:stretch;justify-content:center;margin:12px 0 0;}

  main#view{max-width:1120px;padding-top:26px;}
  #brand{max-width:1120px;}
}
@media(min-width:1600px){main#view,#brand{max-width:1280px;}}
html[data-anim='off'] #side::before,html[data-anim='off'] #side::after,html[data-anim='off'] #side-tabs .rail-btn.on::after{animation:none!important;}
@media(prefers-reduced-motion:reduce){#side::before,#side::after,#side-tabs .rail-btn.on::after{animation:none!important;}#side-tabs .rail-btn:hover .ico{transform:none!important;}}
html[data-mode='light'] #side .side-name b{background:linear-gradient(100deg,var(--text) 15%,var(--accent-ink) 100%);-webkit-background-clip:text;background-clip:text;}
html[data-mode='light'] #side .side-name small{color:var(--accent-ink);}
html[data-mode='light'] #side-tabs .rail-btn.on{color:var(--text);}
html[data-mode='light'] #side-tabs .rail-btn:hover:not(.on) .ico{color:var(--accent-ink);}

.mg-card{padding:16px;display:grid;gap:12px;}
.mg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mg-title{display:flex;align-items:center;gap:10px;min-width:0;}
.mg-title b{font:800 19px var(--font);letter-spacing:-.02em;}
.mg-today{padding:5px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-strong);font:750 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .25s var(--ease);}
.mg-today:hover{transform:translateY(-1px);box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);}
.mg-dow{display:grid;grid-template-columns:34px repeat(7,minmax(0,1fr));text-align:center;color:var(--faint);font:800 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;}
.mg-dow .wk{opacity:.6;}
.mg-dow span:nth-child(n+7){color:color-mix(in srgb,var(--accent) 55%,var(--faint));}
.mg-grid{display:grid;grid-template-columns:34px repeat(7,minmax(0,1fr));gap:1px;border-radius:20px;overflow:hidden;background:color-mix(in srgb,var(--text) 14%,transparent);border:1px solid color-mix(in srgb,var(--text) 14%,transparent);box-shadow:var(--lift-1),0 0 calc(30px*var(--g)) -18px var(--accent);}
.mg-wk{display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 96%,var(--accent));color:var(--faint);font:800 10.5px var(--mono);}

.mg-day{--c0:color-mix(in srgb,var(--accent) calc(var(--k,0)*10%),var(--panel));position:relative;display:flex;flex-direction:column;gap:6px;align-items:stretch;min-height:106px;min-width:0;padding:8px 8px 10px;border:0;border-radius:0;text-align:left;color:var(--text);background:var(--c0);cursor:pointer;overflow:hidden;transition:background .25s var(--ease),box-shadow .25s var(--ease);}
.mg-day::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:calc(var(--k,0)*100%);background:linear-gradient(90deg,var(--accent),var(--accent-strong));box-shadow:0 0 calc(10px*var(--g)) var(--accent);transition:width .5s var(--ease-out);}
.mg-day:hover{background:color-mix(in srgb,var(--accent) 9%,var(--c0));z-index:1;}
.mg-day:active{background:color-mix(in srgb,var(--accent) 14%,var(--c0));}
.mg-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:2;}
.mg-top{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.mg-num{display:grid;place-items:center;min-width:26px;height:26px;padding:0 5px;box-sizing:border-box;border-radius:9px;font:800 14px var(--font);font-variant-numeric:tabular-nums;line-height:1;}
.mg-cnt{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;box-sizing:border-box;border-radius:99px;font:800 11.5px var(--font);font-variant-numeric:tabular-nums;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(12px*var(--g)) -2px var(--accent);}
.mg-cnt.ok{color:var(--bg);background:var(--good);box-shadow:0 0 calc(12px*var(--g)) -2px var(--good);}
.mg-day.out{opacity:.38;}
.mg-day.out:hover{opacity:.75;}
.mg-day.today .mg-num{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(16px*var(--g)) -2px var(--accent);}
.mg-day.sel{background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 18%,var(--panel)),color-mix(in srgb,var(--accent) 6%,var(--panel)));box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 calc(30px*var(--g)) -10px var(--accent);z-index:1;animation:mg-pop .3s var(--ease-spring);}
.mg-day.sel .mg-num{color:var(--accent-strong);}
.mg-day.sel.today .mg-num{color:color-mix(in srgb,#000 82%,var(--accent));}
@keyframes mg-pop{from{transform:scale(.97);}}
.mg-lines{display:flex;flex-direction:column;gap:3px;min-width:0;}
.mg-lines i{display:flex;align-items:baseline;gap:6px;min-width:0;padding-left:7px;border-left:2px solid var(--c);font-style:normal;font-size:11.5px;line-height:1.25;}
.mg-lines i u{flex:none;text-decoration:none;color:var(--c);font:800 10.5px var(--mono);letter-spacing:-.01em;}
.mg-lines i span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:600;}
.mg-lines i.d{opacity:.5;}
.mg-lines i.d span{text-decoration:line-through;}
.mg-lines em{padding-left:9px;color:var(--faint);font:800 10.5px var(--mono);font-style:normal;}

.mg-grid.in-next .mg-day{animation:mg-in-next .42s var(--ease-out) both;animation-delay:calc(var(--i)*9ms);}
.mg-grid.in-prev .mg-day{animation:mg-in-prev .42s var(--ease-out) both;animation-delay:calc(var(--i)*9ms);}
@keyframes mg-in-next{from{opacity:0;transform:translateX(26px);}}
@keyframes mg-in-prev{from{opacity:0;transform:translateX(-26px);}}

.cd-card{display:grid;gap:12px;padding:16px;}
.cd-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.cd-ttl{display:grid;gap:3px;min-width:0;flex:1 1 160px;}
.cd-ttl b{font:800 17px var(--font);letter-spacing:-.015em;text-transform:capitalize;}
.cd-ttl small{color:var(--faint);font-size:12px;}
.cd-meter{flex:0 1 120px;height:6px;border-radius:99px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden;}
.cd-meter u{display:block;height:100%;width:var(--p);border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--good));box-shadow:0 0 calc(10px*var(--g)) var(--accent);transition:width .5s var(--ease-out);}
.cd-add{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;}
.cd-list{display:grid;gap:8px;}
.cd-task{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 10px 10px 16px;border-radius:14px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--w-edge);overflow:hidden;transition:transform .22s var(--ease-out),border-color .25s,box-shadow .25s;}
.cd-task::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c);box-shadow:0 0 calc(12px*var(--g)) var(--c);}
.cd-task:hover{transform:translateX(2px);border-color:color-mix(in srgb,var(--c) 50%,transparent);}
.cd-main{min-width:0;display:grid;gap:3px;cursor:pointer;}
.cd-main b{font:700 14.5px var(--font);overflow-wrap:anywhere;}
.cd-main small{color:var(--faint);font:600 12px var(--mono);}
.cd-task.is-done::before{opacity:.4;box-shadow:none;}
.cd-edit{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--faint);cursor:pointer;transition:color .2s,background .2s,border-color .2s;}
.cd-edit:hover{color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);}
.cd-task .del{width:34px;height:34px;}

@media(max-width:767px){
  .mg-card{padding:12px 8px;gap:10px;}
  .mg-dow,.mg-grid{grid-template-columns:20px repeat(7,minmax(0,1fr));}
  .mg-wk{font-size:9px;}
  .mg-day{min-height:78px;padding:5px 4px 8px;gap:4px;}
  .mg-num{min-width:22px;height:22px;font-size:12.5px;border-radius:8px;}
  .mg-cnt{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 3px;font-size:9px;}
  .mg-num{min-width:20px;height:20px;font-size:12px;padding:0 3px;}
  .mg-lines i{padding-left:4px;gap:0;}
  .mg-lines i span{display:none;}
  .mg-lines i u{font-size:9.5px;}
  .mg-lines i:nth-child(n+3){display:none;}
  .cd-card{padding:12px;}
  .cd-meter{display:none;}
  .cd-add{flex:1 1 100%;justify-content:center;}
}
@media(min-width:768px) and (max-width:1199px){.mg-day{min-height:clamp(78px,9vh,96px);height:clamp(78px,9vh,96px);}}
@media(min-width:1200px){.mg-day{min-height:clamp(88px,11vh,116px);height:clamp(88px,11vh,116px);}}

html[data-mode='light'] .mg-dow span:nth-child(n+6){color:var(--accent-ink);}
html[data-mode='light'] .mg-day{--c0:color-mix(in srgb,var(--accent) calc(var(--k,0)*12%),#fff);}
html[data-mode='light'] .mg-grid{background:color-mix(in srgb,#2a1f16 16%,transparent);border-color:color-mix(in srgb,#2a1f16 14%,transparent);}
html[data-mode='light'] .mg-wk{background:color-mix(in srgb,#fff 90%,var(--accent));}
html[data-mode='light'] .mg-day.sel .mg-num{color:var(--accent-ink);}
html[data-mode='light'] .mg-lines i span{color:var(--text);}
html[data-mode='light'] .mg-day.today .mg-num{color:var(--accent-ink);}
html[data-mode='light'] .mg-today{color:var(--accent-ink);}
html[data-mode='light'] .cd-edit:hover{color:var(--accent-ink);}
html[data-mode='light'] .cd-task{background:color-mix(in srgb,#2a1f16 3%,#fff);}

html[data-anim='off'] .mg-grid .mg-day,html[data-anim='off'] .mg-day.sel,html[data-anim='off'] .mg-day.today::after{animation:none!important;}
@media(prefers-reduced-motion:reduce){.mg-grid .mg-day,.mg-day.sel,.mg-day.today::after{animation:none!important;}}

.fx-burst{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;width:0;height:0;--bc:var(--accent);}
.fx-ring{position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;border:2px solid var(--bc);box-shadow:0 0 18px var(--bc),inset 0 0 12px var(--bc);}
.fx-dot,.fx-star{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:var(--sc);box-shadow:0 0 10px var(--sc);}
.fx-star{width:10px;height:10px;border-radius:0;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);}
.fx-confetti{inset:0;width:auto;height:auto;}
.fx-piece{position:fixed;width:7px;height:12px;border-radius:2px;background:var(--sc);box-shadow:0 0 8px var(--sc);}

.cd-task{padding:12px 10px 12px 18px;border-radius:16px;background:linear-gradient(100deg,color-mix(in srgb,var(--c) 12%,transparent),transparent 60%),color-mix(in srgb,var(--text) 3.5%,transparent);border:1px solid color-mix(in srgb,var(--c) 20%,var(--w-edge));box-shadow:0 0 calc(24px*var(--g)) -18px var(--c);transition:transform .25s var(--ease-out),border-color .25s,box-shadow .3s,background .3s,opacity .3s;}
.cd-task:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--c) 55%,transparent);box-shadow:0 0 calc(30px*var(--g)) -10px var(--c);}
.cd-task::before{width:4px;border-radius:0 4px 4px 0;}
.cd-task.is-done{opacity:.78;background:linear-gradient(100deg,color-mix(in srgb,var(--c) 6%,transparent),transparent 60%),color-mix(in srgb,var(--text) 2.5%,transparent);box-shadow:none;}
.cd-main b{display:flex;align-items:center;gap:8px;}
.cd-name{background:linear-gradient(currentColor,currentColor) no-repeat 0 58%/0% 2px;transition:background-size .45s var(--ease-out),opacity .3s;}
.cd-task.is-done .cd-name{background-size:100% 2px;opacity:.55;}
.cd-main small{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.cd-main small em{display:inline-flex;align-items:center;gap:4px;font-style:normal;padding:2px 9px;border-radius:99px;font:700 11px var(--mono);}
.cd-when{background:color-mix(in srgb,var(--c) 16%,transparent);color:color-mix(in srgb,var(--c) 75%,var(--text));}
.cd-where{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);}
.cd-tz{background:color-mix(in srgb,var(--accent-2,var(--accent)) 10%,transparent);color:var(--muted);font-variant-numeric:tabular-nums;}
.cd-check{position:relative;width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;padding:0;border:0;background:transparent;color:transparent;cursor:pointer;transition:transform .22s var(--ease-spring);}
.cd-check::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid color-mix(in srgb,var(--c,var(--accent)) 60%,var(--hair-strong));background:transparent;box-shadow:none;transition:border-color .2s,box-shadow .25s,background .25s;}
.cd-check:hover{transform:scale(1.1);}
.cd-check:hover::before{border-color:var(--c,var(--accent));box-shadow:0 0 calc(16px*var(--g)) -2px var(--c,var(--accent));}
.cd-check:active{transform:scale(.9);}
.cd-check.done{color:#141414;}
.cd-check.done::before{border-color:transparent;background:linear-gradient(140deg,color-mix(in srgb,var(--c) 55%,#fff),var(--c));box-shadow:0 0 calc(18px*var(--g)) -2px var(--c);}
.check .cd-tick{display:grid;place-items:center;transform:scale(.4);opacity:0;transition:transform .3s var(--ease-spring),opacity .2s;}
.check.done .cd-tick{transform:none;opacity:1;}
.cd-task.is-done::before{opacity:.5;}
html[data-anim='on'] .cd-task:not(.is-done)::before{animation:cd-bar 3.4s ease-in-out infinite;}
html[data-anim='on'] .just-done .check{animation:cd-pop .62s var(--ease-spring);}
html[data-anim='on'] .just-done .check .cd-tick path{stroke-dasharray:26;stroke-dashoffset:26;animation:cd-draw .42s .14s var(--ease-out) forwards;}
html[data-anim='on'] .cd-task.just-done{animation:cd-win .85s var(--ease-out);}
html[data-anim='on'] .cd-task.leaving{pointer-events:none;animation:cd-leave .22s var(--ease-out) forwards;}
@keyframes cd-leave{to{opacity:0;transform:translateX(18px) scale(.96);filter:blur(2px);}}
html[data-anim='on'] .cd-task.just-done::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--c) 38%,transparent) 50%,transparent 70%);transform:translateX(-110%);animation:cd-sweep .95s .05s ease-out forwards;}
html[data-anim='on'] .just-done .cd-name{animation:cd-strike .55s .12s var(--ease-out) both;}
html[data-anim='on'] .just-undone .check{animation:cd-shake .38s;}
html[data-anim='on'] .orb-row.just-done{animation:cd-win .85s var(--ease-out);}
@keyframes cd-pop{0%{transform:scale(.7);}40%{transform:scale(1.3) rotate(-8deg);}70%{transform:scale(.94);}100%{transform:scale(1);}}
@keyframes cd-draw{to{stroke-dashoffset:0;}}
@keyframes cd-win{0%{box-shadow:0 0 0 0 var(--c,var(--accent));}30%{transform:scale(1.015);box-shadow:0 0 0 2px var(--c,var(--accent)),0 0 36px 2px var(--c,var(--accent));}100%{transform:none;}}
@keyframes cd-sweep{to{transform:translateX(110%);}}
@keyframes cd-strike{from{background-size:0% 2px;}to{background-size:100% 2px;}}
@keyframes cd-shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-3px);}75%{transform:translateX(3px);}}
@keyframes cd-bar{0%,100%{opacity:.75;box-shadow:0 0 calc(6px*var(--g)) var(--c);}50%{opacity:1;box-shadow:0 0 calc(16px*var(--g)) var(--c);}}
html[data-mode='light'] .cd-check.done{color:#fff;}
@media(prefers-reduced-motion:reduce){.just-done,.just-done *,.just-undone *,.cd-task::before,.cd-task::after{animation:none!important;}}

.cd-task .del{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--faint);cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .2s var(--ease-spring);}
.cd-task .del:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent);border-color:color-mix(in srgb,var(--bad) 40%,transparent);transform:scale(1.06);}
.cd-task .del:active{transform:scale(.92);}

#view .orb-agenda .orb-list,#view .orb-agenda{gap:8px;}
#view .orb-row{position:relative;display:grid;grid-template-columns:76px 44px minmax(0,1fr);gap:12px;align-items:center;min-height:64px;padding:10px 14px 10px 0;margin:0;border:1px solid color-mix(in srgb,var(--c,var(--accent)) 20%,var(--w-edge));border-radius:16px;overflow:hidden;background:linear-gradient(100deg,color-mix(in srgb,var(--c,var(--accent)) 12%,transparent),transparent 62%),color-mix(in srgb,var(--text) 3.5%,transparent);box-shadow:0 0 calc(24px*var(--g)) -18px var(--c,var(--accent));transition:transform .25s var(--ease-out),border-color .25s,box-shadow .3s,opacity .3s;}
#view .orb-row+.orb-row{border-top:1px solid color-mix(in srgb,var(--c,var(--accent)) 20%,var(--w-edge));}
#view .orb-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 4px 4px 0;background:var(--c,var(--accent));box-shadow:0 0 calc(12px*var(--g)) var(--c,var(--accent));}
#view .orb-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--c,var(--accent)) 55%,transparent);box-shadow:0 0 calc(30px*var(--g)) -10px var(--c,var(--accent));}
#view .orb-row.is-done{opacity:.78;box-shadow:none;}
#view .orb-row.is-done::before{opacity:.5;box-shadow:none;}
#view .orb-row .orb-time{justify-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:62px;margin-left:16px;padding:4px 8px;border-radius:99px;white-space:nowrap;font:700 11.5px var(--mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--c,var(--accent)) 75%,var(--text));background:color-mix(in srgb,var(--c,var(--accent)) 16%,transparent);}
#view .orb-row .t{min-width:0;display:grid;gap:3px;}
#view .orb-row .t b{display:flex;align-items:center;gap:8px;font:700 14.5px var(--font);overflow:hidden;white-space:nowrap;}
#view .orb-row .t b .cd-name{overflow:hidden;text-overflow:ellipsis;}
#view .orb-row .t.done b{text-decoration:none;color:inherit;}
#view .orb-row.is-done .cd-name{background-size:100% 2px;opacity:.55;}
#view .orb-row .t small{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--muted);font:700 11px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;}
@media(max-width:420px){#view .orb-row{grid-template-columns:70px 30px minmax(0,1fr);gap:10px;}#view .orb-row .orb-time{min-width:56px;margin-left:12px;}}

.adm-open-ico.lab{background:linear-gradient(140deg,var(--accent-strong),var(--accent-2,var(--accent)));}
.lab{display:grid;gap:12px;min-width:0;}
.lab-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;padding:16px 18px;}
.lab-ttl h2{margin:4px 0 0;font:850 24px/1.1 var(--font);letter-spacing:-.03em;background:linear-gradient(100deg,var(--text) 10%,var(--accent-strong) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lab-stats{display:flex;gap:22px;}
.lab-stats div{display:grid;gap:2px;text-align:right;}
.lab-stats b{font:850 24px var(--font);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 55%,transparent);}
.lab-stats small{color:var(--faint);font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;}
.lab-modes{grid-column:1/-1;}
.lab-stage{position:relative;height:clamp(380px,calc(100vh - 290px),680px);border-radius:24px;overflow:hidden;background:radial-gradient(70% 70% at 50% 46%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 70%),color-mix(in srgb,var(--panel) 95%,#000);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-2),inset 0 0 80px -40px var(--accent);touch-action:none;}
.lab-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none;}
.lab-stage canvas:active{cursor:grabbing;}
.lab-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);margin:0;padding:8px 16px;border-radius:99px;color:var(--muted);font:600 12.5px var(--font);background:color-mix(in srgb,var(--panel) 88%,transparent);border:1px solid var(--w-edge);pointer-events:none;text-align:center;}
.lab-hint .ico{color:var(--accent-strong);}
.lab-meter{position:absolute;left:18px;right:18px;top:14px;height:4px;border-radius:99px;background:color-mix(in srgb,var(--text) 8%,transparent);overflow:hidden;pointer-events:none;}
.lab-meter u{display:block;height:100%;width:var(--p,0%);border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong),var(--warn));box-shadow:0 0 calc(12px*var(--g)) var(--accent);}
@media(max-width:767px){
  .lab-head{grid-template-columns:1fr;padding:14px;}
  .lab-stats{justify-content:flex-start;}
  .lab-stats div{text-align:left;}
  .lab-stage{height:clamp(340px,calc(100vh - 330px),560px);border-radius:20px;}
}
html[data-mode='light'] .lab-stage{background:radial-gradient(70% 70% at 50% 46%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),#fff;}
html[data-mode='light'] .lab-ttl h2{background:linear-gradient(100deg,var(--text) 15%,var(--accent-ink));-webkit-background-clip:text;background-clip:text;}
html[data-mode='light'] .lab-hint .ico{color:var(--accent-ink);}

html[data-anim='on'] #view.view-enter>*:not(.anim-in):not(#composer):not(.downbtn){animation:vw-in .5s var(--ease-out) both;animation-delay:calc(var(--vi,0)*50ms);}
#view.view-enter>*:nth-child(1){--vi:0;}#view.view-enter>*:nth-child(2){--vi:1;}#view.view-enter>*:nth-child(3){--vi:2;}#view.view-enter>*:nth-child(4){--vi:3;}#view.view-enter>*:nth-child(5){--vi:4;}#view.view-enter>*:nth-child(6){--vi:5;}#view.view-enter>*:nth-child(n+7){--vi:6;}
@keyframes vw-in{from{opacity:0;transform:translateY(14px);}}

@media(hover:hover) and (pointer:fine){
  html[data-anim='on'] .fx-spot{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 12%,transparent),transparent 72%),var(--w-wash,none),var(--w-glass,transparent);}
  html[data-anim='on'][data-mode='light'] .fx-spot{background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 72%),var(--w-wash,none),var(--w-glass,#fff);}
  html[data-anim='on'] .btn:not(.ghost):not([disabled]):not(.cd-add){position:relative;overflow:hidden;isolation:isolate;}
  html[data-anim='on'] .btn:not(.ghost):not([disabled]):not(.cd-add)::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,#fff 38%,transparent),transparent 65%);transform:translateX(-140%);}
  html[data-anim='on'] .btn:not(.ghost):not([disabled]):hover::after{transform:translateX(140%);transition:transform .7s var(--ease-out);}
  #view .chat-row:hover,#view .wish-ticket:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--w-edge));box-shadow:var(--lift-2),0 0 calc(24px*var(--g)) -10px var(--accent);}
  #view .chat-row,#view .wish-ticket{transition:transform .25s var(--ease-out),border-color .25s var(--ease),box-shadow .3s var(--ease);}
}
@media(prefers-reduced-motion:reduce){#view.view-enter>*{animation:none!important;}.fx-spot{background:none;}}

.tb-accent{position:relative;}
.tb-accent-btn .tb-swatch{width:18px;height:18px;border-radius:50%;background:var(--t,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb,var(--text) 22%,transparent),0 0 calc(12px*var(--g)) var(--t,var(--accent));}
.tb-pop{position:absolute;z-index:40;top:calc(100% + 10px);right:0;min-width:236px;padding:12px;border-radius:16px;background:var(--panel);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(40px*var(--g)) -18px var(--accent);animation:tb-in .24s var(--ease-spring);}
.tb-pop[hidden]{display:none;}
.tb-pop p{margin:0 0 10px;color:var(--faint);font:800 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;}
.tb-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;}
.tb-dot{aspect-ratio:1;border-radius:50%;border:2px solid transparent;background:var(--t);cursor:pointer;box-shadow:0 0 0 1px var(--hair);transition:transform .2s var(--ease-spring),box-shadow .25s var(--ease),border-color .2s;}
.tb-dot:hover{transform:scale(1.12);box-shadow:0 0 calc(14px*var(--g)) var(--t);}
.tb-dot.on{border-color:var(--text);transform:scale(1.08);box-shadow:0 0 0 1px var(--panel),0 0 calc(16px*var(--g)) var(--t);}
@keyframes tb-in{from{opacity:0;transform:translateY(-6px) scale(.96);}}
.tb-langs{display:inline-flex;align-items:center;gap:2px;height:36px;padding:3px;border-radius:99px;background:color-mix(in srgb,var(--text) 6%,transparent);}
.tb-lang{position:relative;isolation:isolate;min-width:44px;min-height:44px;padding:0;border:0;border-radius:99px;background:transparent;color:var(--muted);font:800 11.5px var(--mono);letter-spacing:.08em;cursor:pointer;transition:color .2s var(--ease),transform .2s var(--ease);}
.tb-lang::before{content:"";position:absolute;inset:7px;z-index:-1;border-radius:99px;background:transparent;box-shadow:none;transition:background .25s var(--ease),box-shadow .25s var(--ease);}
.tb-lang:hover:not(.on){color:var(--text);}
.tb-lang:hover:not(.on)::before{background:color-mix(in srgb,var(--text) 8%,transparent);}
.tb-lang.on{color:var(--text);}
.tb-lang.on::before{inset:6px;background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 72%,transparent),0 0 calc(10px*var(--g)) -4px var(--accent);}
@media(max-width:767px){.tb-pop{right:-60px;}}
html[data-anim='off'] .tb-pop{animation:none;}

.tb-title{display:none;}
@media(min-width:1200px){
  #brand .tb-title{display:flex;align-items:center;gap:14px;margin-right:auto;pointer-events:none;}
  .tb-title-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 11%,var(--w-glass-solid,var(--panel)));border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);box-shadow:0 0 calc(22px*var(--g)) -8px var(--accent);}
  .tb-title-txt{display:grid;gap:3px;}
  .tb-title-txt b{font:850 22px var(--font);letter-spacing:-.03em;line-height:1;}
  .tb-title-txt small{color:var(--faint);font:600 12px var(--font);text-transform:capitalize;}
  .tb-title.swap{animation:qa-rise .45s var(--ease-out) both;}
}
html[data-mode='light'] .tb-title-ico{color:var(--accent-ink);}
@media(min-width:1200px){
  #brand::before{content:"";position:absolute;z-index:-1;left:-8px;right:-8px;top:calc(-14px - env(safe-area-inset-top));bottom:-22px;pointer-events:none;opacity:0;background:color-mix(in srgb,var(--bg) 62%,transparent);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent);mask-image:linear-gradient(180deg,#000 62%,transparent);transition:opacity .28s var(--ease-out,ease-out);}
  html.is-scrolled #brand::before{opacity:1;}
}
@media (prefers-reduced-motion:reduce){#brand::before{transition:none;}}
html[data-anim='off'] #brand::before{transition:none;}

#side-tabs .side-add{position:relative;display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 4px;padding:7px 12px 7px 7px;border:0;border-radius:12px;text-align:left;cursor:pointer;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(135deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(14px*var(--g)) -7px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent);overflow:hidden;transition:transform .3s var(--ease-spring),box-shadow .3s var(--ease);}
#side-tabs .side-add::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,#fff 55%,transparent),transparent 65%);transform:translateX(-140%);}
html[data-anim='on'] .side-add::after{animation:lu-sheen 5s ease-in-out infinite;}
#side-tabs .side-add:hover{transform:translateY(-2px);box-shadow:0 0 calc(15px*var(--g)) -8px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 50%,transparent);}
#side-tabs .side-add:active{transform:scale(.97);}
#side-tabs .side-add-plus{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,#000 16%,transparent);color:#fff;transition:transform .45s var(--ease-spring);}
#side-tabs .side-add:hover .side-add-plus{transform:rotate(90deg);}
#side-tabs .side-add-txt{display:grid;gap:2px;}
#side-tabs .side-add-txt b{font:800 13px var(--font);letter-spacing:-.01em;}
#side-tabs .side-add-txt small{font:700 10px var(--font);opacity:.72;}

.qa-overlay{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:16px;opacity:0;transition:opacity .28s var(--ease);}
.qa-overlay.in{opacity:1;}
.qa-overlay.out{opacity:0;pointer-events:none;}
.qa-scrim{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),color-mix(in srgb,#02040a 70%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
.qa-card{position:relative;width:min(640px,100%);max-height:min(860px,100%);display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel) 40%);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(40px*var(--g)) -26px var(--accent);transform:translateY(26px) scale(.94);opacity:.4;transition:transform .5s var(--ease-spring),opacity .35s var(--ease);}
.qa-overlay.in .qa-card{transform:none;opacity:1;}
.qa-overlay.out .qa-card{transform:translateY(14px) scale(.97);}
.qa-card::before{content:"";position:absolute;left:0;width:400%;top:0;height:2px;z-index:2;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-strong),var(--accent),transparent);background-size:50% 100%;will-change:transform;animation:pp-edge 4.5s linear infinite;}
.qa-head,.qa-body>*,.qa-foot{opacity:0;transform:translateY(12px);}
.qa-overlay.in .qa-head,.qa-overlay.in .qa-body>*,.qa-overlay.in .qa-foot{animation:qa-rise .5s var(--ease-out) forwards;animation-delay:calc(var(--i,0)*60ms + 120ms);}
@keyframes qa-rise{to{opacity:1;transform:none;}}
.qa-head{display:flex;align-items:center;gap:14px;padding:20px 20px 8px;}
.qa-head>div{flex:1;min-width:0;}
.qa-head h2{margin:0;font:850 22px var(--font);letter-spacing:-.025em;}
.qa-head small{color:var(--faint);font-size:12.5px;}
.qa-plus{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(24px*var(--g)) -4px var(--accent);}
.qa-overlay.in .qa-plus .ico{animation:qa-spin .7s var(--ease-spring) .15s both;}
@keyframes qa-spin{from{transform:rotate(-180deg) scale(.4);}}
.qa-x{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--hair-strong);background:transparent;color:var(--muted);cursor:pointer;transition:transform .25s var(--ease-out),color .2s,border-color .2s;}
.qa-x:hover{color:var(--text);border-color:var(--accent);transform:rotate(90deg);}
.qa-body{display:grid;gap:16px;padding:10px 20px 6px;overflow-y:auto;overscroll-behavior:contain;}
.qa-name{position:relative;display:block;border-radius:16px;background:var(--panel-2);border:1px solid var(--w-edge);transition:border-color .3s,box-shadow .3s;}
.qa-name:focus-within{border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),0 0 calc(30px*var(--g)) -10px var(--accent);}
.qa-name input{width:100%;box-sizing:border-box;padding:18px 18px;border:0;background:transparent;color:var(--text);font:700 20px var(--font);letter-spacing:-.01em;outline:none;}
.qa-name input::placeholder{color:color-mix(in srgb,var(--faint) 85%,transparent);font-weight:600;}
.qa-name i{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-strong),var(--accent),transparent);transform:scaleX(0);transition:transform .5s var(--ease-out);}
.qa-name:focus-within i{transform:scaleX(1);}
.qa-name.need{animation:tc-shake .42s var(--ease-out);border-color:var(--bad);}
.qa-body section{display:grid;gap:9px;}
.qa-body h4{margin:0;display:flex;align-items:center;gap:7px;color:var(--faint);font:800 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;}
.qa-body h4 .ico{color:var(--accent-strong);}
.qa-chips{display:flex;flex-wrap:wrap;gap:7px;}
.qa-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border-radius:99px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--muted);font:700 13px var(--font);cursor:pointer;transition:transform .25s var(--ease-spring),background .2s var(--ease),border-color .2s,color .2s,box-shadow .25s;}
.qa-chip.mono{font-family:var(--mono);font-size:12.5px;}
.qa-chip:hover:not(:disabled){transform:translateY(-1px);color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);}
.qa-chip:disabled{opacity:.35;cursor:default;}
.qa-chip.on{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-color:transparent;box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);transform:scale(1.04);}
.qa-chip.cat{min-width:40px;justify-content:center;padding:0 10px;font-size:17px;}
.qa-chip.cat.on{background:color-mix(in srgb,var(--c) 22%,var(--panel-2));color:var(--text);border:1px solid var(--c);box-shadow:0 0 calc(18px*var(--g)) -2px var(--c);}
.qa-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 20px 18px;margin-top:6px;border-top:1px solid var(--w-edge);}
.qa-sum{flex:1 1 220px;margin:0;color:var(--muted);font:600 12.5px var(--mono);line-height:1.5;}
.qa-sum.swap{animation:qa-swap .35s var(--ease-out);}
@keyframes qa-swap{from{opacity:.3;transform:translateY(4px);}}
.qa-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px;min-height:48px;border:0;border-radius:14px;font:800 15px var(--font);color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(30px*var(--g)) -6px var(--accent);cursor:pointer;transition:transform .25s var(--ease-spring),box-shadow .3s;}
.qa-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 calc(44px*var(--g)) -4px var(--accent);}
.qa-save:active{transform:scale(.97);}

.qa-done{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:color-mix(in srgb,var(--panel) 94%,transparent);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);}
.qa-overlay.saved .qa-done{opacity:1;}
.qa-done svg{width:104px;height:104px;fill:none;stroke:var(--accent-strong);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 calc(14px*var(--g)) var(--accent));}
.qa-done circle{stroke-dasharray:145;stroke-dashoffset:145;}
.qa-done path{stroke-dasharray:40;stroke-dashoffset:40;}
.qa-overlay.saved .qa-done circle{animation:qa-draw .55s var(--ease-out) forwards;}
.qa-overlay.saved .qa-done path{animation:qa-draw .35s var(--ease-out) .4s forwards;}
@keyframes qa-draw{to{stroke-dashoffset:0;}}
.qa-done b{font:850 20px var(--font);color:var(--text);opacity:0;}
.qa-overlay.saved .qa-done b{animation:qa-rise .4s var(--ease-out) .5s forwards;}
.qa-burst{position:absolute;left:50%;top:50%;pointer-events:none;z-index:5;}
.qa-burst i{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--accent-strong);filter:hue-rotate(var(--h,0deg));box-shadow:0 0 calc(10px*var(--g)) var(--accent);animation:qa-fly .9s var(--ease-out) var(--d,0s) forwards;}
@keyframes qa-fly{to{transform:translate(var(--dx),var(--dy)) scale(.3);opacity:0;}}

@media(max-width:600px){
  .qa-overlay{place-items:end center;padding:0;}
  .qa-card{width:100%;max-height:94%;border-radius:26px 26px 0 0;transform:translateY(100%);}
  .qa-name input{font-size:18px;}
  .qa-foot{padding-bottom:calc(18px + env(safe-area-inset-bottom));}
}
html[data-mode='light'] .qa-chip.on,html[data-mode='light'] .qa-save{color:#fff;}
html[data-mode='light'] .qa-name,html[data-mode='light'] .qa-chip{background:color-mix(in srgb,#2a1f16 4%,#fff);}
html[data-anim='off'] .qa-card::before,html[data-anim='off'] .side-add::after{animation:none!important;}
@media(prefers-reduced-motion:reduce){.qa-head,.qa-body>*,.qa-foot{opacity:1;transform:none;animation:none!important;}.qa-card{transition:none;}.qa-card::before,.side-add::after{animation:none!important;}.qa-done *{animation-duration:.01ms!important;}}
#side #side-tabs{padding:12px 16px 16px;margin:-5px -16px -14px;}

:root{--cmp-b:88px;}
@media(min-width:1200px){:root{--cmp-b:20px;}}
#composer.cmp{position:sticky;left:auto;right:auto;transform:none;bottom:calc(var(--cmp-b) + env(safe-area-inset-bottom) + var(--kb));width:100%;margin-top:auto;display:block;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;border-radius:0;z-index:10;}
.cmp-box{position:relative;display:flex;align-items:flex-end;gap:8px;padding:8px;border-radius:24px;background:color-mix(in srgb,var(--panel) 95%,transparent);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-2),0 0 calc(30px*var(--g)) -16px var(--accent);transition:border-color .3s var(--ease),box-shadow .3s var(--ease);}
.cmp-box:focus-within{border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:var(--lift-2),0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent),0 0 calc(34px*var(--g)) -10px var(--accent);}
#composer.cmp textarea{flex:1 1 auto;min-width:0;min-height:42px;max-height:140px;padding:10px 4px;border:0;outline:none;resize:none;background:transparent;color:var(--text);font:500 15px/1.4 var(--font);overflow-y:auto;scrollbar-width:thin;}
#composer.cmp textarea::placeholder{color:color-mix(in srgb,var(--faint) 90%,transparent);}
#composer.cmp button{width:42px;height:42px;flex:0 0 42px;border-radius:15px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--muted);transition:transform .25s var(--ease-spring),background .25s var(--ease),color .2s,box-shadow .3s var(--ease),opacity .2s;}
#composer.cmp button:hover{transform:translateY(-1px);color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,transparent);}
#composer.cmp button:active{transform:scale(.92);}
#composer.cmp .cmp-mic.rec{color:var(--bad);border-color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent);animation:cmp-rec 1.2s ease-in-out infinite;}
@keyframes cmp-rec{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--bad) 18%,transparent);}}
#composer.cmp .cmp-send{opacity:.55;color:var(--faint);}
#composer.cmp.has-text .cmp-send{opacity:1;border-color:transparent;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(24px*var(--g)) -4px var(--accent);animation:cmp-ready .4s var(--ease-spring);}
@keyframes cmp-ready{from{transform:scale(.8);}}
#composer.cmp .cmp-send.fly .ico{animation:cmp-fly .5s var(--ease-out);}
@keyframes cmp-fly{40%{transform:translate(9px,-9px) scale(.8);opacity:0;}41%{transform:translate(-9px,9px);}100%{transform:none;opacity:1;}}
.cmp-hint{display:none;margin:7px 0 0;text-align:center;color:var(--faint);font:600 11px var(--mono);letter-spacing:.02em;}

#view:has(#composer){padding-bottom:0;flex:1 1 auto;min-height:0;}
#view:has(#composer) #msgs{flex:1 1 auto;min-height:0;}
.app-shell:has(#composer){min-height:100dvh;padding-bottom:calc(var(--cmp-b) + env(safe-area-inset-bottom) + var(--kb));}
@media(min-width:1200px){
  .cmp-hint{display:block;}
}
html[data-mode='light'] .cmp-box{background:#fff;}
html[data-mode='light'] #composer.cmp.has-text .cmp-send{color:#fff;}
html[data-anim='off'] #composer.cmp .cmp-mic.rec,html[data-anim='off'] #composer.cmp.has-text .cmp-send{animation:none;}
@media(prefers-reduced-motion:reduce){#composer.cmp .cmp-mic.rec,#composer.cmp.has-text .cmp-send,#composer.cmp .cmp-send.fly .ico{animation:none;}}

#voicerow .vlang{flex:none;font-size:11px;letter-spacing:.08em;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}
#voicerow #voicetext{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);}
#composer.cmp .cmp-mic.rec{box-shadow:0 0 calc(10px + 26px*var(--lvl,0)) color-mix(in srgb,var(--bad) 55%,transparent);}
.draft.act{--ac:var(--accent);border-color:color-mix(in srgb,var(--ac) 34%,transparent);animation:act-in .32s var(--ease-out,ease-out) both;}
.draft.act-delete{--ac:var(--bad);}
.draft.act-done{--ac:var(--good);}
.draft.act h3{display:flex;align-items:center;gap:8px;min-width:0;}
.draft.act h3 .act-ico{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent);box-shadow:0 0 calc(12px*var(--g,1)) -4px var(--ac);}
.draft.act .when{padding-left:34px;}
.draft.act .btnrow{margin-top:10px;}
.draft.act .btn.danger{background:color-mix(in srgb,var(--bad) 22%,var(--panel-2));border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:var(--text);}
.draft.act.is-settled{opacity:.62;}
.act-no{align-self:flex-start;padding:8px 14px;}
.act-state{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;font:700 12px var(--font);color:var(--muted);background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid var(--line-soft);}
.act-state.applied{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent);}
@keyframes act-in{from{opacity:0;transform:translateY(6px) scale(.98);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.draft.act{animation:none;}}
html[data-anim='off'] .draft.act{animation:none;}

#fab{position:fixed;z-index:60;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;}
#fab>*{pointer-events:auto;}
body:has(#app.hidden) #fab,html.locked #fab{display:none;}
.fab-row{display:flex;gap:10px;}
.fab-btn{position:relative;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--w-edge-hi,var(--hair-strong));background:color-mix(in srgb,var(--panel) 94%,transparent);color:var(--muted);cursor:pointer;box-shadow:var(--lift-2),0 0 calc(26px*var(--g)) -12px var(--accent);transition:transform .3s var(--ease-spring),color .2s,border-color .25s,box-shadow .3s;}
.fab-btn:hover{transform:translateY(-3px);color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:var(--lift-2),0 0 calc(30px*var(--g)) -4px var(--accent);}
.fab-btn:active{transform:scale(.92);}
.fab-support{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-color:transparent;box-shadow:0 0 calc(30px*var(--g)) -6px var(--accent);}
.fab-support:hover{color:color-mix(in srgb,#000 82%,var(--accent));}
html[data-anim='on'] .fab-support::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:fab-ping 3.4s ease-out infinite;}
@keyframes fab-ping{0%{transform:scale(.85);opacity:.55;}70%,100%{transform:scale(1.35);opacity:0;}}
.fab-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;display:grid;place-items:center;border-radius:99px;background:var(--bad);color:#fff;font:800 11px var(--font);font-style:normal;box-shadow:0 0 0 2px var(--bg),0 0 calc(10px*var(--g)) var(--bad);}
.fab-badge[hidden]{display:none;}
body:has(#composer) #fab{bottom:calc(var(--cmp-b,88px) + 92px + env(safe-area-inset-bottom) + var(--kb));}

#fab-stack{display:flex;flex-direction:column;align-items:flex-end;gap:10px;width:min(360px,calc(100vw - 24px));}
.fab-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:flex-start;width:100%;box-sizing:border-box;padding:13px 12px 15px 13px;border-radius:18px;background:var(--panel);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(34px*var(--g)) -14px var(--accent);overflow:hidden;cursor:default;opacity:0;transform:translateX(40px) scale(.96);transition:transform .45s var(--ease-spring),opacity .3s var(--ease);}
.fab-card.in{opacity:1;transform:none;}
.fab-card.out{opacity:0;transform:translateX(40px) scale(.95);}
.fab-card.k-reminder{border-color:color-mix(in srgb,var(--warn) 55%,transparent);box-shadow:var(--lift-3),0 0 calc(34px*var(--g)) -12px var(--warn);}
.fab-card.k-support{border-color:color-mix(in srgb,var(--accent) 60%,transparent);cursor:pointer;}
.fab-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);}
.fab-card.k-reminder .fab-ico{background:linear-gradient(140deg,color-mix(in srgb,var(--warn) 75%,#fff),var(--warn));box-shadow:0 0 calc(18px*var(--g)) -4px var(--warn);}
.fab-ico.sm{width:32px;height:32px;border-radius:10px;}
.fab-txt{display:grid;gap:3px;min-width:0;}
.fab-txt b{font:800 14px var(--font);overflow-wrap:anywhere;}
.fab-txt p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere;}
.fab-acts{display:flex;gap:7px;margin-top:7px;}
.fab-act{min-height:30px;padding:0 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-strong);font:750 12px var(--font);cursor:pointer;transition:transform .2s var(--ease-out),background .2s;}
.fab-act:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);transform:translateY(-1px);}
.fab-x{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;border:0;background:transparent;color:var(--faint);cursor:pointer;}
.fab-x:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent);}
.fab-life{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transform-origin:left;animation:fab-life var(--ttl,7s) linear forwards;}
.fab-card.k-reminder .fab-life{background:var(--warn);}
.fab-card.hold .fab-life{animation-play-state:paused;}
@keyframes fab-life{to{transform:scaleX(0);}}

.fab-panel{width:min(380px,calc(100vw - 24px));max-height:min(60vh,520px);display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--panel);border:1px solid var(--w-edge-hi,var(--hair-strong));box-shadow:var(--lift-3),0 0 calc(40px*var(--g)) -16px var(--accent);animation:tb-in .28s var(--ease-spring);}
.fab-panel[hidden]{display:none;}
.fab-panel header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--w-edge);font:800 14px var(--font);}
.fab-panel header button{border:0;background:transparent;color:var(--accent-strong);font:700 12px var(--font);cursor:pointer;}
#fab-list{overflow-y:auto;overscroll-behavior:contain;padding:8px;display:grid;gap:4px;}
.fab-item{display:flex;gap:11px;align-items:flex-start;width:100%;padding:10px;border:0;border-radius:14px;background:transparent;text-align:left;color:var(--text);cursor:pointer;transition:background .2s;}
.fab-item:hover{background:color-mix(in srgb,var(--accent) 8%,transparent);}
.fab-item.unread{background:color-mix(in srgb,var(--accent) 7%,transparent);}
.fab-item .fab-txt small{color:var(--muted);font-size:12px;}
.fab-item .fab-txt em{color:var(--faint);font:600 11px var(--mono);font-style:normal;}
.fab-empty{margin:22px 10px;text-align:center;color:var(--faint);font-size:13px;}
.rail-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;display:grid;place-items:center;border-radius:99px;background:var(--bad);color:#fff;font:800 11px var(--font);font-style:normal;box-shadow:0 0 calc(10px*var(--g)) var(--bad);}
.rail-badge[hidden]{display:none;}

@media(max-width:1199px){#fab{right:calc(12px + env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));}.fab-btn{width:48px;height:48px;}}
html[data-mode='light'] .fab-btn{background:#fff;}
html[data-anim='off'] .fab-support::before,html[data-anim='off'] .fab-life{animation:none;}
@media(prefers-reduced-motion:reduce){.fab-support::before,.fab-life,.fab-panel{animation:none!important;}.fab-card{transition:none;}}

.sp{display:grid;gap:12px;min-width:0;}
#sp-main{display:grid;gap:12px;}
.sp-hero{display:flex;flex-direction:row;align-items:center;gap:16px;padding:18px;flex-wrap:wrap;}
.sp-hero>div{flex:1 1 200px;min-width:0;}
.sp-hero h2{margin:0;font:850 22px var(--font);letter-spacing:-.025em;}
.sp-hero p{margin:4px 0 0;color:var(--muted);font-size:13px;}
.sp-hero-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(26px*var(--g)) -4px var(--accent);}
.sp-new{display:inline-flex;align-items:center;gap:8px;min-height:46px;}
.sp-quota{margin:0 4px;color:var(--faint);font:600 12px var(--mono);}
.sp-form{display:grid;gap:12px;padding:18px;animation:qa-rise .4s var(--ease-out) both;}
.sp-form h3{margin:0;font:800 16px var(--font);}
.sp-topics{display:flex;flex-wrap:wrap;gap:8px;}
.sp-tp{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border-radius:99px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--muted);font:700 13px var(--font);cursor:pointer;transition:transform .25s var(--ease-spring),background .2s,color .2s,box-shadow .25s;}
.sp-tp.on{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-color:transparent;box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);transform:scale(1.03);}
.sp-f{display:grid;gap:6px;}
.sp-f small{display:flex;justify-content:space-between;color:var(--faint);font:700 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;}
.sp-f em{font-style:normal;}
.sp-f input,.sp-f textarea,.sp-reply textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:14px;border:1px solid var(--w-edge);background:var(--panel-2);color:var(--text);font:600 14.5px/1.45 var(--font);outline:none;resize:vertical;transition:border-color .25s,box-shadow .25s;}
.sp-f input:focus,.sp-f textarea:focus,.sp-reply textarea:focus{border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
.sp-rules{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--faint);font-size:12px;line-height:1.5;}
.sp-rules .ico{color:var(--accent-strong);flex:none;margin-top:2px;}
.sp-actions{display:flex;gap:10px;justify-content:flex-end;}
.sp-actions .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.sp-err{margin:0;color:var(--bad);font-size:13px;min-height:0;}
.sp-err:empty{display:none;}
.sp-tools{display:grid;gap:10px;}
.sp-tools .chip em{font-style:normal;margin-left:7px;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--text) 10%,transparent);font-size:11px;font-weight:800;}
.sp-search{display:flex;align-items:center;gap:10px;padding:0 14px;min-height:44px;border-radius:14px;border:1px solid var(--w-edge);background:var(--panel-2);}
.sp-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:600 14px var(--font);outline:none;}
.sp-list{display:grid;gap:8px;}
.sp-row{position:relative;display:flex;align-items:center;gap:13px;width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 4%,transparent);text-align:left;color:var(--text);cursor:pointer;transition:transform .25s var(--ease-out),border-color .25s,box-shadow .3s;}
.sp-row:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--w-edge));box-shadow:var(--lift-2),0 0 calc(24px*var(--g)) -12px var(--accent);}
.sp-row.unread{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent);}
.sp-row-ico{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);}
.sp-row-main{display:grid;gap:4px;min-width:0;flex:1;}
.sp-row-main b{font:800 14.5px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sp-row-main small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sp-row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.sp-row-meta em{color:var(--faint);font:600 11px var(--mono);font-style:normal;}
.sp-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 calc(12px*var(--g)) var(--accent);flex:none;}
.sp-ava{border-radius:50%;object-fit:cover;flex:none;}
.sp-ava.ph{display:grid;place-items:center;font-weight:800;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 14%,var(--panel-2));}
.sp-topic{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font:750 11px var(--font);color:var(--muted);background:color-mix(in srgb,var(--text) 7%,transparent);}
.sp-topic.t-bug{color:var(--bad);background:color-mix(in srgb,var(--bad) 12%,transparent);}
.sp-topic.t-idea{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent);}
.sp-status{font:750 11px var(--font);color:var(--good);}
.sp-status.closed{color:var(--faint);}
.sp-empty{display:grid;justify-items:center;gap:10px;padding:34px 16px;text-align:center;color:var(--faint);}
.sp-empty .ico{color:var(--accent-strong);}
.sp-empty p{margin:0;font-size:13.5px;}

.sp-thread-head{display:flex;align-items:center;gap:10px;padding:12px;flex-wrap:wrap;}
.sp-th-ttl{flex:1 1 180px;min-width:0;display:grid;gap:5px;}
.sp-th-ttl b{font:800 16px var(--font);overflow-wrap:anywhere;}
.sp-th-ttl span{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.sp-th-ttl em{color:var(--muted);font:600 12px var(--font);font-style:normal;}
.sp-msgs{display:grid;gap:12px;padding:6px 2px;max-height:min(52vh,560px);overflow-y:auto;overscroll-behavior:contain;}
.sp-msg{display:grid;gap:4px;max-width:min(560px,86%);}
.sp-msg.me{justify-self:end;justify-items:end;}
.sp-msg.them{justify-self:start;}
.sp-bub{position:relative;padding:11px 15px;border-radius:18px;font:500 14.5px/1.5 var(--font);overflow-wrap:anywhere;}
.sp-msg.me .sp-bub{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border-bottom-right-radius:6px;}
.sp-msg.them .sp-bub{background:var(--panel-2);border:1px solid var(--w-edge);border-bottom-left-radius:6px;}
.sp-msg small{color:var(--faint);font:600 11px var(--mono);}
.sp-reply{display:flex;gap:10px;align-items:flex-end;padding:10px;border-radius:20px;background:var(--panel);border:1px solid var(--w-edge-hi,var(--hair-strong));}
.sp-reply textarea{border:0;background:transparent;resize:none;min-height:44px;max-height:140px;}
.sp-reply .btn{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:15px;}
.sp-closed{display:flex;align-items:center;gap:9px;margin:0;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--muted);font-size:13px;}

html[data-mode='light'] .sp-msg.me .sp-bub{color:#fff;}
html[data-mode='light'] .sp-tp.on{color:#fff;}
html[data-mode='light'] .sp-topic.t-idea{color:#b86a00;}

.sp-new{display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:0 20px 0 14px;border:0;border-radius:99px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(16px*var(--g)) -6px var(--accent);font:800 14px var(--font);cursor:pointer;transition:transform .3s var(--ease-spring),box-shadow .3s;}
.sp-new .ico{transition:transform .4s var(--ease-spring);}
.sp-new:hover{transform:translateY(-2px);box-shadow:0 0 calc(22px*var(--g)) -6px var(--accent);}
.sp-new:hover .ico{transform:rotate(90deg);}
.sp-addcard{display:flex;align-items:center;gap:14px;width:100%;padding:14px;border-radius:16px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,var(--w-edge));background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--text);text-align:left;cursor:pointer;transition:transform .25s var(--ease-out),background .25s,border-color .25s,box-shadow .3s;}
.sp-addcard:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent);box-shadow:0 0 calc(26px*var(--g)) -12px var(--accent);}
.sp-addcard>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);}
.sp-addcard b{font:800 14.5px var(--font);}
.sp-addcard small{display:block;margin-top:2px;color:var(--muted);font-size:12.5px;font-weight:500;}
@media(max-width:767px){.sp-new{width:52px;height:52px;padding:0;justify-content:center;}.sp-new span{display:none;}}
html[data-mode='light'] .sp-new,html[data-mode='light'] .sp-addcard>span{color:#fff;}

.sp-typing{display:flex;align-items:center;gap:5px;margin:0 4px;color:var(--faint);font:600 12px var(--font);}
.sp-typing[hidden]{display:none;}
.sp-typing i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:sp-dot 1.2s ease-in-out infinite;}
.sp-typing i:nth-child(2){animation-delay:.15s;}
.sp-typing i:nth-child(3){animation-delay:.3s;}
.sp-typing span{margin-left:4px;}
@keyframes sp-dot{0%,60%,100%{opacity:.3;transform:translateY(0);}30%{opacity:1;transform:translateY(-3px);}}
html[data-anim='off'] .sp-typing i{animation:none;}

.sp-msgs{position:relative;isolation:isolate;gap:10px;padding:16px 14px;border-radius:22px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--w-edge));background:radial-gradient(520px 260px at 8% 0%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 70%),color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:none;scroll-behavior:smooth;}
.sp-msgs::-webkit-scrollbar{width:6px;}
.sp-msgs::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:9px;}
.sp-msg.me .sp-bub{box-shadow:inset 0 1px 0 rgba(255,255,255,.3);}
.sp-msg.them .sp-bub{border-color:color-mix(in srgb,var(--accent) 18%,var(--w-edge));box-shadow:none;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 6%,var(--panel-2)),var(--panel-2));}
.sp-msg small{opacity:.8;}
.sp-reply{transition:border-color .22s var(--ease),box-shadow .25s var(--ease);}
.sp-reply:focus-within{border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);}
.sp-reply .btn{color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));border:0;box-shadow:0 0 calc(12px*var(--g)) -6px var(--accent);transition:transform .2s var(--ease-spring),box-shadow .25s var(--ease);}
.sp-reply .btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 calc(18px*var(--g)) -6px var(--accent);}
.sp-reply .btn:active{transform:scale(.92);}
html[data-mode='light'] .sp-reply .btn{color:#fff;}
.sp-typing{padding:6px 12px;border-radius:99px;width:max-content;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);}
.sp-typing i{box-shadow:0 0 calc(10px*var(--g)) var(--accent);}
.sp-thread-head{border-radius:20px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--w-edge));box-shadow:none;}
.sp-row.unread{box-shadow:0 0 calc(26px*var(--g)) -12px var(--accent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);}
.sp-row.unread .sp-dot{animation:sp-beacon 1.8s ease-out infinite;}
.sp-hero-ico{animation:sp-breathe 4.6s ease-in-out infinite;}
.sp-hero{border:1px solid color-mix(in srgb,var(--accent) 26%,var(--w-edge));box-shadow:0 0 calc(40px*var(--g)) -24px var(--accent);}
html[data-anim='on'] .sp-msg.intro{animation:sp-in .5s var(--ease-spring) both;animation-delay:calc(var(--i)*55ms);}
html[data-anim='on'] .sp-msg.new{animation:sp-in .55s var(--ease-spring) both;}
html[data-anim='on'] .sp-msg.new .sp-bub::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 2px var(--accent),0 0 calc(34px*var(--g)) 4px var(--accent);opacity:0;animation:sp-flash 1.3s ease-out both;}
html[data-anim='on'] .sp-row.fresh{animation:sp-in .55s var(--ease-spring) both,sp-rowflash 1.6s ease-out both;}
html[data-anim='on'] .sp-msgs{background-size:100% 100%,100% 100%,auto;}
html[data-anim='on'] .sp-msgs::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,color-mix(in srgb,var(--accent) 9%,transparent) 50%,transparent 70%);background-size:260% 100%;animation:sp-aurora 9s linear infinite;}
@keyframes sp-in{0%{opacity:0;transform:translateY(14px) scale(.9);}100%{opacity:1;transform:none;}}
@keyframes sp-flash{0%{opacity:.95;}100%{opacity:0;}}
@keyframes sp-rowflash{0%{box-shadow:0 0 0 2px var(--accent),0 0 calc(40px*var(--g)) 2px var(--accent);}100%{box-shadow:none;}}
@keyframes sp-aurora{0%{background-position:160% 0;}100%{background-position:-60% 0;}}
@keyframes sp-beacon{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 70%,transparent);}80%,100%{box-shadow:0 0 0 12px transparent;}}
@keyframes sp-breathe{0%,100%{box-shadow:0 0 calc(22px*var(--g)) -4px var(--accent);}50%{box-shadow:0 0 calc(40px*var(--g)) 0 var(--accent);}}
html[data-anim='off'] .sp-hero-ico,html[data-anim='off'] .sp-row.unread .sp-dot{animation:none;}
@media(prefers-reduced-motion:reduce){.sp-hero-ico,.sp-row.unread .sp-dot,.sp-msg,.sp-row,.sp-msgs::before,.sp-msg .sp-bub::after{animation:none!important;}}
@media(max-width:767px){html[data-tab='support'] #fab{display:none;}}
.sp-act{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px 0 10px;border-radius:99px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 5%,var(--panel-2));color:var(--text);font:700 13px var(--font);cursor:pointer;transition:transform .25s var(--ease-spring),border-color .2s,background .2s,box-shadow .25s,color .2s;}
.sp-act .ico{--s:15px;width:15px;height:15px;color:var(--muted);transition:color .2s,transform .3s var(--ease-spring);}
.sp-act:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);box-shadow:0 0 calc(12px*var(--g)) -6px var(--accent);}
.sp-act:hover .ico{color:var(--accent-strong);}
.sp-act:active{transform:scale(.95);}
.sp-act:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.sp-act.ok{border-color:color-mix(in srgb,var(--good) 45%,transparent);background:color-mix(in srgb,var(--good) 9%,var(--panel-2));}
.sp-act.ok .ico{color:var(--good);}
.sp-act.ok:hover{box-shadow:0 0 calc(12px*var(--g)) -6px var(--good);}
.sp-act.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 9%,var(--panel-2));}
.sp-act.warn .ico{color:var(--warn);}
.sp-act.warn:hover{box-shadow:0 0 calc(12px*var(--g)) -6px var(--warn);}
.sp-back{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:13px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 5%,var(--panel-2));color:var(--text);cursor:pointer;transition:transform .25s var(--ease-spring),border-color .2s;}
.sp-back:hover{transform:translateX(-2px);border-color:color-mix(in srgb,var(--accent) 50%,transparent);}
.sp-back:active{transform:scale(.94);}
.sp-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){.sp-act,.sp-back,.sp-act .ico{transition:none;}.sp-act:hover,.sp-back:hover{transform:none;}}
html[data-anim='off'] .sp-act,html[data-anim='off'] .sp-back{transition:none;}

#view .spacebar.cn-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px;border-radius:22px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--w-edge));background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel) 55%);box-shadow:var(--lift-2),0 0 calc(40px*var(--g)) -22px var(--accent);}
.cn-card.alone{border-style:solid;}
.cn-head{display:flex;align-items:center;gap:14px;min-width:0;}
.cn-ico{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:15px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(24px*var(--g)) -4px var(--accent);}
.cn-ttl{flex:1;min-width:0;display:grid;gap:3px;}
.cn-ttl b{font:850 17px var(--font);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cn-ttl small{color:var(--muted);font-size:12.5px;line-height:1.35;}
.cn-avas{display:flex;flex:none;align-items:center;}
.cn-ava{position:relative;z-index:var(--z,1);width:34px;height:34px;margin-left:-9px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--panel);}
.cn-ava:first-child{margin-left:0;}
.cn-ava.ph{display:grid;place-items:center;font:800 13px var(--font);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 16%,var(--panel-2));}
.cn-ava.more{display:grid;place-items:center;font:800 11px var(--mono);color:var(--muted);background:var(--panel-2);}
.cn-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.cn-btn{position:relative;display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:18px;border:1px solid var(--w-edge-hi,var(--hair-strong));background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);text-align:left;cursor:pointer;overflow:hidden;transition:transform .3s var(--ease-spring),border-color .25s,box-shadow .3s,background .25s;}
.cn-btn:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:var(--lift-2),0 0 calc(30px*var(--g)) -10px var(--accent);}
.cn-btn:active{transform:scale(.98);}
.cn-bico{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);transition:transform .4s var(--ease-spring);}
.cn-btn:hover .cn-bico{transform:rotate(-8deg) scale(1.08);}
.cn-btxt{display:grid;gap:3px;min-width:0;}
.cn-btxt b{font:800 15px var(--font);}
.cn-btxt small{color:var(--muted);font-size:12px;line-height:1.35;}
.cn-btn.primary{border-color:transparent;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(135deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(34px*var(--g)) -8px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent);}
.cn-btn.primary .cn-bico{color:#fff;background:color-mix(in srgb,#000 16%,transparent);border-color:transparent;}
.cn-btn.primary .cn-btxt small{color:color-mix(in srgb,#000 62%,var(--accent));}
.cn-btn.primary::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 35%,color-mix(in srgb,#fff 50%,transparent),transparent 65%);transform:translateX(-140%);}
html[data-anim='on'] .cn-btn.primary::after{animation:lu-sheen 5s ease-in-out infinite;}
.cn-foot{display:flex;align-items:center;gap:12px;}
.cn-foot .spacechips{flex:1;min-width:0;}
.cn-link{flex:none;border:0;background:transparent;color:var(--faint);font:700 12px var(--font);cursor:pointer;padding:6px 4px;transition:color .2s;}
.cn-link:hover{color:var(--text);}
.cn-link.danger:hover{color:var(--bad);}
@media(max-width:600px){.cn-actions{grid-template-columns:1fr;}.cn-avas{display:none;}.cn-btn{padding:12px 14px;}}
html[data-mode='light'] .cn-btn.primary{color:#fff;}
html[data-mode='light'] .cn-btn.primary .cn-btxt small{color:rgba(255,255,255,.85);}
html[data-mode='light'] .cn-bico,html[data-mode='light'] .cn-ava.ph{color:var(--accent-ink);}
html[data-anim='off'] .cn-btn.primary::after{animation:none!important;}
@media(prefers-reduced-motion:reduce){.cn-btn.primary::after{animation:none!important;}.cn-btn:hover .cn-bico{transform:none;}}

.sheet-box:has(.sheet-code),.sheet-box:has(.sheet-codeinput){border:1px solid var(--w-edge-hi,var(--hair-strong));background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel) 48%);box-shadow:var(--lift-3),0 0 calc(30px*var(--g)) -22px var(--accent);}
.sheet-box:has(.sheet-code) h3,.sheet-box:has(.sheet-codeinput) h3{font:850 18px var(--font)!important;letter-spacing:-.02em;}
.sheet-box:has(.sheet-code) h3 .ico,.sheet-box:has(.sheet-codeinput) h3 .ico{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(18px*var(--g)) -4px var(--accent);}
.sheet-label{color:var(--faint);font:800 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;}
.sheet-code{display:flex;align-items:center;gap:10px;padding:12px;border-radius:18px;border:1.5px dashed color-mix(in srgb,var(--accent) 55%,var(--w-edge));background:color-mix(in srgb,var(--accent) 7%,var(--panel-2));cursor:copy;transition:border-color .25s,box-shadow .3s;}
.sheet-code:hover{border-color:var(--accent);box-shadow:0 0 calc(30px*var(--g)) -12px var(--accent);}
.sheet-codenum{flex:1;min-width:0;text-align:center;font:850 clamp(24px,6vw,34px) var(--mono);letter-spacing:.14em;color:var(--accent-strong);text-shadow:0 0 calc(18px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);white-space:nowrap;}
.sheet-members{display:flex;flex-wrap:wrap;gap:8px;}
.sheet-member{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;border-radius:99px;background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid var(--w-edge);font:700 13px var(--font);}
.sheet-codeinput{height:64px;text-align:center;font:850 30px var(--mono)!important;letter-spacing:.4em;padding-left:.4em;border-radius:18px;border:1.5px solid color-mix(in srgb,var(--accent) 40%,var(--w-edge));background:color-mix(in srgb,var(--accent) 6%,var(--panel-2));color:var(--accent-strong);outline:none;transition:border-color .25s,box-shadow .3s;}
.sheet-codeinput:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),0 0 calc(30px*var(--g)) -10px var(--accent);}
.sheet-codeinput::placeholder{color:color-mix(in srgb,var(--faint) 70%,transparent);letter-spacing:.4em;}
html[data-mode='light'] .sheet-codenum,html[data-mode='light'] .sheet-codeinput{color:var(--accent-ink);}

#view .spacebar.slim{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:8px 12px;border-radius:var(--r-lg,16px);border:1px solid var(--hair);background:color-mix(in srgb,var(--panel) 70%,transparent);}
#view .spacebar.slim .sb-ico{flex:none;color:var(--accent);display:grid;place-items:center;}
#view .spacebar.slim .chips{flex:1;min-width:0;flex-wrap:wrap;gap:6px;margin:0;}
@media(max-width:767px){#view .spacebar .spacechips{padding-block:8px;margin-block:-8px;}#view .spacebar.slim .spacechips{margin-block:-8px;}}

.iv{display:grid;gap:12px;min-width:0;}
.iv-hero{display:flex;flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;}
.iv-hero-ico{display:grid;place-items:center;flex:none;width:56px;height:56px;border-radius:18px;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(28px*var(--g)) -4px var(--accent);}
.iv-hero-txt{flex:1 1 220px;min-width:0;}
.iv-hero h2{margin:0;font:850 24px var(--font);letter-spacing:-.03em;}
.iv-hero p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4;}
.iv-stats{display:flex;gap:10px;flex-wrap:wrap;}
.iv-stats>div{display:grid;gap:2px;min-width:92px;padding:10px 14px;border-radius:15px;background:color-mix(in srgb,var(--text) 5%,transparent);border:1px solid var(--w-edge);text-align:center;}
.iv-stats>div.on{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);}
.iv-stats b{font:850 22px var(--font);font-variant-numeric:tabular-nums;}
.iv-stats small{color:var(--faint);font:700 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;}
.iv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.iv-grid .iv-user{grid-column:1/-1;}
.iv-card{padding:18px;display:grid;gap:12px;align-content:start;}
.iv-card h3{margin:0;display:flex;align-items:center;gap:9px;font:800 15px var(--font);}
.iv-card h3 .ico{color:var(--accent-strong);}
.iv-card h3 em{margin-left:auto;font:800 12px var(--mono);font-style:normal;color:var(--muted);padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--text) 8%,transparent);}
.iv-hint{margin:0;color:var(--muted);font-size:12.5px;line-height:1.5;}
.iv-codewrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;padding:14px;border-radius:20px;border:1.5px dashed color-mix(in srgb,var(--accent) 50%,var(--w-edge));background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 9%,transparent),transparent);}
.iv-ring{position:relative;flex:none;width:74px;height:74px;}
.iv-ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.iv-ring circle{fill:none;stroke-width:5;stroke-linecap:round;}
.iv-ring .bg{stroke:color-mix(in srgb,var(--text) 10%,transparent);}
.iv-ring .fg{stroke:var(--accent);filter:drop-shadow(0 0 calc(5px*var(--g)) var(--accent));transition:stroke-dashoffset 1s linear;}
.iv-ring b{position:absolute;inset:0;display:grid;place-items:center;font:800 14px var(--mono);font-variant-numeric:tabular-nums;}
.iv-digits{display:flex;gap:7px;}
.iv-digits span{display:grid;place-items:center;width:clamp(34px,8vw,46px);height:clamp(46px,11vw,60px);border-radius:13px;font:850 clamp(22px,6vw,30px) var(--mono);color:var(--accent-strong);background:var(--panel-2);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--w-edge));text-shadow:0 0 calc(14px*var(--g)) color-mix(in srgb,var(--accent) 70%,transparent);animation:qa-rise .45s var(--ease-out) both;animation-delay:calc(var(--i)*55ms);}
.iv-meta{margin:0;text-align:center;color:var(--faint);font:600 12px var(--font);}
.iv-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.iv-b{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:13px;}
.iv-b.primary{border:0;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(22px*var(--g)) -6px var(--accent);}
.iv-b.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--w-edge));}
.iv-b.wide{width:100%;}
.iv-b:disabled{opacity:.45;cursor:default;box-shadow:none;}
.iv-nocode{display:grid;justify-items:center;gap:12px;padding:20px 10px;text-align:center;color:var(--muted);}
.iv-nocode .ico{color:var(--accent-strong);}
.iv-nocode p{margin:0;font-size:13px;line-height:1.5;max-width:300px;}
.iv-otp{display:flex;gap:8px;justify-content:center;}
.iv-otp input{width:clamp(38px,9vw,50px);height:clamp(50px,12vw,62px);border-radius:14px;border:1.5px solid var(--w-edge);background:var(--panel-2);color:var(--accent-strong);text-align:center;font:850 clamp(22px,6vw,30px) var(--mono);outline:none;transition:border-color .2s,box-shadow .25s,transform .2s var(--ease-spring);}
.iv-otp input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent),0 0 calc(24px*var(--g)) -8px var(--accent);transform:translateY(-2px);}
.iv-otp input.filled{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.iv-otp.shake{animation:tc-shake .42s var(--ease-out);}
.iv-err{margin:0;min-height:0;color:var(--bad);font-size:13px;text-align:center;}
.iv-err:empty{display:none;}
.iv-byname{display:flex;align-items:center;gap:10px;}
.iv-at{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);font:800 18px var(--mono);}
.iv-byname input{flex:1;min-width:0;height:46px;padding:0 14px;border-radius:14px;border:1px solid var(--w-edge);background:var(--panel-2);color:var(--text);font:600 15px var(--font);outline:none;}
.iv-byname input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);}
.iv-members{display:grid;gap:8px;}
.iv-member{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:15px;background:color-mix(in srgb,var(--text) 4%,transparent);border:1px solid var(--w-edge);animation:qa-rise .35s var(--ease-out) both;animation-delay:calc(var(--i)*40ms);}
.iv-ava{border-radius:50%;object-fit:cover;flex:none;}
.iv-ava.ph{display:grid;place-items:center;font-weight:800;color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 15%,var(--panel-2));}
.iv-mid{flex:1;min-width:0;display:grid;gap:3px;}
.iv-mid b{font:750 14.5px var(--font);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.iv-mid b .me{font:800 10px var(--mono);font-style:normal;color:var(--accent-strong);padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin-left:6px;}
.iv-mid small{color:var(--faint);font-size:12px;}
.iv-role{flex:none;padding:3px 10px;border-radius:99px;font:750 11px var(--font);color:var(--muted);background:color-mix(in srgb,var(--text) 7%,transparent);}
.iv-role.owner{color:var(--warn);background:color-mix(in srgb,var(--warn) 13%,transparent);}
.iv-kick{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;border:1px solid transparent;background:transparent;color:var(--faint);cursor:pointer;transition:color .2s,background .2s,border-color .2s;}
.iv-kick:hover{color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:color-mix(in srgb,var(--bad) 35%,transparent);}
.iv-timeline{display:grid;gap:0;padding-left:6px;}
.iv-ev{position:relative;display:flex;gap:13px;padding:0 0 16px;animation:qa-rise .35s var(--ease-out) both;animation-delay:calc(var(--i)*40ms);}
.iv-ev::before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:linear-gradient(var(--w-edge),transparent);}
.iv-ev:last-child{padding-bottom:0;}
.iv-ev:last-child::before{display:none;}
.iv-dot{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;color:var(--faint);background:var(--panel-2);border:1px solid var(--w-edge);}
.iv-dot.ok{color:var(--bg);background:var(--good);border-color:transparent;box-shadow:0 0 calc(12px*var(--g)) -2px var(--good);}
.iv-ev.pending .iv-dot{color:var(--accent-strong);border-color:color-mix(in srgb,var(--accent) 50%,transparent);}
.iv-ev b{display:block;font:700 13.5px var(--font);}
.iv-ev small{color:var(--faint);font-size:12px;}
.iv-empty{margin:6px 0;color:var(--faint);font-size:13px;}
.iv-danger{display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 10px;}
.iv-danger .iv-del,.iv-danger .iv-out{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:min(100%,280px);}
.iv-danger .iv-del{box-shadow:0 0 calc(22px*var(--g)) -10px var(--bad,#ff4d6d);}
.iv-danger small{color:var(--faint);font-size:12px;text-align:center;max-width:340px;}
.iv-join.is-locked .iv-otp,.iv-join.is-locked #iv-go{opacity:.45;pointer-events:none;filter:saturate(.4);}
.iv-lock{display:flex;align-items:flex-start;gap:8px;margin:-2px 2px 10px;padding:10px 12px;border-radius:var(--r-md);border:1px dashed color-mix(in srgb,var(--accent) 35%,var(--hair));background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--muted);font-size:12.5px;line-height:1.4;}
.iv-lock .ico,.iv-lock svg{flex:0 0 auto;margin-top:2px;color:var(--accent-ink);}
.iv-skel{display:grid;gap:10px;padding:22px;justify-items:center;}
.iv-skel i{height:56px;width:100%;border-radius:14px;background:linear-gradient(100deg,color-mix(in srgb,var(--text) 6%,transparent) 30%,color-mix(in srgb,var(--text) 12%,transparent) 50%,color-mix(in srgb,var(--text) 6%,transparent) 70%);background-size:220% 100%;animation:adm-shimmer 1.4s linear infinite;}
.cn-link.strong{margin-left:auto;color:var(--accent-strong);}
@media(max-width:860px){.iv-grid{grid-template-columns:minmax(0,1fr);}.iv-stats{width:100%;}.iv-stats>div{flex:1;min-width:0;}.iv-hero h2{font-size:21px;}}
html[data-mode='light'] .iv-digits span,html[data-mode='light'] .iv-otp input,html[data-mode='light'] .iv-at{color:var(--accent-ink);}
html[data-mode='light'] .iv-b.primary{color:#fff;}
html[data-anim='off'] .iv-digits span,html[data-anim='off'] .iv-member,html[data-anim='off'] .iv-ev,html[data-anim='off'] .iv-skel i{animation:none;}
@media(prefers-reduced-motion:reduce){.iv-digits span,.iv-member,.iv-ev,.iv-skel i,.iv-otp.shake{animation:none!important;}.iv-ring .fg{transition:none;}}

.iv-invites{border-color:color-mix(in srgb,var(--accent) 40%,var(--w-edge));box-shadow:0 0 calc(26px*var(--g,1)) -10px var(--accent);}
.iv-invites h3 em{margin-left:8px;font-style:normal;font-size:12px;font-weight:800;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong);}
.iv-inv-list{display:grid;gap:10px;}
.iv-inv{display:flex;align-items:center;gap:12px;flex-wrap:wrap;animation:qa-rise .35s var(--ease-out) both;animation-delay:calc(var(--i)*50ms);}
.iv-inv .iv-mid{flex:1 1 180px;min-width:0;}
.iv-inv .iv-mid b{display:block;font:700 14px var(--font);overflow-wrap:anywhere;}
.iv-inv .iv-mid small{color:var(--muted);font-size:12px;}
.iv-inv-btns{display:flex;gap:8px;flex:0 0 auto;}
.iv-waiting{margin-top:14px;display:grid;gap:8px;}
.iv-waiting>small{font:800 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.iv-wait{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:12px;border:1px dashed var(--w-edge);}
.iv-wait span{flex:1;min-width:0;display:flex;gap:8px;align-items:baseline;overflow:hidden;}
.iv-wait b{font:700 13px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.iv-wait i{font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap;}
@media(max-width:560px){.iv-inv-btns{width:100%;}.iv-inv-btns .btn{flex:1;}}

.iv-how{margin-top:14px;}
.iv-how summary{display:flex;align-items:center;gap:10px;cursor:pointer;font:700 14px var(--font);list-style:none;}
.iv-how summary::-webkit-details-marker{display:none;}
.iv-how summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .25s var(--ease-out);}
.iv-how[open] summary::after{transform:rotate(-135deg);}
.iv-how ol{margin:14px 0 0;padding:0 0 0 20px;display:grid;gap:10px;color:var(--muted);font:500 13px/1.5 var(--font);}
.iv-how li::marker{color:var(--accent-strong);font-weight:800;}
html[data-anim='off'] .iv-how summary::after{transition:none;}

.tgw{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:calc(20px + var(--tg-top,0px)) 16px 24px;background:radial-gradient(900px 520px at 50% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%),var(--bg,#0d0d10);overflow:auto;transition:opacity .3s var(--ease),transform .3s var(--ease);}
.tgw.gone{opacity:0;transform:scale(1.02);pointer-events:none;}
.tgw-card{width:min(420px,100%);display:grid;gap:14px;justify-items:center;text-align:center;padding:26px 22px;border-radius:26px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--w-edge));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 60%),color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 0 calc(50px*var(--g,1)) -26px var(--accent);animation:tgw-in .6s var(--ease-spring) both;}
.tgw-logo{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 55%,transparent));}
html[data-anim='on'] .tgw-logo{animation:tgw-float 4.4s ease-in-out infinite;}
.tgw h1{margin:0;font:850 24px var(--font);letter-spacing:-.03em;}
.tgw-sub{margin:0;color:var(--muted);font-size:14px;line-height:1.5;}
.tgw .terms-check{justify-self:stretch;text-align:left;}
.tgw-go{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;}
.tgw-have{width:100%;min-height:46px;}
.tgw-err{margin:0;min-height:0;color:var(--bad);font-size:13px;}
.tgw-err:empty{display:none;}
@keyframes tgw-in{from{opacity:0;transform:translateY(18px) scale(.96);}to{opacity:1;transform:none;}}
@keyframes tgw-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
html.tg #prof-landing,html.tg .lockback{display:none;}
html.tg body{overscroll-behavior:none;}
html.tg #topbar,html.tg .topbar{padding-top:var(--tg-top,0px);}
.tg-card{display:grid;gap:12px;}
.tg-card .tg-row{display:flex;gap:10px;flex-wrap:wrap;}
.tg-card .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.tg-card .tg-state{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13.5px;}
.tg-card .tg-state b{color:var(--text);}
.tg-card .tg-dot{width:9px;height:9px;border-radius:50%;background:var(--faint);}
.tg-card.on .tg-dot{background:var(--good);box-shadow:0 0 calc(12px*var(--g,1)) var(--good);}
@media(prefers-reduced-motion:reduce){.tgw-card,.tgw-logo{animation:none!important;}}

.cap{position:relative;display:grid;gap:10px;margin-top:12px;padding:12px 14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--w-edge));background:color-mix(in srgb,var(--panel) 80%,transparent);text-align:left;transition:border-color .25s,box-shadow .3s;}
.cap-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;}
.cap-head small{flex:1 1 100%;color:var(--muted);font-size:12px;}
.cap-ico{display:grid;place-items:center;color:var(--accent);}
.cap-track{position:relative;height:42px;border-radius:99px;background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid var(--w-edge);overflow:hidden;touch-action:none;}
.cap-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 10%,transparent),color-mix(in srgb,var(--accent) 38%,transparent));}
.cap-slot{position:absolute;top:4px;width:34px;height:34px;border-radius:50%;border:2px dashed var(--accent);box-shadow:0 0 calc(18px*var(--g,1)) var(--accent),inset 0 0 12px color-mix(in srgb,var(--accent) 40%,transparent);}
html[data-anim='on'] .cap-slot{animation:cap-pulse 1.6s ease-in-out infinite;}
.cap-handle{position:absolute;left:0;top:3px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:0;cursor:grab;color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(18px*var(--g,1)) -2px var(--accent);touch-action:none;transition:transform .0s;}
.cap.drag .cap-handle{cursor:grabbing;}
.cap:not(.drag) .cap-handle{transition:transform .25s var(--ease-out);}
.cap.ok{border-color:var(--good);box-shadow:0 0 calc(26px*var(--g,1)) -12px var(--good);}
.cap.ok .cap-handle{background:linear-gradient(140deg,color-mix(in srgb,var(--good) 60%,#fff),var(--good));}
.cap.ok .cap-slot{opacity:0;}
.cap.bad{animation:cap-shake .35s;border-color:var(--bad);}
.cap-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.cap-err{margin:0;color:var(--bad);font-size:13px;}
.tglogin{display:grid;gap:12px;margin:12px 0 18px;}
.tgl-ways{position:relative;display:grid;gap:10px;padding:12px;border-radius:22px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--hair));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel-2) 78%,transparent),color-mix(in srgb,var(--panel-2) 46%,transparent));
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 10%,transparent),0 0 calc(30px*var(--g,1)) -18px var(--accent);}
.tgl-ways::before{content:"";position:absolute;left:50%;top:-70%;width:140%;height:150%;transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 70%);
  animation:tgl-aurora 7s ease-in-out infinite alternate;}
.tgl-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;padding:0 18px;border:0;border-radius:99px;cursor:pointer;overflow:hidden;
  color:color-mix(in srgb,#000 82%,var(--accent));font:800 14.5px var(--font);letter-spacing:-.01em;
  background:linear-gradient(140deg,var(--accent-strong),var(--accent));
  box-shadow:0 0 calc(28px*var(--g,1)) -10px var(--accent),inset 0 1px 0 rgba(255,255,255,.4);
  transition:transform .2s var(--ease-spring),box-shadow .25s,filter .2s;}
.tgl-sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.5) 50%,transparent 66%);transform:translateX(-120%);}
.tgl-btn:hover .tgl-sheen{transform:translateX(120%);transition:transform .85s var(--ease-out);}
.tgl-btn:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 0 calc(44px*var(--g,1)) -8px var(--accent),inset 0 1px 0 rgba(255,255,255,.4);}
.tgl-btn:active{transform:scale(.97);}
html[data-anim='on'] .tgl-btn{animation:tgl-pulse 3.6s ease-in-out infinite;}
@keyframes tgl-pulse{
  0%,100%{box-shadow:0 0 calc(24px*var(--g,1)) -12px var(--accent),inset 0 1px 0 rgba(255,255,255,.4);}
  50%{box-shadow:0 0 calc(48px*var(--g,1)) -6px var(--accent),inset 0 1px 0 rgba(255,255,255,.4);}
}
@keyframes tgl-aurora{
  0%{transform:translateX(-56%) scale(1);}
  100%{transform:translateX(-44%) scale(1.14);}
}
.tgl-btn .ico{display:grid;place-items:center;}
.tgl-sec{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:99px;border:1px solid var(--w-edge);background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text);font:700 13px var(--font);text-decoration:none;cursor:pointer;}
.tgl-sec:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);}
.tgl-wait{display:grid;gap:10px;text-align:center;}
.tgl-msg{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.tgl-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.tgl-count{color:var(--faint);font:700 12px var(--mono);}
.tgl-or{display:flex;margin:0 0 10px;align-items:center;gap:10px;color:var(--faint);font-size:12px;letter-spacing:.04em;text-transform:lowercase;}
.tgl-or span{white-space:nowrap;}
.tgl-or::before,.tgl-or::after{content:"";flex:1;height:1px;background:var(--hair);}
@keyframes cap-pulse{0%,100%{opacity:.7;}50%{opacity:1;}}
@keyframes cap-shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
@media(prefers-reduced-motion:reduce){.cap-slot,.cap.bad{animation:none!important;}}

#auth-body>.tglogin{flex:0 0 auto;width:100%;box-sizing:border-box;}
.tgl-wait[hidden],.tgl-btn[hidden]{display:none;}
#auth-body>.cap,#auth-body .cap{flex:0 0 auto;box-sizing:border-box;}

.gsi-slot{display:grid;justify-items:center;align-content:center;min-height:52px;}
.gsi-slot[hidden]{display:none;}
.gsi-wrap{position:relative;display:grid;width:100%;}
.gsi-fake{position:relative;z-index:0;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;min-height:50px;padding:0 18px;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--hair));border-radius:99px;
  background:color-mix(in srgb,var(--panel-2) 72%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent);
  color:var(--text);font:800 14.5px var(--font);letter-spacing:-.01em;cursor:pointer;
  transition:transform .2s var(--ease-spring),border-color .25s,box-shadow .25s,background .25s;}
.gsi-fake .ico{--s:18px;display:grid;place-items:center;}
.gsi-fake svg{width:18px;height:18px;}
.gsi-wrap:hover .gsi-fake{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 62%,transparent);
  box-shadow:0 0 calc(30px*var(--g,1)) -10px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent);}
.gsi-wrap:focus-within .gsi-fake{border-color:color-mix(in srgb,var(--accent) 75%,transparent);
  box-shadow:0 0 calc(26px*var(--g,1)) -8px var(--accent),inset 0 1px 0 color-mix(in srgb,#fff 9%,transparent);}
.gsi-real{position:absolute;inset:0;z-index:1;opacity:.01;}
.tgl-ways .gsi-slot{position:relative;padding:0;border-radius:99px;min-height:50px;}
.tgl-ways .gsi-slot::after{content:"";position:absolute;inset:-1px;border-radius:99px;pointer-events:none;opacity:0;
  box-shadow:0 0 calc(26px*var(--g,1)) -8px var(--accent);transition:opacity .3s var(--ease-out);}
.tgl-ways .gsi-slot:hover::after{opacity:1;}
.tgl-ways .gsi-slot .gsi-btn{filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));transition:transform .2s var(--ease-spring),filter .2s;}
.tgl-ways .gsi-slot:hover .gsi-btn{transform:translateY(-1px);filter:drop-shadow(0 10px 26px rgba(0,0,0,.45)) brightness(1.05);}
.tgl-skel{min-height:143px;}
.gsi-btn{display:grid;justify-items:center;color-scheme:light;}
.gg-connect{position:relative;flex:0 0 auto;width:176px;max-width:100%;height:36px;}
.hintline[hidden]{display:none;}
.gg-fake{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;margin:0;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none;border-radius:999px;transition:filter .2s,transform .2s;}
.gg-connect:hover .gg-fake{filter:brightness(1.12);transform:translateY(-1px);}
.gg-connect:active .gg-fake{transform:scale(.985);}
.gg-real{position:absolute;inset:0;overflow:hidden;opacity:.012;cursor:pointer;}
.gg-real .gsi-btn{width:100%;}
.gsi-consent{display:grid;gap:10px;width:100%;text-align:left;}
.gsi-hi{margin:0;font:750 14px var(--font);}
.gsi-row{display:flex;gap:10px;flex-wrap:wrap;}
.gsi-gender{display:grid;gap:6px;}
.gsi-gender>small{color:var(--faint);font-size:11px;font-weight:700;letter-spacing:.04em;}
.gsi-go{flex:1 1 180px;min-height:44px;border:0;border-radius:99px;cursor:pointer;font:800 14px var(--font);color:color-mix(in srgb,#000 82%,var(--accent));background:linear-gradient(140deg,var(--accent-strong),var(--accent));box-shadow:0 0 calc(22px*var(--g,1)) -6px var(--accent);}
.gsi-go:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}
.gsi-who{display:none;}

.cap.ok{overflow:visible;}
.cap.ok .cap-track{border-color:var(--good);box-shadow:0 0 calc(30px*var(--g,1)) -8px var(--good);}
.cap.ok .cap-fill{width:100%!important;background:linear-gradient(90deg,color-mix(in srgb,var(--good) 14%,transparent),color-mix(in srgb,var(--good) 46%,transparent));transition:width .55s var(--ease-out);}
.cap.ok .cap-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-110%);}
.cap.ok .cap-head b{color:var(--good);transition:color .3s;}
.cap.ok .cap-head small{color:var(--good);}
.cap.ok .cap-ico{color:var(--good);}
html[data-anim='on'] .cap.ok .cap-handle{animation:cap-win .7s var(--ease-spring);}
html[data-anim='on'] .cap.ok .cap-handle svg path{stroke-dasharray:26;stroke-dashoffset:26;animation:cap-draw .45s .18s var(--ease-out) forwards;}
html[data-anim='on'] .cap.ok .cap-fill::after{animation:cap-sweep .9s .1s ease-out forwards;}
html[data-anim='on'] .cap.ok::after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:2px solid var(--good);pointer-events:none;opacity:0;animation:cap-wave 1s ease-out;}
html[data-anim='on'] .cap.ok .cap-head small{animation:cap-rise .45s var(--ease-out);}
@keyframes cap-win{0%{scale:1;rotate:0deg;}35%{scale:1.4;rotate:-12deg;}70%{scale:.92;rotate:3deg;}100%{scale:1;rotate:0deg;}}
@keyframes cap-draw{to{stroke-dashoffset:0;}}
@keyframes cap-sweep{to{transform:translateX(110%);}}
@keyframes cap-wave{0%{opacity:.9;transform:scale(1);box-shadow:0 0 0 0 var(--good);}100%{opacity:0;transform:scale(1.06);box-shadow:0 0 36px 10px transparent;}}
@keyframes cap-rise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@media(prefers-reduced-motion:reduce){.cap.ok::after,.cap.ok .cap-handle,.cap.ok .cap-fill::after{animation:none!important;}}

.card,.orb-head,.orb-now,.orb-next,.orb-agenda,.spacebar,.wk-search,.orb-quick,.chat-row,.wish-ticket,.orb-link,.stat-cell,#heartstage,.cn-card,.sp-row,.cd-task,.pp,.mg-card,.landing-strip,.thread-bar,.landing-top,#brand{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.card,.orb-head,.orb-now,.orb-next,.orb-agenda,.wk-search,.orb-quick,.chat-row,.wish-ticket,.orb-link,.stat-cell{background:var(--w-wash,none),var(--w-glass-solid,var(--panel));}

.chat-row,.sp-row,.cd-task,.adm-card,.wish-ticket,.pg-row,.fab-item,.sess{content-visibility:auto;contain-intrinsic-size:auto 72px;}
.mg-day,.mg-lines,.orb-row{contain:layout style;}
#appcore,#applogo{will-change:auto;}
html[data-perf='lite'] .fab-support::before,html[data-perf='lite'] #side::before,html[data-perf='lite'] #side::after{animation:none!important;}
html[data-perf='lite'] .tb-pop,html[data-perf='lite'] .terms-box,html[data-perf='lite'] .qa-card{backdrop-filter:none;}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
  .landing-hero h1,.landing-hero h1 span,.lab-ttl h2,#lock .auth-story-name{-webkit-text-fill-color:currentColor;background:none;color:var(--text);}
}

.page-main{display:flex;flex-direction:column;gap:clamp(40px,6vw,72px);padding-top:clamp(20px,3vw,36px);min-width:0;}
.page-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font:600 12.5px var(--font);color:var(--muted);}
.page-crumbs li+li::before{content:"/";margin-right:6px;opacity:.5;}
.page-crumbs a{color:var(--muted);text-decoration:none;transition:color var(--n-fast);}
.page-crumbs a:hover{color:var(--accent);}
.page-crumbs [aria-current]{color:var(--text);}
.page-hero{gap:16px;max-width:760px;}
.page-hero h1{margin:0;font-size:clamp(32px,4.4vw,56px);line-height:1.04;letter-spacing:-.03em;font-weight:900;text-wrap:balance;}
.page-hero-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(20px,4vw,56px);align-items:center;}
.page-hero-copy{display:flex;flex-direction:column;gap:16px;max-width:760px;min-width:0;}
.page-demo{--phone-line:var(--hair);display:flex;flex-direction:column;gap:10px;padding:18px;max-width:420px;width:100%;justify-self:end;}
.page-demo .landing-bubble{font-size:13px;opacity:0;transform:translateY(8px);animation:page-demo-in .5s var(--ease-spring) both;animation-delay:calc(.25s + var(--d,0)*.7s);}
.page-demo .landing-event{display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(8px);animation:page-demo-in .5s var(--ease-spring) both;animation-delay:calc(.25s + var(--d,0)*.7s);}
.page-demo .landing-event-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.page-demo .landing-event-text small{color:var(--muted);font-size:12px;}
@keyframes page-demo-in{to{opacity:1;transform:none;}}
html[data-anim='off'] .page-demo .landing-bubble,html[data-anim='off'] .page-demo .landing-event{animation:none;opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.page-demo .landing-bubble,.page-demo .landing-event{animation:none;opacity:1;transform:none;}}
@media(max-width:900px){.page-hero-split{grid-template-columns:1fr;}.page-demo{justify-self:start;max-width:520px;}}
.page-hero .landing-lead{max-width:60ch;font-size:clamp(15px,1.4vw,17px);}
.landing-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;}
.landing-more-link{display:flex;align-items:center;padding:14px 16px;text-decoration:none;color:var(--text);font-size:14px;line-height:1.35;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out);}
.landing-more-link:hover{transform:translateY(-2px);box-shadow:var(--glow-1),var(--lift-1);border-color:color-mix(in srgb,var(--accent) 40%,var(--hair));}
.landing-more-link:focus-visible,.page-hub-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.page-hub-card{text-decoration:none;color:var(--text);}
.page-hub-card h2{margin:0;font-size:16px;line-height:1.25;}
.page-hub-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;}
.page .landing-foot{flex-direction:column;align-items:center;gap:10px;}
.page .landing-lang{text-decoration:none;}
.page .landing-top .landing-brand{text-decoration:none;color:inherit;}
.landing-section.reveal{will-change:opacity,transform;}
html[data-anim='off'] .landing-section.reveal{opacity:1;transform:none;transition:none;}
@media(prefers-reduced-motion:reduce){.landing-section.reveal{opacity:1;transform:none;transition:none;}}
@media(max-width:767px){.page-main{gap:40px;}.landing-more{grid-template-columns:1fr;}}
@media(max-width:430px){.landing-top .landing-right{gap:4px;}.landing-top .top-control{flex-basis:34px;width:34px;height:34px;min-height:34px;}.landing-top .landing-lang{padding-inline:7px;min-width:0;}.landing-top .btn.landing-cta{padding-inline:10px;font-size:12px;}}
@media(min-width:768px){.page-points{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:1200px){.page-hub-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
