:root{--ink: #08090b;--iron-800: #101216;--iron-700: #171a20;--iron-600: #22262e;--hairline: #343943;--brass: #a98b4f;--brass-bright: #c2a24c;--ember: #d96c2c;--glow: #5fa99c;--bone: #e8e3d8;--muted: #9a958b;--danger: #b4452f;--brand-mark: #ff6f61;--font-display: "Cinzel", serif;--font-condensed: "Saira Condensed", sans-serif;--font-body: "Inter", sans-serif;--font-data: "Space Mono", monospace}html,body{margin:0;padding:0}body{width:100vw;height:100vh;overflow:hidden;background-color:var(--ink);color:var(--bone);font-family:var(--font-body)}#root{width:100%;height:100%}.grain:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.vignette:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40;background:radial-gradient(120% 90% at 50% 0%,transparent 40%,rgba(8,9,11,.55) 100%),radial-gradient(60% 45% at 50% 110%,rgba(217,108,44,.06) 0%,transparent 70%)}.panel{background-color:var(--iron-700);border:1px solid var(--hairline)}.chip-corner{clip-path:polygon(0 10px,10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px))}.engraved{font-family:var(--font-display);letter-spacing:.14em;color:var(--bone);text-shadow:0 1px 0 rgba(0,0,0,.8),0 -1px 0 rgba(169,139,79,.25)}.brand-wordmark{font-family:var(--font-display);font-weight:700;color:var(--brand-mark);letter-spacing:.02em}.plate-rule{border-top:1px solid var(--brass);opacity:.5}.scan-line{position:relative;overflow:hidden}.scan-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(95,169,156,.12) 50%,transparent 100%);animation:scan 1.4s infinite linear}@keyframes scan{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.scan-line:after{animation:none}*{transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--glow);outline-offset:2px}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
