/* A quiet, compact toolbar above a stable top-to-bottom lesson. */
.studio-control-icon{width:21px;height:21px;flex:none}
.studio-toolbar{display:flex;align-items:center;gap:10px;position:relative;min-width:0}
.studio-toolbar .studio-path{margin:0;flex:none}
.studio-toolbar button,.studio-toolbar summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;font-size:17px;white-space:nowrap}
.studio-toolbar .studio-path button{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.studio-toolbar .studio-route-status{display:flex;align-items:center;gap:10px;flex:1;margin:0;padding:0;border:0;background:transparent;min-width:0}
.studio-toolbar .studio-route-progress{font-size:18px;font-weight:700;white-space:nowrap}
.studio-toolbar .studio-route-time{margin-left:auto;font-size:17px;font-variant-numeric:tabular-nums}
.studio-toolbar .studio-route-skip{border:1px solid var(--line);border-radius:12px}
.studio-toolbar .studio-study-options{margin:0 0 0 auto;position:static;border:0;border-radius:12px;background:var(--surface);width:auto;overflow:visible}
.studio-toolbar .studio-study-options>summary{list-style:none;border:1px solid var(--line);border-radius:12px;color:var(--pine);font-weight:700}
.studio-toolbar .studio-study-options>summary::after{display:none}
.studio-toolbar .studio-study-options>summary::-webkit-details-marker{display:none}
.studio-toolbar .studio-study-options[open]{position:absolute;right:0;top:0;z-index:30;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 155px);overflow:auto;border:1px solid var(--line);box-shadow:0 18px 50px #16474330}
.studio-toolbar .studio-study-options[open]>summary{display:flex;justify-content:flex-start;background:var(--soft);position:sticky;top:0;z-index:1}
.studio-toolbar .studio-study-options[open]>summary::after{display:inline;content:'닫기 ×';margin-left:auto;font-size:17px}
.studio-details-stats{display:block;margin:12px 20px;font-size:17px}
.studio-toolbar .studio-stop{position:static!important;min-height:44px!important}
body[data-view=studio]:has(.studio-exercise){height:100dvh;overflow:hidden}
body[data-view=studio]:has(.studio-exercise) .site-header{height:52px;min-height:52px;padding:5px 24px}
body[data-view=studio]:has(.studio-exercise) #workspace{padding:2px 24px 12px}
#studio-view:has(.studio-exercise){grid-template-columns:minmax(0,1fr);grid-template-rows:48px 46px 14px 24px auto minmax(0,1fr);gap:5px;max-width:1180px}
#studio-view:has(.studio-exercise)>.studio-heading{grid-row:1;grid-column:1;margin:0}
#studio-view:has(.studio-exercise) .studio-heading h1{font-size:30px}
#studio-view:has(.studio-exercise) .studio-mode-icon{width:42px;height:42px}
#studio-view:has(.studio-exercise)>.studio-toolbar{grid-row:2;grid-column:1}
#studio-view:has(.studio-exercise)>.studio-progress{grid-row:3;grid-column:1}
#studio-view:has(.studio-exercise)>.studio-item-meta{grid-row:4;grid-column:1;font-size:17px}
#studio-view:has(.studio-exercise)>.studio-automatic{grid-row:5;grid-column:1;display:flex;align-items:center;justify-content:space-between;padding:10px 18px 22px;min-height:0;height:84px}
#studio-view:has(.studio-exercise) .studio-phase-label{font-size:20px;max-width:58%;margin:0}
#studio-view:has(.studio-exercise) .studio-pause-toggle{display:flex;gap:9px;align-items:center;justify-content:center;min-width:182px;min-height:48px;font-size:20px}
#studio-view:has(.studio-exercise) .studio-actions{gap:10px}
#studio-view:has(.studio-exercise) .studio-shortcut{max-width:155px;font-size:16px;line-height:1.35}
#studio-view:has(.studio-exercise)>.studio-exercise{grid-row:6;grid-column:1;min-height:0;overflow:hidden;animation:lesson-reveal .28s ease both}
#studio-view:has(.studio-exercise) .studio-task{padding:18px 24px;justify-content:center;gap:8px;overflow:auto;overscroll-behavior:contain}
#studio-view .studio-exercise-automatic .studio-prompt{display:none}
#studio-view .studio-exercise[data-study-phase=answer] .studio-prompt{display:none}
#studio-view:has(.studio-exercise) .studio-task{justify-content:safe center}
#studio-view .studio-task>*{flex-shrink:0}
#studio-view .studio-answer>.studio-phrase{font-size:34px;line-height:1.25}
#studio-view .studio-answer>.studio-example{font-size:27px;line-height:1.3;padding-top:10px}
#studio-view .studio-answer>.studio-meaning{font-size:24px;line-height:1.3}
#studio-view .studio-answer>.studio-phonetics{font-size:22px;line-height:1.3}
#studio-view .studio-answer>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
#studio-view .studio-countdown{left:18px;bottom:6px;width:calc(100% - 36px);font-size:17px}
#studio-view .studio-countdown strong{font-size:19px;min-width:42px;font-variant-numeric:tabular-nums}
#studio-view .studio-countdown-track{height:5px}
#studio-view .studio-paused{z-index:40}
#studio-view .studio-situation{display:none}
#studio-view[data-study-mode=audio]>.studio-toolbar{margin-bottom:12px}
#studio-view .studio-audio-player [data-audio-play]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
@keyframes lesson-reveal{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){
  body[data-view=studio]:has(.studio-exercise) #workspace{padding:2px 12px 10px}
  body[data-view=studio]:has(.studio-exercise) .site-header{padding:5px 14px}
  #studio-view:has(.studio-exercise){grid-template-rows:46px 92px 12px 22px auto minmax(0,1fr);gap:4px}
  .studio-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:44px 44px;gap:4px 6px}
  .studio-toolbar .studio-path{grid-column:1;grid-row:1}
  .studio-toolbar .studio-study-options{grid-column:3;grid-row:1}
  .studio-toolbar .studio-route-status{grid-column:1/-1;grid-row:2;gap:8px;justify-content:flex-start}
  .studio-toolbar .studio-route-progress{font-size:17px}
  .studio-toolbar .studio-route-status button{padding:8px;width:44px;min-width:44px;height:44px;font-size:16px;gap:0}
  .studio-toolbar .studio-route-status button>span:not(.studio-control-icon){display:none}
  .studio-toolbar .studio-route-time{font-size:16px;margin-left:auto}
  .studio-toolbar .studio-stop{grid-column:2;grid-row:1;justify-self:end}
  .studio-toolbar button,.studio-toolbar summary{font-size:16px;padding:6px 10px}
  .studio-toolbar:has(:not(.studio-route-status)):not(:has(.studio-route-status)){grid-template-rows:44px}
  #studio-view:has(.studio-exercise):not(:has(.studio-route-status)){grid-template-rows:46px 46px 12px 22px auto minmax(0,1fr)}
  #studio-view:has(.studio-exercise) .studio-heading{gap:9px}
  #studio-view:has(.studio-exercise) .studio-heading h1{font-size:26px}
  #studio-view .studio-phonetics-toggle{font-size:16px;min-height:42px;padding:6px 9px;gap:5px}
  #studio-view .studio-phonetics-toggle [data-phonetics-state]{font-size:15px;padding:3px 7px}
  #studio-view:has(.studio-exercise)>.studio-automatic{height:104px;padding:10px 12px 25px;gap:8px}
  #studio-view:has(.studio-exercise) .studio-phase-label{max-width:calc(100% - 152px);font-size:19px;line-height:1.35}
  #studio-view:has(.studio-exercise) .studio-actions{flex-direction:column;gap:4px;align-items:center}
  #studio-view:has(.studio-exercise) .studio-pause-toggle{min-width:140px;min-height:46px;font-size:18px;padding:7px 10px}
  #studio-view:has(.studio-exercise) .studio-shortcut{font-size:14px;max-width:145px}
  #studio-view .studio-shortcut span{display:none}
  #studio-view .studio-shortcut kbd{display:inline-block;padding:2px 6px;font-size:14px}
  #studio-view .studio-shortcut kbd::after{content:' 일시정지';font-size:14px}
  #studio-view:has(.studio-exercise) .studio-automatic .studio-actions{display:flex;flex-direction:column;gap:4px;align-items:center}
  #studio-view:has(.studio-exercise) .studio-task{padding:16px 18px}
  #studio-view .studio-answer{grid-template-columns:minmax(0,1fr) 44px;gap:7px 10px}
  #studio-view .studio-answer>button{grid-column:2;justify-self:center;font-size:17px;padding:8px;min-width:44px;width:44px;max-width:44px}
  #studio-view .studio-answer>button>span:not(.studio-control-icon){display:none}
  #studio-view .studio-answer>.studio-phrase{font-size:30px}
  #studio-view .studio-answer>.studio-example{font-size:22px}
  #studio-view .studio-answer>.studio-meaning{font-size:22px}
  #studio-view .studio-answer>.studio-phonetics{font-size:20px}
  #studio-view .studio-countdown{left:12px;width:calc(100% - 24px);font-size:16px}
}
#studio-view .studio-paused .studio-note{font-size:18px;line-height:1.5}
@media(max-height:680px){#studio-view:has(.studio-exercise) .studio-task{padding:10px 20px}#studio-view .studio-answer{gap:6px 14px}#studio-view .studio-answer>.studio-phrase{font-size:30px}#studio-view .studio-answer>.studio-example,#studio-view .studio-answer>.studio-meaning{font-size:22px}#studio-view .studio-answer>.studio-phonetics{font-size:20px}}
@media(prefers-reduced-motion:reduce){#studio-view:has(.studio-exercise)>.studio-exercise{animation:none}}
/* Give status, actions and keyboard help their own space at every width. */
#studio-view:has(.studio-exercise)>.studio-automatic{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;height:auto;min-height:84px;padding:14px 18px;margin:0;position:relative}
#studio-view:has(.studio-exercise) .studio-phase-label{grid-column:1;grid-row:1;max-width:none;font-size:16px;line-height:1.55;overflow-wrap:break-word}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-actions{grid-column:2;grid-row:1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin:0;max-width:440px}
#studio-view:has(.studio-exercise) .studio-automatic .studio-actions button{flex:0 1 auto;min-width:0;min-height:44px;font-size:16px;padding:10px 15px;white-space:normal}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-shortcut{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0;justify-content:flex-end;font-size:12px;line-height:1.4;gap:6px;color:var(--muted)}
#studio-view:has(.studio-exercise) .studio-automatic>.studio-countdown{grid-column:1/-1;grid-row:3;position:static;width:100%;margin:0;padding:0;font-size:13px;min-height:24px}
@media(max-width:800px){
 #studio-view:has(.studio-exercise)>.studio-automatic{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px 14px}
 #studio-view:has(.studio-exercise) .studio-automatic>.studio-actions{grid-column:1;grid-row:2;justify-content:flex-start;max-width:none}
 #studio-view:has(.studio-exercise) .studio-automatic .studio-shortcut{display:none}
}
