:root{--color-bg: oklch(97% .012 88);--color-bg-subtle: oklch(94.5% .018 85);--color-bg-card: oklch(99% .008 88);--color-bg-elevated: oklch(100% 0 0);--color-text-primary: oklch(22% .025 145);--color-text-secondary: oklch(45% .02 120);--color-text-tertiary: oklch(62% .015 100);--color-moss: oklch(38% .095 145);--color-moss-light: oklch(88% .04 145);--color-moss-hover: oklch(32% .1 145);--color-terracotta: oklch(58% .14 45);--color-terracotta-light: oklch(92% .04 45);--color-brass: oklch(74% .11 82);--color-brass-dark: oklch(52% .09 82);--color-brass-glow: oklch(88% .08 85);--color-border: oklch(88% .015 85);--color-border-subtle: oklch(92% .01 85);--color-border-strong: oklch(72% .02 85);--frame-oak: #c8a375;--frame-oak-shadow: #8b6b45;--frame-walnut: #4a3424;--frame-walnut-shadow: #2d1e14;--frame-brass: #d4af37;--frame-brass-shadow: #8c7118;--frame-ebony: #1e2022;--frame-ebony-shadow: #0f1011;--font-serif: "Cormorant Garamond", Georgia, serif;--font-display: "Cinzel", "Cormorant Garamond", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--shadow-sm: 0 2px 8px -2px oklch(20% .02 145 / .06);--shadow-md: 0 8px 24px -4px oklch(20% .02 145 / .08), 0 2px 6px -1px oklch(20% .02 145 / .04);--shadow-lg: 0 20px 40px -8px oklch(20% .02 145 / .12), 0 4px 12px -2px oklch(20% .02 145 / .06);--shadow-frame: 0 24px 48px -12px oklch(15% .03 145 / .22), 0 10px 20px -6px oklch(15% .03 145 / .14);--shadow-frame-hover: 0 32px 64px -12px oklch(15% .03 145 / .28), 0 16px 28px -6px oklch(15% .03 145 / .18);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .28s;--duration-slow: .45s}[data-theme=dark]{--color-bg: oklch(18% .015 145);--color-bg-subtle: oklch(22% .018 145);--color-bg-card: oklch(24% .015 145);--color-bg-elevated: oklch(28% .018 145);--color-text-primary: oklch(96% .01 88);--color-text-secondary: oklch(80% .015 95);--color-text-tertiary: oklch(65% .01 100);--color-border: oklch(30% .015 145);--color-border-subtle: oklch(26% .012 145);--color-border-strong: oklch(45% .02 145)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;min-height:100vh;position:relative;overflow-x:hidden;background-image:radial-gradient(at 100% 0%,var(--color-moss-light) 0px,transparent 40%),radial-gradient(at 0% 100%,var(--color-terracotta-light) 0px,transparent 35%);background-attachment:fixed}::selection{background-color:var(--color-brass-light);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.15;color:var(--color-text-primary);letter-spacing:-.01em}h1{font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:-.02em}h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}p{color:var(--color-text-secondary);font-size:1rem}a{color:inherit;text-decoration:none;transition:color var(--duration-fast) var(--ease-spring)}button,input,select,textarea{font-family:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:600;font-size:.925rem;letter-spacing:.02em;padding:.75rem 1.6rem;border-radius:var(--radius-xs);border:1px solid transparent;cursor:pointer;transition:all var(--duration-normal) var(--ease-spring);text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-moss);color:#fff;box-shadow:0 4px 16px -2px #135d1d66}.btn-primary:hover{background-color:var(--color-moss-hover);box-shadow:0 8px 24px -2px #135d1d8c;transform:translateY(-1px)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-subtle);border-color:var(--color-border-strong);color:var(--color-moss);transform:translateY(-1px)}.btn-brass{background:linear-gradient(135deg,#cda454,#c18e2d 50%,#ba840c 75%,#b67f00,#b07a00);background:linear-gradient(135deg,#cda454,#c18e2d 50%,#ba840c 75%,color(xyz 0.269 0.25 0.029),color(xyz 0.253 0.232 0.019));color:#1a160d;font-weight:700;border:1px solid oklch(80% .12 85);box-shadow:0 4px 16px -2px #cda45466}.btn-brass:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 8px 24px -2px #cda4548c}.btn-sm{padding:.45rem 1rem;font-size:.825rem}.btn-md{padding:.65rem 1.3rem;font-size:.9rem}.btn-lg{padding:.95rem 2rem;font-size:1.025rem}.btn-icon{width:2.4rem;height:2.4rem;padding:0;border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background-color:var(--color-bg-subtle)}.badge,.specimen-tag{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .65rem;border-radius:2px;position:relative;transition:all .2s ease}.badge-moss{background-color:#ebf3ec;color:var(--color-moss);border:1px solid #c9decb;box-shadow:inset 0 1px #fffc}.badge-brass{background:linear-gradient(135deg,#fdf8eb,#f7eccb);color:#7a5a14;border:1px solid #dfc788;box-shadow:inset 0 1px #fff,0 1px 3px #b8860b1f}.badge-terracotta{background-color:#faede6;color:var(--color-terracotta);border:1px solid #ebc6b3}.badge-outline{background-color:#faf9f6;border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.archival-bracket-tag{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-serif);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-moss);padding:.2rem .6rem;border-left:2px solid var(--color-moss);border-right:2px solid var(--color-moss);background-color:#385a3c0d}.editorial-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-moss)}.editorial-eyebrow:before,.editorial-eyebrow:after{content:"";display:inline-block;width:18px;height:1px;background-color:var(--color-moss);opacity:.5}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1.5rem;box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-spring)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}.container-wide{max-width:1440px}.container-narrow{max-width:900px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floatSoft{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(.8deg)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-spring) forwards}.animate-float{animation:floatSoft 6s ease-in-out infinite}.frame-canvas-wrapper{perspective:1200px;display:flex;align-items:center;justify-content:center}.botanical-frame-card{transition:transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-spring);transform-style:preserve-3d;box-shadow:var(--shadow-frame);position:relative;background-color:#fcfbfa}.botanical-frame-card:hover{box-shadow:var(--shadow-frame-hover)}.frame-glare-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#fff6,#ffffff14 40%,#fff0 60%,#ffffff26);pointer-events:none;border-radius:inherit;z-index:10}.blueprint-mode{background-color:#0d1a2d!important;background-image:linear-gradient(rgba(0,160,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(0,160,255,.15) 1px,transparent 1px)!important;background-size:20px 20px!important}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-moss)}
