:root{--ink:#0f172a;--text:#0f172a;--slate-700:#334155;--slate-600:#475569;--slate-500:#5b6878;--muted:#5b6878;--slate-400:#687484;--faint:#cbd5e1;--border:#e6eaf0;--bg:#f4f6f9;--card:#fff;--surface-50:#eef2f7;--surface-100:#f8fafc;--tabbar-h:56px;--accent:#2563eb;--accent-press:#1d4ed8;--accent-tint:#eff6ff;--accent-tint-border:#dce7fb;--accent-soft:#bfd3fb;--green:#22c55e;--green-600:#16a34a;--green-bg:#f0fdf4;--green-border:#bbf7d0;--amber:#d97706;--warn-bg:#fef3c7;--warn-text:#b45309;--danger:#dc2626;--accent-bg:#eff6ff;--accent-border:#dce7fb;--done-bg:#f0fdf4;--done-border:#bbf7d0;--done-text:#16a34a;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--font-num:"Archivo", "Pretendard", -apple-system, sans-serif;--shadow-card:0 6px 16px -14px #141e3c40;--shadow-blue:0 14px 28px -14px #2563eb80;--shadow-pop:0 18px 40px -20px #141e3c59;--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-spring:cubic-bezier(.34, 1.3, .5, 1);--dur-fast:.16s;--dur-base:.28s;--dur-slow:.42s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}.app{max-width:480px;padding:calc(16px + env(safe-area-inset-top)) 18px calc(var(--tabbar-h) + 26px + env(safe-area-inset-bottom));margin:0 auto;overflow-x:clip}.cap-ios .app{padding-top:max(calc(16px + env(safe-area-inset-top)), 64px)}.num-font,.archivo{font-family:var(--font-num);font-variant-numeric:tabular-nums}.topbar{align-items:center;gap:9px;margin:4px 0 18px;display:flex}.topbar h1{flex:1;margin:0}.backbtn{background:var(--surface-50);width:36px;height:36px;min-height:0;color:var(--ink);border:none;border-radius:11px;flex:none;justify-content:center;align-items:center;padding:0;font-size:19px;font-weight:700;display:flex}.hchip{background:var(--surface-50);min-height:0;color:var(--ink);border:none;border-radius:11px;padding:8px 13px;font-size:13px;font-weight:600}.hchip.muted-chip{color:var(--muted)}h1{letter-spacing:-.02em;margin:0 0 14px;font-size:1.5rem;font-weight:800}h2{margin:0 0 10px;font-size:1rem;font-weight:700}p{line-height:1.5}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:12px;padding:16px}.tabbar{z-index:40;max-width:480px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--border);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{color:var(--slate-400);letter-spacing:0;-webkit-tap-highlight-color:transparent;transition:color var(--dur-fast) ease;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:600;text-decoration:none;display:flex}.tab-item svg{width:23px;height:23px;display:block}.tab-item.on{color:var(--accent)}.tab-item.on span{font-weight:700}button{font:inherit;border:1px solid var(--border);background:var(--card);min-height:48px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .32s var(--ease-spring), background .12s ease;border-radius:14px;padding:0 16px;font-weight:700}button:active:not(:disabled){transition:transform 60ms;transform:scale(.93)}[role=button],.picker-item,.tab-item,.chip,.hchip{transition:transform .32s var(--ease-spring)}[role=button]:active,.picker-item:active,.tab-item:active,.chip:active,.hchip:active{transition:transform 60ms;transform:scale(.93)}button:disabled{opacity:.4}:where(button,a,[role=button],summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:inherit}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-blue)}button.primary:active{background:var(--accent-press)}button.dark{background:var(--ink);border-color:var(--ink);color:#fff}button.tint{background:var(--accent-tint);border-color:var(--accent-tint-border);color:var(--accent);box-shadow:none}button.success{background:var(--green);border-color:var(--green);color:#fff}button.danger{color:var(--danger);box-shadow:none;background:#fff;border-color:#f3c9c9}button.ghost{color:var(--accent);min-height:40px;box-shadow:none;background:0 0;border:none;padding:8px 10px}button.small{min-height:40px;padding:0 12px;font-size:.9rem}button.block{width:100%}input,select{font:inherit;border:1px solid var(--border);min-height:48px;color:var(--ink);background:#fff;border-radius:13px;width:100%;padding:12px 14px;font-size:16px}input::placeholder{color:var(--faint)}input:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2563eb26}input[type=number]{-moz-appearance:textfield}input[type=radio],input[type=checkbox]{width:auto;min-width:0;min-height:0;accent-color:var(--accent);background:0 0;border:none;border-radius:0;flex:none;padding:0}input[type=radio]:focus,input[type=checkbox]:focus{box-shadow:none}.field{color:var(--muted);flex-direction:column;flex:1;gap:5px;min-width:0;font-size:.78rem;font-weight:600;display:flex}.muted{color:var(--muted);font-size:.9rem}.small-muted{color:var(--muted);font-size:.8rem}.faint{color:var(--slate-400)}.spacer{height:12px}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.grow{flex:1}.title-lg{letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.chips{flex-wrap:wrap;gap:7px;margin:12px 0 4px;display:flex}.chip{border:1px solid var(--border);min-height:34px;color:var(--muted);background:#fff;border-radius:999px;padding:0 14px;font-size:.8rem;font-weight:600}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.seg{gap:7px;display:flex}.seg-item{text-align:center;border:1px solid var(--border);background:#fff;border-radius:12px;flex:1;min-height:0;padding:13px 4px}.seg-item.on{background:var(--accent);border-color:var(--accent)}.seg-item .t{color:var(--muted);font-size:14px;font-weight:800}.seg-item.on .t{color:#fff}.seg-item .s{color:var(--slate-400);margin-top:2px;font-size:10px;font-weight:500}.seg-item.on .s{color:#ffffffd9}.stepper{background:var(--surface-50);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.stepper button{border:1px solid var(--border);width:26px;height:26px;min-height:0;color:var(--ink);box-shadow:none;background:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:700;display:flex}.stepper input{text-align:center;width:44px;height:auto;min-height:0;font-family:var(--font-num);box-shadow:none;background:0 0;border:none;padding:0;font-size:15px;font-weight:800}.stepper input:focus{box-shadow:none;border:none}.tap44,.backbtn{position:relative}.tap44:after,.backbtn:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stepper button{position:relative}.stepper button:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stepper input{z-index:1;position:relative}.st-unit{color:var(--muted);margin:0 4px 0 -2px;font-size:11px;font-weight:600}.field .stepper{width:100%;display:flex}.field .stepper input{flex:1;min-width:0}.field .stepper.long button{width:20px;height:20px;font-size:12px}.field .stepper.long input{font-size:12px}.stepper.big{background:0 0;justify-content:space-between;gap:6px;width:100%;padding:0;display:flex}.stepper.big button{background:var(--accent-tint);width:42px;height:42px;color:var(--accent);border:none;border-radius:11px;font-size:22px}.stepper.big input{flex:1;min-width:0;font-size:25px}.stepper.big.fit{gap:4px}.stepper.big.fit button{width:30px;height:40px;font-size:20px;position:relative}.stepper.big.fit button:after{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stepper.big.fit input{font-size:19px}.stepper.big.fit.long input{font-size:15px}.stat-grid{gap:14px;display:flex}.stat{background:var(--surface-50);text-align:center;border-radius:16px;flex:1;padding:18px 10px}.stat .v{font-family:var(--font-num);color:var(--ink);font-size:28px;font-weight:900;line-height:1}.stat .v.accent{color:var(--accent)}.stat .l{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:12px;font-weight:600}.progressbar{background:var(--border);border-radius:99px;height:7px;overflow:hidden}.progressbar>span{background:var(--green);border-radius:99px;height:100%;transition:width .25s;display:block}.sheet-backdrop{z-index:50;background:#0f172a80;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{padding:20px 18px calc(22px + env(safe-area-inset-bottom));max-height:88vh;box-shadow:var(--shadow-pop);background:#fff;border-radius:26px 26px 0 0;flex-direction:column;animation:.22s sheetUp;display:flex;position:relative}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{background:var(--border);border-radius:99px;flex:none;width:40px;height:5px;margin:0 auto 14px}.noscrollbar{-ms-overflow-style:none;scrollbar-width:none}.noscrollbar::-webkit-scrollbar{width:0;height:0}.modal-backdrop{z-index:50;background:#0f172a80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);padding:20px 18px calc(22px + env(safe-area-inset-bottom));width:100%;max-width:480px;max-height:88vh;box-shadow:var(--shadow-pop);border-radius:26px 26px 0 0;overflow-y:auto}.set{border-top:1px solid var(--border);grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:9px 0;display:grid}.set:first-of-type{border-top:none}.setnum{color:var(--slate-400);text-align:center;font-weight:700}.setbody{align-items:center;gap:8px;display:flex}.setbody .num{flex:1;min-width:0}.setbody input{text-align:center;min-height:44px}.done-label{color:var(--green-600);font-weight:700}.skip-label{color:var(--slate-400)}.checkbtn{border:1px solid var(--green-border);min-width:52px;min-height:44px;color:var(--green-600);box-shadow:none;background:#fff;padding:0 12px;font-size:1.1rem}.checkbtn:active{background:var(--green-bg)}.skipbtn{min-height:44px;color:var(--muted);box-shadow:none;padding:0 12px}.undo{margin-left:auto}.timer{z-index:10;background:var(--ink);color:#fff;box-shadow:var(--shadow-pop);border-radius:16px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex;position:sticky;top:8px}.timer .t{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;font-family:var(--font-num);flex:1}.timer button{color:#fff;min-height:40px;box-shadow:none;background:#334155;border:none}.timer button.light{color:var(--ink);background:#fff}.badge{background:var(--green-bg);color:var(--green-600);white-space:nowrap;border-radius:8px;flex-shrink:0;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-block}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}a{color:var(--accent);text-decoration:none}.picker-list{flex-direction:column;gap:8px;max-height:340px;margin:4px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.picker-list li{border-radius:13px}.picker-item{border:1px solid var(--border);text-align:left;background:#fff;border-radius:13px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:52px;padding:13px 16px;display:flex}.picker-item:active{background:var(--surface-50)}.picker-name{font-size:15px;font-weight:700}.routine-pick{border-color:var(--accent)}.go{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:.8rem;font-weight:700}.finish-bar{padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);border-top:1px solid var(--border);margin:8px -18px 0;position:sticky;bottom:0}.finish-bar .primary{width:100%}.exname{text-align:left;min-height:44px;font:inherit;cursor:pointer;min-width:0;box-shadow:none;background:0 0;border:none;flex:1;padding:0}.exname .small-muted{margin-top:2px;font-weight:500}.cal-head{align-items:center;margin-bottom:13px;display:flex}.cal-title{text-align:center;flex:1;font-size:18px;font-weight:800}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-dow{text-align:center;color:var(--slate-400);padding:2px 0;font-size:.7rem;font-weight:600}button.cal-cell{min-height:52px;box-shadow:none;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 5px;display:flex;overflow:hidden}.cal-cell .d{color:var(--ink);font-size:11px;font-weight:700;line-height:1.2}.cal-cell.today{border-color:var(--accent)}.cal-cell.today .d{color:var(--accent)}.cal-cell.on{background:var(--accent);border-color:var(--accent)}.cal-cell.on .d{color:#fff}.cal-tag{text-overflow:ellipsis;white-space:nowrap;background:var(--accent-tint);max-width:100%;color:var(--accent);border-radius:5px;padding:2px 4px;font-size:9px;font-weight:700;line-height:1.25;overflow:hidden}.cal-cell.on .cal-tag{color:#fff;background:#fff3}.rec-entry{border-top:1px solid var(--border);padding:8px 0}.rec-entry:first-of-type{border-top:none}.rec-sets{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.rec-set{background:var(--green-bg);color:var(--green-600);border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:700}.rec-set.skip{background:var(--surface-50);color:var(--slate-400)}.coach-dim{z-index:1000;position:fixed;inset:0}.coach-dim.shade{background:#0f172a9e}.coach-spot{z-index:1001;pointer-events:none;border-radius:14px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed;box-shadow:0 0 0 9999px #0f172a9e}.coach-tip{z-index:1002;box-shadow:var(--shadow-pop);background:#fff;border-radius:18px;padding:16px;position:fixed}.coach-tip.center{width:min(320px,100vw - 32px);top:45%;left:50%;transform:translate(-50%,-50%)}.coach-arrow{border:9px solid #0000;width:0;height:0;position:absolute}.coach-tip.below .coach-arrow{border-bottom-color:#fff;top:-18px}.coach-tip.above .coach-arrow{border-top-color:#fff;bottom:-18px}.coach-title{margin-bottom:6px;font-size:1.05rem;font-weight:800}.coach-body{color:var(--muted);margin-bottom:12px;font-size:.9rem;line-height:1.55}.coach-foot{align-items:center;gap:8px;display:flex}.coach-foot button{min-height:42px}.coach-count{color:var(--muted);font-variant-numeric:tabular-nums;flex:1;font-size:.8rem}.section-title{letter-spacing:.02em;color:var(--muted);margin:18px 4px 9px;font-size:.75rem;font-weight:700}.menurow{border:1px solid var(--border);text-align:left;width:100%;min-height:0;box-shadow:none;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;display:flex}.menurow .mr-label{color:var(--ink);font-size:14px;font-weight:700}.menurow .mr-sub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500}.menurow .mr-chev{color:var(--slate-400);flex:none;font-size:16px;font-weight:700}.menurow .mr-val{color:var(--slate-600);flex:none;font-size:14px;font-weight:700}.menurow .mr-icon{border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.menu-group{flex-direction:column;gap:9px;display:flex}.switch{background:var(--faint);width:44px;height:26px;transition:background var(--dur-fast);border-radius:99px;flex:none;position:relative}.switch:after{content:"";width:20px;height:20px;transition:transform var(--dur-fast) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a4d}.switch.on{background:var(--accent)}.switch.on:after{transform:translate(18px)}.greet-date{color:var(--muted);font-size:13px;font-weight:600}.greet-line{letter-spacing:-.02em;color:var(--ink);margin-top:3px;font-size:26px;font-weight:800}.bigstart{text-align:left;color:#fff;background:var(--accent);width:100%;box-shadow:var(--shadow-blue);border:none;border-radius:22px;align-items:center;gap:15px;padding:22px;display:flex}.bigstart .play{background:#fff3;border-radius:50%;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.bigstart .bs-title{color:#fff;font-size:22px;font-weight:800}.bigstart .bs-sub{color:#ffffffe6;margin-top:3px;font-size:12px;font-weight:500;line-height:1.4}.qcard{border:1px solid var(--border);text-align:left;min-height:0;box-shadow:var(--shadow-card);background:#fff;border-radius:16px;flex:1;padding:16px 14px}.qcard .qc-icon{font-size:18px;font-weight:800}.qcard .qc-title{color:var(--ink);margin-top:6px;font-size:14px;font-weight:700}.qcard .qc-sub{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500}.routine-row{border:1px solid var(--border);text-align:left;width:100%;min-height:0;box-shadow:none;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.routine-row .rr-name{color:var(--ink);font-size:15px;font-weight:700}.routine-row .rr-sub{color:var(--muted);margin-top:1px;font-size:12px;font-weight:500}.routine-row .rr-go{color:var(--accent);background:var(--accent-tint);border-radius:9px;flex:none;padding:7px 13px;font-size:13px;font-weight:700}.setrow-done{background:var(--green-bg);border:1px solid var(--green-border);border-radius:12px;align-items:center;gap:9px;padding:10px 12px;display:flex}.setrow-done.skip{background:var(--surface-50);border-color:var(--border)}.setrow-active{border:1.5px solid var(--accent);background:#fff;border-radius:12px;align-items:center;gap:9px;padding:9px 11px;display:flex}.setdot{border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.setdot.done{background:var(--green);color:#fff}.setdot.skip{background:var(--surface-50);color:var(--slate-400);border:1px solid var(--border)}.setdot.active{background:var(--accent);color:#fff}.setrow-label{color:var(--ink);flex:1;min-width:0;font-size:14px;font-weight:700}.setrow-label.skip{color:var(--slate-400)}.setrow-vals{flex:1;align-items:center;gap:7px;min-width:0;display:flex}.setval{align-items:baseline;gap:2px;display:inline-flex}.setval input{border:1px solid var(--border);background:var(--surface-50);text-align:center;width:58px;height:34px;min-height:34px;font-family:var(--font-num);color:var(--ink);border-radius:8px;padding:0 4px;font-size:15px;font-weight:800}.setval input:focus{box-shadow:none;border-color:var(--accent);background:#fff}.setval .u{color:var(--muted);font-size:11px;font-weight:600}.setval-x{color:var(--faint);flex:none;font-size:12px;font-weight:700}.setcheck{background:var(--accent);color:#fff;width:34px;min-width:0;height:34px;min-height:0;box-shadow:none;border:none;border-radius:10px;flex:none;padding:0;font-size:15px;font-weight:700}.setskip{min-height:0;color:var(--slate-400);box-shadow:none;background:0 0;border:none;flex:none;padding:4px 7px;font-size:11px;font-weight:600}@keyframes fadeScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInR{0%{opacity:.4;transform:translate(38px)}to{opacity:1;transform:translate(0)}}.screen-anim.anim-fade{animation:fadeScale var(--dur-base) var(--ease-out)}.screen-anim.anim-pushR{animation:slideInR var(--dur-base) var(--ease-out)}.chart-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:drawLine 1s var(--ease-out) forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.chart-dot{opacity:0;transform-box:fill-box;transform-origin:50%;animation:dotPop .32s var(--ease-spring) forwards}@keyframes dotPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.chart-bar{transform-origin:bottom;animation:growBar .5s var(--ease-out) forwards;transform:scaleY(0)}@keyframes growBar{to{transform:scaleY(1)}}.chart-label{opacity:0;animation:labelFade .3s var(--ease-out) forwards}@keyframes labelFade{to{opacity:1}}@media (prefers-reduced-motion:reduce){.screen-anim.anim-fade,.screen-anim.anim-pushR{animation:none}button:active:not(:disabled),[role=button]:active,.picker-item:active,.tab-item:active,.chip:active,.hchip:active{transform:none}.grit-spin{animation:none}.set-burst{display:none}.chart-line{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.chart-dot{opacity:1;animation:none}.chart-bar{animation:none;transform:none}.chart-label{opacity:1;animation:none}}.grit-flame{vertical-align:-2px;flex:none;width:14px;height:18px;margin-right:3px;display:inline-block;position:relative}.grit-flame:before,.grit-flame:after{content:"";border-radius:50%/60% 60% 40% 40%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.grit-flame:before{background:radial-gradient(circle at 50% 75%,#fde047,#f97316 55%,#ea580c);width:12px;height:16px;animation:.5s ease-in-out infinite alternate grit-flame-flicker;box-shadow:0 0 10px #f97316b3}.grit-flame:after{background:radial-gradient(circle at 50% 80%,#fff7cc,#fbbf24);width:6px;height:9px;animation:.42s ease-in-out infinite alternate-reverse grit-flame-flicker}@keyframes grit-flame-flicker{0%{transform:translate(-50%)scaleY(.92)rotate(-3deg)}to{transform:translate(-52%)scaleY(1.08)rotate(3deg)}}.grit-score-hot{text-shadow:0 0 10px #ea580c73;animation:1.8s ease-in-out infinite grit-score-glow}@keyframes grit-score-glow{0%,to{text-shadow:0 0 8px #ea580c59}50%{text-shadow:0 0 16px #ea580c99,0 0 26px #ff5a004d}}@media (prefers-reduced-motion:reduce){.grit-flame:before,.grit-flame:after,.grit-score-hot{animation:none}}.grit-hero{width:100%;box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;min-height:0;margin-bottom:12px;padding:8px 12px 6px;display:flex;position:relative;overflow:hidden}.grit-hero-top{z-index:2;margin-bottom:2px;position:relative}.grit-tierline{font-size:12.5px;font-weight:800;display:block}.grit-desc{color:var(--muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.grit-num{z-index:2;letter-spacing:-1px;font-size:2.4rem;font-weight:800;line-height:1.02;position:relative}.grit-trend{z-index:1;width:100%;height:44px;position:absolute;bottom:0;left:0;right:0}.grit-celebrate{z-index:1100;cursor:pointer;animation:fadeScale .3s var(--ease-out);background:radial-gradient(120% 90% at 50% 42%,#fff7ed 0%,#fff 72%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.grit-celebrate-embers{width:100%;height:100%;position:absolute;inset:0}.grit-celebrate-body{text-align:center;position:relative}.grit-celebrate-label{letter-spacing:.32em;color:#ea580c;text-indent:.32em;font-size:14px;font-weight:800}.grit-celebrate-num{letter-spacing:-2px;color:var(--ink);margin-top:4px;font-size:78px;font-weight:900;line-height:1.04;transition:color .35s,text-shadow .35s}.grit-celebrate-num.hot{color:#ea580c;text-shadow:0 0 22px #ff781e61,0 0 52px #ff3c0033;animation:gritNumPop .5s var(--ease-spring)}@keyframes gritNumPop{0%{transform:scale(1)}45%{transform:scale(1.09)}to{transform:scale(1)}}.grit-celebrate-chip{color:#fff7ed;opacity:0;animation:gritChipIn .5s var(--ease-spring) .3s forwards;transition:transform .4s var(--ease-out), opacity .35s;background:linear-gradient(#f97316,#ea580c);border-radius:999px;margin-top:14px;padding:7px 16px;font-size:19px;font-weight:900;display:inline-block;transform:translateY(84px);box-shadow:0 10px 26px -8px #f97316a6}@keyframes gritChipIn{0%{opacity:0;transform:translateY(84px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}.grit-celebrate-chip.merged{opacity:0;animation:none;transform:translateY(-58px)scale(.4)}.grit-celebrate-after{color:#c2410c;opacity:0;min-height:22px;margin-top:6px;font-size:14px;font-weight:800;transition:opacity .4s}.grit-celebrate-after.show{opacity:1}.grit-celebrate-hint{left:0;right:0;bottom:max(28px, env(safe-area-inset-bottom));text-align:center;color:var(--muted);opacity:0;font-size:12.5px;font-weight:700;transition:opacity .4s;position:absolute}.grit-celebrate-hint.show{opacity:1}.grit-spin{animation:1.8s cubic-bezier(.2,.8,.25,1) both gritSpin;display:inline-block}@keyframes gritSpin{0%{transform:perspective(600px)rotateY(0)}to{transform:perspective(600px)rotateY(540deg)}}.set-burst{pointer-events:none;z-index:60;width:0;height:0;position:fixed}.set-burst i{background:var(--c);box-shadow:0 0 6px var(--c);border-radius:50%;animation:.8s cubic-bezier(.15,.7,.3,1) both setBurst;position:absolute;top:0;left:0}@keyframes setBurst{0%{opacity:1;transform:translate(0)scale(.6)}60%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 22px)) scale(.3)}}
