:root{--bg:#FFFFFF;--surface:#FAFBF9;--surface-sunk:#EAEDE8;--border:rgba(30,33,30,0.10);--border-strong:rgba(30,33,30,0.18);--overlay:rgba(30,33,30,0.04);--scrim:rgba(30,33,30,0.52);--text:#1E221E;--text-2:#424A42;--text-muted:#515F50;--text-subtle:#667364;--text-inverse:#FFFFFF;--accent:#4E7055;--accent-hover:#3D5C44;--accent-soft:#E0EBE1;--accent-ink:#2A4A30;--success:#6EA882;--warning:#C4A97A;--danger:#B87070;--info:#6A8AAA;--c-fruity:#D41643;--c-rich:#8A4836;--c-clean:#087D3A;--c-clean-rich:#D6563C;--c-fermented:#C1CC15;--c-earthy:#BF3A2A;--c-unknown:#6F6F6F;--font:var(--font-jost,system-ui),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-cormorant,Georgia),Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--fs-micro:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:17px;--fs-lg:22px;--fs-xl:28px;--fs-2xl:40px;--fs-3xl:56px;--fs-bean:18px;--lh-tight:1.15;--lh-snug:1.35;--lh-base:1.55;--lh-loose:1.7;--tracking-tighter:-0.03em;--tracking-tight:-0.02em;--tracking-snug:-0.01em;--tracking-normal:0;--tracking-wide:0.01em;--tracking-wider:0.03em;--tracking-caps:0.06em;--tracking-overline:0.08em;--tracking-widest:0.12em;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-px:1px;--s-half:2px;--hairline:1px;--r-1:4px;--r-2:8px;--r-3:12px;--r-4:16px;--r-5:20px;--r-pill:999px;--size-control:32px;--size-tap:36px;--size-avatar:32px;--size-avatar-lg:40px;--size-map-w:112px;--size-map-h:48px;--measure-prose:62ch;--measure-shell:46rem;--shadow-1:0 1px 2px rgba(30,33,30,0.04),0 1px 1px rgba(30,33,30,0.03);--shadow-2:0 2px 6px rgba(30,33,30,0.06),0 1px 2px rgba(30,33,30,0.04);--shadow-3:0 8px 24px rgba(30,33,30,0.10),0 2px 6px rgba(30,33,30,0.05);--shadow-4:0 24px 48px rgba(30,33,30,0.14),0 4px 12px rgba(30,33,30,0.06);--shadow-3-up:0 -8px 24px rgba(30,33,30,0.10),0 -2px 6px rgba(30,33,30,0.05);--ring:0 0 0 3px var(--accent);--dur-1:120ms;--dur-2:180ms;--dur-3:280ms;--dur-4:420ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-standard:cubic-bezier(0.2,0,0,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth}body{min-height:100vh;display:flex;flex-direction:column;align-items:center;background-color:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-base);-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}:where(.btn,.input,.select,.textarea,.check-box,.radio-box,.chip){box-sizing:border-box}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:10px var(--s-4);border:var(--hairline) solid transparent;border-radius:var(--r-2);background:transparent;color:var(--text);font-family:var(--font);font-size:var(--fs-sm);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-2) var(--ease-out),color var(--dur-2),border-color var(--dur-2),transform var(--dur-1),box-shadow var(--dur-2)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:active{transform:translateY(var(--s-px))}.btn.is-disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-chev{transition:transform var(--dur-2) var(--ease-out)}.btn:hover .btn-chev{transform:translateX(var(--s-half))}.btn--primary{border:none;background:var(--accent);color:var(--text-inverse)}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{border:none;border-bottom:1.5px solid var(--accent);border-radius:0;padding-left:var(--s-1);padding-right:var(--s-1);background:transparent;color:var(--accent)}.btn--secondary:hover{background:var(--accent-soft);border-bottom-color:var(--accent-hover);color:var(--accent-ink)}.btn--ghost{color:var(--text-muted)}.btn--ghost:hover{background:var(--overlay);color:var(--text)}.btn--link{padding:6px var(--s-1);color:var(--accent)}.btn--link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.btn--danger{border:none;border-bottom:1.5px solid var(--danger);border-radius:0;padding-left:var(--s-1);padding-right:var(--s-1);background:transparent;color:var(--danger)}.btn--danger:hover{background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn--sm{padding:7px 10px;font-size:var(--fs-xs);border-radius:var(--r-1)}.btn--lg{padding:14px var(--s-5);font-size:var(--fs-base)}.btn--icon{width:var(--size-tap);height:var(--size-tap);padding:0}.btn--icon.btn--sm{width:28px;height:28px}.field{display:flex;flex-direction:column;gap:6px;max-width:360px}.field-label{font-size:var(--fs-xs);font-weight:500;color:var(--text-2);letter-spacing:var(--tracking-wide)}.field-hint{font-size:var(--fs-xs);color:var(--text-muted)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{width:100%;padding:10px var(--s-half);border:none;border-bottom:1.5px solid var(--border-strong);border-radius:0;background:transparent;font-family:inherit;font-size:var(--fs-sm);color:var(--text);transition:border-color var(--dur-2)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:hover,.select:hover,.textarea:hover{border-bottom-color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{outline:none;border-bottom-color:var(--accent);box-shadow:none}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none;border-bottom-color:var(--accent)}.textarea{min-height:96px;resize:vertical;line-height:var(--lh-base)}.field.is-invalid .input{border-bottom-color:var(--danger)}.select--compact{width:auto;height:var(--size-control);padding:0 0 var(--s-half);font-size:var(--fs-sm)}.input-search{position:relative}.input-search .input{padding-left:var(--size-tap)}.input-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.check,.radio{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check input,.radio input{position:absolute;opacity:0;pointer-events:none}.check-box,.radio-box{width:18px;height:18px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid var(--border-strong);background:var(--surface);transition:background-color var(--dur-2),border-color var(--dur-2),box-shadow var(--dur-2)}.check-box{border-radius:var(--r-1)}.radio-box{border-radius:50%}.check-box svg{color:var(--text-inverse)}.check-box svg,.radio-box:after{opacity:0;transition:opacity var(--dur-1)}.radio-box:after{content:"";width:var(--s-2);height:var(--s-2);border-radius:50%;background:var(--text-inverse)}.check:hover .check-box,.radio:hover .radio-box{border-color:var(--text-muted)}.check input:checked~.check-box,.radio input:checked~.radio-box{background:var(--accent);border-color:var(--accent)}.check input:checked~.check-box svg,.radio input:checked~.radio-box:after{opacity:1}.check input:focus-visible~.check-box,.radio input:focus-visible~.radio-box{box-shadow:var(--ring)}.toggle{display:inline-flex;align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle-track{position:relative;width:var(--size-tap);height:var(--s-5);border-radius:var(--r-pill);background:var(--border-strong);transition:background var(--dur-2)}.toggle-track:after{content:"";position:absolute;top:var(--s-half);left:var(--s-half);width:var(--s-4);height:var(--s-4);border-radius:50%;background:var(--text-inverse);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out)}.toggle input:checked~.toggle-track{background:var(--accent)}.toggle input:checked~.toggle-track:after{transform:translateX(var(--s-4))}.toggle input:focus-visible~.toggle-track{box-shadow:var(--ring)}.chip{display:inline-flex;align-items:center;gap:var(--s-1);font-family:var(--font);font-size:var(--fs-xs);font-weight:300;line-height:var(--lh-snug);background:transparent;color:var(--text-muted);white-space:nowrap}.chip:where(button){padding:0;border:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.chip--outline{padding:var(--s-half) var(--s-2);border:var(--hairline) solid var(--border);border-radius:var(--r-pill)}.chip--solid{padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);font-weight:500;color:var(--text-inverse)}.chip--accent{background:var(--accent-soft);color:var(--accent-ink)}.chip--interactive{min-height:var(--size-control);padding:var(--s-1) var(--s-3);cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.chip--interactive:hover:not(:disabled):not(.chip--solid):not(.chip--accent){border-color:var(--border-strong);color:var(--text)}.chip--interactive[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:400}.chip--interactive:disabled{opacity:.42;cursor:default}.chip--interactive:focus-visible,.chip:where(button):focus-visible{outline:none;box-shadow:var(--ring)}.chip--fuzzy{border-bottom:var(--hairline) dashed var(--text-subtle);cursor:inherit}.chip--quiet{color:var(--text-subtle)}.card{padding:var(--s-5);border:var(--hairline) solid var(--border);border-radius:var(--r-3);background:var(--surface);transition:border-color var(--dur-2),background var(--dur-2)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--border-strong)}.bar{width:100%;height:var(--s-1);border-radius:var(--r-pill);background:var(--surface-sunk);overflow:hidden}.bar-fill{height:100%;background:var(--accent);transition:width var(--dur-4) var(--ease-out)}.dots{display:inline-flex;gap:var(--s-2);align-items:center}.dot{width:var(--s-2);height:var(--s-2);border-radius:50%;background:var(--border-strong);transition:transform var(--dur-2),background var(--dur-2)}.dot.is-active{background:var(--text);transform:scale(1.15)}.dot.is-done{background:var(--accent)}.u-ghost{padding:var(--s-2) var(--s-3);border:none;border-radius:var(--r-1);background:none;color:var(--text-muted);font-family:var(--font);font-size:var(--fs-sm);font-weight:400;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color var(--dur-1),background var(--dur-1)}.u-ghost:hover{color:var(--text);background:var(--overlay)}.u-ghost:focus-visible{outline:none;box-shadow:var(--ring)}.u-overline{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--tracking-overline);color:var(--text-subtle)}.u-kicker,.u-overline{font-family:var(--font-mono)}.u-kicker{font-size:var(--fs-xs);color:var(--text-muted)}.u-tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.u-sr-only{position:absolute;width:var(--s-px);height:var(--s-px);padding:0;margin:calc(-1 * var(--s-px));overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}