:root{--color-bg:#f5f4f1;--color-surface:#ffffff;--color-surface-dim:#eceae6;--color-text:#1b1b1f;--color-text-secondary:#6e6d74;--color-text-inverse:#ffffff;--color-accent:#7c3aed;--color-accent-soft:#ede7fb;--color-success:#22b564;--color-success-soft:#e5f6ec;--color-error:#e5484d;--color-error-soft:#fbeaea;--color-star:#f7b500;--color-timeline-done:var(--color-accent);--color-timeline-current:var(--color-accent);--color-timeline-future:#d4d2d8;--color-locked:#c7c6cc;--color-chip-active-bg:#1b1b1f;--color-chip-active-text:#ffffff;--color-note-similar-bg:#e5f6ec;--color-note-similar-border:#c4e8d2;--color-note-different-bg:#fbeaea;--color-note-different-border:#f1cbcc;--color-note-tip-bg:#fcf4dc;--color-note-tip-border:#efe2b8;--text-2xs:11px;--text-xs:13px;--text-base:17px;--text-md:22px;--text-lg:28px;--text-xl:35px;--text-2xl:44px;--space-1:3px;--space-2:5px;--space-3:8px;--space-4:13px;--space-5:21px;--space-6:34px;--space-7:55px;--space-8:89px;--radius-card:26px;--radius-chip:22px;--radius-button:28px;--radius-note:13px;--radius-badge:13px;--radius-sm:8px;--shadow-card:0 2px 3px rgba(27,27,31,0.03),0 8px 21px rgba(27,27,31,0.05);--shadow-raised:0 5px 13px rgba(27,27,31,0.07),0 13px 34px rgba(27,27,31,0.08);--motion-fast:150ms;--motion-base:200ms;--motion-enter:320ms;--motion-slow:400ms;--ease-out-soft:cubic-bezier(0.22,1,0.36,1);--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro","Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body,html{overscroll-behavior:none}body{color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:24px;-webkit-font-smoothing:antialiased}.app-frame,body{background:var(--color-bg)}.app-frame{position:relative;margin:0 auto;width:100%;max-width:402px;min-height:100dvh}@media (min-width:500px){body{background:#e2e0db}.app-frame{box-shadow:0 21px 55px rgba(27,27,31,.25)}}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes screen-enter{0%{opacity:0;transform:translateY(21px)}to{opacity:1;transform:translateY(0)}}.screen{animation:screen-enter var(--motion-enter) var(--ease-out-soft)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}