:root{--action-light:#dbbd85}.system{--action-light:#bfadff}.bloom{--action-light:#c7e59e}
a,button,.gamecard,.featuregrid a{transition:color .15s,background-color .15s,box-shadow .16s,transform .15s}
a:hover,a:focus-visible{color:var(--action-light)}button:hover,.cta:hover{box-shadow:0 0 0 2px var(--action-light),0 4px 20px #0004}button:active,.cta:active,.gamecard:active{transform:translateY(2px);filter:brightness(.88)}
:focus-visible{outline:2px solid var(--action-light);outline-offset:3px}.submitting{opacity:.72;cursor:progress}.submitting:after{content:' …'}
.password-field{display:flex;align-items:center;position:relative;min-width:0}.password-field input{width:100%;padding-right:4.3rem!important}.password-field button{position:absolute;right:.4rem;background:transparent;border:0;color:inherit;padding:.5rem;font:600 13px system-ui}
.auth article{margin:1.5rem 0;padding:clamp(16px,3vw,30px);border:1px solid #ffffff29;border-radius:16px;background:#171921}.auth article h2{margin:0 0 .85rem}.auth article h2+p{margin:0 0 1.2rem}
[role=alert],[role=status]{padding:.9rem 1.15rem;background:#18282c;border:1px solid #7dc5b1;border-radius:12px;color:#e9fff8}[role=alert]{background:#37242a;border-color:#fca3a1;color:#fff0ec}.save-toast{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:99;box-shadow:0 8px 30px #0007;max-width:90vw;width:max-content}
.studio-signature img{mask-image:linear-gradient(transparent,#000 23%,#000 78%,transparent)}
.desk-nav{display:flex;gap:8px;flex-wrap:wrap;margin:1rem 0}.desk-nav a{padding:.55rem .85rem;border-radius:999px;border:1px solid #ffffff35;text-decoration:none}.desk-nav a[aria-current=page]{background:#e2c599;color:#151413}
.chartbars{display:flex;gap:3px;height:108px;align-items:end}.chartbars button{position:relative;flex:1;min-width:0;border:0;border-radius:3px;background:#bba4d5;padding:0;min-height:3px}.chartbars button:hover,.chartbars button:focus{background:#f0d194}.chartbars+output{display:block;min-height:26px;margin:.5rem 0}.film img{max-width:100%;height:auto;display:block;margin:auto}.bloom .featuregrid a img{object-fit:contain;background:#28271e}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.studio .auth:not(.desk) article{background:#faf8f4;color:#26242b;border-color:#d6d0c6}
.studio .error[role=alert]{background:#fff1ee;color:#681e1c;border:1px solid #c7675c}
.desk .desk-nav button,.desk article button:not(.chartbars button){border:1px solid #a196aa;border-radius:8px;background:#302b36;color:#fff;padding:.65rem 1rem;font:600 .9rem system-ui;cursor:pointer}
.desk .desk-nav label{display:grid;gap:.25rem;font-size:.8rem}
.training-chart{display:flex;align-items:flex-end;gap:5px;height:120px;margin:14px 0}
.training-chart button{border:0;border-radius:4px 4px 0 0;background:linear-gradient(#c9b4ff,#685098);min-height:4px;max-width:38px;min-width:3px;flex:1;padding:0}
.training-chart button:is(:hover,:focus){background:#d8c8ff}
