@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff6e9;--bg-dot:#f3e3cb;--card:#fff;--line:#2c2856;--line-soft:#eadcc6;--ink:#3a3db0;--text:#2a2745;--muted:#6e6989;--accent:#ff5e5b;--accent-shade:#d23f45;--link:#138a78;--focus:#3a3db0;--ok:#22b565;--warn:#f29d0b;--bad:#f0445f;--catch-up:#8b63ec;--planned:#2d86f5;--confirm:#ef6c1a;--button-ink:var(--line);--mascot-outline:var(--line);--mascot-face:#2c2856;--mug:#fff;--coffee:#8a5a3c;--blush:#ff9eb0;--radius:22px;--radius-small:14px;--chunk:5px;--spring:cubic-bezier(.34, 1.56, .64, 1);--content-width:1100px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:Nunito Variable,Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:500;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1a1830;--bg-dot:#24213f;--card:#25223f;--line:#0e0c1f;--line-soft:#37335a;--ink:#a9adff;--text:#efedfa;--muted:#a6a1c4;--accent:#ff6f6c;--accent-shade:#b3343b;--link:#45d6bf;--focus:#a9adff;--button-ink:#dcd8f7;--mascot-outline:#c9c3ee;--mug:#f4efe6;--coffee:#6b4430}}*{box-sizing:border-box}body{background-color:var(--bg);background-image:radial-gradient(var(--bg-dot) 1.6px, transparent 1.6px);background-size:22px 22px;margin:0}a{color:var(--link);font-weight:700}h1,h2{color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:900;line-height:1.15}h1{font-size:2.1rem}h2{margin-bottom:12px;font-size:1.2rem}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.capitalize{text-transform:capitalize}.error{color:var(--bad);margin:0;font-weight:700}.status-confirm{--c:var(--confirm)}.status-planned{--c:var(--planned)}.status-catch_up{--c:var(--catch-up)}.status-on_track{--c:var(--ok)}.status-due_soon{--c:var(--warn)}.status-overdue{--c:var(--bad)}.site{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:10;background:var(--card);border-bottom:3px solid var(--line-soft);position:sticky;top:0}.site-header-inner{max-width:var(--content-width);align-items:center;gap:24px;margin:0 auto;padding:10px 24px;display:flex}.site-brand{color:var(--ink);align-items:center;gap:8px;font-size:1.35rem;font-weight:900;text-decoration:none;display:flex}.site-brand .mascot{transition:transform .3s var(--spring)}.site-brand:hover .mascot{transform:rotate(-12deg)scale(1.1)}.site-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.nav-link{color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;transition:background .15s, transform .2s var(--spring);background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:700;text-decoration:none}.nav-link:hover{background:var(--bg);transform:translateY(-1px)}.nav-link.active{background:color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink)}.site-nav .button{margin-left:8px}.site-main{width:100%;max-width:var(--content-width);flex:1;margin:0 auto;padding:32px 24px 56px}.site-footer{border-top:3px solid var(--line-soft);background:var(--card);color:var(--muted);justify-content:center;gap:24px;padding:24px;font-size:.85rem;display:flex}.page{animation:.35s ease-out both page-in}.page-narrow{max-width:560px;margin:0 auto}.page-prose{max-width:720px;margin:0 auto}.back-link{color:var(--muted);transition:transform .2s var(--spring), color .15s;margin-bottom:12px;font-weight:700;text-decoration:none;display:inline-block}.back-link:hover{color:var(--ink);transform:translate(-3px)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-subtitle{color:var(--muted);margin:6px 0 0}.page-actions{flex-wrap:wrap;gap:12px;display:flex}.title-with-avatar{align-items:center;gap:16px;display:inline-flex}.panel{background:var(--card);border:3px solid var(--line-soft);border-radius:var(--radius);box-shadow:0 var(--chunk) 0 var(--line-soft);padding:24px}.panel+.panel{margin-top:24px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-header h2{margin:0}.panel-danger{border-color:color-mix(in srgb, var(--bad) 45%, var(--line-soft));box-shadow:0 var(--chunk) 0 color-mix(in srgb, var(--bad) 45%, var(--line-soft))}.panel-danger h2{color:var(--bad)}.dashboard{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;gap:24px;display:grid}.two-col{grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);align-items:start;gap:24px;display:grid}.dashboard>.panel+.panel,.two-col>.panel+.panel,.features>.panel+.panel,.sidebar>.panel+.panel{margin-top:0}.sidebar{flex-direction:column;gap:24px;display:flex}@media (width<=800px){.dashboard,.two-col{grid-template-columns:1fr}}.mascot{flex-shrink:0;overflow:visible}.mascot-body{fill:var(--mug);stroke:var(--mascot-outline);stroke-width:4px}.mascot-handle{fill:none;stroke:var(--mascot-outline);stroke-width:7px;stroke-linecap:round}.mascot-coffee{fill:var(--coffee);stroke:var(--mascot-outline);stroke-width:3px}.mascot-eye,.mascot-mouth{fill:var(--mascot-face)}.mascot-shine{fill:#fff}.mascot-line{fill:none;stroke:var(--mascot-face);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.mascot-blush{fill:var(--blush);opacity:.8}.mascot-tear{fill:#7cc4ff}.mascot-z{fill:var(--muted);font-size:20px;font-weight:900}.mascot-steam path{fill:none;stroke:var(--muted);stroke-width:4px;stroke-linecap:round;opacity:.55}.mascot-animated{animation:3s ease-in-out infinite bob}.mascot-animated .mascot-steam path{animation:2.4s ease-in-out infinite steam}.mascot-animated .mascot-steam path:nth-child(2){animation-delay:.4s}.mascot-animated .mascot-steam path:nth-child(3){animation-delay:.8s}.mascot-animated.mascot-excited{animation:hop 1.2s var(--spring) infinite}.mascot-says{align-items:center;gap:14px;display:flex}.speech-bubble{background:var(--card);border:3px solid var(--line-soft);animation:pop-in .45s var(--spring) both;border-radius:18px;margin:0;padding:12px 18px;font-weight:700;position:relative}.speech-bubble:before{content:"";background:var(--card);border-left:3px solid var(--line-soft);border-bottom:3px solid var(--line-soft);width:16px;height:16px;position:absolute;top:50%;left:-11px;transform:translateY(-50%)rotate(45deg)}.home-hero{align-items:center;gap:18px;margin-bottom:28px;display:flex}.home-hero h1{margin-bottom:8px}.home-hero .speech-bubble{display:inline-block}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:12px 0;display:flex}.empty-state p{margin:0}.loading{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:48px 0;font-weight:700;display:flex}.hero{justify-content:space-between;align-items:center;gap:48px;padding:40px 0 56px;display:flex}.hero h1{font-size:clamp(2.4rem,5.5vw,3.6rem)}.hero-lead{max-width:520px;color:var(--muted);margin:16px 0 28px;font-size:1.2rem}.hero .mascot{width:min(260px,32vw);height:auto}.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;display:grid}.features .panel{animation:pop-in .5s var(--spring) both}.features .panel:nth-child(2){animation-delay:80ms}.features .panel:nth-child(3){animation-delay:.16s}.features p{margin:0}.feature-emoji{margin-bottom:8px;font-size:2rem;display:block}@media (width<=640px){.hero{flex-direction:column-reverse;align-items:flex-start;padding-top:8px}}.button{border:3px solid var(--button-ink);background:var(--card);color:var(--button-ink);box-shadow:0 4px 0 var(--button-ink);font:inherit;text-align:center;white-space:nowrap;cursor:pointer;border-radius:999px;padding:10px 20px;font-weight:800;line-height:1.2;text-decoration:none;transition:transform 80ms ease-out,box-shadow 80ms ease-out,background .15s;display:inline-block}.button:hover:not(:disabled){box-shadow:0 6px 0 var(--button-ink);transform:translateY(-2px)}.button:active:not(:disabled){box-shadow:0 0 0 var(--button-ink);transform:translateY(4px)}.button.primary{border-color:var(--accent-shade);background:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-shade)}.button.primary:hover:not(:disabled){box-shadow:0 6px 0 var(--accent-shade)}.button.primary:active:not(:disabled){box-shadow:0 0 0 var(--accent-shade)}.button:disabled{opacity:.5;cursor:not-allowed}.button.small{border-width:2.5px;padding:6px 14px;font-size:.9rem}.button-row{flex-wrap:wrap;gap:14px;display:flex}.link-button{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:none}.link-button:hover{text-decoration:underline;text-decoration-thickness:2px}.link-button.danger{color:var(--bad)}.form{flex-direction:column;gap:18px;display:flex}.form label{color:var(--text);flex-direction:column;gap:6px;font-weight:800;display:flex}.form input:not([type=checkbox]):not([type=radio]),.form select,.search-input{border:3px solid var(--line-soft);border-radius:var(--radius-small);background:var(--card);color:var(--text);font:inherit;padding:11px 14px;font-weight:600;transition:border-color .15s}.form input:not([type=checkbox]):not([type=radio]):focus-visible,.form select:focus-visible,.search-input:focus-visible{border-color:var(--ink);outline:none}.form label.checkbox{flex-direction:row;align-items:center;gap:10px}.form input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.form-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.form .button[type=submit]{align-self:flex-start}.field-hint{margin:-8px 0 0}.friend-picker{border:3px solid var(--line-soft);border-radius:var(--radius-small);flex-direction:column;gap:4px;margin:0;padding:10px;display:flex}.friend-picker legend{color:var(--text);padding:0 6px;font-weight:800}.form .picker-item{cursor:pointer;transition:background .15s, transform .2s var(--spring);border-radius:12px;flex-direction:row;align-items:center;gap:10px;padding:6px 10px;font-weight:700}.picker-item:hover{background:var(--bg)}.picker-item input{opacity:0;position:absolute}.picker-item.selected{background:color-mix(in srgb, var(--accent) 14%, transparent);transform:scale(1.02)}.picker-item:has(input:focus-visible){outline:3px solid var(--focus)}.photo-field{align-items:center;gap:20px;display:flex}.photo-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.form .file-button{cursor:pointer;display:inline-block}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.file-button:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.cadence-field{border:none;margin:0;padding:0}.cadence-field legend{margin-bottom:6px;padding:0;font-weight:800}.cadence-field p{margin:6px 0 0}.cadence-inputs{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form .cadence-inputs input[type=number]{text-align:center;width:5.5em}.unit-toggle{gap:6px;display:inline-flex}.type-picker{border:none;flex-direction:column;align-items:flex-start;gap:10px;margin:0;padding:0;display:flex}.type-picker legend{margin-bottom:6px;padding:0;font-weight:800}.type-options{flex-wrap:wrap;gap:8px;display:flex}.chip-add{border-style:dashed}.new-type{border:3px dashed var(--line-soft);border-radius:var(--radius-small);flex-direction:column;gap:10px;width:100%;padding:14px;display:flex}.new-type-actions{align-items:center;gap:14px;display:flex}.color-picker{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:3px solid var(--card);background:var(--c);width:30px;height:30px;box-shadow:0 0 0 2px var(--line-soft);cursor:pointer;transition:transform .2s var(--spring);border-radius:50%;padding:0;position:relative}.swatch:hover{transform:scale(1.12)}.swatch.selected{box-shadow:0 0 0 3px var(--c);transform:scale(1.1)}.swatch-custom.selected{box-shadow:0 0 0 3px var(--line)}.swatch-custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.type-dot{background:var(--c);vertical-align:-1px;border-radius:50%;width:14px;height:14px;display:inline-block}.type-row{gap:10px}.type-row-main{align-items:center;gap:12px;display:flex}.type-name{min-width:0;color:var(--text);font:inherit;background:0 0;border:2px solid #0000;border-radius:10px;flex:1;padding:6px 10px;font-weight:800}.type-name:hover,.type-name:focus-visible{border-color:var(--line-soft);outline:none}.link-button:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.avatar{border:3px solid var(--c,var(--ink));background:color-mix(in srgb, var(--c,var(--ink)) 12%, var(--card));color:var(--c,var(--ink));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:900;display:inline-flex;position:relative}.avatar-photo{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-dot{border:3px solid var(--card);background:var(--c);border-radius:50%;width:32%;height:32%;position:absolute;bottom:-3px;right:-3px}.friend-toolbar{align-items:center;gap:16px;margin-bottom:14px;display:flex}.search-input{flex:1;max-width:360px}.type-filter{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.chip{--c:var(--ink);border:2.5px solid color-mix(in srgb, var(--c) 45%, var(--line-soft));background:var(--card);color:var(--text);font:inherit;cursor:pointer;transition:transform .2s var(--spring), background .15s;border-radius:999px;padding:5px 14px;font-size:.9rem;font-weight:800}.chip:hover{transform:translateY(-2px)rotate(-2deg)}.chip.selected{border-color:var(--c);background:var(--c);color:#fff;transform:scale(1.05)}.chip-count{opacity:.75;margin-left:2px;font-size:.8rem}.friend-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.friend-card-item{position:relative}.friend-card{border:3px solid var(--line-soft);background:var(--card);height:100%;box-shadow:0 4px 0 var(--line-soft);color:var(--text);animation:pop-in .45s var(--spring) backwards;animation-delay:calc(var(--i,0) * 45ms);transition:transform .25s var(--spring), box-shadow .2s, border-color .15s;border-radius:18px;align-items:center;gap:14px;padding:14px;font-weight:500;text-decoration:none;display:flex}.friend-card:hover{border-color:color-mix(in srgb, var(--ink) 55%, var(--line-soft));box-shadow:0 7px 0 color-mix(in srgb, var(--ink) 55%, var(--line-soft));transform:translateY(-3px)rotate(-.6deg)}.friend-card:active{box-shadow:0 2px 0 var(--line-soft);transform:translateY(2px)}.friend-card-item.dragging{z-index:5}.friend-card-item.dragging .friend-card{border-color:var(--ink);transform:rotate(3deg)scale(1.05);box-shadow:0 14px 24px #14143c38}.friend-card[data-status=overdue] .avatar{animation:5s ease-in-out infinite wiggle}.friend-card-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.friend-card-body strong{font-size:1.05rem;font-weight:900}.type-label{color:var(--c);font-weight:800}.drag-handle{color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:8px;padding:2px 7px;font-size:1.15rem;line-height:1;position:absolute;top:8px;right:8px}.drag-handle:hover,.drag-handle:focus-visible{background:var(--bg);color:var(--ink)}.drag-handle:active{cursor:grabbing}.hint{margin:16px 0 0}.facts{grid-template-columns:auto 1fr;gap:10px 20px;margin:0 0 20px;display:grid}.facts:last-child{margin-bottom:0}.facts dt{color:var(--muted);font-weight:700}.facts dd{margin:0;font-weight:700}.badge{border:2px solid var(--c);background:color-mix(in srgb, var(--c) 16%, var(--card));color:color-mix(in srgb, var(--c) 72%, var(--text));border-radius:999px;padding:1px 10px;font-size:.8rem;font-weight:900;display:inline-block}.badge.tag{margin-left:8px;padding:0 8px;font-size:.72rem}.list{flex-direction:column;gap:10px;display:flex}.list-item{border:3px solid var(--line-soft);background:var(--card);color:var(--text);transition:transform .25s var(--spring), border-color .15s;border-radius:16px;flex-direction:column;gap:2px;padding:12px 16px;text-decoration:none;display:flex}.list-item strong{font-weight:800}a.list-item:hover{border-color:color-mix(in srgb, var(--ink) 55%, var(--line-soft));transform:translate(3px)}.list-item.row{flex-direction:row;justify-content:space-between;align-items:center;gap:12px}.row-actions{flex-shrink:0;gap:14px;display:flex}.activity-info{flex-direction:column;gap:6px;display:flex}.coffee{flex-direction:column;flex-shrink:0;align-items:center;display:inline-flex}.coffee-degrees{color:var(--muted);margin-top:-2px;font-size:.75rem;font-weight:900}.coffee-hot .coffee-degrees,.coffee-warm .coffee-degrees{color:#e8622c}.coffee-cold .coffee-degrees,.coffee-frozen .coffee-degrees{color:#3f95d6}.coffee svg{overflow:visible}.friend-card .coffee{align-self:flex-end;margin-left:auto}.coffee-top{stroke:var(--mascot-outline);stroke-width:3px;fill:var(--coffee)}.coffee-lukewarm .coffee-top{fill:#a88468}.coffee-cold .coffee-body{fill:color-mix(in srgb, #9fd3ff 25%, var(--mug))}.coffee-cold .coffee-top{fill:#7f8fa8}.coffee-frozen .coffee-body{fill:color-mix(in srgb, #9fd3ff 45%, var(--mug))}.coffee-frozen .coffee-top{fill:#cdeaff}.coffee-empty .coffee-top{fill:var(--card);stroke-dasharray:5 4}.coffee-ice{fill:#e8f6ff;stroke:#6fb6e8;stroke-width:3px}.coffee-frost{fill:none;stroke:#fff;stroke-width:3.5px;stroke-linecap:round;opacity:.9}.coffee .mascot-steam path{animation:2.4s ease-in-out infinite steam}.coffee .mascot-steam path:nth-child(2){animation-delay:.5s}.coffee .mascot-steam path:nth-child(3){animation-delay:1s}.coffee-frozen svg{animation:3.5s linear infinite shiver}.friend-card:hover .coffee svg{transition:transform .25s var(--spring);transform:rotate(-8deg)}.coffee-row{align-items:center;gap:12px;display:flex}.coffee-reading{flex-direction:column;gap:6px;min-width:140px;display:flex}.thermometer{border:2px solid var(--line-soft);background:linear-gradient(90deg,#6fb6e8 0%,#9fd3ff 25%,#ffd166 55%,#ff8a3d 80%,#ff5e5b 100%);border-radius:999px;height:10px;display:block;position:relative;overflow:hidden}.thermometer-rest{background:var(--bg);position:absolute;inset:0 0 0 auto}@keyframes shiver{0%,86%,to{transform:none}88%{transform:translate(-2px)}90%{transform:translate(2px)}92%{transform:translate(-2px)}94%{transform:translate(1px)}}.upcoming-link{color:var(--text);flex-direction:column;gap:2px;font-weight:500;text-decoration:none;display:flex}.upcoming-link:hover strong{color:var(--ink)}.calendar-menu{align-self:flex-start;margin-top:4px;font-size:.85rem;position:relative}.calendar-menu summary{cursor:pointer;list-style:none}.calendar-menu summary::-webkit-details-marker{display:none}.calendar-menu summary:before{content:"📅 "}.calendar-menu-items{z-index:20;background:var(--card);border:3px solid var(--line-soft);border-radius:var(--radius-small);min-width:230px;box-shadow:0 6px 0 var(--line-soft);animation:pop-in .25s var(--spring) both;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.calendar-menu-items a{color:var(--text);border-radius:8px;padding:8px 10px;text-decoration:none}.calendar-menu-items a:hover{background:var(--bg)}.attended{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:.85rem;display:inline-flex;position:relative}.attended-question{color:var(--confirm);font-weight:900}.attended-button{border:2.5px solid var(--line-soft);background:var(--card);color:var(--text);font:inherit;cursor:pointer;transition:transform .2s var(--spring), background .15s;border-radius:999px;padding:3px 12px;font-weight:800}.attended-button:hover:not(:disabled){border-color:var(--ink);transform:scale(1.06)}.attended-button:active:not(:disabled){transform:scale(.94)}.attended-button.yes.selected{border-color:var(--ok);background:var(--ok);color:#fff}.attended-button.no.selected{border-color:var(--muted);background:var(--muted);color:#fff}.stamp{border:3px solid var(--ok);color:var(--ok);letter-spacing:.08em;pointer-events:none;border-radius:8px;padding:2px 10px;font-size:1.1rem;font-weight:900;animation:1.1s ease-out forwards stamp;position:absolute;top:50%;left:50%}.prose{line-height:1.65}.prose h2{margin:28px 0 8px}.prose ul{padding-left:1.2rem;list-style:outside}.prose li+li{margin-top:6px}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.85)translateY(10px)}to{opacity:1;transform:none}}@keyframes bob{50%{transform:translateY(-5px)rotate(-2deg)}}@keyframes hop{0%,to{transform:none}30%{transform:translateY(-10px)rotate(-4deg)}55%{transform:translateY(0)scale(1.05,.95)}}@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:.6}to{opacity:0;transform:translateY(-8px)}}@keyframes wiggle{0%,88%,to{transform:none}91%{transform:rotate(-10deg)}94%{transform:rotate(8deg)}97%{transform:rotate(-4deg)}}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)rotate(-20deg)}25%{opacity:1;transform:translate(-50%,-50%)scale(.95)rotate(-10deg)}35%{transform:translate(-50%,-50%)scale(1.05)rotate(-10deg)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1)rotate(-10deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=640px){.site-header-inner{flex-wrap:wrap;gap:8px;padding:10px 16px}.site-nav{gap:0;width:100%;margin-left:0;padding-bottom:6px;overflow-x:auto}.nav-link{padding:7px 10px;font-size:.95rem}.site-nav .button{margin-left:auto}.site-main{padding:20px 16px 36px}h1{font-size:1.6rem}.panel{padding:18px}.home-hero{align-items:flex-start}}.main-column{flex-direction:column;gap:24px;min-width:0;display:flex}.panel-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.view-toggle{gap:6px;display:inline-flex}.picks-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.pick{border:3px solid var(--line-soft);background:color-mix(in srgb, var(--bg) 55%, var(--card));animation:pop-in .45s var(--spring) both;border-radius:18px;flex-direction:column;gap:8px;padding:16px;display:flex}.pick:nth-child(2){animation-delay:80ms}.pick:nth-child(3){animation-delay:.16s}.pick p{margin:0}.pick-head{align-items:center;gap:12px;display:flex}.pick-name{font-size:1.1rem;font-weight:900;display:block}.pick-temp{font-size:.85rem;font-weight:800}.pick-actions{align-items:center;gap:14px;margin-top:auto;display:flex}.muted-link{color:var(--muted)}.coffee-hot .pick-temp,.coffee-warm .pick-temp,.coffee-hot-text,.coffee-warm-text{color:#c2410c}.coffee-lukewarm .pick-temp,.coffee-lukewarm-text{color:#8a6d1f}.coffee-cold .pick-temp,.coffee-frozen .pick-temp,.coffee-cold-text,.coffee-frozen-text{color:#2368a8}.coffee-empty .pick-temp,.coffee-empty-text{color:var(--muted)}@media (prefers-color-scheme:dark){.coffee-hot .pick-temp,.coffee-warm .pick-temp,.coffee-hot-text,.coffee-warm-text{color:#ff9a62}.coffee-lukewarm .pick-temp,.coffee-lukewarm-text{color:#e3c56b}.coffee-cold .pick-temp,.coffee-frozen .pick-temp,.coffee-cold-text,.coffee-frozen-text{color:#8cc8ff}}.cafe{flex-direction:column;gap:16px;display:flex}.shelf{--shelf-bg:#fff3e6;--shelf-line:#f3dcc0;--shelf-plank:#e6c9a5;--shelf-title:#b4441a;border:3px solid var(--shelf-line);background:var(--shelf-bg);border-radius:16px;padding:12px 16px 0}.shelf-lukewarm{--shelf-bg:#fffaf0;--shelf-line:#f1e4c8;--shelf-plank:#e6d3b0;--shelf-title:#7a5f14}.shelf-cold{--shelf-bg:#f2f8ff;--shelf-line:#d6e8fb;--shelf-plank:#c9dcef;--shelf-title:#2368a8}.shelf-frozen{--shelf-bg:#e6f3ff;--shelf-line:#b9daf6;--shelf-plank:#a9cbea;--shelf-title:#1d5a94}.shelf-empty{--shelf-bg:#faf7f2;--shelf-line:#ece3d4;--shelf-plank:#e3d8c6;--shelf-title:var(--muted)}@media (prefers-color-scheme:dark){.shelf{--shelf-bg:#2d2633;--shelf-line:#4a3c3a;--shelf-plank:#5e4a3e;--shelf-title:#ffb48a}.shelf-lukewarm{--shelf-bg:#2c2a2c;--shelf-line:#4a4436;--shelf-plank:#5c5440;--shelf-title:#e3c56b}.shelf-cold{--shelf-bg:#222a3d;--shelf-line:#34466a;--shelf-plank:#3e5580;--shelf-title:#8cc8ff}.shelf-frozen{--shelf-bg:#1f2c44;--shelf-line:#355a8a;--shelf-plank:#46709f;--shelf-title:#a9d6ff}.shelf-empty{--shelf-bg:#26233a;--shelf-line:#37335a;--shelf-plank:#46416a;--shelf-title:var(--muted)}}.shelf-header{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.shelf-header h3{color:var(--shelf-title);margin:0;font-size:1rem;font-weight:900}.shelf-count{color:var(--muted);margin-left:auto;font-size:.8rem;font-weight:800}.shelf-mugs{border-bottom:10px solid var(--shelf-plank);flex-wrap:wrap;align-items:flex-end;gap:4px;min-height:100px;margin:0 -16px;padding:8px 12px 0;display:flex}.shelf-mugs .shelf-empty{background:0 0;border:none;align-self:center;padding:0 4px 12px}.mug-button{width:84px;color:var(--text);font:inherit;cursor:pointer;transition:transform .25s var(--spring), background .15s;background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:1px;padding:6px 2px 8px;display:flex;position:relative}.mug-button:hover{transform:translateY(-6px)rotate(-4deg)}.mug-button.selected{background:color-mix(in srgb, var(--ink) 14%, transparent)}.mug-button.warmed{animation:warm-pop .9s var(--spring)}.mug-name{text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:.82rem;font-weight:800;overflow:hidden}.mug-degrees{color:var(--muted);font-size:.75rem;font-weight:900}.mug-button.coffee-hot .mug-degrees,.mug-button.coffee-warm .mug-degrees{color:#e8622c}.mug-button.coffee-cold .mug-degrees,.mug-button.coffee-frozen .mug-degrees{color:#3f95d6}.mug-badge{z-index:1;border:2px solid var(--card);background:var(--planned);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:2px;right:8px}.shelf-group{flex-direction:column;gap:12px;display:flex}.spotlight{max-width:460px;animation:pop-in .35s var(--spring) both;flex-direction:column;gap:14px;display:flex}.spotlight-head{align-items:center;gap:14px;display:flex}.spotlight-head h2{margin:0}.icon-button{background:var(--bg);width:44px;height:44px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:auto;display:flex}.icon-button:hover{color:var(--ink)}.spotlight-temp{background:var(--bg);border-radius:14px;grid-template-columns:auto 1fr;gap:8px;padding:12px 14px;font-weight:800;display:grid}.spotlight-temp strong{justify-self:end}.spotlight-temp .thermometer{grid-column:1/-1}.spotlight .facts{margin:0}.spotlight-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.weekly-body{align-items:center;gap:18px;display:flex}.weekly-mug{flex-shrink:0;width:72px;height:76px;position:relative}.weekly-cup{box-sizing:border-box;border:4px solid var(--mascot-outline);background:var(--mug);border-radius:6px 6px 18px 18px;width:58px;height:68px;position:absolute;bottom:0;left:0;overflow:hidden}.weekly-coffee{background:var(--coffee);transition:height .6s var(--spring);position:absolute;bottom:0;left:0;right:0}.weekly-handle{box-sizing:border-box;border:4px solid var(--mascot-outline);border-left:none;border-radius:0 12px 12px 0;width:16px;height:28px;position:absolute;top:22px;left:52px}.weekly-count{font-size:1.6rem;font-weight:900}.weekly-count .muted{font-size:1rem}.weekly-text{font-weight:700}@keyframes warm-pop{0%{opacity:0;transform:scale(.6)translateY(30px)}60%{transform:scale(1.15)}to{opacity:1;transform:none}}
