:root{--font-serif: "Newsreader", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--paper: #FAF8F5;--paper-subtle: #F4EFEB;--paper-warm: #EFE9DC;--paper-card: #FFFFFF;--paper-sunken: #E7E0D3;--bone: #F0EBE1;--bone-card: #FFFFFF;--bone-raised: #FFFFFF;--ink: #191816;--ink-secondary: #5C5850;--ink-muted: #7E796F;--ink-faint: #989387;--hairline: rgba(25, 24, 22, .12);--hairline-dark: rgba(25, 24, 22, .18);--hairline-strong: rgba(25, 24, 22, .22);--sanguine: #B4532F;--sanguine-hover: #963F20;--sanguine-light: #FBF0EF;--sanguine-tint: rgba(180, 83, 47, .08);--sanguine-border: rgba(180, 83, 47, .28);--sanguine-glow: rgba(180, 83, 47, .25);--accent-olive: #566952;--accent-amber: #B87A28;--accent-blue: #3E6482;--accent-sand: #EFE9DC;--night: #151513;--night-surface: #1E1D1A;--night-surface-raised: #282723;--night-border: #32312B;--night-hairline: #3E3C35;--night-ink: #EDE8DE;--night-secondary: #9E998D;--night-faint: #5F5B51;--night-sanguine: #E25B4C;--night-sanguine-glow: rgba(226, 91, 76, .25);--ease-apple: cubic-bezier(.2, .8, .2, 1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100vh;background-color:var(--paper);color:var(--ink);font-size:15px;line-height:1.5;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.font-serif{font-family:var(--font-serif)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;color:var(--ink);letter-spacing:-.01em}.btn-sanguine{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--sanguine);color:#fff;border:1px solid var(--sanguine-hover);border-radius:var(--radius-md);padding:.85rem 1.85rem;min-height:48px;font-family:var(--font-sans);font-size:.94rem;font-weight:500;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 3px #b4532f33,inset 0 1px #ffffff2e;transition:all .16s var(--ease-apple);-webkit-user-select:none;user-select:none;text-decoration:none}.btn-sanguine:hover:not(:disabled){background-color:var(--sanguine-hover);box-shadow:0 4px 12px #b4532f47,inset 0 1px #ffffff38;transform:translateY(-1px)}.btn-sanguine:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #b4532f33}.btn-sanguine:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--paper-card);color:var(--ink);border:1px solid var(--hairline-strong);border-radius:var(--radius-md);padding:.85rem 1.6rem;min-height:48px;font-family:var(--font-sans);font-size:.92rem;font-weight:500;cursor:pointer;box-shadow:0 1px 3px #0000000a;transition:all .16s var(--ease-apple);-webkit-user-select:none;user-select:none;text-decoration:none}.btn-secondary:hover:not(:disabled){background-color:var(--paper-warm);border-color:var(--ink-secondary);transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-text{background:transparent;border:none;color:var(--ink-secondary);font-family:var(--font-mono);font-size:.82rem;cursor:pointer;padding:.5rem .75rem;min-height:44px;display:inline-flex;align-items:center;transition:color .15s ease;-webkit-user-select:none;user-select:none}.btn-text:hover{color:var(--sanguine)}.plate-frame{background-color:var(--paper-card);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);padding:1.5rem;transition:border-color .15s ease,box-shadow .15s ease}.plate-frame-double{background-color:var(--paper-card);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);padding:1.75rem;position:relative;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--hairline-strong)}.plate-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1rem;border-bottom:1px solid var(--hairline);padding-bottom:.5rem}.plate-number{font-family:var(--font-serif);font-size:.9rem;font-style:italic;color:var(--sanguine);letter-spacing:.02em}.mono-tag{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.teen-badge{background-color:var(--sanguine-tint);border:1px solid var(--sanguine-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--sanguine)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.96)}}@keyframes sweepScan{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse-subtle{animation:pulseSubtle 2.5s infinite ease-in-out}.caliper-mark{stroke:var(--sanguine);stroke-width:1.25;stroke-dasharray:2 2}.hairline{border:none;border-top:1px solid var(--hairline)}.border-hairline{border:1px solid var(--hairline)}.border-b-hairline{border-bottom:1px solid var(--hairline)}.border-t-hairline{border-top:1px solid var(--hairline)}.specimen-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--hairline-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}input[type=range]{-webkit-appearance:none;background:transparent}input[type=range]:focus{outline:none}
