:root{--font-body:Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-editor:"Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", serif;--font-mono:"JetBrains Mono", "Cascadia Code", monospace;--color-canvas:#f3efe7;--color-surface:#fffdf8;--color-surface-muted:#ece6db;--color-text:#27251f;--color-text-muted:#716c61;--color-border:#d8d0c2;--color-brand:#0f655b;--color-brand-strong:#084a43;--color-brand-soft:#d9ece7;--color-accent:#b56d32;--color-success:#23744e;--color-warning:#9a5d17;--color-danger:#a33c38;--color-info:#315f86;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px #28231914;--shadow-md:0 12px 36px #2823191a;--duration-fast:.14s;--duration-normal:.22s}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);background:var(--color-canvas);color:var(--color-text)}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--color-brand) 35%, transparent);outline-offset:2px}#app{min-height:100vh}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.primary-button,.secondary-button,.ghost-button{border-radius:var(--radius-sm);min-height:40px;padding:0 var(--space-4);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast);border:1px solid #0000;font-weight:650}.primary-button{color:#fff;background:var(--color-brand)}.primary-button:hover{background:var(--color-brand-strong)}.secondary-button{color:var(--color-brand-strong);background:var(--color-brand-soft);border-color:color-mix(in srgb, var(--color-brand) 20%, transparent)}.ghost-button{color:var(--color-text);border-color:var(--color-border);background:0 0}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
