/* Studio shell is shared with the wheel; these rules fit a wide race stage. */
.duck-race-page .duck-race-game{--purple:#6817ff;--deep:#17124c;--ink:#17124c;--line:#ececf5;--muted:#82789b;background:none;font:inherit;color:var(--ink);scroll-margin-top:80px}
.duck-race-page .duck-race-game .duck-studio{max-width:none;width:100%;margin:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 20px #47267c04}
.duck-race-page .duck-race-game .topbar{padding:0 0 16px;margin:0;gap:12px;align-items:center}
.duck-race-page .duck-race-game .game-heading{margin:0;min-width:0}
.duck-race-page .duck-race-game .game-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.6px;margin:0 0 6px;font-weight:750}
.duck-race-page .duck-race-game .game-heading p{font-size:11px;line-height:1.6;margin:0;color:var(--muted)}
.duck-race-page .duck-race-game .game-heading>img{width:42px;height:42px;flex-shrink:0}
.duck-race-page .duck-race-game .head-actions{gap:7px}
.duck-race-page .duck-race-game .outline,.duck-race-page .duck-race-game .button{font:inherit;font-size:12px;font-weight:650;border-radius:9px;white-space:nowrap}
.duck-race-page .duck-race-game .small{font-size:11px;padding:8px 11px;min-height:34px}
.duck-race-page .duck-race-game .duck-workbench{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto 1fr auto;grid-template-areas:'stage config' 'stage people' 'results results';gap:14px;align-items:start}
.duck-race-page .duck-race-game .duck-stage{grid-area:stage;min-width:0;align-self:stretch;display:flex}
.duck-race-page .duck-race-game .race-main{display:flex;flex-direction:column;width:100%;height:100%}
.duck-race-page .duck-race-game .screen-frame{flex:1;min-height:0;display:flex}
.duck-race-page .duck-race-game .scene{width:100%;flex:1;aspect-ratio:auto;min-height:440px}
.duck-race-page .duck-race-game .config-panel{grid-area:config}
.duck-race-page .duck-race-game .people-panel{grid-area:people}
.duck-race-page .duck-race-game .race-history{grid-area:results}
.duck-race-page .duck-race-game .panel{min-height:0!important;width:100%;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;box-shadow:none;background:#fff;display:block}
.duck-race-page .duck-race-game .panel h2{font-size:13px;line-height:1.5;margin:0 0 14px;color:var(--ink);font-weight:700}
.duck-race-page .duck-race-game .panel h2 span{font-size:10px;font-weight:400;color:var(--muted)}
.duck-race-page .duck-race-game .field-title{font-size:10px;font-weight:650;letter-spacing:.4px;color:#82789b;display:block;margin:0 0 8px}
.duck-race-page .duck-race-game .duration{gap:5px;margin-bottom:12px}
.duck-race-page .duck-race-game .dur-btn{min-width:0;padding:9px 4px;font-size:11px;font-weight:650;border-radius:7px;background:#faf8ff;color:#746488;border-color:#ece7f6}
.duck-race-page .duck-race-game .dur-btn.selected{background:linear-gradient(110deg,#8533ff,#5500f5);color:#fff;border-color:#7420ff}
.duck-race-page .duck-race-game .custom-time{font-size:11px;gap:8px}
.duck-race-page .duck-race-game .custom-time input{width:90px;border-radius:7px;padding:8px;font-size:12px;color:var(--ink)}
.duck-race-page .duck-race-game .toggle-line{margin-top:10px;font-size:11px;align-items:flex-start}
.duck-race-page .duck-race-game .toggle-line input{margin:2px 0 0;flex-shrink:0}
.duck-race-page .duck-race-game .tiny-note{font-size:10px;line-height:1.6;margin:10px 0 0}
.duck-race-page .duck-race-game .textarea{height:178px;min-height:100px;font-size:12px;line-height:1.65;border-radius:8px;border-color:#e9e4f4;background:#fcfbff;padding:10px}
.duck-race-page .duck-race-game .sample-btn{font-size:10px;border-radius:7px;margin-bottom:8px;color:#6921da;background:#f8f4ff}
.duck-race-page .duck-race-game .hintline{font-size:9px;gap:6px}
.duck-race-page .duck-race-game .controls-bar{padding:14px 0 0;justify-content:center}
.duck-race-page .duck-race-game .race-controls{gap:8px;flex-wrap:wrap;justify-content:center}
.duck-race-page .duck-race-game .race-controls .button{min-height:43px;padding:10px 22px}
.duck-race-page .duck-race-game .race-controls .outline{min-height:43px;padding:10px 14px}
.duck-race-page .duck-race-game .history{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0;margin:0}
.duck-race-page .duck-race-game .history li{font-size:12px;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:10px;gap:8px;display:flex}
.duck-race-page .duck-race-game .history strong{max-width:150px;color:#6817ff}
.duck-race-page .duck-race-game .muted-empty{grid-column:1/-1}
.duck-race-page .duck-race-game .mobile-tabs{display:none}
.duck-race-page .duck-race-seo .seo-section{margin-top:28px}
@media(max-width:1250px){
  .duck-race-page .duck-race-game .duck-studio{padding:14px}
  .duck-race-page .duck-race-game .duck-workbench{grid-template-columns:minmax(0,1fr) 245px;gap:10px}
  .duck-race-page .duck-race-game .topbar{flex-wrap:wrap}
  .duck-race-page .duck-race-game .studio-heading-actions{margin-left:auto;flex-wrap:wrap;gap:6px}
  .duck-race-page .duck-race-game .scene{min-height:440px}
}
@media(max-width:850px){
  .duck-race-page .duck-race-game .duck-workbench{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;grid-template-areas:'stage stage' 'config people' 'results results'}
  .duck-race-page .duck-race-game .duck-stage,.duck-race-page .duck-race-game .race-main,.duck-race-page .duck-race-game .screen-frame{display:block;height:auto}
  .duck-race-page .duck-race-game .scene{aspect-ratio:16/10;min-height:320px}
}
@media(max-width:600px){
  .duck-race-page .duck-race-game .duck-studio{padding:10px;border-radius:13px}
  .duck-race-page .duck-race-game .topbar{display:block;padding:3px 1px 12px}
  .duck-race-page .duck-race-game .game-heading h2{font-size:23px}
  .duck-race-page .duck-race-game .game-heading>img{width:34px;height:34px}
  .duck-race-page .duck-race-game .studio-heading-actions{justify-content:flex-end;gap:5px;margin-top:10px}
  .duck-race-page .duck-race-game .studio-heading-actions>a{display:none}
  .duck-race-page .duck-race-game .mobile-tabs{display:flex;margin:0 0 12px}
  .duck-race-page .duck-race-game .duck-workbench{display:block}
  .duck-race-page .duck-race-game [data-area]{display:none}
  .duck-race-page .duck-studio[data-panel=preview] [data-area=preview],.duck-race-page .duck-studio[data-panel=config] [data-area=config],.duck-race-page .duck-studio[data-panel=people] [data-area=people],.duck-race-page .duck-studio[data-panel=results] [data-area=results]{display:block}
  .duck-race-page .duck-race-game .scene{aspect-ratio:4/3;min-height:300px}
  .duck-race-page .duck-race-game .panel{padding:13px}
  .duck-race-page .duck-race-game .race-controls{width:100%;gap:5px}
  .duck-race-page .duck-race-game .race-controls .button{flex:1;font-size:11px;padding:10px 8px}
  .duck-race-page .duck-race-game .race-controls .outline{font-size:10px;padding:10px 8px}
  .duck-race-page .duck-race-game .textarea{height:260px;font-size:16px}
  .duck-race-page .duck-race-game .history{display:block}
  .duck-race-page .duck-race-game .history li{margin-bottom:8px}
}
/* Presentation keeps the approved edge-to-edge river, regardless of mobile tab. */
.duck-race-page:has(.duck-race-game .presentation)>.app-sidebar,.duck-race-page:has(.duck-race-game .presentation)>.sidebar-scrim,.duck-race-page:has(.duck-race-game .presentation) .hero,.duck-race-page:has(.duck-race-game .presentation) .game-tiles{display:none!important}
.duck-race-page .duck-race-game .presentation.duck-studio{position:fixed;inset:0;z-index:80;width:100%;height:100dvh;max-width:none;padding:0;margin:0;border:0;border-radius:0}
.duck-race-page .duck-race-game .presentation .duck-workbench,.duck-race-page .duck-race-game .presentation .duck-stage,.duck-race-page .duck-race-game .presentation .race-main{display:block;height:100%;padding:0;margin:0}
.duck-race-page .duck-race-game .presentation .topbar,.duck-race-page .duck-race-game .presentation .mobile-tabs,.duck-race-page .duck-race-game .presentation .panel,.duck-race-page .duck-race-game .presentation .controls-bar{display:none}
.duck-race-page .duck-race-game .presentation .scene{height:100dvh;width:100%;min-height:0;aspect-ratio:auto}
