:root{--bg-light:#fdfdfb;--bg-dark:#000;--font-mono:"JetBrains Mono", monospace;--font-serif:"Cormorant Garamond", serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{font-family:var(--font-mono);margin:0;transition:background-color .5s;overflow:hidden}body.light-theme{background-color:var(--bg-light);color:#1a1a1a}body.dark-theme{background-color:var(--bg-dark);color:#f5f5f5}#root{width:100vw;height:100vh;position:relative;overflow:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:focus-visible{outline:1px solid}:root{--gold-accent:#c5a059;--bone-white:#fdfdfb;--graphite:#333;--gold-tint:#c5a0591f;--gold-kinetic-fill:#c5a0591a;--border-hairline:1px}body.dark-theme{--theme-color:#fdfdfb;--bg-color:#000;--border-idle:#c5a059;--border-hover:#c5a059;background-color:var(--bg-color);color:var(--theme-color)}body.light-theme{--theme-color:#333;--bg-color:#fdfdfb;--border-idle:#c5a059;--border-hover:#c5a059;--gold-kinetic-fill:#3333330d;background-color:var(--bg-color);color:var(--theme-color)}.game-container{z-index:1;pointer-events:none;position:fixed;inset:0}.corner-bracket{opacity:.6;pointer-events:none;z-index:100;width:16px;height:16px;position:fixed;border-color:#c5a059!important}body.dark-theme .corner-bracket,body.light-theme .corner-bracket{border-color:#c5a059!important}.corner-bracket.top-left{top:32px;left:32px;border-top:1px solid #c5a059!important;border-left:1px solid #c5a059!important}.corner-bracket.top-right{top:32px;right:32px;border-top:1px solid #c5a059!important;border-right:1px solid #c5a059!important}.corner-bracket.bottom-left{bottom:32px;left:32px;border-bottom:1px solid #c5a059!important;border-left:1px solid #c5a059!important}.corner-bracket.bottom-right{bottom:32px;right:32px;border-bottom:1px solid #c5a059!important;border-right:1px solid #c5a059!important}.active-hud-overlay{pointer-events:none;z-index:50;box-sizing:border-box;padding:32px;position:fixed;inset:0}.hud-logo-container{pointer-events:auto;position:fixed;top:32px;left:32px}.hud-controls{pointer-events:auto;flex-direction:row;align-items:center;gap:12px;display:flex;position:fixed;top:32px;right:32px}.velocity-btn{text-transform:uppercase;letter-spacing:.1em;color:#c5a059;cursor:pointer;pointer-events:auto;box-shadow:none;background:0 0;justify-content:center;align-items:center;gap:8px;padding:.75rem 1.25rem;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .18s ease-out,color .18s ease-out,letter-spacing .18s ease-out,background-color .22s ease-out;display:inline-flex;border:1px solid #c5a059!important;border-radius:0!important}.velocity-btn:hover,.velocity-btn.hovered{letter-spacing:.15em;color:#c5a059!important;background-color:var(--gold-kinetic-fill)!important;border-color:#c5a059!important}.velocity-btn.active{background:#c5a05929;color:#c5a059!important;border-color:#c5a059!important}.bento-container{grid-template-rows:auto auto;grid-template-columns:repeat(12,1fr);align-items:stretch;gap:1rem;display:grid}.bottom-row-module{flex-direction:column;height:420px;display:flex}.begin-session-slab{transition:box-shadow .4s cubic-bezier(.22,1,.36,1)}.begin-session-slab:hover{box-shadow:0 0 15px #c5a05973,0 0 35px #c5a0594d,0 0 70px #c5a05933,0 0 110px #c5a0591a!important}.begin-session-btn{box-shadow:none;color:#000!important;letter-spacing:.18em!important;background:#c5a059!important;border:1px solid #c5a059!important;border-radius:0!important;font-size:13px!important;font-weight:800!important;transition:background-color .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .4s cubic-bezier(.22,1,.36,1),letter-spacing .22s ease-out!important}.begin-session-btn:hover{color:#000!important;background:#c5a059!important;border-color:#c5a059!important;box-shadow:0 0 20px #c5a0598c,0 0 45px #c5a05959,0 0 80px #c5a05938!important}@keyframes goldBorderPulse{0%{border-color:#c5a059;box-shadow:0 0 8px #c5a05966}50%{border-color:#fff3b3;box-shadow:0 0 22px #fff3b3d9}to{border-color:#c5a059;box-shadow:0 0 8px #c5a05966}}.accuracy-stats-panel{letter-spacing:1px;text-transform:uppercase;z-index:50;pointer-events:auto;background:#000000d9;border-radius:0;flex-direction:column;gap:6px;padding:16px;font-family:JetBrains Mono,monospace;font-size:11px;display:flex;position:fixed;bottom:32px;left:32px;border:1px solid #c5a059!important}body.light-theme .accuracy-stats-panel{background:#fdfdfbeb}.stat-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.stat-label{opacity:.55;color:#fdfdfb}body.light-theme .stat-label{color:#333;opacity:.6}.stat-value{color:#c5a059;font-weight:700}.massive-wpm-container{color:#c5a059;opacity:.08;-webkit-user-select:none;user-select:none;z-index:-1;pointer-events:none;font-family:Cormorant Garamond,serif;font-size:7vw;font-style:italic;font-weight:700;position:fixed;bottom:48px;right:32px}.momentum-bar-track{z-index:-1;pointer-events:none;background:#c5a0591f;width:7vw;height:1px;position:fixed;bottom:40px;right:32px;overflow:hidden}.momentum-bar-fill{opacity:0;transform-origin:0;background:#c5a059;width:0%;height:100%}.ghost-synergy-flash{letter-spacing:2px;text-transform:uppercase;opacity:0;color:#c5a059;-webkit-user-select:none;user-select:none;z-index:1;pointer-events:none;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;transition:opacity .15s ease-out,text-shadow .15s ease-out,transform .15s ease-out;position:fixed;bottom:calc(64px + 7vw);right:32px;transform:translateY(4px)}.ghost-synergy-flash.active{opacity:1;text-shadow:0 0 18px #c5a0598c;transform:translateY(0)}.ghost-synergy-flash.perfect{color:#d4af37;letter-spacing:3px;text-shadow:0 0 24px #d4af37b3}.interactive-area{pointer-events:auto;z-index:1;position:absolute;inset:0}.bento-module,.bento-box{transition:background-color .25s,border-color .25s,box-shadow .25s;position:relative;border:1px solid #c5a059!important;border-radius:0!important}.bento-module:hover,.bento-box:hover{box-shadow:0 0 18px #c5a0592e;background-color:#c5a0591a!important;border-color:#c5a059!important}.protocol-module .protocol-item{color:var(--theme-color,#fdfdfb);opacity:.7;transition:opacity .2s,color .2s}.protocol-module:hover .protocol-item{text-shadow:0 0 10px #c5a0598c;animation:.25s cubic-bezier(.25,1,.5,1) protocolFlicker;color:#c5a059!important;opacity:1!important}@keyframes protocolFlicker{0%{opacity:.5;color:#fdfdfb}25%{opacity:1;color:#c5a059}50%{opacity:.7;color:#fdfdfb}75%{opacity:1;color:#fff3b3}to{opacity:1;color:#c5a059}}
