@import "https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-regular);color:var(--text-strong);background:var(--surface-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4,h5,h6,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text-accent);text-decoration:none}::selection{background:var(--teal-100);color:var(--ink-900)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs);outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root{--warm-50:#fbf9f4;--warm-100:#f4f1e9;--warm-200:#ece7db;--white:#fff;--ink-900:#1b1b2f;--ink-700:#3a3a4d;--ink-500:#5c5c6e;--ink-400:#8a8a99;--ink-300:#b8b8c2;--ink-200:#dedde4;--ink-100:#eeedf1;--teal-700:#1f6e80;--teal-600:#277f94;--teal-500:#2f9bb3;--teal-300:#8fcad6;--teal-100:#ddf0f4;--teal-50:#eef8fa;--clear-600:#248457;--clear-500:#2e9e6b;--clear-100:#dcf1e6;--clear-50:#edf8f2;--treat-600:#be8b00;--treat-500:#e0a500;--treat-100:#fbefcc;--treat-50:#fdf7e6;--expired-600:#b83a30;--expired-500:#d7483b;--expired-100:#fae0dd;--expired-50:#fdf0ee;--neutral-600:#6c6c7a;--neutral-500:#8a8a99;--neutral-100:#eaeaee;--neutral-50:#f4f4f6;--surface-app:var(--warm-50);--surface-card:var(--white);--surface-sunken:var(--warm-100);--surface-tint:var(--teal-50);--text-strong:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-subtle:var(--ink-400);--text-disabled:var(--ink-300);--text-on-accent:var(--white);--text-accent:var(--teal-700);--border-card:var(--ink-200);--border-strong:var(--ink-300);--divider:var(--warm-200);--accent:var(--teal-500);--accent-hover:var(--teal-600);--accent-press:var(--teal-700);--accent-soft:var(--teal-100);--accent-ring:var(--teal-300);--status-clear-fg:var(--clear-600);--status-clear-base:var(--clear-500);--status-clear-bg:var(--clear-100);--status-treat-fg:var(--treat-600);--status-treat-base:var(--treat-500);--status-treat-bg:var(--treat-100);--status-expired-fg:var(--expired-600);--status-expired-base:var(--expired-500);--status-expired-bg:var(--expired-100);--status-none-fg:var(--neutral-600);--status-none-base:var(--neutral-500);--status-none-bg:var(--neutral-100);--focus-ring:0 0 0 3px var(--teal-300);--font-sans:"Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:var(--font-sans);--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--text-display:40px;--text-h1:30px;--text-h2:24px;--text-h3:20px;--text-lg:18px;--text-base:16px;--text-sm:14px;--text-xs:13px;--text-2xs:11px;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.06em;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--gap-inline:var(--space-2);--gap-stack:var(--space-3);--pad-card:var(--space-6);--pad-screen:var(--space-5);--gap-section:var(--space-7);--touch-min:44px;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 1px 2px #1b1b2f0a, 0 2px 6px #1b1b2f0d;--shadow-md:0 2px 4px #1b1b2f0a, 0 8px 20px #1b1b2f0f;--shadow-lg:0 6px 14px #1b1b2f12, 0 18px 40px #1b1b2f17;--shadow-xl:0 12px 28px #1b1b2f1a, 0 32px 64px #1b1b2f24;--shadow-accent:0 10px 30px #2f9bb333;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-gentle:cubic-bezier(.4, 0, .2, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s}.sti-btn{justify-content:center;align-items:center;gap:var(--gap-inline);font-family:var(--font-sans);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-gentle), color var(--dur-fast) var(--ease-gentle), border-color var(--dur-fast) var(--ease-gentle), transform var(--dur-fast) var(--ease-gentle), box-shadow var(--dur-fast) var(--ease-gentle);border:1px solid #0000;text-decoration:none;display:inline-flex}.sti-btn:active{transform:translateY(1px)scale(.99)}.sti-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.sti-btn[disabled],.sti-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.sti-btn--sm{height:36px;padding:0 var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-xs)}.sti-btn--md{height:44px;padding:0 var(--space-5);font-size:var(--text-base)}.sti-btn--lg{height:52px;padding:0 var(--space-6);font-size:var(--text-lg)}.sti-btn--block{width:100%}.sti-btn--primary{background:var(--accent);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.sti-btn--primary:hover{background:var(--accent-hover)}.sti-btn--primary:active{background:var(--accent-press)}.sti-btn--secondary{background:var(--surface-card);color:var(--text-accent);border-color:var(--accent-ring)}.sti-btn--secondary:hover{background:var(--surface-tint);border-color:var(--accent)}.sti-btn--ghost{color:var(--text-accent);background:0 0}.sti-btn--ghost:hover{background:var(--surface-tint)}.sti-btn--danger{background:var(--status-expired-base);color:var(--white);box-shadow:var(--shadow-sm)}.sti-btn--danger:hover{background:var(--expired-600)}.sti-btn--quiet{background:var(--surface-sunken);color:var(--text-body)}.sti-btn--quiet:hover{background:var(--warm-200)}.sti-btn__icon{flex:none;width:1.25em;height:1.25em;display:inline-flex}.sti-btn__icon svg{width:100%;height:100%}.sti-iconbtn{width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius-pill);color:var(--text-body);cursor:pointer;transition:background var(--dur-fast) var(--ease-gentle), color var(--dur-fast) var(--ease-gentle);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.sti-iconbtn:hover{background:var(--surface-sunken);color:var(--text-strong)}.sti-iconbtn:focus-visible{box-shadow:var(--focus-ring);outline:none}.sti-iconbtn--filled{background:var(--surface-card);box-shadow:var(--shadow-sm)}.sti-iconbtn--accent{background:var(--accent-soft);color:var(--text-accent)}.sti-iconbtn svg{width:20px;height:20px}.sti-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--pad-card)}.sti-card--flat{box-shadow:none;border:1px solid var(--border-card)}.sti-card--raised{box-shadow:var(--shadow-lg)}.sti-card--tint{background:var(--surface-tint);box-shadow:none}.sti-card--pad-sm{padding:var(--space-4)}.sti-card--pad-lg{padding:var(--space-7)}.sti-card--interactive{cursor:pointer;transition:box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}.sti-card--interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sti-card--interactive:active{transform:translateY(0)}.sti-pill{align-items:center;gap:var(--gap-inline);font-weight:var(--weight-semibold);font-size:var(--text-sm);border-radius:var(--radius-pill);white-space:nowrap;padding:7px 14px 7px 11px;line-height:1;display:inline-flex}.sti-pill__icon{flex:none;width:16px;height:16px;display:inline-flex}.sti-pill__icon svg{width:100%;height:100%}.sti-pill--lg{font-size:var(--text-base);padding:10px 18px 10px 14px}.sti-pill--lg .sti-pill__icon{width:20px;height:20px}.sti-pill--clear{background:var(--status-clear-bg);color:var(--status-clear-fg)}.sti-pill--treat{background:var(--status-treat-bg);color:var(--status-treat-fg)}.sti-pill--expired{background:var(--status-expired-bg);color:var(--status-expired-fg)}.sti-pill--none{background:var(--status-none-bg);color:var(--status-none-fg)}.sti-pill--solid.sti-pill--clear{background:var(--status-clear-base);color:var(--white)}.sti-pill--solid.sti-pill--treat{background:var(--status-treat-base);color:var(--white)}.sti-pill--solid.sti-pill--expired{background:var(--status-expired-base);color:var(--white)}.sti-pill--solid.sti-pill--none{background:var(--status-none-base);color:var(--white)}.sti-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-muted);align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.sti-badge--accent{background:var(--accent-soft);color:var(--text-accent)}.sti-badge--count{background:var(--accent);min-width:20px;height:20px;color:var(--white);font-size:var(--text-2xs);justify-content:center;padding:0 6px}.sti-field{flex-direction:column;gap:6px;display:flex}.sti-field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-body)}.sti-field__hint{font-size:var(--text-xs);color:var(--text-subtle)}.sti-field__error{font-size:var(--text-xs);color:var(--status-expired-fg);font-weight:var(--weight-medium)}.sti-input{width:100%;height:48px;padding:0 var(--space-4);background:var(--surface-card);color:var(--text-strong);border:1px solid var(--border-card);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-gentle), box-shadow var(--dur-fast) var(--ease-gentle)}.sti-input::placeholder{color:var(--text-subtle)}.sti-input:hover{border-color:var(--border-strong)}.sti-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring);outline:none}.sti-input--error{border-color:var(--status-expired-base)}.sti-input--error:focus{box-shadow:0 0 0 3px var(--expired-100)}textarea.sti-input{height:auto;min-height:96px;padding:var(--space-3) var(--space-4);line-height:var(--leading-normal);resize:vertical}.sti-switch{align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.sti-switch__track{background:var(--ink-200);border-radius:var(--radius-pill);width:48px;height:28px;transition:background var(--dur-base) var(--ease-gentle);flex:none;position:relative}.sti-switch__thumb{background:var(--white);width:22px;height:22px;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.sti-switch--on .sti-switch__track{background:var(--accent)}.sti-switch--on .sti-switch__thumb{transform:translate(20px)}.sti-switch input{opacity:0;width:0;height:0;position:absolute}.sti-switch:focus-within .sti-switch__track{box-shadow:var(--focus-ring)}.sti-switch--disabled{opacity:.5;cursor:not-allowed}.sti-switch__label{font-size:var(--text-base);color:var(--text-strong)}.sti-avatar{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--text-accent);font-weight:var(--weight-semibold);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.sti-avatar img{object-fit:cover;width:100%;height:100%}.sti-avatar--sm{width:32px;height:32px;font-size:var(--text-xs)}.sti-avatar--md{width:44px;height:44px;font-size:var(--text-base)}.sti-avatar--lg{width:64px;height:64px;font-size:var(--text-h3)}.sti-segmented{background:var(--surface-sunken);border-radius:var(--radius-pill);gap:4px;padding:4px;display:inline-flex}.sti-segmented__item{appearance:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);border-radius:var(--radius-pill);transition:background var(--dur-fast) var(--ease-gentle), color var(--dur-fast) var(--ease-gentle);background:0 0;border:none;padding:8px 16px}.sti-segmented__item:hover{color:var(--text-strong)}.sti-segmented__item--active{background:var(--surface-card);color:var(--text-accent);box-shadow:var(--shadow-sm)}.sti-segmented__item:focus-visible{box-shadow:var(--focus-ring);outline:none}.sti-row{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);text-align:left;background:var(--surface-card);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-gentle);border:none;display:flex}.sti-row:hover{background:var(--surface-sunken)}.sti-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.sti-row--static{cursor:default}.sti-row--static:hover{background:var(--surface-card)}.sti-row__lead{border-radius:var(--radius-sm);background:var(--accent-soft);width:40px;height:40px;color:var(--text-accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.sti-row__lead svg{width:20px;height:20px}.sti-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sti-row__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong)}.sti-row__sub{font-size:var(--text-sm);color:var(--text-muted)}.sti-row__trail{align-items:center;gap:var(--space-2);color:var(--text-subtle);display:inline-flex}.sti-row__trail svg{width:18px;height:18px}html,body,#root{height:100%}body{background:var(--surface-app);margin:0}.app-shell{background:var(--surface-app);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.app-shell__content{min-height:0;padding:var(--space-5);flex:1;overflow-y:auto}.app-topbar{flex:none;justify-content:space-between;align-items:center;padding:6px 16px 10px;display:flex}.app-topbar__actions{gap:2px;display:flex}.app-backbar{flex:none;align-items:center;gap:6px;padding:6px 12px 8px;display:flex}.app-backbar__title{color:var(--text-strong);font-size:15px;font-weight:700}.app-tabbar{background:var(--surface-card);border-top:1px solid var(--divider);flex:none;padding:8px 10px 12px;display:flex}.app-tab{appearance:none;cursor:pointer;color:var(--text-subtle);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 0;display:flex}.app-tab--active{color:var(--text-accent)}.app-tab__label{font-size:11px;font-weight:600}.app-tab--active .app-tab__label{font-weight:700}
