:root{color-scheme:light dark;--bg: #eef1f6;--surface: #ffffff;--surface-2: #e3e8f0;--line: #d5dce8;--text: #151a33;--muted: #5d6685;--blue: #2f5bff;--blue-deep: #1c3ccc;--blue-soft: #dfe6ff;--green: #1fbf6a;--green-deep: #138f4e;--yellow: #ffc531;--yellow-deep: #d39a00;--pink: #ff3d7f;--pink-deep: #c91a58;--orange: #ff7a1a;--orange-deep: #d65a00;--orange-soft: #ffe6d3;--on-color: #ffffff;--display: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Nunito", system-ui, sans-serif;--tabbar: 64px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1226;--surface: #1a1e3a;--surface-2: #252a4d;--line: #2e3460;--text: #eef0ff;--muted: #9aa0c8;--blue: #5b7cff;--blue-deep: #3352d6;--blue-soft: #232b5c;--orange-soft: #3a2418}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f1226;--surface: #1a1e3a;--surface-2: #252a4d;--line: #2e3460;--text: #eef0ff;--muted: #9aa0c8;--blue: #5b7cff;--blue-deep: #3352d6;--blue-soft: #232b5c;--orange-soft: #3a2418}:root[data-theme=light]{color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}img,svg,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}[hidden]{display:none!important}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.875rem}.grow{flex:1;min-width:0}h1,h2{font-family:var(--display)}h1{font-size:2rem;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:6px 0 18px}h2{font-size:1.1rem;font-weight:800;margin:0 0 12px}.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 10px) 16px 8px;background:var(--bg)}.brand{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:1.1rem;text-decoration:none}.brand svg{width:24px;fill:var(--blue)}.icon-btn{width:44px;height:44px;margin-right:-10px;display:grid;place-items:center;border:0;background:none;border-radius:50%;cursor:pointer}.icon-btn svg{width:22px;fill:currentColor}main{max-width:560px;margin:0 auto;padding:4px 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px);outline:none}section+section,.card+.card{margin-top:16px}.tabbar{position:fixed;inset:auto 0 0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:2px solid var(--line)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.74rem;font-weight:700;text-decoration:none;color:var(--muted)}.tabbar svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.tabbar a[aria-current=page]{color:var(--blue)}.tabbar a[aria-current=page] svg{fill:var(--blue-soft)}.card{background:var(--surface);border:2px solid var(--line);border-radius:20px;padding:16px}.btn{--face: var(--surface);--base: var(--line);--ink: var(--text);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;margin-bottom:4px;border:2px solid var(--base);border-radius:16px;background:var(--face);color:var(--ink);box-shadow:0 4px 0 var(--base);font-family:var(--display);font-weight:800;font-size:1rem;text-decoration:none;cursor:pointer}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--base)}.btn.primary{--face: var(--blue);--base: var(--blue-deep);--ink: var(--on-color)}.btn.go{--face: var(--green);--base: var(--green-deep);--ink: var(--on-color)}.btn.big{min-height:58px;font-size:1.12rem}.btn.block{width:100%}.btn.ghost{--face: transparent;--base: transparent;--ink: var(--muted);box-shadow:none}.btn.danger{--ink: var(--pink-deep)}.btn:disabled{opacity:.6;cursor:default}.link{background:none;border:0;padding:8px 0;color:var(--blue);font-weight:700;cursor:pointer;text-align:left;text-decoration:none}label.field{display:block}.field>span{display:block;font-size:.85rem;font-weight:700;color:var(--muted);margin-bottom:6px}input[type=text],input[type=search],input[type=email],input[type=password],select,textarea{width:100%;min-height:48px;padding:10px 14px;background:var(--surface);border:2px solid var(--line);border-radius:14px}textarea{min-height:84px;resize:vertical}.row{display:flex;gap:8px;align-items:center}.row h2{margin:0}.stack>*+*{margin-top:16px}.seg{display:flex;gap:6px}.seg button{flex:1;min-height:46px;border:2px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 3px 0 var(--line);font-weight:800;color:var(--muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue);box-shadow:0 3px 0 var(--blue);color:var(--blue)}.seg button[aria-pressed=true][data-v=flash]{background:var(--yellow);border-color:var(--yellow-deep);box-shadow:0 3px 0 var(--yellow-deep);color:#3a2a00}.seg button[aria-pressed=true][data-v=sent]{background:var(--green);border-color:var(--green-deep);box-shadow:0 3px 0 var(--green-deep);color:var(--on-color)}.seg button[aria-pressed=true][data-v=project]{background:var(--pink);border-color:var(--pink-deep);box-shadow:0 3px 0 var(--pink-deep);color:var(--on-color)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px}.chips.scroll::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:44px;padding:0 14px;border:2px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 3px 0 var(--line);font-weight:700;font-size:.95rem;cursor:pointer;white-space:nowrap}.chip[aria-pressed=true]{border-color:var(--blue);box-shadow:0 3px 0 var(--blue);background:var(--blue-soft);color:var(--blue)}.chip.grade{min-width:56px;justify-content:center;font-family:var(--display);font-weight:800}.swatch{width:16px;height:16px;border-radius:40% 60% 55% 45%;flex:none;box-shadow:inset 0 0 0 1.5px #0003}.swatch.other{background:conic-gradient(#ff3d7f,#ffc531,#1fbf6a,#2f5bff,#9b5cff,#ff3d7f)}.stepper{display:flex;align-items:center;gap:6px}.stepper button{width:50px;height:50px;border-radius:16px;border:2px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);font-size:1.5rem;font-weight:800;cursor:pointer}.stepper button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--line)}.stepper output{min-width:52px;text-align:center;font-family:var(--display);font-size:1.6rem;font-weight:800}.badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:.78rem;font-weight:800;background:var(--surface-2);color:var(--muted)}.badge.flash{background:var(--yellow);color:#3a2a00}.badge.sent{background:var(--green);color:var(--on-color)}.badge.project{background:var(--pink);color:var(--on-color)}.grade-pill{display:inline-block;padding:1px 8px;border-radius:8px;background:var(--text);color:var(--bg);font-family:var(--display);font-weight:800;font-size:.9em}.list{list-style:none;margin:0;padding:0}.list>li+li{border-top:2px solid var(--surface-2)}.list.card{padding:2px 16px}.climb-row{display:flex;align-items:center;gap:12px;padding:12px 0;text-decoration:none}.thumb{width:56px;height:56px;flex:none;border-radius:14px;object-fit:cover;background:var(--surface-2)}.thumb.color{display:grid;place-items:center}.thumb.color .swatch{width:26px;height:26px}.climb-row .title{display:flex;align-items:center;gap:8px;font-weight:800}.climb-row .meta{display:flex;gap:10px;font-size:.85rem;color:var(--muted)}.session-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.session-head strong{font-family:var(--display);font-size:1.15rem;font-weight:800}.stat-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.stat-line>span{padding:3px 10px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.85rem;font-weight:700}details.session{padding:14px 0}details.session summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px}details.session summary::-webkit-details-marker{display:none}details.session .list{margin-top:8px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.gallery a{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface-2)}.gallery img{width:100%;height:100%;object-fit:cover}.gallery .tag{position:absolute;left:6px;bottom:6px;display:flex;gap:4px;align-items:center;padding:3px 8px;border-radius:9px;background:#0f1226bf;color:#fff;font-size:.78rem;font-weight:800}.photo-pick{display:grid;place-items:center;gap:8px;min-height:190px;border:3px dashed var(--line);border-radius:22px;color:var(--muted);font-weight:800;cursor:pointer;text-align:center}.photo-pick svg{width:40px;margin:0 auto 6px;fill:none;stroke:var(--blue);stroke-width:1.8}.stage{position:relative;border-radius:20px;overflow:hidden;background:#000;touch-action:pan-y;user-select:none;-webkit-user-select:none}.stage.zoomed{touch-action:none}.zoom{position:relative;transform-origin:0 0;will-change:transform}.zoom-reset{position:absolute;right:10px;bottom:10px;z-index:2;border:0;border-radius:12px;padding:8px 12px;background:#000000a6;color:#fff;font:inherit;font-size:.82rem;font-weight:800}.stage canvas,.stage img{width:100%;height:auto}.marker{position:absolute;left:var(--x);top:var(--y);width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:50%;border:4px solid #fff;box-shadow:0 0 0 2px #000000b3,inset 0 0 0 2px #000000b3;pointer-events:none}.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.overlay rect{fill:none;stroke:#fff;stroke-width:2.5;vector-effect:non-scaling-stroke}.overlay rect.under{stroke:#0009;stroke-width:5}.suggestion{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:10px}.hold{width:100%;height:100%;overflow:visible}.hold path{stroke:#0000002e;stroke-width:3}.hold .bolt{fill:#00000047;stroke:none}.hero{position:relative;overflow:hidden;border-radius:26px;padding:18px 16px 16px;background:var(--surface);border:2px solid var(--line)}.hero.on{background:linear-gradient(160deg,var(--orange) 0%,#ff4f6d 100%);border-color:var(--orange-deep);color:#fff;box-shadow:0 5px 0 var(--orange-deep)}.hero-top{display:flex;align-items:center;gap:14px}.flame{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--surface-2);color:var(--muted)}.hero.on .flame{background:#ffffff38;color:#fff}.flame .ico{width:34px;height:34px;fill:currentColor;stroke:none}.hero-top b{display:block;font-family:var(--display);font-size:2.6rem;font-weight:900;line-height:.95;letter-spacing:-.03em}.hero-top .grow span{font-weight:700;opacity:.85}.lv{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.78rem;font-weight:800;opacity:.9}.lv-badge{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--blue);color:#fff;box-shadow:0 3px 0 var(--blue-deep);font-family:var(--display);font-weight:900;font-size:1.3rem}.hero.on .lv-badge{background:#fff;color:var(--orange-deep);box-shadow:0 3px #0000002e}.week{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:18px 0 0;padding:0}.week li{position:relative;aspect-ratio:1;max-height:52px;display:grid;place-items:center}.week li .hold{position:absolute;inset:0}.week li.off path{fill:none;stroke:currentColor;stroke-width:4;stroke-dasharray:7 7;opacity:.45}.week li.off .bolt{display:none}.week li span{position:relative;font-weight:900;font-size:.8rem}.week li.on span{color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .35)}.week li.today:after{content:"";position:absolute;bottom:-7px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:currentColor}.xp{display:flex;align-items:center;gap:10px;margin-top:18px}.xp .progress{flex:1;margin:0;height:14px;border-radius:8px}.hero.on .xp .progress{background:#0000002e}.hero.on .xp .progress span{background:#fff}.xp>span{font-weight:800;white-space:nowrap;font-size:.85rem}.hero-msg{margin:12px 0 0;font-weight:600;opacity:.9}.xp-chip{color:var(--blue)}.xp-gain{margin:0;font-family:var(--display);font-size:1.5rem;font-weight:900;color:var(--blue)}.progress{height:12px;border-radius:7px;background:var(--surface-2);overflow:hidden;margin-top:8px}.progress span{display:block;height:100%;width:var(--w);border-radius:7px;background:var(--blue)}.path{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px}.path li{display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(calc(var(--off) * 38px))}.node{position:relative;width:84px;height:84px;display:grid;place-items:center}.node .hold{position:absolute;inset:0;filter:drop-shadow(0 4px 0 rgb(0 0 0 / .18))}.node b{position:relative;font-family:var(--display);font-size:1.25rem;font-weight:900;color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / .35)}.path li.locked .node b{color:var(--muted);text-shadow:none}.path li.next .node{animation:bob 2.4s ease-in-out infinite}.node-meta{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-weight:800;font-size:.85rem}.node-meta .ico{width:15px;height:15px}.path li.mastered .node-meta{color:var(--green-deep)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .path li.mastered .node-meta{color:var(--green)}}:root[data-theme=dark] .path li.mastered .node-meta{color:var(--green)}.achs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:14px}.achs.scroll{display:flex;overflow-x:auto;scrollbar-width:none;margin:4px -16px 0;padding:4px 16px 8px}.achs.scroll::-webkit-scrollbar{display:none}.achs.scroll .ach{width:92px;flex:none}.ach{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.medal{position:relative;width:74px;height:74px;display:grid;place-items:center;color:#fff}.medal .hold{position:absolute;inset:0;filter:drop-shadow(0 4px 0 rgb(0 0 0 / .2))}.medal .ico{position:absolute;top:14px;width:16px;height:16px}.medal b{position:relative;margin-top:12px;font-family:var(--display);font-size:1.2rem;font-weight:900;text-shadow:0 1px 2px rgb(0 0 0 / .3)}.ach .label{font-size:.78rem;font-weight:700;line-height:1.25}.ach.locked .medal{color:var(--muted)}.ach.locked .medal .hold{filter:none}.ach.locked .medal b{text-shadow:none}.ach.locked .label{color:var(--muted)}.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.top .row{gap:4px}.streak-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:12px;background:var(--orange-soft);color:var(--orange-deep);font-family:var(--display);font-weight:900}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .streak-pill{color:var(--orange)}}:root[data-theme=dark] .streak-pill{color:var(--orange)}.streak-pill .ico{width:17px;height:17px;fill:currentColor;stroke:none}p.small .ico{display:inline;width:14px;height:14px;vertical-align:-2px;margin-right:4px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:14px}.kpi b{display:block;font-family:var(--display);font-size:1.9rem;font-weight:900;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi span{font-size:.82rem;font-weight:600;color:var(--muted)}.kpi:nth-child(1) b{color:var(--blue)}.kpi:nth-child(3) b{color:var(--yellow-deep)}.kpi:nth-child(4) b{color:var(--orange)}.chart{width:100%;height:auto;overflow:visible}.chart .grid{stroke:var(--surface-2);stroke-width:1.5}.chart .axis{fill:var(--muted);font-size:10px;font-weight:700}.chart .max{fill:none;stroke:var(--blue);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}.chart .med{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 5}.chart .dot{fill:var(--surface);stroke:var(--blue);stroke-width:3}.legend{display:flex;gap:16px;font-size:.82rem;font-weight:600;color:var(--muted);margin-top:10px}.legend i{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle;background:var(--blue)}.legend i.med{background:none;border-top:2px dashed var(--muted)}.legend i.flash-i{background:var(--yellow)}.legend i.sent-i{background:var(--green)}.legend i.soft-i{background:var(--pink)}.bars-v{display:flex;align-items:flex-end;gap:6px;height:130px}.bars-v div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;font-size:.7rem;font-weight:700;color:var(--muted)}.bars-v span.fill{width:100%;height:var(--h);min-height:3px;border-radius:8px 8px 3px 3px;background:var(--blue)}.bars-v div:last-child span.fill{background:var(--orange)}.bars-h>div{display:grid;grid-template-columns:48px 1fr 30px;gap:8px;align-items:center;font-size:.88rem;margin-top:8px}.bars-h strong{font-family:var(--display);font-weight:900}.track{height:18px;border-radius:9px;background:var(--surface-2);overflow:hidden;display:flex}.track .fill{width:var(--w);background:var(--green)}.track .fill.accent{background:var(--yellow)}.track .fill.soft{background:var(--pink)}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.cal-head strong{display:block;font-family:var(--display);font-size:1.15rem;font-weight:800}.cal-head button{width:44px;height:44px;border:2px solid var(--line);background:var(--surface);box-shadow:0 3px 0 var(--line);border-radius:14px;font-size:1.3rem;font-weight:800;cursor:pointer}.cal-head button:disabled{opacity:.35}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.cal .wd{font-size:.78rem;color:var(--muted);font-weight:800;padding-bottom:4px}.cal button{position:relative;height:42px;border:0;border-radius:12px;background:none;font-size:.92rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.cal button.today{box-shadow:inset 0 0 0 2px var(--line)}.cal button.on{background:var(--orange);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 3px 0 var(--orange-deep)}.cal button.sel{background:var(--blue);box-shadow:0 3px 0 var(--blue-deep)}.cal button.multi:after{content:"";position:absolute;left:50%;bottom:5px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:currentColor}.auth{min-height:78dvh;display:flex;flex-direction:column;justify-content:center;gap:12px}.auth h1{font-size:2.6rem;margin:0}.auth p{color:var(--muted);margin:0 0 18px;max-width:32ch;font-size:1.05rem}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 16px);z-index:20;transform:translate(-50%);max-width:calc(100% - 32px);padding:12px 18px;border-radius:14px;background:var(--text);color:var(--bg);font-weight:800}.sheet{width:100%;max-width:560px;margin:auto auto 0;padding:22px 16px calc(env(safe-area-inset-bottom) + 20px);border:0;border-radius:26px 26px 0 0;background:var(--surface);color:var(--text)}.sheet::backdrop{background:#0a0c1e8c}.sheet h2{font-size:1.3rem}.sticky-save{position:sticky;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 10px);margin-top:22px}.celebrate{text-align:center}.celebrate .achs{justify-content:center}.kicker{margin:4px 0 0;font-family:var(--display);font-size:1.6rem;font-weight:900;letter-spacing:-.02em}.big-grade{font-family:var(--display);font-size:5.5rem;font-weight:900;line-height:1;letter-spacing:-.04em;color:var(--blue)}@media(prefers-reduced-motion:no-preference){.sheet[open]{animation:sheet-in .25s ease-out}.celebrate .big-grade,.celebrate .medal{animation:pop .55s cubic-bezier(.2,1.6,.4,1) both}.celebrate .ach:nth-child(2) .medal{animation-delay:.08s}.celebrate .ach:nth-child(3) .medal{animation-delay:.16s}}@media(prefers-reduced-motion:reduce){.path li.next .node{animation:none}}@keyframes sheet-in{0%{transform:translateY(28px);opacity:0}}@keyframes pop{0%{transform:scale(.4) rotate(-12deg);opacity:0}}@keyframes bob{50%{transform:translateY(-5px)}}.terms{margin:0;padding-left:20px;display:grid;gap:10px;line-height:1.5}.terms li::marker{color:var(--blue)}.check{display:flex;gap:12px;align-items:flex-start;padding:14px;border:2px solid var(--line);border-radius:16px;font-weight:700;cursor:pointer}.check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--blue)}.detect-status{margin:10px 0 0;font-weight:700;color:var(--muted);min-height:1.4em}.detect-status.loading:before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px;border:2.5px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}.overlay rect{stroke:#00e5ff;stroke-width:3}.overlay rect.under{stroke:#0000008c;stroke-width:6}@keyframes spin{to{transform:rotate(360deg)}}.color-auto{display:flex;align-items:center;gap:10px;padding:12px 14px;border:2px solid var(--line);border-radius:16px;background:var(--surface)}.color-auto .swatch{width:26px;height:26px}.color-auto strong{font-family:var(--display);font-size:1.1rem}.project-actions{margin:14px 0 6px}.chalk-stroke{fill:none;stroke:#fbfaf6;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.brand-mark{width:30px;height:30px}.tick{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none;overflow:visible}.tick.small{inset:-8px -6px auto auto;width:38px;height:38px}.week li .tick{inset:-18%;width:136%;height:136%}.week li .chalk-stroke{stroke-width:15}.tick.small .chalk-stroke{stroke-width:14}body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -2.2 1.15'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .6 0 0 0 0 .7 0 0 0 -2.2 1.15'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}:root:not([data-theme=dark]) .chalk-stroke{stroke:#fff}:root:not([data-theme=dark]) .brand-mark .chalk-stroke{stroke:var(--text)}}:root[data-theme=light] body{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .6 0 0 0 0 .7 0 0 0 -2.2 1.15'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}:root[data-theme=light] .chalk-stroke{stroke:#fff}:root[data-theme=light] .brand-mark .chalk-stroke{stroke:var(--text)}.burst{position:relative;width:120px;height:120px;margin:0 auto -6px}.burst .tick{inset:0;width:100%;height:100%}.burst .chalk-stroke{stroke-width:12}.celebrate .burst .chalk-stroke{stroke:var(--text)}.puff{position:absolute;inset:50% auto auto 50%}.puff i{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s) / -2);border-radius:50%;background:var(--text);opacity:0;filter:blur(1px)}@media(prefers-reduced-motion:no-preference){.tick.draw .chalk-stroke{stroke-dasharray:120;stroke-dashoffset:120;animation:draw-tick .55s .15s cubic-bezier(.5,0,.2,1) forwards}.puff i{animation:puff .9s var(--d) ease-out forwards}}@media(prefers-reduced-motion:reduce){.puff{display:none}}@keyframes draw-tick{to{stroke-dashoffset:0}}@keyframes puff{0%{opacity:.55;transform:translate(0) scale(.6)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.6)}}.overlay rect.cand{stroke:#ffffff73;stroke-width:1.5;stroke-dasharray:4 3}.photo-pick .detect-status{margin:0}.title-row{align-items:center}.title-row h1{margin:6px 0 12px}.avatar{width:var(--s);height:var(--s);flex:none;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;color:#fff;font-weight:900;font-size:calc(var(--s) * .38);border:2px solid var(--line)}.person,.person-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.person-row{padding:10px 0}.list .person-row+.person-row,.list li+li .person-row{border-top:1px solid var(--line)}.small-btn{min-height:38px;padding:6px 14px;font-size:.86rem}.handle-input{display:flex;align-items:center;gap:4px}.handle-input>span{font-weight:900;color:var(--muted)}.handle-input input{flex:1}.avatar-pick{gap:14px;cursor:pointer}.error{color:var(--pink-deep);font-weight:700}.rank li.me .person-row{background:var(--blue-soft);border-radius:14px;padding-inline:8px}.rank .pos{width:26px;text-align:center;font-weight:900;color:var(--muted)}.rank .pos.top1{color:#e0a400}.rank .pos.top2{color:#8b93a8}.rank .pos.top3{color:#c26a2e}.xp-pill{font-weight:900;color:var(--blue)}.suggest{list-style:none;margin:0;padding:0 0 4px;display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.suggest li{scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:14px 10px}.suggest a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:inherit;min-height:118px}.suggest strong{font-size:.92rem;line-height:1.2}.profile-head{display:flex;align-items:center;gap:16px}.profile-head h1{margin:0}.profile-counts{gap:6px;margin-top:6px;flex-wrap:wrap}.badge.friends{background:var(--green);color:var(--on-color)}.locked{display:flex;align-items:center;gap:12px}.locked svg{width:28px;height:28px;flex:none;fill:none;stroke:var(--muted);stroke-width:2}.locked p{margin:0}.gallery button{padding:0;border:0;background:var(--surface-2);position:relative;cursor:pointer;aspect-ratio:1;border-radius:14px;overflow:hidden}.level-pill{padding:2px 10px;border-radius:10px;background:var(--blue);color:var(--on-color);font-weight:900}.profile-counts{align-items:center}:root{--chalk: var(--blue);--m-underline: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 24' preserveAspectRatio='none' %3E%3Cfilter id='c' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='4' result='w'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='w' scale='4' xChannelSelector='R' yChannelSelector='G' result='r'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='1' seed='9' result='g'/%3E%3CfeColorMatrix in='g' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -1.1 1.4' result='h'/%3E%3CfeComposite in='r' in2='h' operator='in'/%3E%3C/filter%3E%3Cg filter='url%28%23c%29' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15c48-7 120-10 228-6' stroke-width='9'/%3E%3Cpath d='M40 19c50-3 100-4 150-2' stroke-width='4' opacity='.7'/%3E%3C/g%3E%3C/svg%3E");--m-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none' %3E%3Cfilter id='c' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='3' result='w'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='w' scale='4' xChannelSelector='R' yChannelSelector='G' result='r'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='1' seed='9' result='g'/%3E%3CfeColorMatrix in='g' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -1.1 1.4' result='h'/%3E%3CfeComposite in='r' in2='h' operator='in'/%3E%3C/filter%3E%3Cg filter='url%28%23c%29' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 54c8 7 15 15 21 25 11-21 27-43 47-60' stroke-width='14'/%3E%3C/g%3E%3C/svg%3E");--m-tally: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 120' preserveAspectRatio='none' %3E%3Cfilter id='c' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='6' result='w'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='w' scale='4' xChannelSelector='R' yChannelSelector='G' result='r'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='1' seed='9' result='g'/%3E%3CfeColorMatrix in='g' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -1.1 1.4' result='h'/%3E%3CfeComposite in='r' in2='h' operator='in'/%3E%3C/filter%3E%3Cg filter='url%28%23c%29' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 18v70M44 14v76M64 18v70M84 14v76' stroke-width='8'/%3E%3Cpath d='M10 70l90-40' stroke-width='8'/%3E%3Cpath d='M130 22v66M150 18v72' stroke-width='8'/%3E%3Cpath d='M186 30c8 6 13 13 18 22 10-20 24-38 44-52' stroke-width='9'/%3E%3C/g%3E%3C/svg%3E");--m-hatch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12' preserveAspectRatio='none' %3E%3Cfilter id='c' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' seed='2' result='w'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='w' scale='2' xChannelSelector='R' yChannelSelector='G' result='r'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='2.2' numOctaves='1' seed='9' result='g'/%3E%3CfeColorMatrix in='g' type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -1.1 1.4' result='h'/%3E%3CfeComposite in='r' in2='h' operator='in'/%3E%3C/filter%3E%3Cg filter='url%28%23c%29' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-4 14L8 -2M8 14L20 -2M20 14L32 -2M32 14L44 -2' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--chalk: #fbfaf6}}:root[data-theme=dark]{--chalk: #fbfaf6}h1:not(.row):after{content:"";display:block;width:132px;height:13px;margin-top:6px;background:var(--chalk);opacity:.9;-webkit-mask:var(--m-underline) left / 100% 100% no-repeat;mask:var(--m-underline) left / 100% 100% no-repeat}.card>h2:first-child:before,section>h2:first-child:before{content:"";display:inline-block;width:1.05em;height:1.05em;margin:0 .35em -.12em 0;background:var(--chalk);-webkit-mask:var(--m-tick) center / contain no-repeat;mask:var(--m-tick) center / contain no-repeat}.tabbar a[aria-current=page] span:after{content:"";position:absolute;left:-6px;right:-6px;bottom:-6px;height:7px;background:var(--blue);-webkit-mask:var(--m-underline) center / 100% 100% no-repeat;mask:var(--m-underline) center / 100% 100% no-repeat}.hero{isolation:isolate}.hero.on:before{content:"";position:absolute;z-index:-1;right:96px;top:10px;width:120px;height:56px;background:#fff;opacity:.16;transform:rotate(-8deg);-webkit-mask:var(--m-tally) center / 100% 100% no-repeat;mask:var(--m-tally) center / 100% 100% no-repeat}.progress span{position:relative;overflow:hidden}.progress span:after{content:"";position:absolute;inset:0;background:#fff;opacity:.28;-webkit-mask:var(--m-hatch) left / 24px 100% repeat-x;mask:var(--m-hatch) left / 24px 100% repeat-x}.btn.primary,.btn.go{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 -3 1.6'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url%28%23n%29' opacity='.1'/%3E%3C/svg%3E");background-size:160px 160px}html{touch-action:pan-x pan-y}input,select,textarea{font-size:max(16px,1em)}.icon-btn svg.gear{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}button.streak-pill{border:0;cursor:pointer;font:inherit;font-family:var(--display);font-weight:900}.line-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.share-btn{gap:8px}.share-btn .line-ico{width:20px;height:20px}html:has(dialog[open]){overflow:hidden}.sheet{overscroll-behavior:contain}.danger-link{color:var(--pink-deep);align-self:center}.btn.danger-fill{--face: var(--pink-deep);--base: #8f1240}.friends-card{display:block;text-decoration:none;color:inherit}.friends-card h2{margin:0}.rank.mini .person-row{padding:6px 0}.stars{display:flex;justify-content:center;gap:6px}.stars button{width:52px;height:52px;padding:4px;border:0;background:none;cursor:pointer;color:var(--line)}.stars svg{width:100%;height:100%;fill:currentColor;stroke:none;transition:transform .12s}.stars button.on{color:var(--yellow)}.stars button:active svg{transform:scale(.88)}.overlay rect.start{stroke:#1fbf6a;stroke-width:4}.overlay rect.top{stroke:#ff3d4f;stroke-width:4}.stage{-webkit-touch-callout:none}.gallery .status-tag{position:absolute;right:6px;top:6px;padding:2px 8px;border-radius:9px;font-size:.72rem;font-weight:900;color:#fff}.status-tag.s-sent,.status-tag.s-flash{background:var(--green)}.status-tag.s-flash{background:var(--yellow-deep)}.status-tag.s-project{background:var(--blue)}.status-tag.s-dropped{background:#6b7190}.brand img.brand-mark{width:30px;height:30px;border-radius:8px}form.auth{min-height:82dvh;justify-content:center;gap:14px;max-width:420px;margin:0 auto}.auth-logo{width:88px;height:88px;border-radius:22px;box-shadow:0 6px #0000002e}.auth .auth-lead{margin:0 0 6px}.auth h2{margin:4px 0 0}.auth-info{background:var(--blue-soft);color:var(--text);padding:10px 14px;border-radius:14px;margin:0}.auth .auth-error{color:var(--pink-deep);font-weight:800;margin:0}.auth .auth-info{color:var(--text)}.pw{position:relative}.pw input{width:100%;padding-right:48px}.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:10px}.pw-eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pw-eye[aria-pressed=true]{color:var(--blue)}.auth-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem}.auth-or:before,.auth-or:after{content:"";flex:1;height:2px;background:var(--line)}.google-btn{gap:10px}.google-btn svg{width:20px;height:20px}.svg-defs{position:absolute}.legal-links{text-align:center;color:var(--muted)}.legal-links a{color:var(--muted)}.style-early{background:var(--orange-soft);color:var(--text);padding:8px 12px;border-radius:12px}.nav-wrap{position:relative}.nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:#0f122699;color:#fff;font-size:1.6rem;line-height:1;font-weight:900;display:grid;place-items:center;padding-bottom:4px}.nav-arrow.prev{left:8px}.nav-arrow.next{right:8px}.nav-top{gap:2px}.nav-top .icon-btn{margin:0;font-size:1.6rem;font-weight:900;color:var(--blue)}.nav-top .icon-btn:disabled{color:var(--line)}.stage.detecting canvas,.stage.detecting img{filter:grayscale(.9) brightness(.7);transition:filter .3s}.stage canvas,.stage img{transition:filter .4s}.stage.detecting:after{content:"";position:absolute;left:0;right:0;height:22%;top:-22%;pointer-events:none;z-index:2;background:linear-gradient(to bottom,transparent,rgb(255 255 255 / .28),transparent);animation:scan 1.6s ease-in-out infinite}@keyframes scan{to{top:100%}}@media(prefers-reduced-motion:reduce){.stage.detecting:after{animation:none;display:none}}.pinned-head{width:100%;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left;gap:8px}.pinned .stage{cursor:pointer}.icon-btn .line-ico{fill:none;stroke:currentColor}.title-row{gap:8px;flex-wrap:nowrap}.title-main{min-width:0;gap:8px}.title-main .title-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.title-main .grade-pill{flex:none}.title-actions{display:flex;gap:2px;flex:none}.act-btn{margin:0;width:40px;height:40px;color:var(--blue)}.act-btn .line-ico{width:22px;height:22px}.act-btn[aria-pressed=true] .line-ico{fill:var(--blue-soft)}.offline-bar{display:none;margin:0;padding:8px 16px;background:var(--orange-soft);color:var(--text);font-size:.88rem;font-weight:700;text-align:center}body.offline .offline-bar{display:block}.push-ask{text-align:left}.push-bell{font-size:2.6rem;line-height:1}.tabbar{grid-template-columns:repeat(5,1fr)}.tab-cam{display:grid;place-items:center;cursor:pointer}.cam-btn{width:56px;height:56px;margin-top:-22px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--blue-deep),0 6px 16px #2f5bff59;border:3px solid var(--surface)}.cam-btn svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.tab-cam:active .cam-btn{transform:translateY(2px);box-shadow:0 2px 0 var(--blue-deep)}.tour{position:fixed;inset:0;z-index:60}.tour-hole{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px #080a19bd;pointer-events:none;transition:left .25s,top .25s,width .25s,height .25s;outline:2px solid rgb(255 255 255 / .7)}.tour-bubble{position:fixed;left:16px;right:16px;max-width:420px;margin:0 auto;background:var(--surface);color:var(--text);border:2px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:0 6px 0 var(--line)}.tour-bubble p{margin:0 0 10px;font-weight:600;line-height:1.4}.tour-bubble .row{gap:10px;align-items:center}@media(prefers-reduced-motion:reduce){.tour-hole{transition:none}}.install-steps{margin:0;padding-left:22px;line-height:1.9;font-weight:600}.ios-share{display:inline-grid;vertical-align:middle;color:var(--blue)}.ios-share .line-ico{width:20px;height:20px}.feed-card{display:flex;flex-direction:column;gap:12px}.feed-head{gap:10px;align-items:center}.feed-head .name-link{color:inherit;text-decoration:none}.feed-color{height:120px;border-radius:16px;display:grid;place-items:center}.feed-color span{background:#0f1226bf;color:#fff;padding:4px 12px;border-radius:10px;font-weight:900;font-family:var(--display)}.feed-actions{align-items:center}.fire-btn{gap:2px}.fire-btn.on{--face: var(--orange-soft);--base: var(--orange);color:var(--orange-deep)}.feed-sentinel{height:1px}.center{text-align:center}.progress-link{gap:12px;text-decoration:none;color:inherit;align-items:center}.progress-link .ico-wrap{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--blue-soft);color:var(--blue)}.stage.painting{touch-action:none}.overlay rect.painted{stroke:#1fbf6a;stroke-width:4}.overlay rect.unpainted{stroke:#ff3d4f;stroke-width:3;stroke-dasharray:3 3}.brush-btn{align-self:flex-start}.block-link{align-self:center;margin-top:8px}.tabbar a{position:relative}.tabbar a svg{width:28px;height:28px}.tabbar a[aria-current=page]:after{content:"";position:absolute;left:50%;bottom:10px;width:30px;height:6px;margin-left:-15px;background:var(--blue);-webkit-mask:var(--m-underline) center / 100% 100% no-repeat;mask:var(--m-underline) center / 100% 100% no-repeat}.gallery a,.gallery button{background-color:var(--surface-2);background-size:cover;background-position:center}.gallery a:not([style]):not(:has(img.in)),.gallery button:not([style]):not(:has(img.in)){animation:skel 1.4s ease-in-out infinite}@keyframes skel{50%{opacity:.6}}.gallery a[style]:before,.gallery button[style]:before{content:"";position:absolute;inset:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}img.fade{opacity:0;transition:opacity .35s;position:relative}img.fade.in{opacity:1}.stage{background-image:var(--lqip, none);background-size:cover;background-position:center}@media(prefers-reduced-motion:reduce){.gallery a,.gallery button{animation:none!important}img.fade{transition:none}}.link-plain{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}.link-plain:hover{text-decoration:underline}.settings-group{display:grid;gap:14px;padding-top:16px;border-top:1px solid var(--line)}.settings-group h3,.danger-zone h3{margin:0;font-family:var(--display);font-size:1.05rem}.danger-zone{display:grid;gap:10px;padding:16px;border:2px dashed var(--pink-deep);border-radius:16px}.danger-zone h3{color:var(--pink-deep)}.danger-zone p{margin:0;color:var(--muted)}.btn.danger-fill{--ink: #fff}.sheet{padding-top:26px}.sheet:before{content:"";position:absolute;top:9px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:3px;background:var(--line)}.rx,#root{display:contents}.swipe{position:relative;overflow:hidden}.swipe-act{position:absolute;top:0;right:0;bottom:0;width:96px;border:0;background:var(--pink-deep);color:#fff;font:inherit;font-weight:800;cursor:pointer}.swipe-body{position:relative;background:var(--surface);touch-action:pan-y}@media(prefers-reduced-motion:reduce){.swipe-body{transition:none!important}}.suggest li{position:relative}.suggest.big{grid-auto-columns:172px}.suggest.big a{min-height:150px}.suggest .btn.block{width:100%}.sug-x{position:absolute;top:4px;right:6px;border:0;background:none;color:var(--muted);font-size:1.3rem;line-height:1;padding:4px 6px;cursor:pointer}.suggest{align-items:stretch;scrollbar-width:none}.suggest::-webkit-scrollbar{display:none}.suggest>li.card{margin:0}.suggest.big a{flex:1}.kpi-link{font:inherit;color:inherit;text-align:left;cursor:pointer}.kpi-link:active{transform:translateY(1px)}.settings .settings-group{border-top:0;padding:14px 16px;background:var(--surface-2);border-radius:16px}.bell{position:relative}.bell svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.bell-dot{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--pink-deep);color:#fff;font-size:.7rem;font-weight:800;line-height:18px;text-align:center}.inbox li.new{background:var(--blue-soft);border-radius:12px}.inbox-ico{width:40px;height:40px;display:grid;place-items:center;font-size:1.3rem}.top{position:static}.settings-btn{margin-right:0;border:2px solid var(--line);border-radius:14px;width:48px;height:48px}@keyframes slide-l{0%{transform:translate(28px);opacity:.4}}@keyframes slide-r{0%{transform:translate(-28px);opacity:.4}}main[data-slide=left]>*{animation:slide-l .22s ease-out}main[data-slide=right]>*{animation:slide-r .22s ease-out}@media(prefers-reduced-motion:reduce){main[data-slide]>*{animation:none}}.profile-actions{gap:8px}.profile-actions .btn{white-space:nowrap;padding:0 14px}.settings-row{display:flex;align-items:center;gap:12px;padding:14px 4px;text-decoration:none;color:inherit}.settings-row.danger strong{color:var(--pink-deep)}.avatar{position:relative;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}.avatar img.in{opacity:1}.stage[style*=aspect-ratio] .zoom,.stage[style*=aspect-ratio] .zoom>img{width:100%;height:100%}.stage[style*=aspect-ratio] .zoom>img{object-fit:cover}.btn.story-btn{--face: #e1306c;--base: #a01c4c;--ink: #fff;background:linear-gradient(90deg,#f58529,#dd2a7b 50%,#8134af);color:#fff}
