:root{--terracotta:#003e2c;--terracotta-dark:#003524;--on-primary:#ffffff;--forest:#003e2c;--forest-light:#0a5a41;--ink:#16241d;--cream:#fbf7ec;--cream-dim:#f1ead6;--paper:#fffdf9;--gold:#c9a961;--slate:#5b6b63;--slate-light:#8b988f;--line:#dcd5c4;--red-soft:#b14b3a;--green-soft:#3f7a5c;--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.7,0,.84,0);--dur-press:90ms;--dur-quick:.18s;--dur-calm:.32s;--tap:44px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-padding-top:82px}body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{min-height:100vh}h1,h2,h3,h4,.display{font-family:Fraunces,Georgia,serif;font-weight:600;font-optical-sizing:auto;text-wrap:balance}h1,.display-xl{letter-spacing:-.028em;line-height:1.06}h2{letter-spacing:-.018em;line-height:1.16}h3{letter-spacing:-.012em;line-height:1.26}h4,.display{letter-spacing:-.008em;line-height:1.34}.display-xl{letter-spacing:-.028em;line-height:1.06}.display-lg{letter-spacing:-.02em;line-height:1.14}.display-md{letter-spacing:-.012em;line-height:1.24}.display-sm{letter-spacing:-.004em;line-height:1.36}.t-small{font-size:13px;letter-spacing:.006em}.t-tiny{font-size:11.5px;letter-spacing:.014em}.t-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;line-height:1.4}p{text-wrap:pretty}.mono{font-family:JetBrains Mono,monospace}::selection{background:var(--gold);color:var(--ink)}a{color:inherit}:focus{outline:none}:focus-visible{outline:2.5px solid var(--forest);outline-offset:3px;border-radius:6px}.on-dark :focus-visible{outline-color:var(--cream)}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;background:var(--forest);color:var(--cream);padding:12px 20px;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transform:translateY(-160%);transition:transform var(--dur-quick) var(--ease-out)}.skip-link:focus{transform:translateY(0)}@media(pointer:coarse){button,[role=button],a.pp-btn,.pp-dropitem,.pp-navitem{min-height:var(--tap);display:inline-flex;align-items:center}.pp-dropitem{display:flex}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--slate-light)}input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:var(--line);border-radius:2px}input[type=range]:focus-visible{outline:2.5px solid var(--forest);outline-offset:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--terracotta);border:3px solid var(--paper);box-shadow:0 1px 4px #00000040;cursor:pointer;margin-top:-1px;transition:transform var(--dur-press) var(--ease-out)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--terracotta);border:3px solid var(--paper);cursor:pointer}input[type=text],input[type=number]{font-family:JetBrains Mono,monospace}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}*{transition-property:opacity,background-color,border-color,color,box-shadow!important}*{transition-duration:.14s!important}.skip-link{transition-property:transform!important}}@media(prefers-reduced-transparency:reduce){.mat,.pp-drop{background:var(--paper)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.pp-blob{display:none!important}}@media(prefers-contrast:more){:root{--slate:#3c4a43;--slate-light:#4f5d55;--line:#7d8a82}.mat{background:var(--paper)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.pp-blob{display:none!important}:focus-visible{outline-width:3px}}
