:root{--paper:#faf7f0;--paper-warm:#f6f1e6;--clay:#ede5d8;--ink:#23261f;--canopy:#2f4230;--canopy-soft:#4a5c46;--frond:#93a56b;--banana:#d8a22e;--on-canopy:#ede5d8;--font-display:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--font-body:"Helvetica Neue", Helvetica, "Segoe UI", system-ui, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--t-hero:clamp(3rem, 10vw, 7.5rem);--t-h2:clamp(2rem, 4.4vw, 3.5rem);--t-h3:clamp(1.375rem, 2.2vw, 1.875rem);--t-lede:clamp(1.125rem, 1.7vw, 1.5rem);--t-body:1.0625rem;--t-small:.9375rem;--t-caps:.75rem;--lh-tight:1.06;--lh-head:1.16;--lh-body:1.62;--ls-caps:.18em;--ls-display:-.015em;--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;--s-10:128px;--s-11:176px;--measure:34rem;--gutter:clamp(20px, 5vw, 72px);--maxw:1360px;--r-sm:2px;--r-md:4px;--r-pill:999px;--shadow-lift:0 18px 40px -24px #23261f59;--dur-slow:.9s;--dur-mid:.52s;--dur-fast:.22s;--ease:cubic-bezier(.22, .61, .36, 1);--wave-rule:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='16' viewBox='0 0 240 16'%3E%3Cpath d='M0 9C20 3 41 14 63 8S105 2 127 9 169 15 191 8 227 3 240 9' fill='none' stroke='%232F4230' stroke-width='1' stroke-opacity='.55' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x center / 240px 16px;--wave-field:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='140' viewBox='0 0 480 140'%3E%3Cg fill='none' stroke='%232F4230' stroke-width='.9' stroke-linecap='round'%3E%3Cpath d='M0 14C34 4 72 26 110 15S180 3 220 14 300 25 340 13 420 4 480 15'/%3E%3Cpath d='M0 42C40 32 78 54 116 43S186 31 226 42 306 53 346 41 426 32 480 43'/%3E%3Cpath d='M0 70C30 62 70 82 108 71S178 59 218 70 298 81 338 69 418 60 480 71'/%3E%3Cpath d='M0 98C36 88 74 110 112 99S182 87 222 98 302 109 342 97 422 88 480 99'/%3E%3Cpath d='M0 126C32 118 72 138 110 127S180 115 220 126 300 137 340 125 420 116 480 127'/%3E%3C/g%3E%3C/svg%3E") repeat center / 480px 140px;--texture-op:.12}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0}img{max-width:100%;display:block}h1,h2,h3,p,figure,ul,ol,dl,dd,dt{margin:0;padding:0}fieldset,legend{border:0;margin:0;padding:0}ul,ol{list-style:none}a{color:var(--canopy);text-decoration:none}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--canopy);outline-offset:4px;border-radius:var(--r-sm)}.wave-link{padding-bottom:10px;display:inline-block;position:relative}.wave-link:after{content:"";background:var(--wave-rule);transform-origin:0;height:16px;transition:transform var(--dur-mid) var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.wave-link:hover:after,.wave-link:focus-visible:after,a:hover .wave-link:after,button:hover .wave-link:after{transform:scaleX(1)}.on-canopy .wave-link:after{filter:invert()sepia(.2)}.wave-rule{background:var(--wave-rule);opacity:.5;height:16px}.wave-rule--on-canopy{filter:invert()sepia(.25)}.wave-field{background:var(--wave-field);opacity:var(--texture-op);pointer-events:none;position:absolute;inset:0}.skip-link{padding:var(--s-3) var(--s-4);background:var(--canopy);color:var(--on-canopy);position:absolute;top:0;left:-9999px}.skip-link:focus-visible{z-index:60;color:var(--on-canopy);left:0}.btn{font-family:var(--font-body);font-size:var(--t-body);letter-spacing:.02em;color:var(--on-canopy);background:var(--canopy);border-radius:var(--r-pill);cursor:pointer;min-height:56px;transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border:0;justify-content:center;align-items:center;padding:20px 30px;display:inline-flex}.btn:hover{background:var(--ink);color:var(--on-canopy);transform:translateY(-2px)}.btn--block{width:100%}.btn--md{font-size:var(--t-body);min-height:54px;padding:18px 32px}.btn--lg{font-size:var(--t-small);min-height:52px;padding:18px 34px}.btn--sm{font-size:var(--t-small);min-height:48px;padding:16px 30px}.btn--sm:hover,.btn--md:hover{transform:none}.btn-ghost{font-family:var(--font-body);font-size:var(--t-small);color:var(--canopy);border:1px solid var(--clay);border-radius:var(--r-pill);cursor:pointer;min-height:48px;transition:border-color var(--dur-fast) var(--ease);background:0 0;padding:16px 26px}.btn-ghost:hover{border-color:var(--canopy)}.btn-text{font-family:var(--font-body);font-size:var(--t-small);color:var(--canopy);cursor:pointer;text-align:left;background:0 0;border:0;min-height:44px;padding:12px 0}.chip{font-family:var(--font-body);font-size:var(--t-small);color:var(--canopy);border:1px solid var(--clay);border-radius:var(--r-pill);cursor:pointer;min-height:44px;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;padding:10px 18px}.chip:hover{border-color:var(--canopy)}.chip[aria-pressed=true]{color:var(--on-canopy);background:var(--canopy);border-color:var(--canopy)}.field{font-family:var(--font-body);font-size:var(--t-body);line-height:var(--lh-body);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px solid var(--clay);border-radius:var(--r-sm);width:100%;min-height:50px;padding:14px}.field:hover{border-color:var(--frond)}textarea.field{resize:vertical;min-height:0}.field-file{font-family:var(--font-body);font-size:var(--t-small);letter-spacing:0;text-transform:none;color:var(--ink);background:var(--paper);border:1px dashed var(--frond);border-radius:var(--r-md);cursor:pointer;width:100%;min-height:64px;padding:20px}.lift{transition:transform var(--dur-mid) var(--ease)}.lift:hover{transform:translateY(-5px)}.lift-shadow{transition:transform var(--dur-mid) var(--ease), box-shadow var(--dur-mid) var(--ease)}.lift-shadow:hover{box-shadow:var(--shadow-lift);transform:translateY(-6px)}.card-outline{border:1px solid var(--clay);border-radius:var(--r-md);color:var(--ink);transition:border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease)}.card-outline:hover{border-color:var(--canopy);color:var(--ink);transform:translateY(-2px)}.feed-img{transition:opacity var(--dur-fast) var(--ease)}.feed-img:hover{opacity:.82}.rise[data-rise=pending]{opacity:0;transform:translateY(26px)}.rise[data-rise=shown]{opacity:1;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:none}.msg-bar{display:none}.msg-pad{height:0}@media (max-width:720px){.msg-bar{z-index:60;justify-content:space-between;align-items:center;gap:var(--s-4);padding:12px var(--s-5) calc(12px + env(safe-area-inset-bottom));background:var(--canopy);color:var(--on-canopy);font-size:var(--t-small);display:flex;position:fixed;bottom:0;left:0;right:0}.msg-pad{height:84px}.filters{position:static!important}}.spec{font-family:var(--font-mono);letter-spacing:.02em;color:var(--canopy-soft);font-size:11px}.a-label{gap:var(--s-2);font-size:var(--t-caps);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--canopy-soft);display:grid}.a-hint{font-size:var(--t-small);letter-spacing:0;text-transform:none;color:var(--canopy-soft)}.a-card{background:var(--paper-warm);border-radius:var(--r-md);padding:clamp(20px,3vw,32px)}.a-row{align-items:center;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--clay);flex-wrap:wrap;display:flex}.a-notice{font-size:var(--t-small);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--paper-warm)}.a-notice--bad{border-left:2px solid var(--banana)}.a-notice--good{border-left:2px solid var(--frond)}.a-icon-btn{font-family:var(--font-body);font-size:var(--t-small);color:var(--canopy);border:1px solid var(--clay);border-radius:var(--r-sm);min-width:34px;min-height:34px;padding:0 var(--s-2);cursor:pointer;transition:border-color var(--dur-fast) var(--ease);background:0 0;line-height:1}.a-icon-btn:hover{border-color:var(--canopy)}.a-icon-btn:disabled{opacity:.35;cursor:default}.a-icon-btn:disabled:hover{border-color:var(--clay)}.a-icon-btn--danger:hover{border-color:var(--banana);color:var(--banana)}.a-dot{border-radius:var(--r-pill);flex:none;width:8px;height:8px;display:inline-block}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation:none!important}}
