/* One quiet vector language for navigation, with comfortable touch targets. */
.otium-icon { display:inline-block; width:1.05em; height:1.05em; flex:0 0 auto; vertical-align:-.16em; pointer-events:none; }
.text-link .otium-icon,.footer .otium-icon { width:17px; height:17px; }
.language-switcher summary .otium-icon { width:16px; height:16px; }
.language-switcher summary .icon-down { width:12px; height:12px; transition:transform .2s; }
.language-switcher[open] summary .icon-down { transform:rotate(180deg); }
.studio-chapter-mark .otium-icon { display:none; }
.studio-controls,.studio-dialog-controls { gap:clamp(1.1rem,4vw,2rem); }
.studio-controls button,.studio-dialog-controls button,.oil-navigation .oil-arrow {
 width:54px; height:54px; min-width:54px; min-height:54px; padding:0; display:grid; place-items:center;
 border:1px solid #c9b78280; border-radius:50%; background:#c9b7820c; color:#f4eddd;
 touch-action:manipulation; -webkit-tap-highlight-color:transparent;
 transition:background .18s,border-color .18s,transform .18s;
}
.studio-controls button .otium-icon,.studio-dialog-controls button .otium-icon,.oil-navigation .oil-arrow .otium-icon { width:23px; height:23px; }
@media(hover:hover){
 .studio-controls button:hover,.studio-dialog-controls button:hover { background:#c9b78223; border-color:#d5c392; }
 .oil-navigation .oil-arrow:hover { background:#dcd3be; border-color:#6d7559; }
}
.studio-controls button:active,.studio-dialog-controls button:active,.oil-navigation .oil-arrow:active { transform:scale(.94); }
.studio-controls button:focus-visible,.studio-dialog-controls button:focus-visible,.oil-navigation .oil-arrow:focus-visible { outline:2px solid #bfa368; outline-offset:4px; }
.studio-pagination { min-width:65px; text-align:center; }
.studio-dialog-close { min-width:48px; min-height:48px; }
.studio-dialog-close .otium-icon { width:20px; height:20px; }
.otium-menu-close .otium-icon { width:20px; height:20px; }
.oil-navigation { display:grid; grid-template-columns:54px minmax(0,560px) 54px; justify-content:center; gap:.7rem 1.6rem; padding:1rem 1.3rem; }
.oil-navigation .oil-arrow { grid-row:1; color:#354331; border-color:#8a947875; background:#f8f4eb; }
.oil-navigation [data-oil-step="-1"] { grid-column:1; }
.oil-navigation [data-oil-step="1"] { grid-column:3; }
.oil-tabs { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; min-width:0; }
.oil-tabs button { min-width:0; min-height:54px; padding:.6rem .2rem; border-radius:5px; transition:background .2s; }
.oil-tabs button[aria-selected=true] { background:#d6ddcc70; color:#2e402d; }
.oil-tabs button::after { left:25%; right:25%; bottom:3px; transition:transform .25s; }
.oil-pagination { grid-row:2; grid-column:2; display:flex; flex-direction:column; align-items:center; gap:8px; font:500 .65rem/1.2 Manrope,sans-serif; font-variant-numeric:tabular-nums; letter-spacing:.13em; }
.oil-progress { display:block; width:90px; height:2px; overflow:hidden; background:#adb59c65; }
.oil-progress i { display:block; width:33.333333%; height:100%; background:#566a43; transform:translateX(var(--oil-offset,0%)); transition:transform .25s ease; }
.oil-visual { touch-action:pan-y pinch-zoom; }
.oil-scene { transition-duration:.65s; }
.oil-slider-ready .oil-panels .oil-panel { transition:opacity .4s ease,visibility 0s .4s; }
.oil-slider-ready .oil-panels .oil-panel.is-active { transition:opacity .4s ease; }
@media(max-width:760px){
 .studio-controls button,.studio-dialog-controls button,.oil-navigation .oil-arrow { width:56px; height:56px; min-width:56px; min-height:56px; }
 .oil-navigation { grid-template-columns:56px minmax(0,1fr) 56px; gap:12px 14px; padding:14px 18px; }
 .oil-tabs { grid-column:1/-1; grid-row:1; gap:6px; }
 .oil-tabs button { font-size:1rem; min-height:58px; }
 .oil-tabs .oil-tab-price { font-size:.58rem; white-space:nowrap; }
 .oil-navigation .oil-arrow { grid-row:2; }
 .oil-pagination { grid-row:2; }
 .studio-dialog-controls { display:grid; grid-template-columns:56px minmax(0,1fr) 56px; width:100%; gap:12px; }
 .studio-dialog-position { min-width:0; font-size:.68rem; text-align:center; }
 .studio-mobile-hint { line-height:1.7; }
}
@media(prefers-reduced-motion:reduce){.otium-icon,.language-switcher summary .icon-down,.studio-controls button,.studio-dialog-controls button,.oil-navigation .oil-arrow,.oil-progress i,.oil-tabs button { transition:none; }}
