/* Consistent player controls without replacing each game's art direction. */
.studio-toolbar { position:relative; z-index:120; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:10px clamp(12px,3vw,32px); background:#101b2e; color:#f7fafc; border-bottom:1px solid #40516d; font:600 16px/1.4 system-ui,sans-serif; box-sizing:border-box; }
.studio-toolbar > div { display:flex; flex-wrap:wrap; gap:6px; }
.studio-toolbar button,.studio-toolbar a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid #61728e; border-radius:10px; background:#1e304c; color:#f7fafc; font:inherit; text-decoration:none; cursor:pointer; box-sizing:border-box; }
.studio-toolbar button:hover,.studio-toolbar a:hover { background:#314666; }
.studio-toolbar button[aria-pressed=true] { color:#101b2e; background:#b4f0de; border-color:#b4f0de; }
.studio-toolbar [hidden],.studio-notice[hidden] { display:none !important; }
.studio-toolbar :focus-visible,.studio-dialog :focus-visible { outline:3px solid #f5c96a; outline-offset:3px; }
.studio-dialog { width:min(560px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); overflow:auto; padding:28px; border:1px solid #8ca0bc; border-radius:20px; background:#14243a; color:#f7fafc; font:400 18px/1.6 system-ui,sans-serif; margin:auto; box-sizing:border-box; box-shadow:0 24px 100px #0009; }
.studio-dialog::backdrop { background:#071221c9; }
.studio-dialog h2 { color:#fff; font-size:26px; line-height:1.2; margin:0 0 20px; }
.studio-dialog ol { padding-left:25px; }
.studio-dialog li { margin-bottom:16px; }
.studio-dialog p { color:#cbd7e7; font-size:16px; }
.studio-dialog label { display:flex; gap:12px; align-items:center; padding:12px 0; cursor:pointer; }
.studio-dialog input { accent-color:#a7ebd5; width:24px; height:24px; flex-shrink:0; }
.studio-dialog button { border:0; border-radius:10px; background:#b4f0de; color:#101b2e; min-height:48px; padding:10px 18px; font:700 18px/1.4 system-ui,sans-serif; cursor:pointer; width:100%; }
.studio-notice { position:fixed; bottom:max(20px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); z-index:150; width:max-content; max-width:calc(100vw - 32px); padding:12px 20px; border:1px solid #93a7c4; border-radius:12px; color:#f7fafc; background:#14243a; font:600 16px/1.5 system-ui,sans-serif; box-shadow:0 8px 40px #0005; box-sizing:border-box; pointer-events:none; }
.studio-notice[data-kind=good],.studio-notice[data-kind=complete] { border-color:#a7ebd5; }
.studio-notice[data-kind=coach] { border-color:#f5c96a; }
.studio-reduced-motion *, .studio-reduced-motion *::before,.studio-reduced-motion *::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
.studio-contrast .studio-toolbar,.studio-contrast .studio-dialog { background:#000; border-color:#fff; }
.studio-contrast canvas { filter:contrast(1.15); }
@media(max-width:600px) { .studio-toolbar { align-items:stretch; padding:8px; } .studio-toolbar > div { flex:1; } .studio-toolbar button,.studio-toolbar a { font-size:14px; padding:8px; } .studio-dialog { padding:20px; } }
@media print { .studio-toolbar,.studio-dialog,.studio-notice { display:none!important; } }

.studio-toolbar > a { align-self:center; }
