@layer tokens{:root{--bg:#f4ede0;--bg-soft:#ebe2d2;--bg-deep:#e2d6c1;--ink:#1f1c17;--ink-soft:#5a544a;--ink-mute:#8a8276;--primary:#6FCF97;--primary-soft:#a5dfc0;--primary-tint:#dff2ea;--primary-ink:#1a4a2e;--accent:#c45a2c;--accent-soft:#e8a583;--gold:#b8893a;--success:#4a7c2e;--warning:#b8893a;--danger:#b54336;--glass:rgba(255,252,247,0.72);--glass-strong:rgba(255,252,247,0.92);--glass-border:rgba(31,28,23,0.10);--font:var(--font-recursive),monospace;--rx-sans:"MONO" 0,"CASL" 0,"slnt" 0,"CRSV" 0.5;--rx-mono:"MONO" 1,"CASL" 0,"slnt" 0,"CRSV" 0.5;--rx-casual:"MONO" 0,"CASL" 0.5,"slnt" 0,"CRSV" 0.5;--rx-italic:"MONO" 0,"CASL" 0.5,"slnt" -10,"CRSV" 1;--t-xs:0.75rem;--t-sm:0.875rem;--t-base:1rem;--t-lg:1.1875rem;--t-xl:1.5rem;--t-2xl:2rem;--t-3xl:2.5rem;--t-4xl:3.5rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--c-sm:640px;--c-md:880px;--c-lg:1200px;--r-sm:2px;--r-md:3px;--r-lg:5px;--r-xl:7px;--r-pill:18px;--ease:cubic-bezier(0.22,1,0.36,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--t-fast:160ms;--t-slow:480ms;--t-norm:280ms}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer reset{*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}body,html{height:100%}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}ol,ul{list-style:none}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}::selection{background:var(--primary-tint);color:var(--ink)}}@layer elements{body{font-family:var(--font);font-variation-settings:var(--rx-sans);font-size:var(--t-base);font-weight:400;line-height:1.55;color:var(--ink);background:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font);font-variation-settings:var(--rx-casual);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}h1{font-size:var(--t-3xl)}h2{font-size:var(--t-2xl)}h3{font-size:var(--t-xl)}h4{font-size:var(--t-lg)}@media (min-width:880px){h1{font-size:var(--t-4xl)}}p,small{color:var(--ink-soft)}small{font-size:var(--t-sm)}strong{font-weight:700;color:var(--ink)}a{color:var(--primary);transition:color var(--t-fast) var(--ease)}a:hover{color:var(--primary-soft)}button{font-family:var(--font);font-variation-settings:var(--rx-sans);font-weight:500;color:var(--ink);transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font-family:var(--font);font-variation-settings:var(--rx-sans);background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);color:var(--ink);width:100%;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--primary);background:#fff}input::placeholder,textarea::placeholder{color:var(--ink-mute)}textarea{min-height:96px;resize:vertical}label{display:block;font-size:var(--t-sm);font-weight:500;color:var(--ink);margin-bottom:var(--s-2)}hr{border:0;height:1px;background:var(--glass-border);margin:var(--s-5) 0}code,kbd,pre{font-family:var(--font);font-variation-settings:var(--rx-mono);font-size:.92em}code{background:var(--bg-soft);padding:2px 6px;border-radius:var(--r-sm)}dialog{border:0;background:transparent;padding:0;color:inherit}dialog::-webkit-backdrop{background:rgba(31,28,23,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog::backdrop{background:rgba(31,28,23,.42);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}