:root[data-theme=dark]{--bg:#000000;--bg-elevated:#1C1C1E;--bg-card:#1C1C1E;--bg-card-2:#2C2C2E;--bg-input:#1C1C1E;--bg-tinted:rgba(120,120,128,0.16);--sep:rgba(84,84,88,0.5);--sep-soft:rgba(84,84,88,0.25);--text:#FFFFFF;--text-2:rgba(235,235,245,0.60);--text-3:rgba(235,235,245,0.30);--text-4:rgba(235,235,245,0.16);--fill-1:rgba(120,120,128,0.36);--fill-2:rgba(120,120,128,0.24);--fill-3:rgba(118,118,128,0.16);--blue:#0A84FF;--indigo:#5E5CE6;--purple:#BF5AF2;--pink:#FF375F;--red:#FF453A;--orange:#FF9F0A;--yellow:#FFD60A;--green:#30D158;--mint:#63E6E2;--teal:#40CBE0;--cyan:#64D2FF;--gray:#8E8E93;--ring-track:rgba(255,255,255,0.08);--backdrop:rgba(0,0,0,0.55);--shadow-card:0 1px 2px rgba(0,0,0,.2);--shadow-elev:0 10px 40px rgba(0,0,0,.4)}:root[data-theme=light]{--bg:#F2F2F7;--bg-elevated:#FFFFFF;--bg-card:#FFFFFF;--bg-card-2:#F2F2F7;--bg-input:#FFFFFF;--bg-tinted:rgba(120,120,128,0.12);--sep:rgba(60,60,67,0.29);--sep-soft:rgba(60,60,67,0.13);--text:#000000;--text-2:rgba(60,60,67,0.60);--text-3:rgba(60,60,67,0.30);--text-4:rgba(60,60,67,0.18);--fill-1:rgba(120,120,128,0.20);--fill-2:rgba(120,120,128,0.12);--fill-3:rgba(118,118,128,0.08);--blue:#007AFF;--indigo:#5856D6;--purple:#AF52DE;--pink:#FF2D55;--red:#FF3B30;--orange:#FF9500;--yellow:#FFCC00;--green:#34C759;--mint:#00C7BE;--teal:#30B0C7;--cyan:#32ADE6;--gray:#8E8E93;--ring-track:rgba(0,0,0,0.06);--backdrop:rgba(0,0,0,0.30);--shadow-card:0 1px 2px rgba(0,0,0,.04),0 1px 0 rgba(0,0,0,.02);--shadow-elev:0 10px 40px rgba(0,0,0,.12)}:root{--ease-standard:cubic-bezier(.4,0,.2,1);--ease-out-soft:cubic-bezier(0,0,.2,1);--ease-in-soft:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.34,1.56,.64,1)}
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-full:9999px;
  --t-display:22px;--t-h1:20px;--t-h2:17px;--t-h3:15px;
  --t-body:15px;--t-body-sm:14px;--t-caption:12px;--t-footnote:11px;--t-overline:10px;
  --d-fast:120ms;--d-medium:200ms;--d-slow:350ms;
  --shadow-glow-green:0 4px 14px rgba(48,209,88,.32);
  --shadow-glow-blue:0 4px 14px rgba(10,132,255,.32);
  --shadow-elevated:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.05);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{height:100%;background:var(--bg);color:var(--text);overscroll-behavior:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;font-size:17px;line-height:1.4;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:env(safe-area-inset-bottom);transition:background .3s,color .3s}button{font-family:inherit;background:0 0;border:none;color:var(--text);cursor:pointer;font-size:inherit;letter-spacing:inherit;padding:0}input,select{font-family:inherit}.t-large-title{font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.1}.t-title-1{font-size:28px;font-weight:700;letter-spacing:-.024em;line-height:1.2}.t-title-2{font-size:22px;font-weight:700;letter-spacing:-.022em;line-height:1.25}.t-title-3{font-size:20px;font-weight:600;letter-spacing:-.018em;line-height:1.3}.t-headline{font-size:17px;font-weight:600;letter-spacing:-.012em;line-height:1.3}.t-body{font-size:17px;font-weight:400;letter-spacing:-.012em;line-height:1.4}.t-callout{font-size:16px;font-weight:400;letter-spacing:-.010em;line-height:1.4}.t-subhead{font-size:15px;font-weight:400;letter-spacing:-.005em;line-height:1.4}.t-footnote{font-size:13px;font-weight:400;letter-spacing:-.002em;line-height:1.4}.t-caption{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.t-caption-2{font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.g-focus{background:linear-gradient(135deg,#0a84ff 0,#5e5ce6 100%)}.g-workout{background:linear-gradient(135deg,#30d158 0,#40cbe0 100%)}.g-breathe{background:linear-gradient(135deg,#5e5ce6 0,#bf5af2 100%)}.g-challenge{background:linear-gradient(135deg,#ff9f0a 0,#ff453a 100%)}.g-stats{background:linear-gradient(135deg,#40cbe0 0,#0a84ff 100%)}.g-settings{background:linear-gradient(135deg,#8e8e93 0,#636366 100%)}.g-mood{background:linear-gradient(135deg,#ff375f 0,#bf5af2 100%)}.g-time{background:linear-gradient(135deg,#64d2ff 0,#40cbe0 100%)}.g-routine{background:linear-gradient(135deg,#ff9f0a 0,#ffd60a 100%)}.g-eat{background:linear-gradient(135deg,#ffd60a 0,#ff9f0a 100%)}.g-eisenhower{background:linear-gradient(135deg,#ff453a 0,#ff9f0a 100%)}.g-notes{background:linear-gradient(135deg,#8e8e93 0,#5e5ce6 100%)}.g-done{background:linear-gradient(135deg,#30d158 0,#0a84ff 100%)}.app-header{position:sticky;top:0;z-index:30;padding:calc(8px + env(safe-area-inset-top)) 20px 8px;background:rgba(28,28,30,.85);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:.5px solid var(--sep);display:flex;align-items:center;justify-content:space-between}:root[data-theme=light] .app-header{background:rgba(242,242,247,.7)}.header-title{font-size:14px;font-weight:700;letter-spacing:.32em;color:var(--text);text-transform:uppercase;position:relative;padding-left:24px}.header-title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:5px;background:linear-gradient(135deg,#0a84ff,#5e5ce6);box-shadow:0 1px 6px rgba(10,132,255,.4)}.header-action{width:34px;height:34px;background:var(--fill-2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--blue);transition:transform .15s var(--ease-spring),background .15s}.header-action:active{transform:scale(.92);background:var(--fill-1)}.header-action svg{width:18px;height:18px}.view{display:none;padding-bottom:80px;contain:content}.view.active{display:block}.view.enter-fwd{animation:slideInFwd .32s cubic-bezier(.32,.72,0,1) both}.view.enter-back{animation:slideInBack .28s cubic-bezier(.32,.72,0,1) both}@keyframes slideInFwd{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes slideInBack{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.view.enter-back,.view.enter-fwd{animation:none}}.stagger>*{animation:itemIn .5s var(--ease-out-soft) both}.stagger>:first-child{animation-delay:.04s}.stagger>:nth-child(2){animation-delay:.08s}.stagger>:nth-child(3){animation-delay:.14s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.26s}.stagger>:nth-child(6){animation-delay:.32s}.stagger>:nth-child(7){animation-delay:.38s}@keyframes itemIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero{padding:24px 20px 12px}.hero-greeting{font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--text)}.hero-date{font-size:17px;color:var(--text-2);margin-top:6px;font-weight:400;letter-spacing:-.01em;text-transform:capitalize}.hero-streak{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:7px 12px;background:var(--fill-2);border-radius:100px;font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--text)}.hero-streak .flame{display:inline-block;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FF9F0A'%3E%3Cpath d='M8 0s-1 3.5-2.5 5C4 6.5 2 7.5 2 10.5 2 13.5 4.5 16 8 16s6-2.5 6-5.5c0-3-2-4-2-7C12 1.5 11 0 11 0s-1 2-1.5 3-1 1.5-1.5 0S8 0 8 0z'/%3E%3C/svg%3E") no-repeat center/contain}.day-plate{margin:14px 20px 4px;background:var(--bg-card);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform .15s var(--ease-spring)}.day-plate:active{transform:scale(.992)}.day-plate .dp-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,132,255,.08),rgba(94,92,230,.04));pointer-events:none}.day-plate.tone-morning .dp-glow{background:linear-gradient(135deg,rgba(255,159,10,.1),rgba(255,214,10,.05))}.day-plate.tone-active .dp-glow{background:linear-gradient(135deg,rgba(48,209,88,.1),rgba(64,203,224,.05))}.day-plate.tone-evening .dp-glow{background:linear-gradient(135deg,rgba(94,92,230,.1),rgba(191,90,242,.05))}.day-plate.tone-record .dp-glow{background:linear-gradient(135deg,rgba(255,159,10,.14),rgba(255,69,58,.07))}.day-plate .dp-content{position:relative;display:flex;align-items:center;gap:12px}.day-plate .dp-icon{font-size:26px;line-height:1;flex-shrink:0;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--fill-2);border-radius:12px}.day-plate .dp-text{flex:1;min-width:0;line-height:1.3}.day-plate .dp-title{font-size:15px;color:var(--text);font-weight:600;letter-spacing:-.008em}.day-plate .dp-sub{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rings-card{margin:8px 20px 16px;background:var(--bg-card);border-radius:24px;padding:22px 20px 24px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.rings-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 0,rgba(94,92,230,.1) 0,transparent 60%),radial-gradient(circle at 0 100%,rgba(10,132,255,.08) 0,transparent 60%);pointer-events:none}.notes-input-wrap{background:var(--bg-card);border-radius:18px;padding:14px;margin-bottom:18px;box-shadow:var(--shadow-card)}#noteInput{width:100%;background:0 0;border:none;outline:0;color:var(--text);font-family:inherit;font-size:15px;line-height:1.45;resize:none;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent}.notes-input-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;border-top:.5px solid var(--sep-soft)}.notes-char-count{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.note-card{background:var(--bg-card);border-radius:14px;padding:13px 14px;margin-bottom:8px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;animation:noteSlideIn .3s var(--ease-spring) both}@keyframes noteSlideIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.note-card-time{font-size:11px;color:var(--text-3);margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.note-card-text{font-size:14.5px;color:var(--text);line-height:1.5;letter-spacing:-.005em;white-space:pre-wrap;word-break:break-word}.note-card-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:.5px solid var(--sep-soft)}.note-act-btn{flex:1;background:0 0;border:none;font-size:13px;font-weight:500;padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--text-2);transition:background .15s,color .15s}.note-act-btn:active{background:var(--fill-2)}.note-act-btn.danger{color:var(--red)}.eisenhower{display:flex;flex-direction:column;gap:14px}.swiping{transition:none}.note-card{position:relative;will-change:transform}.note-card::after{content:"✕";position:absolute;right:14px;top:50%;transform:translateY(-50%) scale(.7);color:var(--red);font-size:18px;font-weight:700;opacity:0;transition:opacity .15s,transform .2s var(--ease-spring);pointer-events:none}.note-card.swipe-ready::after{opacity:1;transform:translateY(-50%) scale(1.1)}.year-hero{margin:14px 4px 22px;display:flex;align-items:flex-end;gap:14px}.year-hero .yh-big{font-size:42px;font-weight:800;letter-spacing:-.03em;line-height:.95;color:var(--text);font-variant-numeric:tabular-nums}.year-hero .yh-sub{font-size:13px;color:var(--text-2);letter-spacing:-.005em;line-height:1.35;padding-bottom:4px}.year-grid-wrap{background:var(--bg-card);border-radius:18px;padding:16px 14px;box-shadow:var(--shadow-card);overflow-x:auto;-webkit-overflow-scrolling:touch}.year-grid{display:inline-grid;grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-auto-columns:11px;gap:3px}.yc{width:11px;height:11px;border-radius:2.5px;background:rgba(127,127,127,.1);position:relative;cursor:pointer}.yc.l1{background:rgba(48,209,88,.22)}.yc.l2{background:rgba(48,209,88,.4)}.yc.l3{background:rgba(48,209,88,.62)}.yc.l4{background:rgba(48,209,88,.85)}.yc.future{background:rgba(127,127,127,.04);cursor:default}.yc.today{box-shadow:0 0 0 1.5px var(--blue)}.year-legend{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:11px;color:var(--text-3);justify-content:flex-end}.year-legend .yc{cursor:default}.year-months{display:flex;justify-content:space-between;margin-top:12px;padding:0 4px;font-size:10px;color:var(--text-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.rings-wrap{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.rings-svg{width:140px;height:140px;flex-shrink:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}.ring-track{stroke:var(--ring-track);fill:none}.ring-progress{fill:none;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.2s var(--ease-out-soft)}.rings-legend{flex:1;display:flex;flex-direction:column;gap:10px}.discipline-bar{margin-top:18px;padding-top:16px;border-top:.5px solid var(--sep-soft);position:relative;z-index:1}.db-left{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.db-label{font-size:11px;color:var(--text-3);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.db-row{display:flex;align-items:baseline;gap:10px}.db-value{font-size:24px;font-weight:700;letter-spacing:-.025em;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.db-pct{font-size:14px;color:var(--text-2);font-weight:600;margin-left:1px}.db-delta{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--text-3);padding:2px 7px;border-radius:6px;background:var(--fill-2);transition:all .4s ease}.db-delta.up{color:var(--green);background:rgba(48,209,88,.14)}.db-delta.down{color:var(--red);background:rgba(255,69,58,.14)}.db-delta.flat{color:var(--text-3)}.db-track{height:6px;background:var(--fill-2);border-radius:3px;overflow:hidden;position:relative}.db-fill{position:absolute;top:0;left:0;bottom:0;width:0%;background:linear-gradient(90deg,#0a84ff 0,#5e5ce6 50%,#bf5af2 100%);border-radius:3px;transition:width .8s cubic-bezier(.32,.72,0,1)}.db-fill.full{background:linear-gradient(90deg,#30d158 0,#0a84ff 100%);box-shadow:0 0 12px rgba(48,209,88,.45)}.density-bar{margin-top:14px;padding-top:14px;border-top:.5px solid var(--sep-soft);position:relative;z-index:1}.density-bar[hidden]{display:none}.dn-left{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.dn-label{font-size:11px;color:var(--text-3);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dn-row{display:flex;align-items:baseline;gap:6px}.dn-value{font-size:18px;font-weight:700;letter-spacing:-.020em;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.dn-pct{font-size:12px;color:var(--text-2);font-weight:600;margin-left:1px}.dn-tag{font-size:12px;color:var(--text-3);font-weight:500;margin-left:3px}.dn-track{display:flex;height:5px;background:var(--fill-2);border-radius:2.5px;overflow:hidden;position:relative;margin-bottom:6px}.dn-fill-deep{background:linear-gradient(90deg,#30d158,#0a84ff);height:100%;width:0%;transition:width .8s cubic-bezier(.32,.72,0,1)}.dn-fill-shallow{background:linear-gradient(90deg,#ff9f0a,#ff453a);height:100%;width:0%;opacity:.7;transition:width .8s cubic-bezier(.32,.72,0,1)}.dn-sub{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:-.005em}.density-bar.good .dn-value{color:var(--green)}.density-bar.bad .dn-value{color:var(--red)}.depth-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.depth-pick{display:flex;align-items:center;gap:14px;background:var(--fill-2);border:1.5px solid transparent;border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;transition:all .15s;-webkit-tap-highlight-color:transparent}.depth-pick.sel{border-color:var(--blue);background:rgba(10,132,255,.08)}.depth-pick:active{transform:scale(.99)}.depth-pick .dp-em{font-size:24px;line-height:1;flex-shrink:0;width:32px;text-align:center}.depth-pick .dp-text{flex:1;line-height:1.3;min-width:0}.depth-pick .dp-name{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-.005em}.depth-pick .dp-sub{font-size:12px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em}.depth-pick .dp-check{color:var(--blue);font-weight:700;font-size:18px;flex-shrink:0}.rl-row{display:flex;align-items:center;gap:10px}.rl-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.2)}.rl-info{flex:1;display:flex;flex-direction:column;line-height:1.25}.rl-name{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-2)}.rl-value{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text);font-variant-numeric:tabular-nums}.rl-value .unit{color:var(--text-2);font-weight:400;font-size:13px;margin-left:2px}.section-h{padding:22px 24px 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.section-h.first{padding-top:14px}.section-foot{padding:8px 28px 0;font-size:12px;color:var(--text-3);line-height:1.4;letter-spacing:-.005em}.section-spacer{height:6px}.toast{position:fixed;bottom:calc(28px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(20px);padding:12px 22px;background:rgba(28,28,30,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:100px;color:#fff;font-size:15px;font-weight:500;letter-spacing:-.005em;opacity:0;transition:opacity .25s,transform .35s var(--ease-spring);z-index:300;pointer-events:none;box-shadow:0 12px 40px rgba(0,0,0,.45);max-width:90vw;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}:root[data-theme=light] .toast{background:rgba(0,0,0,.88);color:#fff}.toast-success::before{content:"✓ ";color:var(--green)}.toast-warn::before{content:"⚠ ";color:var(--orange)}.toast-error::before{content:"✕ ";color:var(--red)}.modules-wrap{margin:0 20px 8px}.modules-list{background:var(--bg-card);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card)}.module-row{display:flex;align-items:center;gap:14px;padding:14px 16px;width:100%;text-align:left;position:relative;transition:background .12s}.module-row:not(:last-child)::after{content:"";position:absolute;left:74px;right:0;bottom:0;height:.5px;background:var(--sep)}.module-row:active{background:var(--fill-3)}.module-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.18)}.module-icon svg{width:22px;height:22px;color:#fff}.module-text{flex:1;min-width:0;line-height:1.3}.module-name{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text)}.module-hint{font-size:13px;color:var(--text-2);margin-top:1px;font-weight:400;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-chevron{font-size:18px;color:var(--text-3);font-weight:600}.view-nav{display:flex;align-items:center;padding:8px 16px 4px;min-height:44px;position:relative}.back-btn{display:flex;align-items:center;gap:2px;color:var(--blue);font-size:17px;font-weight:400;letter-spacing:-.012em;padding:6px 8px 6px 4px;transition:opacity .12s}.back-btn:active{opacity:.6}.back-btn::before{content:"‹";font-size:26px;line-height:1;font-weight:400;margin-right:2px}.view-nav-title{position:absolute;left:0;right:0;text-align:center;font-size:17px;font-weight:600;letter-spacing:-.012em;pointer-events:none}.view-body{padding:0 20px}.btn{display:flex;align-items:center;justify-content:center;width:100%;padding:16px;border-radius:14px;font-size:17px;font-weight:600;letter-spacing:-.012em;text-align:center;border:none;transition:opacity .12s,transform .1s var(--ease-spring)}.btn:active{opacity:.8;transform:scale(.985)}.btn-primary{background:var(--blue);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-red{background:rgba(255,69,58,.15);color:var(--red)}.btn-red-solid{background:var(--red);color:#fff}.btn-neutral{background:var(--fill-1);color:var(--text)}.btn-tinted{background:rgba(10,132,255,.15);color:var(--blue)}.btn-sm{font-size:15px;padding:11px 18px;border-radius:12px;width:auto}.seg{display:flex;background:var(--fill-2);border-radius:10px;padding:2px;margin-bottom:20px}.seg-btn{flex:1;padding:7px 10px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:-.005em;color:var(--text-2);text-align:center;transition:all .22s var(--ease-standard)}.seg-btn.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 3px 8px rgba(0,0,0,.12)}.field{margin-bottom:14px}.field-lbl{font-size:13px;color:var(--text-2);font-weight:500;margin-bottom:6px;padding-left:4px}.f-input,.f-select{width:100%;padding:14px 16px;background:var(--bg-input);border:none;border-radius:12px;color:var(--text);font-size:17px;outline:0;letter-spacing:-.012em;font-family:inherit;appearance:none;transition:box-shadow .15s}.f-input:focus{box-shadow:0 0 0 3px rgba(10,132,255,.35)}.f-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(120,120,128,0.6)' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:22px;padding-right:38px}.toggle-row{display:flex;align-items:center;padding:14px 18px;gap:16px;position:relative}.toggle-row:not(:last-child)::after{content:"";position:absolute;bottom:0;left:18px;right:0;height:.5px;background:var(--sep)}.toggle-text{flex:1;line-height:1.3}.toggle-name{font-size:17px;font-weight:400;color:var(--text);letter-spacing:-.012em}.toggle-desc{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em}.toggle-sw{width:51px;height:31px;background:var(--fill-1);border-radius:100px;position:relative;cursor:pointer;transition:background .25s var(--ease-standard);flex-shrink:0}.toggle-sw::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.18),0 1px 0 rgba(0,0,0,.08);transition:left .28s var(--ease-spring)}.toggle-sw.on{background:var(--green)}.toggle-sw.on::after{left:22px}.card-group{background:var(--bg-card);border-radius:14px;overflow:hidden;margin-bottom:14px;box-shadow:var(--shadow-card)}.focus-timer-wrap{padding:14px 0 16px;text-align:center;animation:focusEnter .55s var(--ease-spring)}@keyframes focusEnter{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.timer-task-label{font-size:12px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.timer-phase-label{font-size:17px;font-weight:600;margin-bottom:14px;letter-spacing:-.012em}.timer-phase-label.work{color:var(--blue)}.timer-phase-label.rest{color:var(--green)}.timer-phase-label.free{color:var(--indigo)}.focus-ring-container{position:relative;width:260px;height:260px;margin:6px auto 0}.focus-ring{width:260px;height:260px;transition:filter .4s;transform:rotate(0)}.focus-ring.running.work{animation:focusGlowBlue 3s ease-in-out infinite}.focus-ring.running.rest{animation:focusGlowGreen 3s ease-in-out infinite}.focus-ring.running.free{animation:focusGlowIndigo 3s ease-in-out infinite}@keyframes focusGlowBlue{0%,100%{filter:drop-shadow(0 0 6px rgba(10,132,255,.18))}50%{filter:drop-shadow(0 0 22px rgba(10,132,255,.55))}}@keyframes focusGlowGreen{0%,100%{filter:drop-shadow(0 0 6px rgba(48,209,88,.18))}50%{filter:drop-shadow(0 0 22px rgba(48,209,88,.55))}}@keyframes focusGlowIndigo{0%,100%{filter:drop-shadow(0 0 6px rgba(94,92,230,.18))}50%{filter:drop-shadow(0 0 22px rgba(94,92,230,.55))}}.focus-ring.paused{filter:none!important;animation:none;opacity:.55}.focus-ring .ring-track{fill:none;stroke:var(--ring-track)}.focus-ring .ring-progress{fill:none;transition:stroke .5s}.focus-ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;width:100%}.focus-ring-center .timer-digits{font-size:60px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.focus-ring-center .timer-digits.paused{color:var(--text-2)}.focus-ring-center .timer-sub{font-size:13px;color:var(--text-2);font-weight:500;margin-top:6px;letter-spacing:-.005em}.ping-msg{margin:14px 0;padding:14px 16px;background:var(--bg-card);border-radius:14px;border-left:3px solid var(--orange);font-size:14px;text-align:left;animation:fadeUp .25s var(--ease-out-soft)}@keyframes fadeUp{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ping-msg .pt{font-size:11px;color:var(--orange);font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.08em}.focus-result{padding:30px 0 16px;text-align:center}.result-check-wrap{width:88px;height:88px;margin:0 auto 22px}.result-check-wrap svg{width:88px;height:88px}.result-check-wrap .rc-circle{fill:none;stroke:var(--green);stroke-width:3.5;stroke-dasharray:264;stroke-dashoffset:264;transform:rotate(-90deg);transform-origin:center;animation:drawCircle .55s var(--ease-out-soft) forwards}@keyframes drawCircle{to{stroke-dashoffset:0}}.result-check-wrap .rc-check{fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:drawCheck .35s .5s var(--ease-out-soft) forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.focus-result .result-title{font-size:24px;font-weight:700;letter-spacing:-.022em;margin-bottom:14px;opacity:0;animation:resultIn .4s .75s var(--ease-spring) forwards}.focus-result .result-time{font-size:40px;font-weight:700;letter-spacing:-.028em;color:var(--green);margin-bottom:6px;font-variant-numeric:tabular-nums;opacity:0;animation:resultIn .4s .95s var(--ease-spring) forwards}.focus-result .result-sub{font-size:14px;color:var(--text-2);margin-bottom:32px;letter-spacing:-.005em;line-height:1.45;opacity:0;animation:resultIn .4s 1.15s var(--ease-spring) forwards}.focus-result .result-q{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;opacity:0;animation:resultIn .4s 1.35s var(--ease-spring) forwards}.focus-result .result-actions{display:flex;flex-direction:column;gap:8px;opacity:0;animation:resultIn .4s 1.5s var(--ease-spring) forwards}@keyframes resultIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bs-section-title{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:18px 4px 8px}.bs-techs{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.bs-tech-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-card);border:2px solid transparent;border-radius:16px;cursor:pointer;transition:transform .12s var(--ease-spring),border-color .18s,background .15s;box-shadow:var(--shadow-card);width:100%;text-align:left}.bs-tech-card:active{transform:scale(.985)}.bs-tech-card.active{border-color:var(--indigo);background:rgba(94,92,230,.08)}.bs-tech-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#5e5ce6,#bf5af2);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(94,92,230,.3)}.bs-tech-icon svg{width:22px;height:22px;color:#fff}.bs-tech-body{flex:1;line-height:1.3;min-width:0}.bs-tech-name{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text)}.bs-tech-desc{font-size:13px;color:var(--text-2);margin-top:1px;letter-spacing:-.005em}.bs-tech-rhythm{font-size:11px;color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;flex-shrink:0}.bs-tech-card.active .bs-tech-rhythm{color:var(--indigo)}.bs-cycles-wrap{background:var(--bg-card);border-radius:14px;padding:16px;box-shadow:var(--shadow-card);margin-bottom:4px}.bs-cycles-info{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.bs-cycles-info .num{font-size:24px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--text)}.bs-cycles-info .num-lbl{font-size:14px;color:var(--text-2);font-weight:500;margin-left:6px;letter-spacing:-.005em}.bs-cycles-info .duration{font-size:14px;color:var(--indigo);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.bs-cycles-wrap input[type=range]{width:100%;accent-color:var(--indigo);height:4px}.breathe-stage{position:relative;width:280px;height:280px;margin:24px auto 0}.breathe-svg{width:100%;height:100%;filter:drop-shadow(0 6px 24px rgba(94,92,230,.3))}.petals{transform-box:fill-box;transform-origin:center;transform:scale(.5);transition:transform var(--breath-dur,4s) cubic-bezier(.4,0,.2,1);will-change:transform}.petals.in{transform:scale(1.18) rotate(18deg)}.petals.hold{transform:scale(1.18) rotate(18deg)}.petals.out{transform:scale(.5) rotate(0)}.petals.pause{transform:scale(.5) rotate(0)}.petal{transition:fill 1.5s ease;mix-blend-mode:screen;transform-origin:center}:root[data-theme=light] .petal{mix-blend-mode:multiply}.breathe-progress-bg{stroke:var(--ring-track);fill:none}.breathe-progress{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-out-soft)}.breathe-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:2}.breathe-center .bc-phase{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.018em;margin-bottom:4px;text-shadow:0 2px 12px rgba(0,0,0,.4)}.breathe-center .bc-count{font-size:46px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 2px 12px rgba(0,0,0,.4);letter-spacing:-.028em;line-height:1}.b-meta{text-align:center;margin-bottom:8px;padding-top:8px}.b-count{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.b-count strong{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.breathe-done-wrap{text-align:center;padding:30px 0 12px}.bd-pulse{width:140px;height:140px;border-radius:50%;margin:0 auto 24px;position:relative;background:radial-gradient(circle,rgba(94,92,230,.6) 0,rgba(191,90,242,.3) 50%,rgba(94,92,230,0) 75%);animation:bdPulse 2.8s var(--ease-standard) infinite}@keyframes bdPulse{0%,100%{transform:scale(.85);opacity:.5}50%{transform:scale(1.15);opacity:1}}.bd-pulse::before{content:"";position:absolute;inset:24px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.4) 0,transparent 70%)}.bd-title{font-size:28px;font-weight:700;letter-spacing:-.024em;margin-bottom:6px;opacity:0;animation:resultIn .4s .15s var(--ease-spring) forwards}.bd-recap{font-size:14px;color:var(--text-2);margin-bottom:28px;letter-spacing:-.005em;line-height:1.45;opacity:0;animation:resultIn .4s .35s var(--ease-spring) forwards}.bd-actions{display:flex;flex-direction:column;gap:8px;opacity:0;animation:resultIn .4s .55s var(--ease-spring) forwards}.workout-hero{border-radius:var(--r-xl);padding:var(--space-5);margin-bottom:var(--space-4);color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.15)}.workout-hero.g-green{background:linear-gradient(135deg,#30d158 0%,#34c759 35%,#3bbfce 100%)}workout-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(255,255,255,.18) 0%,transparent 55%);pointer-events:none}.workout-hero.g-blue{background:linear-gradient(135deg,#0a84ff,#5e5ce6)}.workout-hero.g-orange{background:linear-gradient(135deg,#ff9f0a,#ff453a)}.workout-hero .wh-emoji{font-size:36px;line-height:1;margin-bottom:8px}.workout-hero .wh-eyebrow{font-size:var(--t-overline);font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:6px;position:relative;z-index:1}workout-hero .wh-name{font-size:26px;font-weight:700;letter-spacing:-.024em;margin-bottom:var(--space-2);position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.08);line-height:1.15}.workout-hero .wh-progress{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-body-sm);font-weight:500;opacity:.92;margin-bottom:var(--space-2);letter-spacing:-.005em;position:relative;z-index:1}.workout-hero .wh-bar{height:2px;border-radius:1px;background:rgba(255,255,255,.18);overflow:hidden;position:relative;z-index:1;margin-top:4px}.workout-hero .wh-bar-fill{height:100%;border-radius:1px;background:rgba(255,255,255,.9);box-shadow:0 0 6px rgba(255,255,255,.4);transition:width .6s var(--ease-out)}.exercise-card{background:var(--bg-card);border-radius:var(--r-xl);padding:var(--space-5);margin-bottom:var(--space-3);box-shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);position:relative;transition:border-color .2s,box-shadow .2s,transform .12s var(--ease-spring);border:.5px solid var(--sep);cursor:pointer;-webkit-tap-highlight-color:transparent}.exercise-card:active{transform:scale(.992)}.exercise-card.done{border-color:rgba(48,209,88,.5);box-shadow:0 2px 8px rgba(48,209,88,.08)}.ex-card-flash{animation:exCardFlash .6s var(--ease-out-soft)}@keyframes exCardFlash{0%{background:var(--bg-card)}30%{background:rgba(48,209,88,.18);box-shadow:0 0 0 6px rgba(48,209,88,.16)}100%{background:var(--bg-card)}}.ex-count-badge{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.ex-count-badge .num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--green);color:#fff;border-radius:11px;font-size:12px;font-weight:700}.ex-count-badge.hidden{display:none}.ex-stepper-row{display:flex;align-items:center;gap:10px;margin-top:14px}.ex-stepper{display:flex;align-items:center;background:var(--fill-2);border-radius:14px;overflow:hidden;height:48px}.ex-stepper-btn{width:44px;height:48px;background:0 0;border:none;font-size:22px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:400;transition:background .12s;-webkit-tap-highlight-color:transparent}.ex-stepper-btn:active{background:var(--fill-1)}.ex-stepper-val{min-width:54px;text-align:center;font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;background:0 0;border:none;outline:0;font-family:inherit;padding:0;height:48px}.ex-stepper-unit{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-left:6px}.ex-stepper-pair{display:flex;align-items:center;gap:6px}.ex-stepper-x{font-size:14px;color:var(--text-3);font-weight:500;margin:0 2px}.ex-record-btn{width:100%;margin-top:12px;padding:14px;background:linear-gradient(135deg,#30d158 0%,#34c759 35%,#3bbfce 100%);border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:600;letter-spacing:-.012em;cursor:pointer;box-shadow:0 4px 14px rgba(48,209,88,.25);transition:transform .12s var(--ease-spring),box-shadow .2s;-webkit-tap-highlight-color:transparent}.ex-record-btn:active{transform:scale(.985);box-shadow:0 2px 8px rgba(48,209,88,.3)}.ex-record-btn:disabled{opacity:.5;cursor:not-allowed}.ex-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:6px}.ex-head-text{flex:1;min-width:0}.ex-name{font-size:var(--t-h2);font-weight:600;letter-spacing:-.018em;line-height:1.25;color:var(--text)}.ex-done-check{width:24px;height:24px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transform:scale(.5);transition:opacity .25s,transform .3s var(--ease-spring)}.ex-done-check svg{width:14px;height:14px;color:#fff;stroke-width:3}.exercise-card.done .ex-done-check{opacity:1;transform:scale(1)}.ex-note{font-size:var(--t-body-sm);color:var(--text-2);margin-top:0;margin-bottom:var(--space-3);letter-spacing:-.005em;line-height:1.45}.ex-prev{font-size:13px;color:var(--text-2);margin-bottom:8px;letter-spacing:-.005em}.ex-suggest{font-size:12px;color:var(--text-3);margin-bottom:10px;font-weight:500;display:flex;align-items:center;gap:6px;font-style:italic;letter-spacing:-.003em}.ex-suggest .icon{opacity:.55}.ex-type-badge{display:inline-flex;align-items:center;gap:5px;padding:0;background:none!important;color:var(--text-3)!important;font-size:var(--t-overline);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:3px;margin-bottom:var(--space-3)}.ex-type-badge::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5;margin-right:2px}.badge-reps{background:rgba(48,209,88,.14);color:var(--green)}.badge-time{background:rgba(94,92,230,.14);color:var(--indigo)}.badge-weighted{background:rgba(10,132,255,.14);color:var(--blue)}.sets-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.set-pill{display:flex;align-items:center;gap:4px;background:var(--fill-2);border-radius:10px;padding:8px 10px}.set-pill input{background:0 0;border:none;outline:0;color:var(--text);font-family:inherit;font-size:15px;font-weight:500;text-align:center}.set-pill input[data-f="w"]{width:40px}.set-pill input[data-f="r"]{width:32px}.set-pill input[data-f="t"]{width:40px}.set-pill .sep{font-size:12px;color:var(--text-3)}.set-pill .unit{font-size:12px;color:var(--text-2);font-weight:400}.del-set-btn{font-size:16px;color:var(--text-3);padding:0 4px}.add-set-btn{font-size:14px;font-weight:600;color:var(--blue);padding:7px 14px;background:rgba(10,132,255,.12);border-radius:10px}.ex-inline-timer{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--fill-3);border-radius:14px;margin-top:8px}.ex-inline-ring{width:64px;height:64px;flex-shrink:0;position:relative}.ex-inline-ring svg{width:64px;height:64px;display:block}.ex-inline-ring .ring-bg{fill:none;stroke:var(--fill-1);stroke-width:5}.ex-inline-ring .ring-fg{fill:none;stroke:url(#exTimerGrad);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.ex-inline-ring .digits{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--text)}.ex-inline-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ex-inline-info .il{font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ex-inline-info .ic{font-size:15px;color:var(--text);font-weight:600;letter-spacing:-.005em}.ex-inline-btn{flex-shrink:0;padding:10px 16px;border-radius:10px;background:var(--green);color:#fff;border:none;font-size:14px;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:transform .12s var(--ease-spring),background .2s}.ex-inline-btn:active{transform:scale(.94)}.ex-inline-btn.running{background:var(--red)}.workout-finish-wrap{text-align:center;padding:30px 0 16px}.wf-icon{width:88px;height:88px;border-radius:50%;margin:0 auto 20px;background:linear-gradient(135deg,#30d158,#40cbe0);display:flex;align-items:center;justify-content:center;font-size:44px;box-shadow:0 10px 30px rgba(48,209,88,.35);animation:wfIconIn .5s var(--ease-spring)}@keyframes wfIconIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.wf-title{font-size:28px;font-weight:700;letter-spacing:-.024em;margin-bottom:6px;opacity:0;animation:resultIn .4s .25s var(--ease-spring) forwards}.wf-stats{display:flex;gap:16px;justify-content:center;margin-bottom:30px;opacity:0;animation:resultIn .4s .45s var(--ease-spring) forwards}.wf-stat{background:var(--bg-card);border-radius:14px;padding:14px 18px;min-width:90px;box-shadow:var(--shadow-card)}.wf-stat .v{font-size:24px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--text)}.wf-stat .l{font-size:12px;color:var(--text-2);font-weight:500;margin-top:1px;letter-spacing:-.005em}.wf-actions{display:flex;flex-direction:column;gap:8px;opacity:0;animation:resultIn .4s .65s var(--ease-spring) forwards}.routine-hero{display:flex;align-items:center;gap:20px;padding:18px 16px 16px 18px;background:var(--bg-card);border-radius:18px;box-shadow:var(--shadow-card);margin-bottom:14px;position:relative}.rh-ring-wrap{position:relative;width:120px;height:120px;flex-shrink:0}.rh-ring{width:120px;height:120px;display:block}.rh-ring .rh-bg{fill:none;stroke:var(--fill-2);stroke-width:10}.rh-ring .rh-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1s var(--ease-out-soft)}.rh-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;line-height:1}.rh-num{font-size:34px;font-weight:700;letter-spacing:-.028em;font-variant-numeric:tabular-nums;color:var(--text)}.rh-num .rh-of{font-size:18px;color:var(--text-2);font-weight:600}.rh-label{font-size:11px;color:var(--text-2);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.rh-text{flex:1;min-width:0}.rh-text .rh-title{font-size:19px;font-weight:700;letter-spacing:-.018em;margin-bottom:4px;color:var(--text)}.rh-text .rh-sub{font-size:13px;color:var(--text-2);letter-spacing:-.005em;line-height:1.4}.routine-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.routine-card{background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;transition:background .15s}.routine-card.done{background:linear-gradient(135deg,rgba(255,159,10,.06),rgba(255,214,10,.06))}.rc-main{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;transition:transform .12s}.rc-main:active{transform:scale(.985)}.r-checkbox{width:30px;height:30px;border-radius:50%;border:2px solid var(--text-3);position:relative;flex-shrink:0;background:0 0;transition:background .25s,border-color .25s,transform .15s var(--ease-spring);cursor:pointer}.r-checkbox.done{background:var(--green);border-color:var(--green)}.r-checkbox.done::after{content:"";position:absolute;top:50%;left:50%;width:13px;height:7px;border-bottom:2.5px solid #fff;border-left:2.5px solid #fff;transform:translate(-50%,-65%) rotate(-45deg)}.r-checkbox.popping{animation:rPop .55s var(--ease-spring)}@keyframes rPop{0%{transform:scale(1)}30%{transform:scale(1.28)}60%{transform:scale(.92)}100%{transform:scale(1)}}.r-emoji{width:40px;height:40px;border-radius:12px;background:var(--fill-3);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;flex-shrink:0;transition:background .25s}.routine-card.done .r-emoji{background:linear-gradient(135deg,rgba(255,159,10,.2),rgba(255,214,10,.2))}.rc-body{flex:1;min-width:0;line-height:1.3}.rc-name{font-size:16px;font-weight:600;letter-spacing:-.012em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-meta{font-size:12px;color:var(--text-2);margin-top:1px;letter-spacing:-.005em;display:flex;align-items:center;gap:6px}.rc-streak{color:var(--orange);font-weight:600;font-variant-numeric:tabular-nums}.rc-chevron{font-size:18px;color:var(--text-3);transition:transform .2s;flex-shrink:0}.routine-card.expanded .rc-chevron{transform:rotate(90deg)}.rc-expand{padding:0 16px 16px;border-top:.5px solid var(--sep);animation:fadeUp .25s var(--ease-out-soft)}.rc-expand-streak{display:flex;align-items:baseline;gap:10px;padding:14px 0 12px}.rc-expand-streak .big{font-size:30px;font-weight:700;letter-spacing:-.024em;font-variant-numeric:tabular-nums;color:var(--text)}.rc-expand-streak .lbl{font-size:13px;color:var(--text-2);font-weight:500}.rc-cal-section{margin-bottom:12px}.rc-cal-label{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.rc-cal{display:grid;grid-template-columns:repeat(15,1fr);gap:3px}.rc-cal-dot{aspect-ratio:1;border-radius:3px;background:var(--fill-3);transition:background .2s}.rc-cal-dot.done{background:var(--orange)}.rc-cal-dot.today{box-shadow:inset 0 0 0 2px var(--blue)}.rc-cal-dot.future{opacity:.3}.rc-expand-actions{display:flex;gap:8px}.rc-expand-actions .btn-sm{flex:1}.routine-add-btn{width:100%;padding:14px;background:var(--bg-card);border:1.5px dashed var(--text-3);border-radius:16px;font-size:15px;font-weight:600;color:var(--text-2);letter-spacing:-.005em;cursor:pointer;transition:border-color .2s,color .2s,background .15s}.routine-add-btn:active{background:var(--bg-card-2)}.routine-add-btn:hover{border-color:var(--orange);color:var(--orange)}.routine-add-btn svg{width:14px;height:14px;margin-right:6px;vertical-align:-2px}.routine-empty{background:var(--bg-card);border-radius:18px;padding:46px 20px 30px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5;box-shadow:var(--shadow-card);margin-bottom:14px}.routine-empty .re-icon{font-size:44px;margin-bottom:10px;display:block}.routine-empty strong{color:var(--text);display:block;margin-bottom:4px;font-size:17px;font-weight:600;letter-spacing:-.012em}.eat-status{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;margin-bottom:14px;box-shadow:var(--shadow-card)}.eat-status.s-low{background:linear-gradient(135deg,rgba(255,69,58,.16),rgba(255,159,10,.12))}.eat-status.s-mid{background:linear-gradient(135deg,rgba(255,214,10,.2),rgba(255,159,10,.14))}.eat-status.s-ok{background:linear-gradient(135deg,rgba(48,209,88,.18),rgba(64,203,224,.14))}.eat-status-ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;flex-shrink:0}.eat-status.s-low .eat-status-ico{background:linear-gradient(135deg,#ff453a,#ff9f0a)}.eat-status.s-mid .eat-status-ico{background:linear-gradient(135deg,#ffd60a,#ff9f0a)}.eat-status.s-ok .eat-status-ico{background:linear-gradient(135deg,#30d158,#40cbe0)}.eat-status-text{flex:1;line-height:1.3;min-width:0}.eat-status-text .est-title{font-size:17px;font-weight:700;letter-spacing:-.012em;color:var(--text)}.eat-status-text .est-sub{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em}.eat-slots{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.eat-slot{background:var(--bg-card);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .12s,background .15s;border:1.5px solid transparent}.eat-slot:active{transform:scale(.985)}.eat-slot.filled{border-color:rgba(255,159,10,.25);background:linear-gradient(135deg,rgba(255,159,10,.04),rgba(255,214,10,.04))}.eat-slot-ico{width:44px;height:44px;border-radius:13px;background:var(--fill-3);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;flex-shrink:0;transition:background .2s}.eat-slot.filled .eat-slot-ico{background:linear-gradient(135deg,rgba(255,214,10,.2),rgba(255,159,10,.2))}.eat-slot-body{flex:1;min-width:0;line-height:1.3}.eat-slot-label{font-size:11px;color:var(--text-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.eat-slot.filled .eat-slot-label{color:var(--orange)}.eat-slot-content{font-size:15px;color:var(--text);font-weight:500;margin-top:2px;letter-spacing:-.005em;line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.eat-slot-content.empty{color:var(--text-3);font-style:italic;font-size:14px;font-weight:400}.eat-slot-time{font-size:12px;color:var(--text-2);font-weight:500;font-variant-numeric:tabular-nums;margin-top:2px;letter-spacing:-.005em}.eat-slot-chevron{font-size:20px;color:var(--text-3);flex-shrink:0}.eat-emoji-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 12px}.eat-emoji-btn{aspect-ratio:1;background:var(--fill-3);border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;transition:transform .12s,background .15s}.eat-emoji-btn:active{transform:scale(.9)}.eat-emoji-btn.sel{background:var(--blue)}.eat-history-toggle{font-size:13px;color:var(--blue);font-weight:600;text-align:center;padding:12px;margin-top:4px;cursor:pointer;letter-spacing:-.005em}.eat-day-row{background:var(--bg-card);border-radius:14px;padding:12px 14px;margin-bottom:6px;box-shadow:var(--shadow-card)}.eat-day-row .edh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.eat-day-row .edh-date{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:-.005em}.eat-day-row .edh-count{font-size:11px;color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em}.eat-day-meals{display:flex;flex-wrap:wrap;gap:6px}.eat-day-meal{display:inline-flex;align-items:center;gap:5px;background:var(--fill-3);border-radius:10px;padding:5px 10px;font-size:13px;color:var(--text);font-weight:500;letter-spacing:-.005em;max-width:100%}.eat-day-meal .em{font-size:14px;line-height:1}.eat-day-meal .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.chall-card{background:var(--bg-card);border-radius:18px;padding:16px;margin-bottom:10px;box-shadow:var(--shadow-card)}.chall-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;gap:10px}.chall-name{font-size:17px;font-weight:600;letter-spacing:-.012em;flex:1;line-height:1.3}.chall-streak{font-size:20px;font-weight:700;color:var(--orange);display:flex;align-items:center;gap:4px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-shrink:0}.chall-streak.popping{animation:streakPop .55s var(--ease-spring)}@keyframes streakPop{0%{transform:scale(1)}35%{transform:scale(1.5)}60%{transform:scale(.9)}100%{transform:scale(1)}}.chall-progress{font-size:13px;color:var(--text-2);margin-bottom:12px;letter-spacing:-.005em;display:flex;justify-content:space-between;align-items:center}.chall-progress-bar{height:4px;border-radius:2px;background:var(--fill-2);overflow:hidden;margin-bottom:14px}.chall-progress-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#ff9f0a,#ffd60a);transition:width .8s var(--ease-out-soft)}.chall-heatmap{margin-bottom:14px}.chall-heatmap-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}.chall-heatmap-wd div{font-size:9px;color:var(--text-3);font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:center}.day-map{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.dm{aspect-ratio:1;background:var(--fill-2);border-radius:4px;position:relative;transition:background .2s,transform .15s}.dm.empty{background:0 0}.dm.done{background:var(--green)}.dm.done.l1{background:rgba(48,209,88,.4)}.dm.done.l2{background:rgba(48,209,88,.7)}.dm.done.l3{background:var(--green)}.dm.miss{background:rgba(255,69,58,.18)}.dm.today{box-shadow:0 0 0 2px var(--blue)}.dm.flash{animation:chDayFill .7s var(--ease-spring)}@keyframes chDayFill{0%{background:var(--fill-2);transform:scale(1)}30%{background:var(--green);transform:scale(1.35);box-shadow:0 0 0 4px rgba(48,209,88,.3)}60%{background:var(--green);transform:scale(.92)}100%{background:var(--green);transform:scale(1)}}.chall-btns{display:grid;grid-template-columns:1fr auto;gap:10px}.mark-btn{padding:12px;border-radius:12px;font-size:15px;font-weight:600;text-align:center;letter-spacing:-.005em;transition:transform .12s,background .2s}.mark-btn:active{transform:scale(.97)}.mark-btn.unmarked{background:var(--blue);color:#fff}.mark-btn.marked{background:rgba(48,209,88,.16);color:var(--green)}.del-chall-btn{padding:12px 16px;border-radius:12px;background:rgba(255,69,58,.1);color:var(--red);font-size:15px;font-weight:600;transition:transform .12s}.del-chall-btn:active{transform:scale(.94)}.chall-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.chall-template-card{background:var(--bg-card);border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;border:1.5px solid transparent;box-shadow:var(--shadow-card);transition:transform .12s,border-color .18s;text-align:center}.chall-template-card:active{transform:scale(.96)}.chall-template-card .ct-emoji{font-size:30px;line-height:1}.chall-template-card .ct-name{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.005em;line-height:1.25;min-height:32px;display:flex;align-items:center}.chall-template-card .ct-days{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}.chall-template-card.custom{background:linear-gradient(135deg,rgba(10,132,255,.06),rgba(94,92,230,.06));border-color:rgba(10,132,255,.3)}.chall-template-card.custom .ct-name{color:var(--blue)}.confetti-canvas{position:fixed;inset:0;pointer-events:none;z-index:5000}.chall-complete-wrap{text-align:center;padding:30px 0 16px}.cc-trophy{width:100px;height:100px;border-radius:50%;margin:0 auto 22px;background:linear-gradient(135deg,#ff9f0a,#ff453a);display:flex;align-items:center;justify-content:center;font-size:54px;box-shadow:0 12px 32px rgba(255,159,10,.4);animation:wfIconIn .55s var(--ease-spring)}.cc-title{font-size:30px;font-weight:700;letter-spacing:-.024em;margin-bottom:6px;opacity:0;animation:resultIn .4s .3s var(--ease-spring) forwards}.cc-name{font-size:17px;color:var(--text-2);margin-bottom:24px;letter-spacing:-.005em;opacity:0;animation:resultIn .4s .5s var(--ease-spring) forwards}.cc-stats{display:flex;gap:10px;justify-content:center;margin-bottom:26px;opacity:0;animation:resultIn .4s .7s var(--ease-spring) forwards}.cc-stat{background:var(--bg-card);border-radius:14px;padding:14px 18px;min-width:88px;box-shadow:var(--shadow-card)}.cc-stat .v{font-size:24px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--text)}.cc-stat .l{font-size:12px;color:var(--text-2);font-weight:500;margin-top:1px;letter-spacing:-.005em}.stat-hero{background:linear-gradient(135deg,rgba(10,132,255,.1),rgba(94,92,230,.08));border-radius:20px;padding:20px;margin-bottom:14px;box-shadow:var(--shadow-card)}.stat-hero-label{font-size:12px;color:var(--text-2);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.stat-hero-val{font-size:48px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;margin-bottom:8px;overflow:hidden;word-break:break-word;overflow-wrap:anywhere}.stat-hero-val .unit{font-size:22px;font-weight:600;color:var(--text-2);letter-spacing:-.018em;margin-left:4px}.stat-hero-trend{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:5px 10px;border-radius:9px;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.stat-hero-trend.up{background:rgba(48,209,88,.16);color:var(--green)}.stat-hero-trend.down{background:rgba(255,69,58,.16);color:var(--red)}.stat-hero-trend.flat{background:var(--fill-2);color:var(--text-2)}.stat-timeline{background:var(--bg-card);border-radius:16px;padding:6px 14px;box-shadow:var(--shadow-card)}.stat-tl-row{display:flex;align-items:center;gap:12px;padding:10px 0}.stat-tl-row+.stat-tl-row{border-top:.5px solid var(--sep-soft)}.stat-tl-row .t{font-size:12px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;width:42px;flex-shrink:0}.stat-tl-row .em{font-size:18px;line-height:1;flex-shrink:0;width:24px;text-align:center}.stat-tl-row .body{flex:1;min-width:0;line-height:1.3}.stat-tl-row .body .nm{font-size:14px;color:var(--text);font-weight:500;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-tl-row .body .sub{font-size:12px;color:var(--text-2);letter-spacing:-.005em}.stat-tl-row .v{font-size:13px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.stat-week-chart{background:var(--bg-card);border-radius:16px;padding:16px 14px 8px;box-shadow:var(--shadow-card);margin-bottom:14px}.stat-week-bars{display:flex;align-items:flex-end;gap:6px;height:180px;margin-bottom:8px}.stat-wcol{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.stat-wcol-val{font-size:9px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums;height:12px;margin-bottom:3px}.stat-wcol-bar{width:100%;max-width:34px;border-radius:5px 5px 0 0;min-height:3px;background:linear-gradient(180deg,#0a84ff,#5e5ce6);transition:height .8s var(--ease-out-soft)}.stat-wcol.today .stat-wcol-bar{background:linear-gradient(180deg,#ff9f0a,#ff453a)}.stat-wcol-name{font-size:11px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.stat-wcol.today .stat-wcol-name{color:var(--orange);font-weight:700}.stat-month-cal{background:var(--bg-card);border-radius:16px;padding:16px;box-shadow:var(--shadow-card);margin-bottom:14px}.stat-month-title{text-align:center;font-size:15px;font-weight:700;letter-spacing:-.012em;margin-bottom:12px;text-transform:capitalize}.stat-month-wd{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px}.stat-month-wd div{text-align:center;font-size:10px;color:var(--text-3);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.stat-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.smc{aspect-ratio:1;border-radius:6px;background:var(--fill-3);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-3);font-weight:500;position:relative}.smc.empty{background:0 0;pointer-events:none}.smc.l1{background:rgba(48,209,88,.2);color:var(--text-2)}.smc.l2{background:rgba(48,209,88,.45);color:var(--text)}.smc.l3{background:rgba(48,209,88,.75);color:#fff}.smc.l4{background:var(--green);color:#fff;font-weight:700}.smc.today{box-shadow:0 0 0 2px var(--blue)}.stat-modules{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.stat-mod{background:var(--bg-card);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;min-height:90px}.stat-mod-icon{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;opacity:.95}.stat-mod-icon svg{width:14px;height:14px;color:#fff}.stat-mod-label{font-size:11px;color:var(--text-2);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.stat-mod-val{font-size:22px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1;margin-top:auto}.stat-mod-val .u{font-size:13px;font-weight:600;color:var(--text-2);letter-spacing:-.005em;margin-left:2px}.stat-mod-sub{font-size:11px;color:var(--text-2);font-weight:500;letter-spacing:-.005em;line-height:1.3;margin-top:1px}.stats-empty{background:var(--bg-card);border-radius:18px;padding:50px 20px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5;box-shadow:var(--shadow-card)}.stats-empty .ei{font-size:44px;margin-bottom:10px;display:block}.stats-empty strong{color:var(--text);display:block;margin-bottom:4px;font-size:17px;font-weight:600;letter-spacing:-.012em}.stat-item{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;position:relative}.stat-item:not(:last-child)::after{content:"";position:absolute;bottom:0;left:18px;right:0;height:.5px;background:var(--sep)}.stat-item .sn{font-size:15px;color:var(--text-2);letter-spacing:-.005em}.stat-item .sv{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-item .su{font-size:13px;color:var(--text-2);margin-left:4px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.bd-pulse,.focus-ring.running,.splash-dots span{animation:none!important}}@media (max-resolution:1.5dppx) and (max-width:480px){.app-header,.glass-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.focus-ring,.modal-bg,.petals,.timer-digits,.timer-sub,.toast{will-change:transform,opacity;transform:translateZ(0)}.splash-screen{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s var(--ease-out-soft),transform .5s var(--ease-spring)}.splash-screen.gone{opacity:0;pointer-events:none;transform:scale(1.08)}.splash-logo{font-size:96px;font-weight:800;letter-spacing:-.06em;background:linear-gradient(135deg,#0a84ff,#5e5ce6,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;animation:splashIn .7s var(--ease-spring)}@keyframes splashIn{from{opacity:0;transform:scale(.5);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.splash-name{font-size:14px;color:var(--text-2);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:14px;opacity:0;animation:splashFade .5s .3s ease-out forwards}@keyframes splashFade{to{opacity:1}}.splash-dots{display:flex;gap:7px;margin-top:28px}.splash-dots span{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:dotPulse 1.2s ease-in-out infinite}.splash-dots span:nth-child(2){animation-delay:.18s}.splash-dots span:nth-child(3){animation-delay:.36s}@keyframes dotPulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.3);background:var(--blue)}}.about-hero{text-align:center;padding:24px 0 18px}.about-logo{font-size:64px;font-weight:800;letter-spacing:-.06em;background:linear-gradient(135deg,#0a84ff,#5e5ce6,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.about-name{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:10px}.about-ver{font-size:13px;color:var(--text-3);margin-top:6px;font-variant-numeric:tabular-nums}.about-block{background:var(--bg-card);border-radius:14px;padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow-card)}.about-block-title{font-size:11px;color:var(--text-2);font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}.about-block-text{font-size:14px;color:var(--text);line-height:1.5;letter-spacing:-.005em}.btn:active{transform:scale(.97)}.module-row{transition:transform .12s var(--ease-spring),background .15s}.empty-state{padding:48px 24px;text-align:center;color:var(--text-2);font-size:15px;line-height:1.45}.empty-state .ei{width:64px;height:64px;margin:0 auto 14px;border-radius:18px;background:var(--fill-2);display:flex;align-items:center;justify-content:center}.empty-state .ei svg{width:32px;height:32px;color:var(--text-3)}.empty-state .et{font-size:17px;font-weight:600;color:var(--text);margin-bottom:4px;letter-spacing:-.012em}.mood-hero{padding:8px 4px 20px;text-align:center}.mood-hero-q{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:4px}.mood-hero-sub{font-size:14px;color:var(--text-2);letter-spacing:-.005em}.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:4px 0 10px}.mood-sticker{aspect-ratio:1;background:var(--bg-card);border:none;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1;cursor:pointer;position:relative;box-shadow:var(--shadow-card);transition:transform .12s var(--ease-spring),background .12s;-webkit-user-select:none;user-select:none}.mood-sticker:active{transform:scale(.92);background:var(--bg-card-2)}.mood-sticker.popping{animation:stickerPop .55s var(--ease-spring)}@keyframes stickerPop{0%{transform:scale(1)}30%{transform:scale(1.28)}60%{transform:scale(.92)}100%{transform:scale(1)}}.mood-sticker::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 rgba(255,55,95,0)}.mood-sticker.glowing::after{animation:stickerGlow .7s var(--ease-out-soft)}@keyframes stickerGlow{0%{box-shadow:0 0 0 0 rgba(255,55,95,.55)}100%{box-shadow:0 0 0 24px rgba(255,55,95,0)}}.mood-summary{margin:0 4px 6px;padding:14px 16px;background:var(--bg-card);border-radius:14px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2);letter-spacing:-.005em}.mood-summary .count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 8px;background:linear-gradient(135deg,#ff375f 0,#bf5af2 100%);border-radius:13px;color:#fff;font-weight:700;font-size:13px;letter-spacing:-.005em}.mood-summary .top{margin-left:auto;display:flex;align-items:center;gap:4px;color:var(--text);font-weight:500}.mood-summary .top .em{font-size:18px;line-height:1}.mood-feed{display:flex;flex-direction:column;gap:6px;margin-top:0}.mood-entry{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-card);border-radius:14px;cursor:pointer;transition:background .12s;animation:fadeUp .3s var(--ease-out-soft)}.mood-entry:active{background:var(--bg-card-2)}.mood-entry .em{font-size:30px;line-height:1;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--fill-3);border-radius:12px}.mood-entry .meta{flex:1;min-width:0;line-height:1.3}.mood-entry .meta .t{font-size:13px;color:var(--text-2);font-weight:600;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.mood-entry .meta .n{font-size:15px;color:var(--text);margin-top:2px;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mood-entry .meta .n.empty{color:var(--text-3);font-weight:400;font-style:italic;font-size:13px}.mood-entry .ch{font-size:16px;color:var(--text-3)}.mood-empty{padding:40px 20px 30px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5}.nav-action{margin-left:auto;color:var(--blue);font-size:16px;font-weight:400;padding:6px 8px;letter-spacing:-.005em;position:relative;z-index:5;transition:opacity .12s}.nav-action:active{opacity:.6}.mood-top-list{background:var(--bg-card);border-radius:18px;padding:6px 16px;margin-bottom:16px;box-shadow:var(--shadow-card)}.mood-top-row{display:flex;align-items:center;gap:12px;padding:10px 0}.mood-top-row+.mood-top-row{border-top:.5px solid var(--sep)}.mood-top-row .em{font-size:24px;line-height:1;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--fill-3);border-radius:11px;flex-shrink:0}.mood-top-row .bar-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mood-top-row .bar-text{display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:var(--text-2);letter-spacing:-.005em}.mood-top-row .bar-text .pct{color:var(--text);font-weight:700}.mood-top-row .bar{height:6px;border-radius:3px;background:var(--fill-2);overflow:hidden}.mood-top-row .bar-fill{height:100%;border-radius:3px;transition:width .9s var(--ease-out-soft)}.mood-timeline{background:var(--bg-card);border-radius:18px;padding:8px 16px 8px 32px;box-shadow:var(--shadow-card);position:relative}.mood-timeline::before{content:"";position:absolute;left:21px;top:18px;bottom:18px;width:2px;background:var(--sep)}.mood-tl-row{position:relative;padding:10px 0;display:flex;align-items:center;gap:14px}.mood-tl-row+.mood-tl-row{border-top:.5px solid var(--sep-soft)}.mood-tl-row .dot{position:absolute;left:-19px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--bg-card);border:2px solid var(--blue);box-shadow:0 0 0 3px var(--bg-card)}.mood-tl-row .em{font-size:28px;line-height:1;flex-shrink:0;width:38px;text-align:center}.mood-tl-row .body{flex:1;line-height:1.3;min-width:0}.mood-tl-row .body .t{font-size:13px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.mood-tl-row .body .n{font-size:14px;color:var(--text);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mood-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mood-week-day{background:var(--bg-card);border-radius:12px;padding:8px 4px 10px;min-height:130px;display:flex;flex-direction:column;align-items:center;box-shadow:var(--shadow-card)}.mood-week-day .wd-name{font-size:10px;color:var(--text-3);text-transform:uppercase;font-weight:700;letter-spacing:.05em;margin-bottom:3px}.mood-week-day .wd-num{font-size:13px;color:var(--text);font-weight:600;margin-bottom:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center}.mood-week-day.today .wd-num{background:var(--blue);color:#fff;border-radius:50%}.mood-week-day .wd-emojis{display:flex;flex-direction:column;gap:3px;font-size:18px;align-items:center}.mood-week-day .wd-emojis .wd-em{display:flex;align-items:center;gap:1px;line-height:1}.mood-week-day .wd-emojis .wd-em .x{font-size:9px;color:var(--text-3);font-weight:600}.mood-month-cal{background:var(--bg-card);border-radius:18px;padding:16px;box-shadow:var(--shadow-card)}.mood-month-title{text-align:center;font-size:17px;font-weight:700;letter-spacing:-.012em;margin-bottom:14px;text-transform:capitalize}.mood-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.mood-month-weekdays div{text-align:center;font-size:10px;color:var(--text-3);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.mood-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mood-month-cell{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;position:relative;transition:transform .12s var(--ease-spring)}.mood-month-cell:active{transform:scale(.92)}.mood-month-cell.empty{background:0 0;pointer-events:none}.mood-month-cell.empty span{font-size:11px;color:var(--text-3);font-weight:500}.mood-month-cell.no-mood{background:var(--fill-3);font-size:11px;color:var(--text-3);font-weight:500}.mood-month-cell.today{box-shadow:0 0 0 2px var(--blue)}.insight-card{background:var(--bg-card);border-radius:14px;padding:13px 14px;display:flex;align-items:center;gap:12px;margin-bottom:8px;box-shadow:var(--shadow-card)}.insight-card .ii{font-size:22px;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.insight-card .ic{flex:1;line-height:1.3;min-width:0}.insight-card .ic .title{font-size:14px;color:var(--text);font-weight:600;letter-spacing:-.005em}.insight-card .ic .sub{font-size:12px;color:var(--text-2);margin-top:1px;letter-spacing:-.005em}.history-empty{background:var(--bg-card);border-radius:18px;padding:40px 20px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5;box-shadow:var(--shadow-card)}.history-empty .he-icon{font-size:44px;margin-bottom:8px;display:block}.history-empty strong{color:var(--text);display:block;margin-bottom:4px;font-size:17px;font-weight:600;letter-spacing:-.012em}.tt-hero{padding:4px 4px 14px}.tt-hero-q{font-size:22px;font-weight:700;letter-spacing:-.022em;margin-bottom:2px;color:var(--text)}.tt-hero-sub{font-size:14px;color:var(--text-2);letter-spacing:-.005em}.tt-instant-btn{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 8px;padding:18px 18px;background:linear-gradient(135deg,#64d2ff 0,#40cbe0 100%);border:none;border-radius:20px;box-shadow:0 6px 22px rgba(64,203,224,.25),0 2px 6px rgba(64,203,224,.18);cursor:pointer;transition:transform .15s var(--ease-spring),box-shadow .25s;text-align:left;-webkit-tap-highlight-color:transparent}.tt-instant-btn:active{transform:scale(.985);box-shadow:0 3px 12px rgba(64,203,224,.3)}.tt-instant-btn .tib-icon{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.22);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.12)}.tt-instant-btn .tib-text{display:flex;flex-direction:column;line-height:1.2}.tt-instant-btn .tib-title{font-size:17px;font-weight:700;letter-spacing:-.012em;color:#fff}.tt-instant-btn .tib-sub{font-size:13px;color:rgba(255,255,255,.82);margin-top:2px}.tt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tt-task-card{background:var(--bg-card);border-radius:14px;padding:14px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;border:none;transition:transform .12s var(--ease-spring),background .12s;box-shadow:var(--shadow-card);position:relative}.tt-task-card:active{transform:scale(.94);background:var(--bg-card-2)}.tt-task-card .em{font-size:28px;line-height:1}.tt-task-card .nm{font-size:12px;font-weight:500;color:var(--text);text-align:center;letter-spacing:-.005em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tt-task-card.custom::after{content:"";position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:.7}.tt-add-row{display:flex;gap:8px;margin:14px 0 0}.tt-add-row .btn-sm{flex:1;width:auto}.tt-active{text-align:center;padding:30px 0 12px}.tt-active-label{font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.tt-active-task{font-size:24px;font-weight:600;letter-spacing:-.018em;margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px;background:0 0;border:none;cursor:pointer;color:var(--text);padding:6px 12px;border-radius:12px;transition:background .15s;-webkit-tap-highlight-color:transparent}.tt-active-task:active{background:var(--fill-2);transform:scale(.99)}.tt-active-task .em{font-size:32px;line-height:1}.tt-active-task .tt-edit-hint{font-size:13px;color:var(--text-3);opacity:.6;margin-left:2px}.tt-active-time{font-size:80px;font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;color:var(--blue);margin-bottom:6px}.tt-active-time.paused{color:var(--text-2)}.tt-active-time.paused::after{content:" ⏸";font-size:30px;vertical-align:14px;color:var(--text-3);margin-left:6px}.tt-active-from{font-size:13px;color:var(--text-3);margin-bottom:30px;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.tt-active-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tt-active-btns .full{grid-column:1/-1}.tt-today-section{margin-top:24px}.tt-recent-list{background:var(--bg-card);border-radius:14px;padding:4px 14px;box-shadow:var(--shadow-card)}.tt-recent-row{display:flex;align-items:center;gap:12px;padding:11px 0}.tt-recent-row+.tt-recent-row{border-top:.5px solid var(--sep-soft)}.tt-recent-row .em{font-size:24px;line-height:1;flex-shrink:0;width:34px;text-align:center}.tt-recent-row .body{flex:1;line-height:1.3;min-width:0}.tt-recent-row .body .nm{font-size:15px;color:var(--text);font-weight:500;letter-spacing:-.005em}.tt-recent-row .body .t{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums;margin-top:1px}.tt-recent-row .dur{font-size:15px;color:var(--text);font-weight:700;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.tt-row-del{width:28px;height:28px;border-radius:8px;background:0 0;color:var(--text-3);font-size:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .15s,color .15s,transform .12s;margin-left:4px}.tt-row-del:active{transform:scale(.88);background:rgba(255,69,58,.12);color:var(--red)}.tt-sub-line{font-size:12px;color:var(--text-2);margin-top:3px;letter-spacing:-.005em}.tt-focus-badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);background:rgba(10,132,255,.14);padding:2px 6px;border-radius:5px;margin-left:6px;vertical-align:1px}.tt-recent-row.is-focus .em{filter:drop-shadow(0 0 6px rgba(10,132,255,.4))}.tt-today-total{background:linear-gradient(135deg,rgba(100,210,255,.12),rgba(64,203,224,.12));border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;margin-bottom:8px}.tt-today-total .tt-ico{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#64d2ff,#40cbe0);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tt-today-total .tt-ico svg{width:18px;height:18px;color:#fff}.tt-today-total .tt-text{flex:1;line-height:1.3}.tt-today-total .tt-text .top{font-size:13px;color:var(--text-2);font-weight:500;letter-spacing:-.005em}.tt-today-total .tt-text .big{font-size:20px;color:var(--text);font-weight:700;letter-spacing:-.018em;font-variant-numeric:tabular-nums;margin-top:1px}.tt-pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}.tt-pick-card{background:var(--fill-3);border-radius:10px;border:none;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:transform .1s,background .15s}.tt-pick-card:active{transform:scale(.92)}.tt-pick-card.selected{background:var(--blue);color:#fff}.tt-pick-card .em{font-size:22px;line-height:1}.tt-pick-card .nm{font-size:10px;font-weight:500;letter-spacing:-.005em;text-align:center;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tt-stats-empty{background:var(--bg-card);border-radius:18px;padding:50px 20px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5;box-shadow:var(--shadow-card)}.tt-stats-empty .ei{font-size:44px;margin-bottom:10px;display:block}.tt-stats-empty strong{color:var(--text);display:block;margin-bottom:4px;font-size:17px;font-weight:600;letter-spacing:-.012em}.tt-pie-wrap{background:var(--bg-card);border-radius:18px;padding:20px;display:flex;align-items:center;gap:18px;box-shadow:var(--shadow-card);margin-bottom:14px}.time-pie{width:160px;height:160px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));flex-shrink:0}.time-pie .pie-arc{transition:stroke-dasharray .9s var(--ease-out-soft)}.tt-pie-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tt-pie-info .pi-label{font-size:11px;color:var(--text-2);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tt-pie-info .pi-total{font-size:30px;color:var(--text);font-weight:700;letter-spacing:-.024em;line-height:1.1;font-variant-numeric:tabular-nums}.tt-pie-info .pi-sub{font-size:13px;color:var(--text-2);letter-spacing:-.005em;margin-top:1px}.tt-legend{background:var(--bg-card);border-radius:14px;padding:6px 14px;box-shadow:var(--shadow-card);margin-bottom:14px}.tt-legend-row{display:flex;align-items:center;gap:10px;padding:10px 0}.tt-legend-row+.tt-legend-row{border-top:.5px solid var(--sep-soft)}.tt-legend-row .dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.2)}.tt-legend-row .em{font-size:18px;line-height:1;width:26px;text-align:center;flex-shrink:0}.tt-legend-row .nm{flex:1;font-size:14px;color:var(--text);font-weight:500;letter-spacing:-.005em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-legend-row .pct{font-size:12px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums}.tt-legend-row .dur{font-size:14px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.tt-week-bars{display:flex;align-items:flex-end;gap:5px;height:240px;padding:16px 14px 6px;background:var(--bg-card);border-radius:18px;box-shadow:var(--shadow-card);margin-bottom:14px;position:relative}.tt-week-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.tt-week-col-val{font-size:9px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums;height:12px;line-height:12px;margin-bottom:4px}.tt-week-col-stack{width:100%;max-width:30px;display:flex;flex-direction:column-reverse;gap:1px;border-radius:6px;overflow:hidden;min-height:2px;transition:height .8s var(--ease-out-soft)}.tt-week-col-stack .seg{width:100%;min-height:2px}.tt-week-col-name{font-size:11px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.tt-week-col.today .tt-week-col-name{color:var(--blue);font-weight:700}.tt-week-col.today .tt-week-col-val{color:var(--blue)}.tt-month-summary{background:linear-gradient(135deg,rgba(100,210,255,.14),rgba(64,203,224,.14));border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:14px;margin-bottom:14px}.tt-month-summary .ms-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#64d2ff,#40cbe0);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tt-month-summary .ms-icon svg{width:22px;height:22px;color:#fff}.tt-month-summary .ms-text{flex:1;line-height:1.25}.tt-month-summary .ms-label{font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tt-month-summary .ms-val{font-size:28px;font-weight:700;letter-spacing:-.024em;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;margin-top:2px}.tt-month-summary .ms-sub{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em}.tt-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.tt-trend.up{background:rgba(48,209,88,.16);color:var(--green)}.tt-trend.down{background:rgba(255,69,58,.16);color:var(--red)}.tt-trend.flat{background:var(--fill-2);color:var(--text-2)}.tt-month-list{background:var(--bg-card);border-radius:14px;padding:4px 14px;box-shadow:var(--shadow-card)}.tt-month-row{display:flex;align-items:center;gap:12px;padding:12px 0}.tt-month-row+.tt-month-row{border-top:.5px solid var(--sep-soft)}.tt-month-row .rk{font-size:11px;color:var(--text-3);font-weight:700;width:18px;text-align:center;flex-shrink:0}.tt-month-row .em{font-size:22px;line-height:1;width:28px;text-align:center;flex-shrink:0}.tt-month-row .body{flex:1;line-height:1.3;min-width:0}.tt-month-row .body .nm{font-size:15px;color:var(--text);font-weight:500;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tt-month-row .body .bar{height:4px;border-radius:2px;background:var(--fill-2);overflow:hidden;margin-top:5px}.tt-month-row .body .bar-fill{height:100%;border-radius:2px;transition:width .9s var(--ease-out-soft)}.tt-month-row .right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}.tt-month-row .right .dur{font-size:15px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.005em}.restore-card{margin:0 20px 14px;background:rgba(10,132,255,.12);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;animation:fadeUp .3s var(--ease-out-soft)}.restore-card .ri{width:36px;height:36px;border-radius:10px;background:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}.restore-card .ri svg{width:18px;height:18px;color:#fff}.restore-card .rt{flex:1;line-height:1.3}.restore-card .rt .rn{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.005em}.restore-card .rt .rs{font-size:13px;color:var(--text-2);margin-top:1px}.restore-card .rb{font-size:14px;font-weight:700;color:var(--blue);padding:8px 12px;border-radius:10px;background:rgba(10,132,255,.16)}.modal-bg{position:fixed;inset:0;background:var(--backdrop);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:none;align-items:flex-end;justify-content:center;padding:16px;z-index:200}.modal-bg.on{display:flex;animation:bgIn .2s var(--ease-out-soft)}@keyframes bgIn{from{opacity:0}to{opacity:1}}@media(min-height:560px){.modal-bg{align-items:center}}.modal-bg.kb-open{align-items:flex-start!important;padding-top:max(12px,env(safe-area-inset-top))!important;padding-bottom:8px!important}.modal-box{background:var(--bg-elevated);border-radius:24px;padding:24px 22px 22px;width:100%;max-width:380px;margin-bottom:env(safe-area-inset-bottom);box-shadow:var(--shadow-elev);animation:boxIn .35s var(--ease-spring);max-height:calc(var(--vv-h,100vh) - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-bg.kb-open .modal-box{max-height:calc(var(--vv-h,100vh) - 24px);margin-bottom:0}.me-input-wrap{position:relative;display:flex;align-items:center}.me-input-wrap .f-input{padding-right:54px}.me-auto-emoji{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;pointer-events:none;user-select:none;transition:transform .25s var(--ease-spring)}.me-input-with-emoji:focus~.me-auto-emoji{transform:translateY(-50%) scale(1.1)}@keyframes boxIn{from{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:none}}.modal-title{font-size:19px;font-weight:700;letter-spacing:-.018em;margin-bottom:6px}.modal-msg{font-size:15px;color:var(--text-2);margin-bottom:20px;line-height:1.45;letter-spacing:-.005em}.modal-actions{display:flex;flex-direction:column;gap:10px}.modal-field{margin-bottom:14px}.modal-field .f-lbl{font-size:13px;color:var(--text-2);margin-bottom:6px;font-weight:500;padding-left:2px}.ver-foot{text-align:center;color:var(--text-3);font-size:12px;padding:28px 0 0;letter-spacing:.04em}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}
/* ============================================================
   SKILLS — карточки навыков, детализация, форма
   ============================================================ */
.skills-hero{padding:6px 4px 14px}
.skills-hero-q{font-size:22px;font-weight:700;letter-spacing:-.022em;margin-bottom:2px;color:var(--text)}
.skills-hero-sub{font-size:14px;color:var(--text-2);letter-spacing:-.005em}
.skills-list{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.skill-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-card);cursor:pointer;border:none;width:100%;text-align:left;transition:transform .12s var(--ease-spring),background .15s;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}
.skill-card:active{transform:scale(.985);background:var(--bg-card-2)}
.skill-card .sk-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;flex-shrink:0;background:var(--fill-3)}
.skill-card .sk-body{flex:1;min-width:0;line-height:1.3}
.skill-card .sk-name{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skill-card .sk-sub{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em;font-variant-numeric:tabular-nums}
.skill-card .sk-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.skill-card .sk-hours{font-size:17px;font-weight:700;letter-spacing:-.012em;color:var(--text);font-variant-numeric:tabular-nums}
.skill-card .sk-chev{font-size:18px;color:var(--text-3);font-weight:600;margin-left:6px;flex-shrink:0}
.skill-card.empty-period .sk-hours{color:var(--text-3);font-weight:600}
.skills-total{background:linear-gradient(135deg,rgba(10,132,255,.12),rgba(94,92,230,.08));border-radius:18px;padding:18px 20px;display:flex;align-items:center;gap:14px;margin-bottom:14px}
.skills-total .st-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#0A84FF,#5E5CE6);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-size:22px}
.skills-total .st-text{flex:1;line-height:1.25;min-width:0}
.skills-total .st-label{font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.skills-total .st-val{font-size:28px;font-weight:700;letter-spacing:-.024em;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;margin-top:2px}
.skills-total .st-sub{font-size:13px;color:var(--text-2);margin-top:2px;letter-spacing:-.005em}
.sk-detail-hero{display:flex;align-items:center;gap:14px;padding:6px 4px 18px}
.sk-detail-hero .sdh-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;flex-shrink:0;background:var(--fill-3)}
.sk-detail-hero .sdh-body{flex:1;line-height:1.25;min-width:0}
.sk-detail-hero .sdh-name{font-size:24px;font-weight:700;letter-spacing:-.022em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-detail-hero .sdh-sub{font-size:13px;color:var(--text-2);margin-top:3px;letter-spacing:-.005em;font-variant-numeric:tabular-nums}
.sk-detail-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:18px}
.sk-stat{background:var(--bg-card);border-radius:14px;padding:14px 10px;text-align:center;box-shadow:var(--shadow-card)}
.sk-stat .v{font-size:22px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}
.sk-stat .v .u{font-size:12px;font-weight:600;color:var(--text-2);margin-left:1px}
.sk-stat .l{font-size:11px;color:var(--text-2);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.sk-entry-list{background:var(--bg-card);border-radius:14px;padding:4px 14px;box-shadow:var(--shadow-card)}
.sk-entry-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;position:relative}
.sk-entry-row+.sk-entry-row{border-top:.5px solid var(--sep-soft)}
.sk-entry-row .t{font-size:12px;color:var(--text-2);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;width:42px;flex-shrink:0;padding-top:2px}
.sk-entry-row .body{flex:1;min-width:0;line-height:1.35}
.sk-entry-row .body .desc{font-size:14px;color:var(--text);font-weight:500;letter-spacing:-.005em;word-break:break-word}
.sk-entry-row .body .desc.empty{color:var(--text-3);font-style:italic;font-weight:400}
.sk-entry-row .body .mins{font-size:12px;color:var(--text-2);margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:-.005em}
.sk-entry-row .v{font-size:14px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.005em;padding-top:2px}
.sk-entry-row .del{width:26px;height:26px;border-radius:7px;background:0 0;border:none;color:var(--text-3);font-size:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .12s;margin-left:2px}
.sk-entry-row .del:active{transform:scale(.88);background:rgba(255,69,58,.12);color:var(--red)}
.mins-quick-row{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}
.mins-quick-btn{padding:10px 4px;background:var(--fill-3);border:none;border-radius:10px;font-size:13px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .1s,background .15s;-webkit-tap-highlight-color:transparent}
.mins-quick-btn:active{transform:scale(.92)}
.mins-quick-btn.sel{background:var(--blue);color:#fff}
.sk-pick-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-bottom:14px;-webkit-overflow-scrolling:touch}
.sk-pick-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--fill-3);border:1.5px solid transparent;border-radius:12px;cursor:pointer;transition:transform .1s,background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}
.sk-pick-row:active{transform:scale(.98)}
.sk-pick-row.sel{border-color:var(--blue);background:rgba(10,132,255,.08)}
.sk-pick-row .em{font-size:22px;line-height:1;width:30px;text-align:center;flex-shrink:0}
.sk-pick-row .nm{flex:1;font-size:15px;font-weight:500;color:var(--text);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sk-pick-row .hrs{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}
.sk-pick-new{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:rgba(10,132,255,.1);border:1.5px dashed var(--blue);border-radius:12px;color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;width:100%;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;transition:background .15s}
.sk-pick-new:active{background:rgba(10,132,255,.18)}
.skills-empty{background:var(--bg-card);border-radius:18px;padding:46px 20px 30px;text-align:center;color:var(--text-2);font-size:14px;line-height:1.5;box-shadow:var(--shadow-card)}
.skills-empty .se-icon{font-size:44px;margin-bottom:10px;display:block}
.skills-empty strong{color:var(--text);display:block;margin-bottom:4px;font-size:17px;font-weight:600;letter-spacing:-.012em}
.fab-add{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#5E5CE6,#0A84FF);border:none;color:#fff;font-size:32px;font-weight:300;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(94,92,230,.45),0 2px 8px rgba(0,0,0,.2);z-index:150;transition:transform .15s var(--ease-spring),box-shadow .2s,opacity .2s;-webkit-tap-highlight-color:transparent;padding:0}
.fab-add:active{transform:translateX(-50%) scale(.92);box-shadow:0 4px 12px rgba(94,92,230,.4),0 1px 4px rgba(0,0,0,.2)}
.fab-add.on{display:flex;animation:fabIn .3s var(--ease-spring)}
@keyframes fabIn{from{opacity:0;transform:translateX(-50%) scale(.6)}to{opacity:1;transform:translateX(-50%) scale(1)}}

/* === Focus simplified — v0.35 === */

.focus-hero{padding:8px 0 6px;text-align:center}
.focus-hero-icon{width:120px;height:120px;margin:8px auto 22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:54px;background:radial-gradient(circle,rgba(94,92,230,.25) 0,rgba(94,92,230,.08) 50%,transparent 80%);position:relative;animation:focusHeroPulse 3.2s ease-in-out infinite}
.focus-hero-icon::before{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(135deg,#5E5CE6,#BF5AF2);opacity:.18;animation:focusHeroPulse 3.2s ease-in-out infinite reverse}
.focus-hero-icon span{position:relative;z-index:2;filter:drop-shadow(0 4px 12px rgba(94,92,230,.5))}
@keyframes focusHeroPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}
.focus-hero-title{font-size:28px;font-weight:700;letter-spacing:-.024em;margin-bottom:6px;color:var(--text)}
.focus-hero-sub{font-size:15px;color:var(--text-2);letter-spacing:-.005em;line-height:1.45;max-width:300px;margin:0 auto 28px}
.focus-task-input{width:100%;background:var(--bg-card);border:none;border-radius:14px;padding:14px 16px;color:var(--text);font-size:16px;font-family:inherit;letter-spacing:-.008em;outline:0;text-align:center;box-shadow:var(--shadow-card);transition:box-shadow .15s;margin-bottom:14px}
.focus-task-input::placeholder{color:var(--text-3)}
.focus-task-input:focus{box-shadow:0 0 0 3px rgba(94,92,230,.35)}
.focus-start-mega{width:100%;padding:22px 24px;background:linear-gradient(135deg,#5E5CE6 0%,#BF5AF2 100%);border:none;border-radius:18px;color:#fff;font-size:19px;font-weight:700;letter-spacing:-.012em;cursor:pointer;box-shadow:0 8px 28px rgba(94,92,230,.35),0 2px 6px rgba(94,92,230,.25);transition:transform .12s var(--ease-spring),box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}
.focus-start-mega::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.18),transparent);opacity:0;transition:opacity .3s}
.focus-start-mega:active{transform:scale(.97);box-shadow:0 4px 16px rgba(94,92,230,.4)}
.focus-start-mega:active::before{opacity:1}
.focus-start-mega .ico{font-size:22px;line-height:1}
.focus-hint-row{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:18px;font-size:12px;color:var(--text-3);letter-spacing:-.005em}
.focus-hint-row::before,.focus-hint-row::after{content:"";flex:1;max-width:60px;height:.5px;background:var(--sep)}
.focus-finish-desc{width:100%;min-height:88px;background:var(--bg-card);border:none;border-radius:14px;padding:14px 16px;color:var(--text);font-size:15px;font-family:inherit;letter-spacing:-.005em;line-height:1.45;outline:0;resize:none;box-shadow:var(--shadow-card);margin-bottom:14px;transition:box-shadow .15s}
.focus-finish-desc:focus{box-shadow:0 0 0 3px rgba(94,92,230,.3)}
.focus-finish-desc::placeholder{color:var(--text-3)}
/* === Time tracker v0.39 dense === */
.tt-hero-v2{padding:2px 0 0;text-align:center}
.tt-hero-v2-q{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:3px}
.tt-hero-v2-sub{font-size:13px;color:var(--text-3);letter-spacing:-.005em;line-height:1.35;margin-bottom:14px}
.tt-mega-add{width:100%;padding:14px 16px;background:linear-gradient(135deg,#30D158 0%,#40CBE0 100%);border:none;border-radius:16px;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(48,209,88,.28),0 1px 4px rgba(48,209,88,.18);transition:transform .12s var(--ease-spring),box-shadow .2s;display:flex;align-items:center;gap:12px;text-align:left;margin-bottom:8px;font-family:inherit}
.tt-mega-add:active{transform:scale(.985)}
.tt-mega-add .ico{width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.22);font-size:19px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}
.tt-mega-add .txt{flex:1;line-height:1.25;display:flex;flex-direction:column}
.tt-mega-add .t1{font-size:15.5px;font-weight:700;letter-spacing:-.012em}
.tt-mega-add .t2{font-size:11.5px;font-weight:500;opacity:.82;margin-top:1px}
.tt-mega-timer{width:100%;padding:11px 14px;background:var(--bg-card);border:1px solid rgba(10,132,255,.22);border-radius:13px;color:var(--blue);font-weight:600;cursor:pointer;transition:transform .1s var(--ease-spring),background .15s;display:flex;align-items:center;gap:11px;margin-bottom:12px;font-family:inherit}
.tt-mega-timer:active{transform:scale(.985);background:var(--fill-3)}
.tt-mega-timer .ico{font-size:18px;color:var(--blue)}
.tt-mega-timer .txt{flex:1;text-align:left;display:flex;flex-direction:column}
.tt-mega-timer .t1{font-size:14px;font-weight:600}
.tt-mega-timer .t2{font-size:11.5px;color:var(--text-3);font-weight:400;margin-top:0}
.qa-task{width:100%;background:var(--bg-input);border:none;border-radius:12px;padding:14px 16px;color:var(--text);font-size:17px;font-family:inherit;letter-spacing:-.008em;outline:0;resize:none;min-height:60px;margin-bottom:14px;transition:box-shadow .15s}
.qa-task:focus{box-shadow:0 0 0 3px rgba(48,209,88,.3)}
.qa-em-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}
.qa-em{aspect-ratio:1;background:var(--fill-2);border:none;border-radius:11px;font-size:22px;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center}
.qa-em:active{transform:scale(.9)}
.qa-em.sel{background:linear-gradient(135deg,#30D158,#40CBE0);box-shadow:0 3px 12px rgba(48,209,88,.4)}
.qa-mins-row{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.qa-mins{flex:1;background:var(--bg-input);border:none;border-radius:12px;padding:12px 16px;color:var(--text);font-size:17px;font-family:inherit;outline:0;text-align:center;transition:box-shadow .15s}
.qa-mins:focus{box-shadow:0 0 0 3px rgba(48,209,88,.3)}
.qa-mins-pill{padding:9px 14px;background:var(--fill-2);border:none;border-radius:10px;color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,color .12s}
.qa-mins-pill:active{background:var(--fill-1);color:var(--text)}
/* === Swipe actions for log rows v0.40 === */
.swipe-row{position:relative;touch-action:pan-y;overflow:hidden}
.swipe-row .swipe-bg{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 18px;font-size:13px;font-weight:600;letter-spacing:-.005em;pointer-events:none;opacity:0;transition:opacity .15s}
.swipe-row .swipe-bg-del{right:0;background:linear-gradient(90deg,transparent,#FF453A 30%);color:#fff;justify-content:flex-end}
.swipe-row .swipe-bg-edit{left:0;background:linear-gradient(-90deg,transparent,#0A84FF 30%);color:#fff;justify-content:flex-start}
.swipe-row.swipe-ready-del .swipe-bg-del,.swipe-row.swipe-ready-edit .swipe-bg-edit{opacity:1}
.swipe-row .swipe-content{position:relative;background:var(--bg-card);will-change:transform;z-index:1}
.swipe-hint{font-size:11px;color:var(--text-3);text-align:center;padding:4px 0;letter-spacing:-.003em}
/* === Eat history v0.43: fresh class names === */
.eh-day{background:var(--bg-card);border-radius:16px;padding:14px 14px 6px;margin-bottom:10px;box-shadow:var(--shadow-card)}
.eh-day-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:8px;border-bottom:.5px solid var(--sep)}
.eh-day-date{font-size:15px;font-weight:700;color:var(--text);text-transform:capitalize;letter-spacing:-.012em}
.eh-day-count{font-size:10.5px;color:var(--text-3);font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.eh-meals{display:flex;flex-direction:column;gap:2px}
.eh-meal{display:flex;align-items:center;gap:12px;padding:9px 6px;border-radius:10px;cursor:pointer;transition:background .12s;-webkit-tap-highlight-color:transparent}
.eh-meal:active{background:var(--fill-2);transform:scale(.992)}
.eh-meal .em{font-size:22px;width:30px;text-align:center;flex-shrink:0}
.eh-meal-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.eh-meal-text{font-size:15px;color:var(--text);letter-spacing:-.008em;line-height:1.3;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eh-meal-text.empty{color:var(--text-3);font-style:italic;font-weight:400}
.eh-meal-meta{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:.01em}
.eh-meal-slot{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:9.5px;color:var(--text-3);padding:1px 6px;background:var(--fill-2);border-radius:4px}
.eh-meal-empty{padding:8px 6px;font-size:13px;color:var(--text-3);font-style:italic}
/* === Workout quick-add card v0.44 === */
.qs-block{margin-top:0;background:linear-gradient(180deg,rgba(48,209,88,.05) 0%,rgba(48,209,88,.01) 100%);border-radius:var(--r-lg);padding:var(--space-4);border:.5px solid rgba(48,209,88,.18)}
.qs-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.qs-stepper{display:flex;align-items:center;gap:0;background:var(--fill-2);border-radius:14px;padding:4px;flex-shrink:0}
.qs-step-btn{width:42px;height:42px;border:none;background:transparent;color:var(--text-2);font-size:24px;font-weight:400;cursor:pointer;border-radius:var(--r-md);transition:background var(--d-fast),transform 80ms,color var(--d-fast);display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;font-family:inherit;line-height:1}.qs-step-btn:hover{color:var(--text)}
.qs-step-btn:active{background:var(--fill-1);transform:scale(.9)}
.qs-step-btn:disabled{opacity:.3;cursor:not-allowed}
.qs-step-val{min-width:58px;text-align:center;font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.028em;font-variant-numeric:tabular-nums;line-height:1;transition:transform .15s var(--ease-spring)}
.qs-step-val.bump{animation:qsBump .35s var(--ease-spring)}
@keyframes qsBump{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
.qs-unit{font-size:11.5px;color:var(--text-3);font-weight:600;letter-spacing:.04em;text-transform:uppercase;flex:1;min-width:0}
.qs-mega{width:100%;padding:var(--space-4) var(--space-5);margin-top:var(--space-4);background:linear-gradient(135deg,#30D158 0%,#34C759 45%,#3BBFCE 100%);border:none;border-radius:var(--r-lg);color:#fff;font-size:var(--t-h2);font-weight:700;cursor:pointer;letter-spacing:-.015em;box-shadow:var(--shadow-glow-green),inset 0 1px 0 rgba(255,255,255,.18);transition:transform var(--d-fast) var(--ease-spring),box-shadow var(--d-medium),filter var(--d-fast);display:flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;-webkit-tap-highlight-color:transparent}.qs-mega:hover{filter:brightness(1.04)}
.qs-mega:active{transform:scale(.97);box-shadow:0 2px 8px rgba(48,209,88,.28)}
.qs-mega.flash{animation:qsFlash .6s ease-out}
@keyframes qsFlash{0%{box-shadow:0 4px 14px rgba(48,209,88,.32)}40%{box-shadow:0 6px 30px rgba(48,209,88,.6),0 0 0 12px rgba(48,209,88,.18)}100%{box-shadow:0 4px 14px rgba(48,209,88,.32)}}
.qs-mega .ic{font-size:18px;font-weight:800;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.qs-today{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;align-items:center;min-height:24px}
.qs-today-lbl{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-right:2px}
.qs-pill{display:inline-flex;align-items:center;gap:4px;background:var(--fill-2);color:var(--text);font-size:13px;font-weight:600;padding:4px 10px;border-radius:10px;font-variant-numeric:tabular-nums;letter-spacing:-.005em;cursor:pointer;transition:background .12s,transform .1s;-webkit-tap-highlight-color:transparent}
.qs-pill:active{background:var(--fill-1);transform:scale(.94)}
.qs-pill.pop{animation:qsPop .45s var(--ease-spring)}
@keyframes qsPop{0%{transform:scale(.3);opacity:0}55%{transform:scale(1.15);opacity:1}100%{transform:scale(1);opacity:1}}
.qs-pill .x{color:var(--text-3);font-weight:400;font-size:11px}
.qs-total{margin-left:auto;font-size:12px;font-weight:700;color:var(--green);letter-spacing:-.005em;font-variant-numeric:tabular-nums}
/* qs weighted v0.45 */.qs-row-w{justify-content:flex-start;gap:14px;flex-wrap:wrap}.qs-pair{display:flex;align-items:center;gap:6px}.qs-unit-sm{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ex-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--space-3);font-size:var(--t-caption);color:var(--text-3);font-weight:500;letter-spacing:-.003em;line-height:1.4;font-variant-numeric:tabular-nums;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:.5px solid var(--sep)}.ex-meta .ex-prev-lbl{color:var(--text-3);font-weight:600;font-size:var(--t-overline);text-transform:uppercase;letter-spacing:.05em}.ex-meta .ex-prev-val{color:var(--text-2);font-weight:600}.ex-meta .ex-meta-sep{color:var(--text-3);opacity:.4}.ex-meta .ex-suggest-inline{color:var(--text-3);font-style:italic;font-weight:400;letter-spacing:-.003em}#workoutFinishBtn{display:none!important}
.ex-prev,.ex-suggest,.sets-wrap,.add-set-btn,.set-pill,.ex-meta,.ex-type-badge,.ex-done-check{display:none!important}
/* === workout v0.55: minimal cards === */.workout-finish-banner{display:none!important}/* === Today workouts v0.52 — flat timeline === */
.tw-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3);padding:0 4px}
.tw-sh-eyebrow{font-size:var(--t-overline);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.tw-sh-stat{display:flex;align-items:baseline;gap:5px;font-variant-numeric:tabular-nums}
.tw-sh-num{font-size:var(--t-body-sm);font-weight:700;color:var(--text);letter-spacing:-.005em}
.tw-sh-num-lbl{font-size:var(--t-caption);font-weight:500;color:var(--text-3)}
.tw-sh-sep{color:var(--text-3);opacity:.4;margin:0 2px}
.tw-list{background:var(--bg-card);border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(0,0,0,.05);border:.5px solid var(--sep);overflow:hidden}
.tw-row{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background var(--d-fast);-webkit-tap-highlight-color:transparent;position:relative;touch-action:pan-y;background:var(--bg-card)}
.tw-row:not(:last-child){border-bottom:.5px solid var(--sep)}
.tw-row:active{background:var(--fill-2)}
.tw-ico{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 1px 2px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.18)}
.tw-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.tw-ex{font-size:var(--t-body-sm);font-weight:600;color:var(--text);letter-spacing:-.008em;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-sub{font-size:var(--t-footnote);font-weight:500;color:var(--text-3);letter-spacing:-.003em;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tw-val{display:flex;align-items:baseline;gap:2px;flex-shrink:0;font-variant-numeric:tabular-nums}
.tw-v-num{font-size:var(--t-body);font-weight:700;color:var(--text);letter-spacing:-.012em}
.tw-v-u{font-size:var(--t-footnote);font-weight:500;color:var(--text-3);margin-left:1px}
.tw-v-x{font-size:var(--t-caption);font-weight:500;color:var(--text-3);margin:0 3px}
.tw-x{width:28px;height:28px;border:none;background:transparent;color:var(--text-3);font-size:20px;font-weight:300;cursor:pointer;border-radius:50%;transition:background var(--d-fast),color var(--d-fast),transform 80ms;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;line-height:1;padding:0;margin-right:-6px}
.tw-x:active{background:rgba(255,69,58,.15);color:#FF453A;transform:scale(.88)}
.tw-row.swiping{transition:none}

/* === Emotions module v0.38 === */
.emo-cats{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0 12px;margin:0 -4px;scrollbar-width:none}
.emo-cats::-webkit-scrollbar{display:none}
.emo-cat-btn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 12px;background:var(--fill-2);border:1.5px solid transparent;border-radius:14px;cursor:pointer;transition:all .18s var(--ease-standard);-webkit-tap-highlight-color:transparent;min-width:64px}
.emo-cat-btn:active{transform:scale(.94)}
.emo-cat-btn.active{background:color-mix(in srgb,var(--c) 18%,transparent);border-color:var(--c);box-shadow:0 2px 12px color-mix(in srgb,var(--c) 28%,transparent)}
.emo-cat-em{font-size:22px;line-height:1}
.emo-cat-nm{font-size:10px;font-weight:700;letter-spacing:-.005em;color:var(--text-2);text-transform:uppercase}
.emo-cat-btn.active .emo-cat-nm{color:var(--c)}
.emo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 0 10px}
.emo-card{background:var(--bg-card);border:1.5px solid transparent;border-radius:14px;padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .12s var(--ease-spring),border-color .15s,background .15s;-webkit-tap-highlight-color:transparent;animation:fadeUp .25s var(--ease-out-soft) both;position:relative;overflow:hidden}
.emo-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 8%,transparent),transparent 60%);pointer-events:none;opacity:.7}
.emo-card:active{transform:scale(.94);border-color:var(--c)}
.emo-card.popping{animation:stickerPop .55s var(--ease-spring)}
.emo-card-em{font-size:30px;line-height:1;position:relative;z-index:1}
.emo-card-nm{font-size:11px;font-weight:600;color:var(--text);letter-spacing:-.005em;line-height:1.2;text-align:center;position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:26px}
.mood-entry{border-left:3px solid var(--c,var(--blue))}
.mood-entry .em{transition:background .2s}
.emo-note{font-size:12px;color:var(--text-2);margin-top:4px;font-style:italic;line-height:1.35;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* === Diary module v0.40 === */
.g-diary{background:linear-gradient(135deg,#5e5ce6 0,#bf5af2 50%,#FF375F 100%)}
.diary-hero{background:linear-gradient(135deg,rgba(94,92,230,.12),rgba(191,90,242,.08));border-radius:18px;padding:18px 18px 16px;margin-bottom:14px;box-shadow:var(--shadow-card)}
.diary-hero-date{font-size:22px;font-weight:700;letter-spacing:-.022em;color:var(--text);text-transform:capitalize;line-height:1.2}
.diary-hero-prog{font-size:14px;color:var(--text);font-weight:600;margin-top:8px;letter-spacing:-.005em;font-variant-numeric:tabular-nums}
.diary-prog-track{height:5px;background:var(--fill-2);border-radius:3px;overflow:hidden;margin-top:6px}
.diary-prog-bar{height:100%;border-radius:3px;background:linear-gradient(90deg,#5e5ce6,#bf5af2,#FF375F);transition:width .5s var(--ease-out-soft)}
.diary-hero-nav{display:flex;gap:8px;margin-top:14px}
.diary-hero-nav .btn-sm{flex:1;padding:9px 12px;font-size:13px;border-radius:10px;border:none;cursor:pointer}
.diary-group-h{display:flex;align-items:center;gap:8px;padding:20px 4px 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--text-2))}
.diary-group-h .dgh-em{font-size:18px;line-height:1}
.diary-cards{display:flex;flex-direction:column;gap:8px}
.df-card{background:var(--bg-card);border-radius:14px;padding:14px;box-shadow:var(--shadow-card);border-left:3px solid transparent;transition:border-color .2s,transform .12s var(--ease-spring)}
.df-card.filled{border-left-color:var(--green)}
.df-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px}
.df-lbl{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.005em;display:flex;align-items:center;gap:8px;line-height:1.2;min-width:0;flex:1}
.df-em{font-size:18px;line-height:1;flex-shrink:0}
.df-val10{font-size:26px;font-weight:700;letter-spacing:-.022em;font-variant-numeric:tabular-nums;line-height:1;min-width:38px;text-align:right;white-space:nowrap}
.df-slider{width:100%;height:36px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;outline:0;padding:0}
.df-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--c) 0%,var(--c) var(--fill,50%),var(--track,var(--fill-2)) var(--fill,50%),var(--track,var(--fill-2)) 100%)}
.df-slider::-moz-range-track{height:6px;border-radius:3px;background:var(--track,var(--fill-2))}
.df-slider::-moz-range-progress{height:6px;border-radius:3px;background:var(--c)}
.df-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--c);margin-top:-9px;box-shadow:0 2px 6px rgba(0,0,0,.25);cursor:pointer}
.df-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--c);box-shadow:0 2px 6px rgba(0,0,0,.25);cursor:pointer}
.df-dots{display:flex;gap:10px;justify-content:flex-start;padding:4px 0 0}
.df-dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--fill-1);background:transparent;cursor:pointer;transition:transform .15s var(--ease-spring),background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.df-dot:active{transform:scale(.85)}
.df-dot.on{background:var(--c);border-color:var(--c);box-shadow:0 2px 8px color-mix(in srgb,var(--c) 35%,transparent)}
.df-dots-val{font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;min-width:24px;text-align:right}
.df-stepper{display:flex;align-items:center;gap:8px;justify-content:space-between}
.df-step-btn{width:40px;height:40px;border-radius:12px;background:var(--fill-2);border:none;font-size:22px;color:var(--text);cursor:pointer;font-weight:300;transition:background .15s,transform .1s var(--ease-spring);-webkit-tap-highlight-color:transparent;flex-shrink:0}
.df-step-btn:active{transform:scale(.92);background:var(--fill-1)}
.df-step-val{flex:1;text-align:center;font-size:22px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.018em}
.df-step-val.empty{color:var(--text-3);font-weight:500}
.df-step-u{font-size:13px;color:var(--text-2);font-weight:500;margin-left:4px}
.df-time{width:100%;background:var(--fill-2);border:none;border-radius:12px;padding:12px 16px;color:var(--text);font-size:18px;font-family:inherit;font-weight:600;letter-spacing:-.012em;outline:0;font-variant-numeric:tabular-nums}
.df-time:focus{box-shadow:0 0 0 2px var(--blue)}
.df-input{width:100%;background:var(--fill-2);border:none;border-radius:12px;padding:13px 14px;color:var(--text);font-size:16px;font-family:inherit;outline:0;letter-spacing:-.005em;line-height:1.4;transition:box-shadow .15s}
.df-input:focus{box-shadow:0 0 0 2px var(--blue)}
.df-textarea{width:100%;background:var(--fill-2);border:none;border-radius:12px;padding:13px 14px;color:var(--text);font-size:16px;font-family:inherit;outline:0;letter-spacing:-.005em;resize:none;overflow:hidden;line-height:1.5;transition:box-shadow .15s;display:block}
.df-textarea:focus{box-shadow:0 0 0 2px var(--blue)}
.diary-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.ds-card{background:var(--bg-card);border-radius:14px;padding:12px 14px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--shadow-card);border-left:3px solid var(--c,var(--blue))}
.ds-em{font-size:24px;line-height:1;flex-shrink:0;margin-top:1px}
.ds-body{flex:1;line-height:1.3;min-width:0}
.ds-lbl{font-size:11px;color:var(--text-2);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.ds-val{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.012em;margin-top:2px;font-variant-numeric:tabular-nums}
.ds-sub{font-size:11px;color:var(--text-3);margin-top:1px;letter-spacing:-.005em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.diary-summary-empty{background:var(--bg-card);border-radius:14px;padding:18px;text-align:center;color:var(--text-3);font-size:13px;font-style:italic;box-shadow:var(--shadow-card)}
/* History — accordion */
.diary-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.diary-day-card{background:var(--bg-card);border-radius:14px;box-shadow:var(--shadow-card);width:100%;transition:transform .12s var(--ease-spring),background .15s;-webkit-tap-highlight-color:transparent;overflow:hidden;cursor:pointer}
.diary-day-card:active{transform:scale(.995)}
.ddc-summary{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.ddc-head{display:flex;justify-content:space-between;align-items:center}
.ddc-date{font-size:16px;font-weight:700;letter-spacing:-.012em;color:var(--text);text-transform:capitalize}
.ddc-ch{font-size:16px;color:var(--text-3);transition:transform .25s var(--ease-spring);font-weight:700}
.diary-day-card.open .ddc-ch{transform:rotate(180deg);color:var(--blue)}
.ddc-stats{font-size:13px;color:var(--text-2);letter-spacing:-.005em;font-weight:500;font-variant-numeric:tabular-nums}
.ddc-filled-count{font-size:11px;color:var(--text-3);letter-spacing:-.005em;font-weight:500}
.ddc-detail{display:none;padding:0 16px 16px;border-top:.5px solid var(--sep);animation:fadeUp .25s var(--ease-out-soft)}
.diary-day-card.open .ddc-detail{display:block}
.ddc-group{padding:14px 0 4px}
.ddc-group+.ddc-group{border-top:.5px solid var(--sep-soft)}
.ddc-group-h{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c,var(--text-2));margin-bottom:8px}
.ddc-group-h span:first-child{font-size:15px}
.ddc-fields{display:flex;flex-direction:column;gap:10px}
.ddc-field{display:flex;flex-direction:column;gap:4px}
.ddc-field-lbl{font-size:12px;color:var(--text-2);font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:6px}
.ddc-field-em{font-size:14px;line-height:1}
.ddc-scale{display:flex;align-items:center;gap:10px}
.ddc-scale-val{font-size:18px;font-weight:700;letter-spacing:-.012em;font-variant-numeric:tabular-nums;min-width:54px}
.ddc-scale-bar{flex:1;height:5px;background:var(--fill-2);border-radius:3px;overflow:hidden}
.ddc-scale-fill{height:100%;border-radius:3px;transition:width .6s var(--ease-out-soft)}
.ddc-num{font-size:18px;font-weight:700;color:var(--text);letter-spacing:-.012em;font-variant-numeric:tabular-nums}
.ddc-text{font-size:14px;color:var(--text);line-height:1.5;letter-spacing:-.005em;white-space:pre-wrap;word-break:break-word;background:var(--fill-2);border-radius:10px;padding:10px 12px}
.ddc-auto{margin-top:14px;padding:12px 14px;background:linear-gradient(135deg,rgba(48,209,88,.08),rgba(64,203,224,.06));border-radius:12px;border-left:3px solid #30D158}
.ddc-auto-h{font-size:11px;color:var(--text-2);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.ddc-auto-parts{font-size:13px;color:var(--text);font-weight:500;letter-spacing:-.005em;line-height:1.5}
.ddc-edit-btn{margin-top:14px;width:100%}
.diary-graphs{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.diary-graph{background:var(--bg-card);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow-card)}
.dg-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.dg-lbl{font-size:13px;font-weight:700;letter-spacing:-.005em;color:var(--text)}
.dg-stats{font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums}
.dg-svg{width:100%;height:70px;display:block}

/* === SwipeDelete v0.42 === */
.sw-wrap{position:relative;overflow:hidden;border-radius:14px}
.sw-wrap .sw-del-btn{position:absolute;top:0;right:0;bottom:0;width:80px;background:#FF453A;border:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;padding:0;z-index:0;transition:background .15s}
.sw-wrap .sw-del-btn:active{background:#D63A30}
.sw-content{position:relative;z-index:1;will-change:transform;background:inherit}
/* Make sure card backgrounds visible — for cards without their own bg */
.sw-content.mood-entry,.sw-content.stat-tl-row,.sw-content.mood-tl-row{background:var(--bg-card)}
.sw-content.diary-day-card{background:var(--bg-card)}

.sw-content.tt-recent-row,.sw-content.eat-slot{background:var(--bg-card)}

/* === SegSwipe v0.44 === */
@keyframes seg-slide-in-right{from{transform:translateX(40px);opacity:.35}to{transform:translateX(0);opacity:1}}
@keyframes seg-slide-in-left{from{transform:translateX(-40px);opacity:.35}to{transform:translateX(0);opacity:1}}
@keyframes seg-bounce-left{0%{transform:translateX(0)}45%{transform:translateX(-12px)}100%{transform:translateX(0)}}
@keyframes seg-bounce-right{0%{transform:translateX(0)}45%{transform:translateX(12px)}100%{transform:translateX(0)}}

/* === Bottom-sheet modals v0.45 (override) === */
.modal-bg{
  display:flex !important;
  padding:0 !important;
  pointer-events:none;
  opacity:0;
  background:rgba(0,0,0,calc(.5 * var(--bg-dim,1))) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:opacity .28s var(--ease-out-soft), background .26s;
}
.modal-bg.on{
  pointer-events:auto;
  opacity:1;
}
.modal-box{
  max-width:100% !important;
  width:100% !important;
  margin:0 !important;
  border-radius:22px 22px 0 0 !important;
  padding:30px 20px calc(28px + env(safe-area-inset-bottom)) !important;
  position:relative;
  transform:translateY(110%);
  transition:transform .38s var(--ease-spring);
  animation:none !important;
  max-height:88vh !important;
}
.modal-bg.on .modal-box{
  transform:translateY(0);
}
.modal-box::before{
  content:"";
  position:absolute;
  top:8px;
  left:50%;
  transform:translateX(-50%);
  width:38px;
  height:5px;
  border-radius:3px;
  background:var(--fill-2);
  pointer-events:none;
}

/* === Skeleton screens v0.46 === */
.sk-list{display:flex;flex-direction:column;gap:8px;padding:4px 0;animation:sk-fade-in .2s var(--ease-out-soft)}
.sk-card{position:relative;overflow:hidden;background:var(--fill-2);border-radius:14px;height:64px;animation:sk-fade-in .35s var(--ease-out-soft) both}
.sk-card::before{content:"";position:absolute;top:50%;left:14px;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.04)}
.sk-card::after{content:"";position:absolute;top:18px;left:62px;height:11px;width:55%;border-radius:6px;background:rgba(255,255,255,.05);box-shadow:0 18px 0 -2px rgba(255,255,255,.035)}
.sk-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.045) 50%,transparent 100%);animation:sk-shimmer 1.4s linear infinite}
@keyframes sk-shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes sk-fade-in{from{opacity:0}to{opacity:1}}

/* === Pull-to-refresh v0.48 === */
.view{position:relative}
.ptr{position:absolute;top:0;left:50%;transform:translateX(-50%) translateY(-60px);width:38px;height:38px;border-radius:50%;background:var(--bg-card);box-shadow:0 4px 14px rgba(0,0,0,.28),0 1px 3px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;color:var(--text-2);z-index:50;pointer-events:none;opacity:0;will-change:transform}
.ptr-bg{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.ptr-arrow{display:block;transition:transform .22s var(--ease-out-soft)}
.ptr.ready .ptr-arrow{transform:rotate(180deg);color:var(--blue)}
.ptr-spin{display:none;position:absolute;inset:0;animation:ptr-spin .9s linear infinite;color:var(--blue)}
.ptr.refreshing .ptr-arrow{display:none}
.ptr.refreshing .ptr-spin{display:block}
@keyframes ptr-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* === Large title v0.49 === */
.view-large-title{font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.12;color:var(--text);margin:6px 0 18px;padding:4px 0 0;transform-origin:left top;will-change:transform,opacity}
.view-nav-title.lt-fade{opacity:0;transition:opacity .12s linear}

/* === 3a Spring tap on module-row v0.50 === */
.module-row{transition:transform .14s var(--ease-spring),background .15s}
.module-row:active{transform:scale(.985);background:var(--fill-3)}
.module-row .module-icon{transition:transform .18s var(--ease-spring),filter .18s,box-shadow .18s}
.module-row:active .module-icon{transform:scale(1.08);filter:brightness(1.12) saturate(1.05);box-shadow:0 4px 14px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.18)}
.module-row .module-chevron{transition:transform .14s var(--ease-spring),color .15s}
.module-row:active .module-chevron{transform:translateX(2px);color:var(--text-2)}

/* === Program editor v0.53 (Part 7) === */
.pg-edit-preview{background:var(--bg-card);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:14px;margin-bottom:18px;box-shadow:var(--shadow-card);transition:transform .15s var(--ease-spring)}
.pg-edit-preview .pi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.18);transition:background .25s}
.pg-edit-preview .pi-text{flex:1;min-width:0;line-height:1.3}
.pg-edit-preview .pi-name{font-size:17px;font-weight:600;letter-spacing:-.012em;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-edit-preview .pi-hint{font-size:13px;color:var(--text-2);margin-top:1px;font-weight:400;letter-spacing:-.005em}
.pg-emoji-btn{font-size:38px;width:68px;height:68px;border-radius:18px;background:var(--fill-2);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:transform .12s var(--ease-spring),background .15s;-webkit-tap-highlight-color:transparent;margin:0 4px}
.pg-emoji-btn:active{transform:scale(.92);background:var(--fill-1)}
.pg-colors{display:flex;gap:14px;padding:4px 0 8px;flex-wrap:wrap}
.pg-color-btn{width:44px;height:44px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .14s var(--ease-spring),border-color .18s;-webkit-tap-highlight-color:transparent;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.pg-color-btn:active{transform:scale(.88)}
.pg-color-btn.sel{border-color:var(--text);transform:scale(1.06)}
.pg-color-btn[data-c="green"]{background:linear-gradient(135deg,#30D158,#40CBE0)}
.pg-color-btn[data-c="blue"]{background:linear-gradient(135deg,#0A84FF,#5E5CE6)}
.pg-color-btn[data-c="orange"]{background:linear-gradient(135deg,#FF9F0A,#FF453A)}
.pg-color-btn[data-c="purple"]{background:linear-gradient(135deg,#5E5CE6,#BF5AF2)}
.pg-color-btn[data-c="pink"]{background:linear-gradient(135deg,#FF375F,#BF5AF2)}
.pg-ex-list{display:flex;flex-direction:column;gap:8px}
.pg-ex-row{background:var(--bg-card);border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-card);cursor:pointer;transition:background .12s,transform .12s var(--ease-spring);-webkit-tap-highlight-color:transparent}
.pg-ex-row:active{background:var(--bg-card-2);transform:scale(.992)}
.pg-ex-row .pg-ex-handle{font-size:18px;color:var(--text-3);flex-shrink:0;letter-spacing:-2px;font-weight:700;cursor:grab}
.pg-ex-row .pg-ex-body{flex:1;min-width:0;line-height:1.3}
.pg-ex-row .pg-ex-name{font-size:15px;font-weight:500;color:var(--text);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-ex-row .pg-ex-meta{font-size:12px;color:var(--text-2);margin-top:1px;letter-spacing:-.005em}
.pg-ex-row .pg-ex-chevron{font-size:18px;color:var(--text-3);flex-shrink:0;font-weight:600}
.pg-ex-empty{padding:24px 16px;background:var(--bg-card);border-radius:14px;text-align:center;color:var(--text-3);font-size:13px;line-height:1.45;letter-spacing:-.005em;box-shadow:var(--shadow-card)}
.pg-nav-save{color:var(--blue);font-size:17px;font-weight:600;letter-spacing:-.012em;padding:6px 8px;transition:opacity .12s;background:transparent;border:none}
.pg-nav-save:active{opacity:.6}
.pg-nav-save:disabled{opacity:.4;color:var(--text-3)}

/* === Exercise editor v0.53 (Part 8) === */
.exg-type-seg{display:flex;background:var(--fill-2);border-radius:12px;padding:3px;margin-bottom:4px}
.exg-type-btn{flex:1;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:600;color:var(--text-2);text-align:center;transition:all .22s var(--ease-standard);border:none;background:transparent;cursor:pointer;letter-spacing:-.005em;-webkit-tap-highlight-color:transparent}
.exg-type-btn.active{background:var(--bg-elevated);color:var(--text);box-shadow:0 3px 8px rgba(0,0,0,.12)}
.exg-duration{display:flex;align-items:center;gap:12px;background:var(--bg-input);border-radius:12px;padding:14px 16px}
.exg-duration input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums;font-family:inherit;padding:0;letter-spacing:-.01em;-webkit-appearance:none;appearance:none}
.exg-duration input::-webkit-outer-spin-button,.exg-duration input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.exg-duration .unit{font-size:12px;color:var(--text-3);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
