:root{--accent:#6d5cd6;--accent-strong:#5c4cc4;--accent-soft:#efecfd;--good:#3f9d7c;--warn:#a97a1a;--hot:#c9564f;--ink:#262336;--ink-dim:#514c68;--ink-faint:#6f6987;--radius:24px;--radius-sm:16px;--radius-xs:12px;--glass:#ffffff9e;--glass-hover:#ffffffd1;--glass-solid:#ffffffdb;--glass-edge:#ffffff80;--glass-shadow:0 14px 34px #2c4a742e;--micro:clamp(10px, .66rem, 15px);--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;color:var(--ink);font-family:ui-rounded,SF Pro Rounded,Segoe UI Variable Display,system-ui,-apple-system,sans-serif}:root,:root[data-sky=day]{--sky:linear-gradient(180deg, #5fb2ee 0%, #8ccdf5 38%, #cfe9fa 68%, #fdf1e0 100%);--sky-head:#5fb2ee;--sky-foot:#fdf1e0;--sun-core:#fff6d6f2;--sun-mid:#ffecbe59;--cloud-tint:#fff;--on-sky:#14283f;--on-sky-dim:#14283fb8;--on-sky-shadow:none;--caption-wash:#ffffff52;--caption-edge:#fff6;--caption-ink:#14283f;--caption-shadow:none}:root[data-sky=dusk]{--sky:linear-gradient(180deg, #3d3470 0%, #7b5b96 38%, #d4879a 70%, #ffc79a 100%);--sky-head:#3d3470;--sky-foot:#ffc79a;--sun-core:#ffe2bee6;--sun-mid:#ffba9652;--cloud-tint:#ffe6d8;--on-sky:#fff;--on-sky-dim:#ffffffd1;--on-sky-shadow:0 1px 4px #30184280;--caption-wash:#ffffff57;--caption-edge:#ffffff6b;--caption-ink:#2a1330;--caption-shadow:none}:root[data-sky=night]{--sky:linear-gradient(180deg, #0e0c22 0%, #1d1940 45%, #2f2857 75%, #453a6b 100%);--sky-head:#0e0c22;--sky-foot:#453a6b;--sun-core:#e2e8ff80;--sun-mid:#b4c2ff29;--cloud-tint:#b9bede;--on-sky:#fff;--on-sky-dim:#ffffffc7;--on-sky-shadow:0 1px 4px #06061499;--glass:#ffffffb3;--glass-shadow:0 14px 34px #06081a66;--caption-wash:#0a091e57;--caption-edge:#ffffff29;--caption-ink:#fff;--caption-shadow:0 1px 4px #06061499}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}button,select,label,summary,[role=tab]{touch-action:manipulation}html,body{min-height:100%;margin:0}body{background:var(--sky-foot);-webkit-font-smoothing:antialiased;min-height:100dvh}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}p{margin:0}a{color:var(--accent);text-decoration:none}@media (hover:hover){a:hover{text-decoration:underline}}.sky{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.sky__wash{background:var(--sky);position:absolute;inset:0}.sky__orb{aspect-ratio:1;--glow-strength:1;width:min(74px,17vw);transition:left .9s,top .9s;position:absolute;translate:-50% -50%}.sky__orb-glow{aspect-ratio:1;background:radial-gradient(circle, var(--sun-core) 0%, var(--sun-mid) 34%, transparent 68%);width:620%;opacity:calc(.68 * var(--glow-strength));border-radius:50%;animation:9s ease-in-out infinite sun-pulse;position:absolute;top:50%;left:50%;translate:-50% -50%}.sky__orb--sun .sky__orb-glow{background:radial-gradient(circle,#fffdf8c7 0%,#fffdf885 15%,#fffcf74d 30%,#fffcf728 45%,#fffcf612 60%,#fffcf607 75%,#fffcf602 88%,#0000 100%);width:620%}.sky__orb-disc{filter:drop-shadow(0 0 9px #e2e8ff73);position:absolute;inset:0;overflow:visible}.sky__layer{width:200%;animation-name:sky-drift;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;inset:0}.sky__half{width:50%;height:100%;position:absolute;top:0}.sky__half:first-child{left:0}.sky__half:nth-child(2){left:50%}.sky__cloud{animation-name:cloud-bob;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.sky__cloud--flip{scale:-1 1}.sky__cloud>i{background:var(--cloud-tint);border-radius:50%;display:block;position:absolute}.sky__horizon{background:linear-gradient(180deg, transparent, var(--sun-mid));opacity:.5;height:22%;position:absolute;inset:auto 0 0}@keyframes sky-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes cloud-bob{0%,to{transform:translateY(0)}40%{transform:translateY(-16%)}70%{transform:translateY(7%)}}.season{pointer-events:none;position:absolute;inset:0}.season__air{position:absolute;inset:0;overflow:hidden}.mote{width:var(--size,6px);height:var(--size,6px);will-change:transform;animation-duration:var(--dur,20s);animation-delay:var(--delay,0s);background:currentColor;border-radius:50%;animation-timing-function:linear;animation-iteration-count:infinite;display:block;position:absolute}.season--motion-fall .mote{top:calc(var(--size,6px) * -2);left:var(--at,50%);animation-name:mote-fall}.season--motion-rise .mote{bottom:calc(var(--size,6px) * -2);left:var(--at,50%);animation-name:mote-rise}.season--motion-float .mote{top:var(--at,50%);left:calc(var(--size,6px) * -3);animation-name:mote-float}@keyframes mote-fall{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--sway,6vw), 110dvh, 0) rotate(var(--spin,180deg))}}@keyframes mote-rise{0%{transform:translate(0,0)}to{transform:translate3d(var(--sway,6vw), -104dvh, 0)}}@keyframes mote-float{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(112vw, var(--sway,6vw), 0) rotate(var(--spin,180deg))}}.mote--petal{border-radius:70% 0}.mote--blossom{width:calc(var(--size,6px) * 1.25);border-radius:60% 40%}.mote--leaf{width:calc(var(--size,6px) * 1.6);height:calc(var(--size,6px) * .85);border-radius:0 100%}.mote--flake{filter:blur(.4px);box-shadow:0 0 3px}.mote--seed{box-shadow:0 0 0 1px color-mix(in srgb, currentColor 45%, transparent);filter:blur(.3px)}.mote--pollen{filter:blur(1.2px)}.mote--spark{animation-name:mote-rise,mote-blink;animation-duration:var(--dur,20s), 2.6s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-delay:var(--delay,0s), var(--delay,0s);box-shadow:0 0 6px,0 0 14px}.season--motion-float .mote--spark{animation-name:mote-float,mote-blink}@keyframes mote-blink{0%,to{opacity:.25}50%{opacity:1}}.flyby{top:var(--flyby-lane,20%);height:0;position:absolute;left:0;right:0}.flyby--back{transform:scaleX(-1)}.flyby__travel{animation-name:flyby-cross;animation-duration:var(--flyby-duration,30s);animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:0;left:0}@keyframes flyby-cross{0%{transform:translate(-40vw)}to{transform:translate(110vw)}}.flyby--sent .flyby__travel{animation-delay:calc(var(--flyby-duration,30s) * -.22)}.flyby--sent.flyby--meteor .flyby__travel{animation-delay:0s}.flyby__art{width:100%;height:auto;display:block;overflow:visible}.flyby--birds .flyby__travel{opacity:.5;width:clamp(84px,21vmin,148px)}.flyby--birds .flyby__art{stroke:#2c3550;stroke-width:1.5px;stroke-linecap:round;fill:none}.bird__wing{transform-box:fill-box;transform-origin:100% 100%;animation:.62s ease-in-out infinite bird-flap}.bird__wing--right{transform-origin:0 100%;animation-name:bird-flap-right}@keyframes bird-flap{0%,to{transform:rotate(14deg)}38%{transform:rotate(-22deg)}}@keyframes bird-flap-right{0%,to{transform:rotate(-14deg)}38%{transform:rotate(22deg)}}.flyby--balloon .flyby__travel{opacity:.9;width:clamp(30px,7.5vmin,54px);animation-name:flyby-cross,flyby-bobble;animation-duration:var(--flyby-duration,74s), 23s;animation-timing-function:linear,ease-in-out;animation-iteration-count:1,infinite}.balloon__skin{fill:#f6f2ea}.balloon__gore{fill:#d8695c}.balloon__neck{fill:#cbc3b6}.balloon__basket{fill:#8a6440}.balloon__rope{stroke:#6f5a45;stroke-width:.9px;fill:none}.balloon__envelope{transform-box:fill-box;transform-origin:bottom;animation:11s ease-in-out infinite balloon-sway}@keyframes balloon-sway{0%,to{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}@keyframes flyby-bobble{0%,to{translate:0}50%{translate:0 -3.5vh}}.flyby--plane .flyby__travel{opacity:.5;width:clamp(130px,36vmin,280px)}.plane__body{fill:#3a4360}.flyby--meteor .flyby__travel{width:clamp(96px,26vmin,200px);animation-name:meteor-fall;animation-timing-function:cubic-bezier(.4,.1,.8,.6)}.flyby--meteor .flyby__art{rotate:26deg}@keyframes meteor-fall{0%{opacity:0;transform:translate(-16vw,-6vh)}18%{opacity:1}74%{opacity:1}to{opacity:0;transform:translate(62vw,30vh)}}@keyframes sun-pulse{0%,to{opacity:calc(.55 * var(--glow-strength))}50%{opacity:calc(.8 * var(--glow-strength))}}.app{z-index:1;cursor:crosshair;position:relative}.app__frame{width:100%;max-width:560px;height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 0;flex-direction:column;gap:12px;margin:0 auto;display:flex;position:relative}.app__stage{contain:layout;flex:auto;justify-content:center;align-items:center;min-height:84px;padding:8px 0 12px;display:flex;position:relative}.caption,.app__bottom,.dock,.storage-alert,.reveal,.scrim,.overlay{cursor:default}.app__drift,.app__lean,.app__flair{pointer-events:none}.app__drift{--drift-x:0%;--drift-y:0%;--drift-ms:4.2s;--drift-ease:cubic-bezier(.36, 0, .5, 1);width:100vw;height:100%;transform:translate(var(--drift-x), var(--drift-y));transition:transform var(--drift-ms) var(--drift-ease);flex:none;justify-content:center;align-items:center;display:flex}.app__lean{--heading:0;--look:0;transform-origin:bottom;justify-content:center;align-items:center;width:100%;height:100%;transition:transform 1.1s ease-out;display:flex}.app__lean.is-moving{--look:var(--heading);transform:rotate(calc(var(--heading) * 2.4deg)) scale(calc(1 + .035 * (var(--heading) * var(--heading))), calc(1 - .03 * (var(--heading) * var(--heading))))}.app__flair{--flair-ms:1.5s;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.app__flair--roll{animation:flair-roll var(--flair-ms) cubic-bezier(.45, 0, .4, 1)}.app__flair--wobble{animation:flair-wobble var(--flair-ms) ease-in-out}.app__flair--tuck{animation:flair-tuck var(--flair-ms) ease-out}@keyframes flair-roll{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.04,.93)}to{transform:rotate(360deg)scale(1)}}@keyframes flair-wobble{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-9%)rotate(-2deg)}50%{transform:translateY(2%)rotate(1.5deg)}75%{transform:translateY(-5%)rotate(-1deg)}}@keyframes flair-tuck{0%{transform:scale(1)}30%{transform:scale(1.1,.86)}70%{transform:scale(.94,1.08)}to{transform:scale(1)}}.app__bottom{z-index:2;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);flex-direction:column;gap:10px;display:flex;position:sticky;bottom:0}.header{z-index:2;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.header__when{font-family:var(--mono);font-size:var(--micro);letter-spacing:.14em;text-transform:uppercase;color:var(--on-sky-dim);text-shadow:var(--on-sky-shadow);align-items:center;gap:7px;display:flex}.header__when time{font-variant-numeric:tabular-nums}.header__name{color:var(--on-sky);text-shadow:var(--on-sky-shadow);margin-top:2px;font-size:1.6rem;line-height:1.05}.header__pills{align-items:stretch;gap:8px;display:flex}.icon-btn{font:inherit;aspect-ratio:1;border:1px solid var(--glass-edge);border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);color:var(--ink-dim);cursor:pointer;place-items:center;padding:0 8px;display:grid}@media (hover:hover){.icon-btn:hover{background:var(--glass-hover);color:var(--ink)}}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn svg{width:1.35em;height:1.35em}.pill{font:inherit;border:1px solid var(--glass-edge);border-radius:var(--radius-sm);background:var(--glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);color:var(--ink);cursor:pointer;flex-direction:column;align-items:center;gap:1px;padding:7px 12px;display:flex}@media (hover:hover){.pill:hover{background:var(--glass-hover)}}.pill__value{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;line-height:1.1}.pill__label{font-family:var(--mono);font-size:var(--micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.caption{z-index:2;text-align:center;text-wrap:pretty;max-width:34ch;color:var(--caption-ink);text-shadow:var(--caption-shadow);background:var(--caption-wash);border:1px solid var(--caption-edge);-webkit-backdrop-filter:blur(6px);border-radius:999px;align-self:center;padding:7px 16px;font-size:.85rem;line-height:1.4;transition:opacity .9s;position:relative}.caption--faded{opacity:0;pointer-events:none}.puff{pointer-events:none;--gaze-x:0;--gaze-y:0;--gaze:1;background:0 0;border:0;width:100%;max-width:min(84vw,344px);height:100%;max-height:288px;padding:0;position:relative}.puff:focus-visible{outline:2px solid var(--on-sky);outline-offset:4px;border-radius:24px}.puff__svg{width:100%;height:100%;display:block;overflow:visible}.puff__body{pointer-events:auto;cursor:pointer;transform-box:fill-box;transform-origin:bottom;animation:5.5s ease-in-out infinite puff-bob}.puff__face{transform-box:fill-box;transform-origin:50%;animation:5.5s ease-in-out infinite puff-bob-face}.puff__features{transform:translate(calc(var(--gaze-x) * var(--gaze) * 4px + var(--look,0) * 5px), calc(var(--gaze-y) * var(--gaze) * 3px));transition:transform .22s ease-out}.puff__light{transform:translate(calc(var(--gaze-x) * var(--gaze) * -7px), calc(var(--gaze-y) * var(--gaze) * -5px));transition:transform .32s ease-out}.puff__eye{transform-box:fill-box;transform-origin:50%;animation:6.2s ease-in-out infinite puff-blink}.puff__eye:nth-of-type(2){animation-delay:-.08s}.puff__bloom{pointer-events:none;width:0;height:0;position:absolute}.puff__bloom-ring{border:1.5px solid #ffffffe6;border-radius:999px;animation:.62s cubic-bezier(.2,.7,.3,1) both bloom-ring;position:absolute;inset:-1.7em}.puff__mote{background:#fff;border-radius:999px;width:5px;height:5px;margin:-2.5px;animation:.7s cubic-bezier(.2,.7,.35,1) both mote-out;position:absolute}@keyframes bloom-ring{0%{opacity:0;transform:scale(.2)}25%{opacity:.5}to{opacity:0;transform:scale(1)}}@keyframes mote-out{0%{opacity:0;transform:translate(0)scale(.4)}25%{opacity:.9}to{transform:translate(calc(var(--dx) * 2.2em), calc(var(--dy) * 2.2em)) scale(1);opacity:0}}@keyframes puff-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-9px)scale(.99,1.014)}}@keyframes puff-bob-face{0%,to{transform:translateY(.4px)}54%{transform:translateY(-11px)}}@keyframes puff-blink{0%,93%,to{transform:scaleY(1)}96.5%{transform:scaleY(.1)}}.getup{pointer-events:none;animation:.62s ease-out both getup-in}@keyframes getup-in{0%{opacity:0}to{opacity:1}}.getup--lightning,.getup--thunder{animation:none}.getup__drop{stroke:#96bee8e6;stroke-linecap:round;animation:.95s linear infinite getup-fall;animation-delay:calc(var(--delay) * -950ms)}.getup__flake{fill:#fffffffa;stroke:#80aad699;stroke-width:.9px;animation:2.9s linear infinite getup-drift;animation-delay:calc(var(--delay) * -2900ms)}@keyframes getup-fall{0%{opacity:0;transform:translateY(0)}12%{opacity:.85}75%{opacity:.85}to{transform:translateY(var(--fall));opacity:0}}@keyframes getup-drift{0%{opacity:0;transform:translate(0)}15%{opacity:.95}50%{transform:translate(var(--sway), calc(var(--fall) * .5))}80%{opacity:.95}to{transform:translate(0, var(--fall));opacity:0}}.getup__flash{fill:#fff;mix-blend-mode:screen;animation:2.4s ease-out both getup-strike}.getup__flash--rumble{animation:12s ease-out both getup-rumble}@keyframes getup-strike{0%,6%{opacity:0}9%{opacity:.85}14%{opacity:.05}20%{opacity:.7}46%,to{opacity:0}}@keyframes getup-rumble{0%,11%{opacity:0}13%{opacity:.42}16.5%{opacity:.04}19%{opacity:.3}31%,to{opacity:0}}.getup__bolt{fill:#ffd93b;filter:drop-shadow(0 0 5px #ffe26ef2);animation:2.4s ease-out both getup-bolt}@keyframes getup-bolt{0%,5%{opacity:0}8%{opacity:1}14%{opacity:.15}20%{opacity:1}40%{opacity:.75}58%,to{opacity:0}}.getup__belly{animation:12s ease-in-out both getup-brood}@keyframes getup-brood{0%,to{opacity:0}11%,37%{opacity:1}}.getup__band{opacity:.34;stroke-dasharray:2000;stroke-dashoffset:2000px;animation:1.6s cubic-bezier(.4,0,.3,1) both getup-arc;animation-delay:calc(var(--band) * .11s)}@keyframes getup-arc{to{stroke-dashoffset:0}}.puff__worn{transform-box:fill-box;transform-origin:bottom;pointer-events:none;animation:5.5s ease-in-out infinite puff-bob}.getup--cap,.getup--umbrella{transform-box:fill-box;transform-origin:bottom;animation:.62s ease-out both getup-in,.52s cubic-bezier(.3,1.4,.5,1) both getup-settle}@keyframes getup-settle{0%{transform:translateY(-7px)rotate(-4deg)}to{transform:translateY(0)rotate(0)}}.getup__seam{stroke:#00000029;stroke-linecap:round}.getup__shaft{stroke:#6b5a4a}.getup__canopy{fill:#e2564f}.getup__ribs{stroke:#00000024}.getup__finial{fill:#6b5a4a}.getup--shades{transform-box:fill-box;transform-origin:50%;animation:.4s ease-out both getup-in,.46s cubic-bezier(.3,1.3,.5,1) both getup-shades-on}@keyframes getup-shades-on{0%{transform:translateY(-5px)scale(.86)}to{transform:translateY(0)scale(1)}}.getup__lens{opacity:.82}.getup__glint{stroke:#ffffffbf}.puff--act-hop,.puff--act-wiggle,.puff--act-tilt,.puff--act-spin,.puff--act-shiver,.puff--act-stretch{transform-origin:bottom}.puff--act-hop{animation:.9s cubic-bezier(.3,0,.4,1) act-hop}.puff--act-wiggle{animation:1.1s ease-in-out act-wiggle}.puff--act-tilt{animation:1.6s ease-in-out act-tilt}.puff--act-spin{animation:1.4s cubic-bezier(.4,0,.3,1) act-spin}.puff--act-shiver{animation:.8s ease-in-out act-shiver}.puff--act-stretch{animation:1.5s ease-in-out act-stretch}@keyframes act-hop{0%{transform:translateY(0)scale(1)}18%{transform:translateY(2%)scale(1.05,.94)}50%{transform:translateY(-17%)scale(.97,1.05)}82%{transform:translateY(1%)scale(1.05,.95)}to{transform:translateY(0)scale(1)}}@keyframes act-wiggle{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(3%)rotate(2.5deg)}45%{transform:translate(-3%)rotate(-2.5deg)}70%{transform:translate(1.6%)rotate(1.2deg)}88%{transform:translate(-.8%)rotate(-.6deg)}}@keyframes act-tilt{0%,to{transform:rotate(0)}25%,62%{transform:rotate(-6deg)}}@keyframes act-spin{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(180deg)scale(.9,1.03)}to{transform:rotateY(360deg)scale(1)}}@keyframes act-shiver{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(1.1%)}30%,60%,90%{transform:translate(-1.1%)}}@keyframes act-stretch{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-6%)scale(1.06,1.07)}70%{transform:translateY(1%)scale(1.02,.96)}}.puff.is-reacting{transform-origin:bottom;animation-name:var(--react-anim);animation-duration:var(--react-ms);--gaze:2;animation-timing-function:cubic-bezier(.34,1.3,.5,1);animation-fill-mode:both}@keyframes react-beam{0%{transform:scale(1)}20%{transform:scale(1.1,.88)translateY(1.5%)}55%{transform:scale(.96,1.07)translateY(-2%)}80%{transform:scale(1.02,.98)}to{transform:scale(1)}}@keyframes react-bounce{0%{transform:translateY(0)scale(1)}16%{transform:translateY(2%)scale(1.07,.92)}48%{transform:translateY(-13%)scale(.96,1.06)}78%{transform:translateY(1%)scale(1.04,.96)}to{transform:translateY(0)scale(1)}}@keyframes react-startle{0%{transform:translateY(0)scale(1)}22%{transform:translateY(-6%)scale(.94,1.08)}60%{transform:translateY(1%)scale(1.04,.97)}to{transform:translateY(0)scale(1)}}@keyframes react-giggle{0%,to{transform:translate(0)rotate(0)}14%{transform:translate(2.2%)rotate(2deg)}32%{transform:translate(-2.2%)rotate(-2deg)}50%{transform:translate(1.6%)rotate(1.4deg)}68%{transform:translate(-1.2%)rotate(-1deg)}85%{transform:translate(.5%)rotate(.4deg)}}@keyframes react-wink{0%,to{transform:rotate(0)scale(1)}35%,62%{transform:rotate(-4.5deg)scale(1.02,.99)}}@keyframes react-squish{0%{transform:scale(1)}25%{transform:scale(1.13,.85)translateY(2%)}70%{transform:scale(.98,1.03)translateY(-.5%)}to{transform:scale(1)}}@keyframes react-melt{0%{transform:translateY(0)scale(1)}30%,62%{transform:translateY(2.5%)scale(1.06,.92)}85%{transform:translateY(-.5%)scale(.99,1.02)}to{transform:translateY(0)scale(1)}}@keyframes react-laugh{0%,to{transform:rotate(0)translateY(0)scale(1)}18%{transform:rotate(-7deg)translateY(-3%)scale(.97,1.05)}40%{transform:rotate(4.5deg)translateY(1%)scale(1.05,.96)}62%{transform:rotate(-4deg)translateY(-2%)scale(.99,1.03)}84%{transform:rotate(1.8deg)translateY(.4%)scale(1.02,.99)}}@keyframes react-preen{0%,to{transform:translateY(0)scale(1)}32%,64%{transform:translateY(-4%)scale(1.07,1.08)}86%{transform:translateY(.6%)scale(.99,.98)}}@keyframes react-silly{0%,to{transform:translate(0)rotate(0)scale(1)}16%{transform:translate(-3.2%)rotate(6deg)scale(1.03,.97)}38%{transform:translate(3.2%)rotate(-6deg)scale(.97,1.03)}60%{transform:translate(-2%)rotate(3.5deg)scale(1.02,.98)}82%{transform:translate(1%)rotate(-1.6deg)scale(1)}}@keyframes react-curious{0%,to{transform:rotate(0)translateY(0)}28%,70%{transform:rotate(7.5deg)translateY(-2%)}}@keyframes react-smug{0%,to{transform:translateY(0)rotate(0)scale(1)}34%,68%{transform:translateY(-4.5%)rotate(-2.5deg)scale(.98,1.04)}}@keyframes react-shy{0%,to{transform:translate(0)scale(1)}32%,70%{transform:translate(-2.6%,1.6%)scale(.94,.95)}}@keyframes react-coy{0%,to{transform:rotate(0)translate(0)}32%{transform:rotate(-3.5deg)translate(-1.6%)}74%{transform:rotate(2.4deg)translate(1%)}}@keyframes react-sleepy{0%,to{transform:translateY(0)rotate(0)scale(1)}34%{transform:translateY(2.6%)rotate(-2.5deg)scale(1.05,.93)}66%{transform:translateY(3.2%)rotate(1.4deg)scale(1.06,.92)}88%{transform:translateY(.6%)rotate(0)scale(1.01,.99)}}.dock{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px);box-shadow:var(--glass-shadow);border-radius:22px;grid-template-columns:repeat(5,1fr);gap:4px;padding:5px;display:grid}.dock__item{font:inherit;cursor:pointer;min-height:54px;color:var(--ink-dim);background:0 0;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform 90ms;display:flex}@media (hover:hover){.dock__item:hover{background:#ffffff6b}}.dock__item:active{transform:scale(.94)}.dock__item.is-active{background:var(--glass-solid);box-shadow:inset 0 0 0 1px #6d5cd633}.dock__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dock__glyph{width:1.45em;height:1.45em;display:block;position:relative}.dock__glyph svg{width:100%;height:100%;display:block}.dock__item.is-active{color:var(--ink)}.dock__item.is-active .dock__glyph{color:var(--accent)}.dock__badge{background:var(--accent);color:#fff;min-width:1.15em;font-family:var(--mono);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .28em;font-size:.62em;font-weight:700;line-height:1.7;position:absolute;top:-.34em;right:-.62em}.dock__badge--empty{color:var(--ink-faint);background:#ffffffbf;box-shadow:inset 0 0 0 1px #3c3c5a24}.dock__label{font-family:var(--mono);font-size:var(--micro);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}@media (width<=360px){.dock{gap:2px;padding:4px}.dock__label{letter-spacing:.02em}}.app.is-covered .sky :not(.flyby,.flyby *),.app.is-covered .app__stage,.app.is-covered .app__stage *{animation-play-state:paused}.scrim{--scrim-top:20px;--scrim-reserve:calc(env(safe-area-inset-bottom,0px) + 20px);z-index:30;padding:var(--scrim-top) 14px var(--scrim-reserve);-webkit-backdrop-filter:blur(3px);background:#161c3857;grid-template-columns:minmax(0,1fr);place-items:center;animation:.11s both overlay-in;display:grid;position:fixed;inset:0}.sheet{width:100%;max-width:480px;max-height:min(720px, calc(100dvh - var(--scrim-top) - var(--scrim-reserve)));border:1px solid var(--glass-edge);background:#fffffff7;border-radius:26px;flex-direction:column;animation:.17s cubic-bezier(.16,.84,.32,1) both sheet-rise;display:flex;overflow:clip;box-shadow:0 26px 60px #1422424d}.sheet__head{flex:none;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 10px;display:flex}.sheet__title{font-size:1.05rem;font-weight:700}.sheet__close{width:30px;height:30px;color:var(--ink-dim);cursor:pointer;background:#3c3c5a14;border:0;border-radius:50%;flex:none;font-size:1rem;line-height:1;transition:transform 90ms}@media (hover:hover){.sheet__close:hover{background:#fff}}.sheet__close:active{transform:scale(.9)}.sheet__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sheet__body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:0 18px 18px;display:flex;overflow-y:auto}@keyframes sheet-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.log{flex-direction:column;gap:18px;display:flex}.log__taken{border-radius:var(--radius-sm);background:#6d5cd612;border:1px solid #6d5cd624;flex-direction:column;gap:7px;padding:11px 13px;display:flex}.log__taken-head{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;font-size:.82rem;font-weight:600;display:flex}.log__taken-avg{font-family:var(--mono);font-size:var(--micro);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-weight:500}.log__taken-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.log__taken-list li{color:var(--ink-dim);align-items:baseline;gap:8px;font-size:.8rem;display:flex}.log__taken-at{font-family:var(--mono);font-size:var(--micro);color:var(--ink-faint);font-variant-numeric:tabular-nums;flex:0 0 4.2em}.log__taken-score{flex:auto}.log__closed{color:var(--ink-dim);text-wrap:pretty;border-radius:var(--radius-sm);background:var(--glass-solid);border:1px solid var(--glass-edge);padding:14px 15px;font-size:.88rem;line-height:1.55}.log__ask{flex-direction:column;gap:10px;display:flex}.log__scores{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;display:grid}.log__anchors{flex-direction:column;gap:4px;display:flex}.log__anchor{color:var(--ink-dim);text-wrap:pretty;gap:7px;font-size:.78rem;line-height:1.4;display:flex}.log__anchor-name{color:var(--ink-faint);flex:0 0 2.6em;font-weight:650}.log__diary{border-top:1px solid var(--glass-edge);flex-direction:column;gap:10px;padding-top:12px;display:flex}.log__field{flex-direction:column;gap:4px;display:flex}.log__field-label{color:var(--ink-dim);flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:.82rem;font-weight:650;display:flex}.log__field-hint{color:var(--ink-faint);font-size:.78rem;font-weight:400}.log__field textarea{font:inherit;width:100%;color:var(--ink);border-radius:var(--radius-xs);resize:none;background:#fffc;border:1px solid #3c3c5a24;padding:9px 11px}.log__field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.photos{flex-direction:column;gap:6px;display:flex}.photos__label{color:var(--ink-dim);flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:.82rem;font-weight:650;display:flex}.photos__hint{color:var(--ink-faint);font-size:.78rem;font-weight:400}.photos__list{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.photos__item{width:74px;height:74px;position:relative}.photos__img{object-fit:cover;border-radius:var(--radius-xs);background:#3c3c5a0f;border:1px solid #3c3c5a29;width:100%;height:100%;display:block}.photos__remove{cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:-6px;right:-6px}.photos__remove:before{content:"";background:#262336c7;border:1.5px solid #ffffffe6;border-radius:999px;width:24px;height:24px;position:absolute}.photos__remove>span{color:#fff;font-size:.95rem;line-height:1;position:relative}.photos__remove:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:999px}.photos__add{align-self:flex-start}.photos__error{color:var(--hot);text-wrap:pretty;font-size:.8rem;line-height:1.4}.reading__photos{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.reading__photo{cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0;transition:transform 90ms;display:block}.reading__photo:active{transform:scale(.94)}.reading__photo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reading__photos img{object-fit:cover;background:#3c3c5a0f;border:1px solid #3c3c5a29;border-radius:10px;width:60px;height:60px;display:block}.gallery{z-index:60;isolation:isolate;background:#0c1022e6;animation:.11s both overlay-in;position:fixed;inset:0}.gallery__viewport{inset:max(10px, env(safe-area-inset-top,0px)) 10px calc(58px + env(safe-area-inset-bottom,0px));touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;overflow:hidden}.gallery__track{will-change:transform;display:flex;position:absolute;inset:0}.gallery__viewport.is-settling .gallery__track{transition:transform .26s cubic-bezier(.22,.7,.28,1)}.gallery__slide{flex:0 0 100%;place-items:center;padding:0 8px;display:grid}.gallery__img{transform-origin:50%;-webkit-user-drag:none;border-radius:12px;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .12s ease-out}.gallery__nav{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;transition:background .12s,opacity .12s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery__nav:hover{background:#ffffff42}.gallery__nav:disabled{opacity:.25;cursor:default}.gallery__nav--prev{left:10px}.gallery__nav--next{right:10px}.gallery__bar{left:0;right:0;bottom:max(10px, env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:center;align-items:center;gap:12px;padding:0 12px;display:flex;position:absolute}.gallery__zoom,.gallery__count{pointer-events:auto;color:#fff;background:#ffffff24;border-radius:999px}.gallery__zoom{align-items:center;padding:2px;display:flex}.gallery__tool{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.15rem;line-height:1;display:grid}.gallery__tool:disabled{opacity:.3;cursor:default}.gallery__level{color:#fff;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;min-width:4ch;padding:0 6px;font-size:.78rem}.gallery__level:disabled{opacity:.55;cursor:default}.gallery__count{font-variant-numeric:tabular-nums;padding:7px 12px;font-size:.78rem}.gallery__close{top:max(14px, env(safe-area-inset-top,0px));color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.3rem;line-height:1;display:grid;position:absolute;right:14px}.gallery__close:hover{background:#ffffff42}.gallery button:focus-visible{outline-offset:2px;outline:2px solid #fff}.gallery:focus{outline:none}@media (prefers-reduced-motion:reduce){.gallery__viewport.is-settling .gallery__track,.gallery__img{transition-duration:1ms}}.tagpicker{border-radius:var(--radius-xs);background:#fff6}.tagpicker>summary,.log__note>summary{cursor:pointer;border-radius:var(--radius-xs);align-items:baseline;gap:8px;padding:9px 12px;list-style:none;display:flex}.tagpicker>summary::-webkit-details-marker{display:none}.log__note>summary::-webkit-details-marker{display:none}.tagpicker>summary:after,.log__note>summary:after{content:"＋";color:var(--ink-faint);margin-left:auto;font-size:.9rem}.tagpicker[open]>summary:after,.log__note[open]>summary:after{content:"−"}.tagpicker>summary:focus-visible,.log__note>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tagpicker__legend{font-size:.9rem;font-weight:700}.tagpicker__hint{color:var(--ink-faint);font-size:.78rem}.tagpicker__count{background:var(--accent);color:#fff;min-width:18px;height:18px;font-size:var(--micro);border-radius:9px;place-items:center;padding:0 5px;font-weight:700;display:inline-grid}.tagpicker__set{border:0;margin:0;padding:0 12px 12px}.chips{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.chips input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chips label{background:var(--glass-solid);border:1px solid var(--glass-edge);color:var(--ink-dim);cursor:pointer;border-radius:999px;padding:7px 11px;font-size:.82rem;transition:background .14s,color .14s,border-color .14s;display:block}@media (hover:hover){.chips label:hover{background:var(--glass-hover)}}.chips input:checked+label{background:var(--accent);border-color:var(--accent-strong);color:#fff;font-weight:600}.chips input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.scale{border-radius:var(--radius-sm);background:#ffffff8c;border:1px solid #3c3c5a14;flex-direction:column;gap:9px;min-width:0;margin:0;padding:10px 10px 8px;transition:background .12s,border-color .12s;display:flex}.scale[data-level="0"]{background:#6d5cd60a}.scale[data-level="1"]{background:#6d5cd60f;border-color:#6d5cd61f}.scale[data-level="2"]{background:#6d5cd617;border-color:#6d5cd62b}.scale[data-level="3"]{background:#6d5cd621;border-color:#6d5cd638}.scale__head{flex-direction:column;gap:1px;margin-bottom:2px;display:flex}.scale__legend{font-size:.92rem;font-weight:700;line-height:1.2}.scale__hint{color:var(--ink-faint);font-size:.76rem;line-height:1.2}.scale__column{cursor:ns-resize;flex-direction:column;gap:3px;display:flex}.rung{border-radius:var(--radius-xs);background:#ffffffa8;transition:background 90ms;position:relative}.rung--on{background:rgba(109, 92, 214, calc(.07 + .04 * var(--score,0)))}.rung--top{background:linear-gradient(180deg, #8878e6 0%, var(--accent) 100%);box-shadow:0 2px 7px #6d5cd652}.rung--top label{color:#fff}.rung--top .rung__label{font-weight:600}.rung input{opacity:0;width:0;height:0;position:absolute}.rung label{border-radius:var(--radius-xs);cursor:pointer;min-height:40px;color:var(--ink-dim);align-items:center;gap:8px;padding:4px 10px;display:flex}@media (hover:hover){.rung:not(.rung--top) label:hover{background:#6d5cd617}}.rung input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.rung__score{font-variant-numeric:tabular-nums;flex:0 0 .8em;font-size:.95rem;font-weight:700;line-height:1}.rung__label{font-family:var(--mono);font-size:var(--micro);letter-spacing:.03em;text-transform:uppercase;min-width:0;line-height:1.2}.log__note summary{color:var(--ink-dim);cursor:pointer;font-size:.85rem}.log__note textarea{font:inherit;width:100%;color:var(--ink);border-radius:var(--radius-xs);resize:vertical;background:#fffc;border:1px solid #3c3c5a24;margin-top:8px;padding:10px 12px}.log__note textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.log__footer{background:linear-gradient(#ffffffb3 0%,#fff 14px);margin:0 -18px -18px;padding:12px 18px 18px;position:sticky;bottom:-18px}.log__footer,.dose__actions{flex-direction:column;align-items:center;gap:8px;display:flex}.log__footer>.btn,.dose__actions>.btn{min-width:min(100%,220px)}.log__hint,.dose__hint{text-align:center;flex:none;max-width:34ch;font-size:.8rem;line-height:1.4}.log__hint{color:var(--ink-dim)}.log__hint--error{color:var(--hot)}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:11px 22px;font-weight:650;transition:transform .1s,opacity .12s,background .12s}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px #6d5cd652}@media (hover:hover){.btn--primary:hover:not(:disabled){background:var(--accent-strong)}}.btn--primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn--ghost{color:var(--ink);background:#fff9;border-color:#3c3c5a24}.btn--ghost:disabled{color:var(--ink-faint);cursor:not-allowed;background:#ffffff47;border-color:#3c3c5a17}.btn:disabled:active{transform:none}.btn--link{color:var(--accent);background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.btn--small{padding:8px 15px;font-size:.85rem}.week{flex-direction:column;gap:12px;min-width:0;display:flex}.week__days{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;touch-action:pan-x pinch-zoom;gap:5px;min-width:0;margin:0;padding:0 2px 0 4px;list-style:none;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 24px);mask-image:linear-gradient(90deg,#0000,#000 24px)}.week__days::-webkit-scrollbar{display:none}.week__days.is-dragging{cursor:grabbing;scroll-behavior:auto}.week__days>li{flex:none}.day{width:2.9em;font:inherit;border-radius:var(--radius-xs);cursor:pointer;color:var(--ink-dim);background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:6px 2px;display:flex}@media (hover:hover){.day:hover{background:#ffffff80}}.day--today{box-shadow:inset 0 0 0 1px var(--accent-soft);background:#ffffffa8}.day--picked{box-shadow:inset 0 0 0 2px var(--accent);background:#ffffffc7}.day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.day__score{font-variant-numeric:tabular-nums;min-height:1em;color:var(--ink);font-size:.72rem}.day__date{font-family:var(--mono);font-size:var(--micro);color:var(--ink-faint);font-variant-numeric:tabular-nums}.day__none{color:var(--ink-faint)}.day__bar{background:#3c3c5a1c;border-radius:999px;align-items:flex-end;width:9px;height:52px;display:flex;position:relative;overflow:hidden}.day__fill{background:linear-gradient(180deg, #a396f0, var(--accent));border-radius:999px;width:100%;transition:height .3s}.day__name{font-family:var(--mono);font-size:var(--micro);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.day--today .day__name{color:var(--accent);font-weight:600}.day__meds{background:var(--ink-faint);opacity:.7;border-radius:999px;width:4px;height:4px;margin-top:-1px}.daydetail{border-radius:var(--radius-sm);background:var(--glass-solid);border:1px solid var(--glass-edge);flex-direction:column;gap:10px;min-width:0;padding:13px 14px 14px;display:flex}.daydetail__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.daydetail__date{font-size:.92rem}.daydetail__score{font-variant-numeric:tabular-nums;color:var(--ink-faint);white-space:nowrap;font-size:.82rem}.daydetail__score strong{color:var(--accent);font-size:1.35rem;font-weight:700;line-height:1}.daydetail__score-label{font-family:var(--mono);font-size:var(--micro);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);text-align:right;margin-top:2px;display:block}.daydetail__score--none{font-family:var(--mono);font-size:var(--micro);letter-spacing:.04em;text-transform:uppercase}.daydetail__empty{color:var(--ink-faint);text-wrap:pretty;font-size:.82rem;line-height:1.5}.daydetail__readings{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.reading{border-left:2px solid var(--accent-soft);flex-direction:column;gap:4px;padding:1px 0 2px 10px;display:flex}.reading__head{color:var(--ink-dim);flex-wrap:wrap;align-items:baseline;gap:9px;font-size:.82rem;display:flex}.reading__at{font-family:var(--mono);font-size:var(--micro);color:var(--ink-faint);font-variant-numeric:tabular-nums;flex:0 0 4.2em}.reading__scores{flex:auto}.reading__scores strong{color:var(--ink);font-variant-numeric:tabular-nums}.reading__note{color:var(--ink-dim);white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:pretty;font-size:.82rem;line-height:1.5}.reading__note-label{font-family:var(--mono);font-size:var(--micro);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin-right:7px}.daymeds{border-top:1px solid var(--glass-edge);flex-direction:column;gap:7px;padding-top:11px;display:flex}.daymeds__head{font-family:var(--mono);font-size:var(--micro);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);font-weight:400}.daymeds__list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.daymed{align-items:center;gap:9px;min-width:0;display:flex}.daymed .medart{width:22px;height:22px}.daymed__name{min-width:0;color:var(--ink-dim);overflow-wrap:anywhere;flex:auto;font-size:.82rem}.daymed__at{font-family:var(--mono);font-size:var(--micro);font-variant-numeric:tabular-nums;color:var(--ink-faint);flex:none}.daydetail .btn{align-self:flex-start}.diary{flex-direction:column;gap:14px;min-width:0;display:flex}.uas{flex-direction:column;gap:10px;display:flex}.uas__score{align-items:baseline;gap:6px;display:flex}.uas__score strong{font-variant-numeric:tabular-nums;font-size:2.6rem;line-height:1}.uas__score span{color:var(--ink-faint);font-size:.9rem}.uas__band{font-size:.95rem;font-weight:700}.uas__band--free,.uas__band--well-controlled{color:var(--good)}.uas__band--mild{color:#5f8f2a}.uas__band--moderate{color:var(--warn)}.uas__band--severe{color:var(--hot)}.uas__meter{background:#3c3c5a1c;border-radius:999px;height:9px;overflow:hidden}.uas__fill{background:linear-gradient(90deg,#7fd4b4,#f0c674 55%,#ef8a8a);border-radius:999px;height:100%;transition:width .4s;display:block}.uas__scale{color:var(--ink-faint);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:.68rem;list-style:none;display:flex}.uas__scale .is-current{color:var(--ink);font-weight:700}.uas__progress{color:var(--ink-dim);font-size:1rem}.uas__progress strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.8rem}.uas__dots{gap:6px;display:flex}.dot{background:#3c3c5a1c;border-radius:999px;width:100%;height:8px}.dot--filled{background:var(--accent)}.uas__explainer{color:var(--ink-faint);font-size:.8rem;line-height:1.5}.soon{justify-content:center;align-items:center;min-height:8rem;padding:1.5rem 0;display:flex}.soon__line{letter-spacing:.01em;color:var(--ink-faint);font-size:1.05rem;font-weight:600}.learn{flex-direction:column;gap:10px;display:flex}.learn__count{color:var(--ink-faint);font-size:.8rem}.learn__cards{flex-direction:column;gap:10px;display:flex}.learn-card{background:#ffffffb8;border:1px solid #3c3c5a14;border-radius:18px;padding:14px}.learn-card h3{align-items:center;gap:8px;font-size:.92rem;display:flex}.learn-card__body{color:var(--ink-dim);margin-top:8px;font-size:.85rem;line-height:1.55}.learn-card__myth{align-items:baseline;gap:8px;margin-top:8px;font-size:.8rem;display:flex}.learn-card__myth-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--hot);border:1px solid var(--hot);border-radius:999px;flex:none;padding:2px 7px;font-size:.6rem}.learn-card__myth-text{color:var(--ink-faint);text-decoration:line-through}.learn-card__source{font-family:var(--mono);font-size:var(--micro);letter-spacing:.06em;text-transform:uppercase;margin-top:10px;display:inline-block}.learn-card--urgent{border-color:var(--hot);background:#fdeeed}.learn-card__flag{background:var(--hot);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:.78rem;font-weight:800;display:grid}.learn-card--locked{opacity:.7;background:#fff6;border-style:dashed}.reveal{inset-inline:0;z-index:3;border:1px solid var(--accent);border-radius:var(--radius-sm);box-shadow:var(--glass-shadow), 0 6px 26px #6d5cd642;background:#ffffffeb;align-items:center;gap:10px;padding:10px 12px;animation:.64s cubic-bezier(.3,1.5,.5,1) both reveal-in;display:flex;position:absolute;top:0}@keyframes reveal-in{0%{opacity:0;transform:translateY(-18px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.reveal__title{font-size:.92rem;font-weight:700}.reveal__body{color:var(--ink-dim);flex:auto;font-size:.78rem;line-height:1.35}.reveal .btn{flex:none;padding:7px 14px;font-size:.85rem}.reveal__burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.reveal__burst span{background:var(--accent);--reach:calc(104px + var(--i) * 6px);width:7px;height:7px;animation:1.5s cubic-bezier(.15,.75,.3,1) forwards burst;animation-delay:calc(var(--i) * 26ms);transform-origin:50%;border-radius:50%;position:absolute;translate:-50% -50%}.reveal__burst span:nth-child(3n+2){background:#f0a8c4}.reveal__burst span:nth-child(3n+3){background:#f2c94c}@keyframes burst{0%{transform:rotate(calc(var(--i) * 25.7deg)) translateX(0) scale(.6);opacity:1}30%{transform:rotate(calc(var(--i) * 25.7deg)) translateX(calc(var(--reach) * .45)) scale(1);opacity:1}to{transform:rotate(calc(var(--i) * 25.7deg)) translateX(var(--reach)) scale(0);opacity:0}}.app:has(.storage-alert) .caption{opacity:0;pointer-events:none}.storage-alert{inset-inline:0;border:1px solid var(--hot);border-radius:var(--radius-xs);color:#7d2b26;text-align:left;background:#fdeeed;padding:10px 12px;font-size:.7rem;line-height:1.5;position:absolute;bottom:calc(100% + 10px)}.intro{z-index:1;pointer-events:none;--spread:1;place-items:center;padding:8px 0 12px;display:grid;position:absolute;inset:0}.intro__mass{aspect-ratio:344/172;width:min(100%,84vw,344px);max-height:100%;position:relative}.intro__blob{aspect-ratio:1;filter:blur(14px);background:#fff;border-radius:50%;animation-name:intro-poof;animation-timing-function:cubic-bezier(.4,.15,.45,1);animation-fill-mode:both;position:absolute;translate:-50% -50%}@keyframes intro-poof{0%,34%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(calc(var(--dx) * var(--spread) * 74px), calc(var(--dy) * var(--spread) * 74px)) scale(1.4);opacity:0}}.onboarding{z-index:1;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 28px) 18px calc(env(safe-area-inset-bottom,0px) + 28px);place-items:center;display:grid;position:relative}.onboarding__inner{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(24px)saturate(1.3);background:#ffffffd1;border-radius:26px;flex-direction:column;gap:14px;max-width:540px;padding:22px 20px;display:flex;box-shadow:0 22px 50px #2c4a7438}.onboarding__portrait{aspect-ratio:1;object-fit:cover;border-radius:999px;align-self:center;width:clamp(76px,22vmin,112px);height:auto;box-shadow:0 6px 16px #2c4a742e}.onboarding h1{font-size:1.6rem}.onboarding__lede{color:var(--ink-dim);text-wrap:pretty;font-size:.92rem;line-height:1.5}.onboarding__promises{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width<=360px){.onboarding__promises{grid-template-columns:minmax(0,1fr)}}.onboarding__promises li{border-radius:var(--radius-sm);color:var(--ink-dim);text-wrap:pretty;background:#deeefce6;border:1px solid #3c5a8217;flex-direction:column;gap:3px;padding:13px 14px 14px;font-size:.8rem;line-height:1.45;display:flex}.onboarding__promises strong{color:var(--ink);text-wrap:balance;font-size:.9rem;line-height:1.3}.onboarding:not(.auth) .onboarding__inner{--rhythm:1;gap:0}.onboarding:not(.auth) h1{margin-top:calc(10px * var(--rhythm))}.onboarding:not(.auth) .onboarding__lede{margin-top:calc(6px * var(--rhythm))}.onboarding:not(.auth) .onboarding__promises{margin-top:calc(16px * var(--rhythm))}.onboarding__form{margin-top:calc(18px * var(--rhythm,1));flex-wrap:wrap;gap:8px;display:flex}.onboarding__form input{font:inherit;min-width:0;color:var(--ink);border-radius:var(--radius-xs);background:#fff;border:1px solid #3c3c5a29;flex:180px;padding:12px 14px}.onboarding__form input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.onboarding__form .btn{flex:none}@media (height<=720px){.onboarding{padding-top:calc(env(safe-area-inset-top,0px) + 14px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.onboarding__inner{gap:9px;padding:16px 18px}.onboarding:not(.auth) .onboarding__inner{--rhythm:.64}.onboarding__portrait{width:clamp(52px,15vmin,76px)}.onboarding h1{font-size:1.32rem}.onboarding__lede{font-size:.86rem}.onboarding__promises li{padding:10px 11px 11px}}@media (height<=600px){.onboarding{padding-top:calc(env(safe-area-inset-top,0px) + 8px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.onboarding__inner{gap:8px;padding:13px 16px}.onboarding:not(.auth) .onboarding__inner{--rhythm:.56}}.auth__inner{max-width:400px}.auth__hero{align-items:center;gap:13px;display:flex}.auth__hero .onboarding__portrait{flex:none;width:clamp(54px,13vmin,72px)}.auth__hero h1{text-wrap:balance;font-size:1.4rem;line-height:1.2}.auth__form{flex-direction:column;gap:12px;margin-top:2px;display:flex}.auth__field{flex-direction:column;gap:5px;display:flex}.auth__field-label{color:var(--ink-dim);font-size:.82rem;font-weight:650}.auth__field input{font:inherit;width:100%;min-width:0;color:var(--ink);border-radius:var(--radius-xs);background:#fff;border:1px solid #3c3c5a29;padding:12px 14px}.auth__field input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth__submit,.auth__google{width:100%}.auth__or{color:var(--ink-faint);align-items:center;gap:10px;margin:2px 0;font-size:.78rem;display:flex}.auth__or:before,.auth__or:after{content:"";border-top:1px solid #3c3c5a24;flex:1}.auth__google{justify-content:center;align-items:center;gap:9px;display:inline-flex}.auth__note{justify-content:center;margin:0;display:flex}.auth__note span{font-family:var(--mono);font-size:var(--micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border:1px solid #3c3c5a29;border-radius:999px;padding:5px 10px 5px 12px}@media (height<=720px){.auth{padding-top:calc(env(safe-area-inset-top,0px) + 14px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 14px)}.auth__inner{gap:9px;padding:16px 18px}.auth__hero h1{font-size:1.28rem}.auth .onboarding__lede{font-size:.86rem}.auth__form{gap:9px}.auth__field input{padding:10px 13px}.auth__or{margin:0}}@media (height<=600px){.auth{padding-top:calc(env(safe-area-inset-top,0px) + 8px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)}.auth__inner{gap:8px;padding:13px 16px}}@media (prefers-reduced-motion:reduce){.sky__layer,.sky__cloud,.sky__orb-glow,.puff__face,.puff__eye,.reveal__burst span,.reveal,.book,.app__flair,.puff.is-reacting{animation:none}.mote,.flyby{display:none}.sky__orb{transition:none}.puff__body,.puff__worn{animation-duration:9s}.getup--rain,.getup--snow,.getup--thunder,.getup--lightning{display:none}.getup--cap,.getup--umbrella,.getup--shades{animation:.62s ease-out both getup-in}.getup__band{stroke-dashoffset:0;animation:none}.intro{--spread:0}@keyframes puff-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.puff{--gaze:.4}.puff.is-reacting{--gaze:.9}.app__lean,.app__lean.is-moving{--look:0;transition:none;transform:none}*,:before,:after{transition-duration:.12s!important}.sheet,.scrim{animation:none}}@media (width>=600px){.app__frame{padding-inline:20px}.caption{font-size:.9rem}}@media (height<=620px){.app__frame{padding-top:calc(env(safe-area-inset-top,0px) + 10px);gap:8px}.app__stage{min-height:64px;padding:4px 0 6px}.app__bottom{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px);gap:8px}.scrim{--scrim-top:12px;--scrim-reserve:calc(env(safe-area-inset-bottom,0px) + 12px);padding-inline:12px}.caption{padding:5px 13px;font-size:.8rem}}@media (width>=700px) and (height<=620px){.app__frame{grid-template:"header bottom""stage bottom"minmax(0,1fr)"caption bottom"/minmax(0,1fr) minmax(330px,420px);column-gap:20px;max-width:980px;display:grid}.header{grid-area:header}.caption{margin-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);grid-area:caption}.app__stage{grid-area:stage}.app__bottom{grid-area:bottom;justify-content:flex-end;min-height:0;position:relative}.storage-alert{position:static}.scrim{--scrim-top:16px;--scrim-reserve:calc(env(safe-area-inset-bottom,0px) + 16px);place-items:center start;padding-inline:20px}.sheet{max-width:min(480px,44vw)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.score{flex-direction:column;gap:18px;display:flex}.uas--partial{border-radius:var(--radius-sm);background:#ffffff6b;padding:14px}.uas__range{font-size:var(--micro);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-weight:700}.history{border-top:1px solid var(--glass-edge);flex-direction:column;gap:10px;padding-top:16px;display:flex}.history__heading{font-size:.9rem;font-weight:700}.history__empty{color:var(--ink-faint);font-size:.82rem;line-height:1.5}.history__list{flex-direction:column;gap:4px;list-style:none;display:flex}.history__row{border-radius:var(--radius-xs);background:#ffffff6b;grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:10px;padding:9px 11px;font-size:.82rem;display:grid}.history__row--abandoned{opacity:.72}.history__week{font-weight:700}.history__dates{color:var(--ink-faint);font-size:.78rem}.history__score{font-variant-numeric:tabular-nums;font-weight:700}.history__of{color:var(--ink-faint);font-size:.74rem;font-weight:400}.history__score--none{color:var(--ink-faint)}.history__band{font-size:var(--micro);text-align:right;font-weight:700}.history__band--free,.history__band--well-controlled{color:var(--good)}.history__band--mild{color:#5f8f2a}.history__band--moderate{color:var(--warn)}.history__band--severe{color:var(--hot)}.history__band--incomplete{color:var(--ink-faint);font-weight:400}.shop{flex-direction:column;gap:14px;display:flex}.shop__views,.diary__views{background:#3c3c5a12;border-radius:999px;gap:3px;padding:3px;display:grid}.shop__views{grid-template-columns:1fr 1fr}.diary__views{grid-template-columns:repeat(3,1fr)}.diary__views--two{grid-template-columns:1fr 1fr}.shop__view,.diary__view{font:inherit;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 10px;font-size:.82rem;font-weight:650;transition:background .11s,color .11s}@media (hover:hover){.shop__view:hover:not(.is-active),.diary__view:hover:not(.is-active){color:var(--ink)}}.shop__view.is-active,.diary__view.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #14224224}.shop__view:focus-visible,.diary__view:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shop__panel,.diary__panel{flex-direction:column;gap:12px;display:flex}.shop__balance{justify-content:center;align-items:center;gap:10px;padding:18px 0 2px;display:flex}.shop__coin{color:var(--accent);place-items:center;display:grid}.shop__coin svg{stroke-width:2.1px;width:2.6rem;height:2.6rem}.shop__balance strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.6rem;line-height:1}.shop__rule{text-align:center;max-width:40ch;color:var(--ink-dim);text-wrap:balance;margin:0 auto;font-size:.82rem;line-height:1.5}.shop__ledger{text-align:center;font-family:var(--mono);font-size:var(--micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.shop__ask{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent-soft);color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}@media (hover:hover){.shop__ask:hover{background:#e7e3fc}}.shop__ask:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shop__ask-label{font-weight:700}.shop__ask-count{color:var(--ink-dim);font-size:.8rem}.shop__items{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.shopitem{border-top:1px solid var(--glass-edge);grid-template-columns:auto 1fr auto;align-items:center;gap:10px 12px;padding:11px 0;display:grid}.shop__items .shopitem:first-child{border-top:0;padding-top:2px}.shopitem--owned{opacity:.78}.shopitem__glyph{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:10px;place-items:center;font-size:1rem;display:grid}.shopitem__label{font-size:.9rem;font-weight:700}.shopitem__blurb{color:var(--ink-dim);margin-top:2px;font-size:.78rem;line-height:1.5}.shopitem__buy{white-space:nowrap;padding:9px 15px;font-size:.82rem}.shopitem__owned{color:var(--good);font-size:.8rem;font-weight:700}.shopitem__cost-note{font-size:var(--micro);color:var(--ink-faint);grid-column:2/-1}.shop__message{border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--ink-dim);padding:10px 12px;font-size:.82rem}.meds__empty{color:var(--ink-faint);text-wrap:pretty;font-size:.82rem;line-height:1.5}.meds__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.medrow{border-radius:var(--radius-sm);background:var(--glass-solid);border:1px solid var(--glass-edge);align-items:center;gap:11px;min-width:0;padding:9px 10px 9px 11px;display:flex}.medrow__body{flex:auto;min-width:0}.medrow__name{color:var(--ink);overflow-wrap:anywhere;font-size:.86rem;font-weight:650}.medrow__times{font-family:var(--mono);font-size:var(--micro);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint);margin-top:2px}.medrow__remove{width:32px;height:32px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;font-size:1.2rem;line-height:1;display:grid}@media (hover:hover){.medrow__remove:hover{color:var(--ink);background:#3c3c5a14}}.medrow__remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.medart{flex:none;width:30px;height:30px;display:block}.dose{border-top:1px solid var(--glass-edge);flex-direction:column;gap:10px;padding-top:12px;display:flex}.dose__field{flex-direction:column;gap:4px;display:flex}.dose__field-label{color:var(--ink-dim);flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:.82rem;font-weight:650;display:flex}.dose__field-hint{color:var(--ink-faint);font-size:.78rem;font-weight:400}.dose__select{font:inherit;appearance:none;width:100%;color:var(--ink);background-color:#fffc;background-image:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);border-radius:var(--radius-xs);cursor:pointer;background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 13px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #3c3c5a24;padding:10px 38px 10px 11px}.dose__select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.dose__chosen{border-radius:var(--radius-sm);background:#6d5cd612;border:1px solid #6d5cd624;align-items:center;gap:10px;min-width:0;min-height:48px;padding:8px 11px;display:flex}.dose__chosen--empty{background:0 0;border-style:dashed;border-color:#3c3c5a29}.dose__chosen--empty .dose__chosen-name{color:var(--ink-faint);font-weight:400}.dose__chosen-name{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:auto;font-size:.86rem;font-weight:650}.dose__chosen-form{font-family:var(--mono);font-size:var(--micro);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint)}.dose__times{flex-direction:column;gap:6px;min-width:0;display:flex}.dose__add{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dose__time{font:inherit;color:var(--ink);border-radius:var(--radius-xs);cursor:pointer;text-align:left;background-color:#fffc;border:1px solid #3c3c5a24;align-items:baseline;gap:9px;min-height:44px;padding:9px 13px;display:inline-flex}.dose__time-value{font-variant-numeric:tabular-nums;font-weight:650}.dose__time-hint{font-family:var(--mono);font-size:var(--micro);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-faint)}.dose__time:disabled{color:var(--ink-faint);cursor:default;background-color:#fff6}.dose__time:disabled .dose__time-hint{opacity:0}@media (hover:hover){.dose__time:enabled:hover{background-color:#fffffff2}}.dose__time:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.timepick{z-index:60;-webkit-backdrop-filter:blur(6px);background:#12142852;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;animation:.18s both overlay-in;display:grid;position:fixed;inset:0}.timepick__panel{border:1px solid var(--glass-edge);border-radius:var(--radius);width:min(100%,340px);max-height:min(92dvh,620px);color:var(--ink);background:#fffffff7;flex-direction:column;gap:12px;padding:16px;animation:.24s cubic-bezier(.2,1.2,.4,1) both timepick-in;display:flex;overflow-y:auto;box-shadow:0 22px 50px #181e3c4d}@keyframes timepick-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.timepick__title{font-size:.95rem;font-weight:650}.timepick__now{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--accent-strong);font-size:1.5rem;font-weight:650}.timepick__group{flex-direction:column;gap:6px;display:flex}.timepick__label{color:var(--ink-dim);font-size:.78rem;font-weight:650}.timepick__grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.timepick__row{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.timepick__cell{font:inherit;font-variant-numeric:tabular-nums;min-height:44px;color:var(--ink);border-radius:var(--radius-xs);cursor:pointer;background:#ffffffb8;border:1px solid #3c3c5a1f;place-items:center;padding:6px 4px;display:grid}.timepick__cell--wide{font-size:.9rem}@media (hover:hover){.timepick__cell:hover{background:#fff;border-color:#3c3c5a38}}.timepick__cell:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.timepick__cell.is-on{color:#fff;background:var(--accent);border-color:var(--accent-strong);font-weight:700}@media (hover:hover){.timepick__cell.is-on:hover{background:var(--accent-strong);border-color:var(--accent-strong)}}.timepick__actions{justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.dose__chips{flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:40px;margin:0;padding:0;list-style:none;display:flex}.dose__chips-empty{color:var(--ink-faint);font-size:.8rem;line-height:40px}.dosechip{background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;align-items:center;gap:2px;padding:4px 4px 4px 11px;display:inline-flex}.dosechip__label{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;font-size:.8rem;font-weight:650}.dosechip__remove{width:24px;height:24px;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:1rem;line-height:1;display:grid}@media (hover:hover){.dosechip__remove:hover{color:var(--ink);background:#3c3c5a1a}}.dosechip__remove:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.plan__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.plan__stamp{color:var(--ink-faint);flex:40%;font-size:.8rem;line-height:1.4}.dose__hint{color:var(--ink-faint)}.plan__stamp--error{color:var(--hot)}.plan{flex-direction:column;gap:12px;display:flex}.saying{border-radius:var(--radius-sm);border-left:3px solid color-mix(in srgb, var(--accent) 55%, transparent);background:var(--accent-soft);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 12px;margin:0;padding:12px 14px;display:grid}.saying__face{object-fit:cover;border-radius:999px;grid-row:1/span 2;width:2.4em;height:2.4em;box-shadow:0 0 0 1px #3c3c5a1a}.saying__quote{color:var(--ink);text-wrap:pretty;margin:0;font-size:.9rem;font-style:italic;line-height:1.5}.saying__who{font-family:var(--mono);font-size:var(--micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-style:normal}.saying__who cite{font-style:normal}.plan__field{flex-direction:column;gap:4px;display:flex}.plan__field-label{color:var(--ink-dim);flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:.82rem;font-weight:650;display:flex}.plan__field-hint{color:var(--ink-faint);font-size:.78rem;font-weight:400}.plan__text,.plan__by{font:inherit;width:100%;color:var(--ink);border-radius:var(--radius-xs);background:#fffc;border:1px solid #3c3c5a24;padding:10px 11px}.plan__text{resize:vertical;min-height:8lh;line-height:1.55}.plan__text:focus-visible,.plan__by:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.overlay{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#12142870;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;animation:.18s both overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.overlay__panel{border-radius:var(--radius);border:1px solid var(--glass-edge);width:100%;max-width:560px;max-height:min(88dvh,760px);box-shadow:var(--glass-shadow);color:var(--ink);background:#fffffff7;flex-direction:column;display:flex;overflow:hidden}.overlay__head{justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 10px;display:flex}.overlay__title{font-size:1.05rem;font-weight:700}.ask__credits{color:var(--ink-faint);margin-top:2px;font-size:.78rem}.ask__notice{border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--ink-dim);margin:0 18px 12px;padding:10px 12px;font-size:.78rem;line-height:1.55}.ask__log{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:0 18px;display:flex;overflow-y:auto}.ask__starters-lede{color:var(--ink-faint);margin-bottom:8px;font-size:.8rem}.ask__starters ul{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.chip-btn{font:inherit;border:1px solid var(--glass-edge);background:var(--glass-solid);color:var(--ink-dim);cursor:pointer;text-align:left;border-radius:999px;padding:8px 12px;font-size:.8rem}@media (hover:hover){.chip-btn:hover:not(:disabled){background:var(--glass-hover)}}.chip-btn:disabled{opacity:.5;cursor:not-allowed}.chip-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ask__turn{flex-direction:column;gap:8px;display:flex}.ask__q{background:var(--accent);color:#fff;border-radius:16px 16px 4px;align-self:flex-end;max-width:85%;padding:9px 13px;font-size:.85rem}.ask__a{background:#ffffff9e;border-radius:16px 16px 16px 4px;flex-direction:column;align-self:flex-start;gap:7px;max-width:92%;padding:11px 13px;font-size:.85rem;line-height:1.6;display:flex}.ask__a--urgent{background:#fdeceb;border:1px solid #c9564f66}.ask__urgent-flag{text-transform:uppercase;letter-spacing:.06em;color:var(--hot);font-size:.8rem;font-weight:700}.ask__a--fallback{color:var(--ink-dim)}.ask__source a{color:var(--accent-strong);font-size:.78rem}.ask__free{font-size:var(--micro);color:var(--ink-faint)}.ask__refused{max-width:92%;color:var(--ink-dim);background:#ffffff6b;border:1px dashed #5a608257;border-radius:16px 16px 16px 4px;align-self:flex-start;padding:11px 13px;font-size:.85rem;line-height:1.45}.ask__composer{border-top:1px solid var(--glass-edge);gap:8px;padding:14px 18px;display:flex}.ask__composer input{font:inherit;min-width:0;color:var(--ink);background:#fff;border:1px solid #3c3c5a2e;border-radius:999px;flex:auto;padding:11px 14px}.ask__composer input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ask__composer .btn{padding:11px 18px}.ask__empty{color:var(--ink-faint);padding:0 18px 16px;font-size:.78rem;line-height:1.55}.overlay--report .overlay__panel{max-width:620px}.settings.overlay__panel{max-width:420px}.settings__body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:16px;min-height:0;padding:0 18px 18px;display:flex;overflow-y:auto}.settings__who{border-radius:var(--radius-sm);background:var(--accent-soft);align-items:center;gap:12px;padding:12px;display:flex}.settings__avatar{object-fit:cover;border-radius:999px;flex:none;width:2.6em;height:2.6em;box-shadow:0 0 0 1px #3c3c5a1a}.settings__whoami{min-width:0}.settings__user{overflow-wrap:anywhere;font-size:1.05rem;font-weight:650;line-height:1.2}.settings__sub{color:var(--ink-dim);margin-top:2px;font-size:.76rem}.settings__group{border-top:1px solid #3c3c5a1f;flex-direction:column;gap:10px;padding-top:14px;display:flex}.settings__heading{font-family:var(--mono);font-size:var(--micro);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.settings__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.settings__row.is-off{opacity:.5}.settings__label{flex-direction:column;flex:12ch;gap:2px;min-width:0;font-size:.9rem;font-weight:600;display:flex}.settings__hint{color:var(--ink-dim);font-size:.76rem;font-weight:400;line-height:1.5}.settings__hint--block{text-wrap:pretty}.settings__gate{border-left:2px solid #3c3c5a1f;flex-direction:column;gap:8px;margin-left:2px;padding-left:12px;display:flex}.settings__gate .settings__label{flex:none}.settings__gate-row{align-items:center;gap:8px;display:flex}.settings__gate-input{font:inherit;min-width:0;color:var(--ink);background:#fff;border:1px solid #3c3c5a2e;border-radius:999px;flex:auto;padding:9px 13px}.settings__gate-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings__gate .settings__warn{text-align:left;align-self:flex-start;max-width:none}.switch{cursor:pointer;background:#ffffffbf;border:1px solid #3c3c5a38;border-radius:999px;flex:none;width:3em;height:1.7em;padding:0;transition:background .14s;position:relative}.switch.is-on{background:var(--accent);border-color:var(--accent-strong)}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.switch__knob{background:#fff;border-radius:999px;width:1.24em;height:1.24em;transition:transform .14s;position:absolute;top:50%;left:.18em;transform:translateY(-50%);box-shadow:0 1px 3px #1e1e3c4d}.switch.is-on .switch__knob{transform:translate(1.36em,-50%)}.slider{min-width:8em;accent-color:var(--accent);cursor:pointer;flex:0 11em}.slider:disabled{cursor:not-allowed}.settings__now{font-family:var(--mono);font-size:var(--micro);letter-spacing:.06em;color:var(--ink-faint);line-height:1.6}.settings__logout{align-self:center}.settings__warn{text-align:center;max-width:44ch;color:var(--ink-faint);text-wrap:pretty;align-self:center;font-size:.8rem;line-height:1.55}.settings__version{font-family:var(--mono);font-size:var(--micro);letter-spacing:.1em;color:var(--ink-faint);opacity:.75;align-self:center;margin-top:6px}.book{z-index:40;border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--glass-edge);width:min(100%,620px);max-height:min(46dvh,560px);box-shadow:var(--glass-shadow);color:var(--ink);background:#fffffff7;border-bottom:0;flex-direction:column;margin-inline:auto;animation:.22s cubic-bezier(.2,.8,.3,1) both book-in;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes book-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.book__head{border-bottom:1px solid #3c3c5a1f;padding-bottom:10px}.book__group:first-child{border-top:0;padding-top:2px}.book__lede{color:var(--ink-dim);text-wrap:pretty;margin-top:3px;font-size:.78rem;line-height:1.5}.book__body{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:0 18px 14px;display:flex;overflow-y:auto}.book__group{border-top:1px solid #3c3c5a1f;flex-direction:column;gap:8px;padding-top:12px;display:flex}.book__chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip-btn.is-on{background:var(--accent);border-color:var(--accent-strong);color:#fff;font-weight:650}@media (hover:hover){.chip-btn.is-on:hover{background:var(--accent-strong)}}.book__season{flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.book__season-name{color:var(--ink-dim);flex:0 0 5.5em;font-size:.78rem;font-weight:650}.book__hint{color:var(--ink-faint);text-wrap:pretty;font-size:.76rem;line-height:1.5}.book__warn{border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--ink-dim);text-wrap:pretty;padding:10px 12px;font-size:.78rem;line-height:1.55}.book__reset{align-self:center}.book__note{min-height:3.4em;padding:10px 18px calc(env(safe-area-inset-bottom,0px) + 12px);font-family:var(--mono);font-size:var(--micro);letter-spacing:.04em;color:var(--ink-dim);text-wrap:pretty;background:#eef4fce6;border-top:1px solid #3c3c5a1f;flex:none;line-height:1.6}.rep{color:#1b1b24;overscroll-behavior:contain;background:#fff;padding-bottom:18px;overflow-y:auto}.rep__head{z-index:1;background:#fff;border-bottom:1px solid #1e1e321f;position:sticky;top:0}.rep__sub{color:#5d5d70;margin-top:3px;font-size:.8rem}.rep__actions{align-items:center;gap:6px;display:flex}.rep__preview-note,.rep__empty{border-radius:var(--radius-xs);color:#45455c;background:#f2f0fc;margin:12px 18px 0;padding:10px 12px;font-size:.8rem;line-height:1.55}.rep--preview .rep__section{position:relative}.rep__section{padding:18px 18px 0}.rep__section h3{border-bottom:1px solid #1e1e321a;margin-bottom:10px;padding-bottom:6px;font-size:.9rem;font-weight:700}.rep__section h4{color:#45455c;margin-bottom:6px;font-size:.8rem;font-weight:700}.rep__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.rep__grid>div{border-radius:var(--radius-xs);background:#f6f6fa;padding:10px 12px}.rep__grid dt{font-size:var(--micro);color:#5d5d70;line-height:1.4}.rep__grid dd{font-variant-numeric:tabular-nums;margin-top:3px;font-size:1.15rem;font-weight:700}.rep__absent{color:#9a9aad;font-weight:400}.rep__caption,.rep__preview-note,.rep__footer p{max-width:56ch}.rep__caption{color:#5d5d70;margin-top:8px;font-size:.75rem;line-height:1.6}.rep__caption--warn{border-radius:var(--radius-xs);color:#4a4029;background:#fdf6e7;border:1px solid #a97a1a47;padding:10px 12px}.rep__scroll{overflow-x:auto}.rep__table{border-collapse:collapse;width:100%;font-size:.8rem}.rep__table th{text-align:left;font-size:var(--micro);text-transform:uppercase;letter-spacing:.05em;color:#5d5d70;white-space:nowrap;border-bottom:1px solid #1e1e3229;padding:6px 8px}.rep__table td{font-variant-numeric:tabular-nums;vertical-align:top;border-bottom:1px solid #1e1e3212;padding:7px 8px}.rep__table--days td:nth-child(n+5){font-variant-numeric:normal;color:#45455c;font-size:.76rem}.rep__notes{min-width:180px;line-height:1.5}.rep__incomplete{color:#8a6a1a;font-weight:650}.rep__dim{color:#7a7a8d;font-size:.76rem;font-weight:400}.rep__tagcols{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.rep__taglist{flex-direction:column;gap:3px;list-style:none;display:flex}.rep__taglist li{border-bottom:1px solid #1e1e320f;justify-content:space-between;gap:10px;padding:4px 0;font-size:.8rem;display:flex}.rep__footer{color:#6a6a7d;border-top:1px solid #1e1e321f;flex-direction:column;gap:6px;margin:18px 18px 0;padding-top:12px;font-size:.72rem;line-height:1.55;display:flex}@media print{.app,.dock,.sky,.rep__actions,.rep__preview-note{display:none!important}.overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0;position:static}.overlay__panel{max-width:none;max-height:none;box-shadow:none;border:0;border-radius:0;overflow:visible}.rep{overflow:visible}.rep__head{position:static}.rep__section{break-inside:avoid}.rep__scroll{overflow:visible}.rep__table{font-size:9pt}}
