:root{--canvas: #F7F4EE;--canvas-mid: #EEE9DF;--canvas-dark: #E0D9CC;--pure: #FDFCF9;--forest: #163D2B;--forest-mid: #1F5238;--forest-light: #2D7A54;--forest-pale: #E8F2EC;--forest-border: #A8CCBA;--gilt: #8C6D2F;--gilt-pale: #F2E8D4;--ink: #1C1A16;--ink-med: #3D3A32;--ink-soft: #7A7568;--ink-faint: #B8B2A8;--white: #FDFCF9;--status-ok: #163D2B;--status-warn: #8C6D2F;--status-alert: #8B2020;--critical: #8B2020;--critical-pale: #FDEAEA;--critical-border: #E8A8A8;--warning: #8C6D2F;--warning-pale: #F2E8D4;--warning-border: #D4C4A8;--info: #163D2B;--info-pale: #E8F2EC;--info-border: #A8CCBA;--font-display: "Playfair Display SC", "Playfair Display", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--font-mono: "IBM Plex Mono", monospace;--card-shadow: 0 1px 3px rgba(28, 26, 22, .06), 0 4px 12px rgba(28, 26, 22, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--canvas-mid)}::-webkit-scrollbar-thumb{background:var(--forest-border);border-radius:3px}::selection{background:var(--forest-pale);color:var(--forest)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:all .15s ease}button:disabled{opacity:.45;cursor:not-allowed}textarea,input{font-family:var(--font-mono);background:var(--pure);border:1px solid var(--canvas-dark);color:var(--ink);border-radius:6px;outline:none;transition:border-color .15s ease}textarea:focus,input:focus{border-color:var(--forest-border);box-shadow:0 0 0 3px #163d2b0f}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes stampIn{0%{opacity:0;transform:scale(1.6) rotate(-8deg)}60%{opacity:1;transform:scale(.92) rotate(1deg)}to{opacity:1;transform:scale(1) rotate(0)}}
