:root{color-scheme:dark;--bg:#101627;--panel:#1c263e;--line:#42506b;--lime:#dfff70;--ink:#fff9e9;--muted:#a9bbd2}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,select,input:not([type=checkbox]):not([type=range]){border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);padding:10px 12px}button{cursor:pointer}button:hover,a:hover{filter:brightness(1.14)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.primary{background:var(--lime);color:#182121;border-color:var(--lime);font-weight:750}header{max-width:1600px;padding:18px 24px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff15}header>a:first-child{font-weight:900;text-decoration:none;font-size:18px}header>span,.eyebrow{font-size:10px;letter-spacing:.14em;color:var(--muted)}main{max-width:1600px;margin:auto;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);gap:28px}.studio-stage{position:sticky;top:18px;align-self:start}h1{font-size:clamp(30px,4vw,62px);font-style:italic;line-height:1;margin:12px 0}h1 em{color:var(--lime)}.intro p{color:var(--muted);margin:12px 0 20px}.preview{position:relative;border-radius:14px;overflow:hidden;height:clamp(330px,50vh,620px);background:var(--panel)}canvas{width:100%;height:100%;display:block;touch-action:pan-y}#phase,#poseTag{position:absolute;left:16px;top:14px;padding:6px 10px;background:#101627dd;border-radius:6px;font-size:12px}#poseTag{top:auto;bottom:14px;color:var(--lime)}.transport{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.transport label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.transport select{padding:8px}.route{font-size:13px;color:#d4ddbb;min-height:24px}#notice{font-size:12px;color:#f5bea7}.controls{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}h2{font-size:17px;margin:0 0 8px}.section-title button{font-size:11px;padding:6px 10px}.section-title span{color:var(--muted);font-size:11px}.presets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 20px}.presets button{font-size:11px;padding:6px 8px;background:#283550}form{display:grid;gap:8px}form>label,legend{font-size:10px;letter-spacing:.10em;color:#d4dfa6;margin-top:10px}form>select,form>input{width:100%}.hint{color:var(--muted);font-size:11px;line-height:1.5;margin:2px 0 8px}.pose-settings{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:16px}.pose-settings label{font-size:11px;color:var(--muted)}.pose-settings input,.pose-settings select{display:block;width:100%;margin-top:6px}.pose-settings output{float:right;color:var(--lime)}input[type=range]{accent-color:var(--lime)}fieldset{margin:10px 0 0;padding:8px 0;border:0;border-top:1px solid var(--line)}.check{display:inline-flex;align-items:center;gap:8px}.check input{accent-color:var(--lime);width:18px;height:18px}.inline{display:inline-flex;align-items:center;gap:8px;font-size:11px;margin-left:12px}.inline select{padding:5px 9px}fieldset .hint{margin-top:10px}.save-row{display:flex;align-items:center;gap:15px;margin-top:10px}.save-row button{flex:1}.save-row a{font-size:12px}.controls>.section-title:not(:first-child){border-top:1px solid var(--line);padding-top:18px;margin-top:16px}.saved-row{display:flex;gap:6px;align-items:center;border-bottom:1px solid #ffffff12;padding:8px 0}.saved-row button:first-child{flex:1;text-align:left}.saved-row small{display:block;font-size:10px;color:var(--muted)}.saved-row button:last-child{font-size:11px;background:transparent}.empty{color:var(--muted);font-size:12px}.references{font-size:12px;color:var(--muted);margin-top:20px}.references summary{color:var(--ink);cursor:pointer}.references a{display:block;padding-top:12px}.references p{font-size:11px;max-width:60ch}@media(max-width:850px){main{display:block;padding:16px}.studio-stage{position:static;margin-bottom:22px}.preview{height:380px}.controls{max-width:650px;margin:auto}header{padding:14px 16px}header>span{display:none}}@media(max-width:450px){.preview{height:320px}.transport button{font-size:12px}.transport{gap:6px}.save-row{flex-wrap:wrap}.inline{margin-left:6px}}

.pose-presets{border-top:1px solid var(--line);padding:12px 0}
.pose-presets summary{font-size:12px;color:var(--muted);cursor:pointer;margin-bottom:8px}
.pose-presets>select{width:100%;margin:8px 0}
.pose-presets>label{font-size:11px;color:var(--muted)}
.studio-stage{position:static}
#studioName{font-size:clamp(24px,3vw,46px);overflow-wrap:anywhere}
#studioPose{margin-top:10px}
#studioPose .variation-range{display:block;margin:8px 0}
#studioPose .variation-range span,.pose-presets label>output{display:flex;justify-content:space-between;color:#d4ddbb;font-size:12px}
#studioPose .variation-range input,.pose-presets label>input[type=range]{display:block;width:100%;min-height:32px}
#studioPose .variation-range output,.pose-presets label>output{color:var(--lime)}
#studioPose .variation-tools{display:flex;flex-wrap:wrap;gap:5px}
.studio-history{display:flex;justify-content:flex-end}
#phase,#poseTag{pointer-events:none}
