#studio-open { position:fixed; z-index:35; right:20px; bottom:20px; padding:12px 18px; border:1px solid #cbd7ff; background:#141933ed; color:#f4f6ff; font:14px "IBM Plex Mono",monospace; box-shadow:0 8px 30px #0005; cursor:pointer; }
#studio-panel { position:fixed; z-index:50; right:14px; top:76px; bottom:76px; width:min(340px,calc(100vw - 28px)); overflow:auto; padding:22px; background:#11182bf5; border:1px solid #b8cdfb88; color:#f2f5ff; box-shadow:0 12px 50px #0008; font:14px/1.5 "IBM Plex Sans",sans-serif; overscroll-behavior:contain; }
#studio-panel[hidden] { display:none; }
#studio-panel h2 { font:24px "IBM Plex Mono",monospace; margin:0 0 15px; }
#studio-panel fieldset { border:0; padding:16px 0; margin:0; border-top:1px solid #b4c4e433; min-width:0; }
#studio-panel legend { padding:12px 0 0; font-weight:500; color:#d4e8b4; }
#studio-panel label { display:grid; gap:5px; margin:10px 0; }
#studio-panel :is(select,input:not([type=range]),button) { min-height:40px; max-width:100%; border:1px solid #a7b9e563; color:#f3f5ff; background:#202c47; font:14px "IBM Plex Sans",sans-serif; padding:8px; border-radius:0; }
#studio-panel select { width:100%; }
#studio-panel button { cursor:pointer; }
#studio-panel input[type=file] { width:100%; font-size:12px; }
#studio-panel input[type=range] { width:100%; accent-color:#d2eb9b; }
.studio-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
#studio-panel .studio-note { color:#bac7e1; font-size:13px; }
#studio-status { color:#d3e9ad; min-height:42px; }
.studio-chrome { display:none; }
body.studio-editing [data-studio-block] { outline:1px dashed #bce4ff99; outline-offset:4px; }
body.studio-editing [data-studio-selected] { outline:2px solid #d5f6a7; }
body.studio-editing .studio-chrome { display:block; }
.studio-handle { position:absolute; z-index:12; top:4px; left:4px; padding:7px 11px; color:#102039; background:#cbdcff; border:1px solid #fff9; font:12px "IBM Plex Mono",monospace; cursor:grab; touch-action:none; min-height:32px; }
.studio-corner { position:absolute; z-index:13; width:24px; height:24px; border:1px solid #d7fbb2; background:#101d36; touch-action:none; padding:0; }
.studio-corner::after { content:""; position:absolute; inset:7px; background:#d7fbb2; }
.studio-corner[data-corner=nw] { top:-9px;left:-9px;cursor:nwse-resize; }
.studio-corner[data-corner=ne] { top:-9px;right:-9px;cursor:nesw-resize; }
.studio-corner[data-corner=sw] { bottom:-9px;left:-9px;cursor:nesw-resize; }
.studio-corner[data-corner=se] { bottom:-9px;right:-9px;cursor:nwse-resize; }
[data-studio-block] { translate:var(--studio-x,0) var(--studio-y,0); }
[data-studio-sized] { max-width:calc(100vw - 32px) !important; min-height:0 !important; box-sizing:border-box; }
[data-studio-width] { width:var(--studio-width) !important; }
[data-studio-height] { height:var(--studio-height) !important; overflow:auto; }
body.studio-editing [data-studio-height] { overflow:visible; }
body [data-studio-font] :is(h1,h2,h3,p,span,a,button,summary) { font-family:var(--studio-font) !important; }
.archive-entity[hidden] { display:none !important; }
body[data-studio-titles] :is(h1,h2,.pattern-column h2,.section-intro h2,.trace-year,.number-value,.world-label) { font-family:var(--display); }
body[data-studio-body] :is(.trace-description,.interpretation,.event-description,.number-reading,.comparison-body,.observation-line) { font-family:var(--sans); }
@media(max-width:700px) {
  [data-studio-block] { translate:none !important; }
  [data-studio-sized] { width:100% !important;height:auto !important;max-width:100% !important;overflow:visible !important; }
  body.studio-editing .studio-corner,body.studio-editing .studio-handle { display:none; }
  #studio-open { bottom:12px;right:12px; }
}
@media(prefers-reduced-motion:reduce) { [data-studio-block] { transition:none !important; } }
#translation-status {position:relative;z-index:5;max-width:72ch;margin:1rem auto;padding:1rem;background:#15152be8;color:#f6e6c2;font-family:var(--sans);}
.language-switch {display:inline-flex;gap:.15rem;white-space:nowrap;align-items:center;}
.language-switch button {padding:.4rem .5rem;min-height:36px;}
.language-switch button[aria-pressed="true"] {color:#fff;border-bottom:2px solid currentColor;}
