:root{--color-bg:#0b0d0f;--color-surface:#14181b;--color-accent-rgb:245 194 107;--color-accent:rgb(var(--color-accent-rgb));--color-accent-strong:#f8d595;--color-accent-soft:rgb(var(--color-accent-rgb) / .15);--color-accent-line:rgb(var(--color-accent-rgb) / .4);--color-text:#fff;--color-text-muted:#fff9;--color-text-faint:#ffffff59;--color-on-accent:#0d0d0d;--glass-bg:#0f12148c;--glass-border:1px solid #ffffff1f;--glass-blur:blur(8px);--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-card:0 10px 24px #00000080;--shadow-lift:0 14px 34px #0000008c;--glow-accent:0 0 30px rgb(var(--color-accent-rgb) / .18);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.2s;--dur-med:.4s;--font-body:Arial, sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;margin:0;padding:0;font-family:Inter,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:before,:after{box-sizing:border-box}p{text-align:center;color:#fff}:root{--scrollbar-track:#0d0d0d;--scrollbar-thumb:#2a2a2a;--scrollbar-thumb-hover:#3a3a3a;--scrollbar-width:6px}::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}a.back-to-catalogue-btn{text-decoration:none;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.App{text-align:center}.error-boundary{text-align:center;color:#fff;background:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-boundary h2{margin-bottom:1rem;font-size:2rem}.error-boundary p{color:#f59999;margin-bottom:2rem;font-size:1.1rem}.error-boundary button{color:#282c34;cursor:pointer;background:#f59999;border:none;border-radius:8px;width:auto;padding:.75rem 2rem;font-size:1rem}.error-boundary button:hover{background:#ffb3b3}
