:root,:root:not([data-theme=light]){--bg:#0d0b08;--panel:#191610;--panel-2:#211d16;--line:#383128;--fg:#f5f2eb;--text:#e3dccf;--muted:#b9b0a2;--accent:#ff5700;--accent-2:#ffcf36;--accent-ink:#1a0c00;--accent-text:#ff8a3d;--accent-soft:#2e1a0c;--link:#ff8a3d;--soft:#2e1a0c;--hot:#ffcf36;--lava:linear-gradient(90deg,#ff5700 0%,#ff8a00 55%,#ffcf36 100%);--glow:0 0 0 1px var(--accent);--stage-top:#14110c;--stage-bottom:#0d0b08;--stage-glow:#14110c;--checker:rgba(255,255,255,.035);--skin-a:#211d16;--skin-b:#191610;--font-display:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--r:8px;--bad:#ff7b6b;color-scheme:dark}
:root[data-theme=light]{--bg:#f5f1ea;--panel:#ffffff;--panel-2:#efe9de;--line:#d9d0c1;--fg:#1c1710;--text:#3a3126;--muted:#645a4b;--accent:#d94a00;--accent-2:#ffcf36;--accent-ink:#ffffff;--accent-text:#b83d00;--accent-soft:#ffe6d6;--link:#b83d00;--soft:#ffe6d6;--hot:#ffcf36;--glow:0 0 0 1px var(--accent);--stage-top:#ebe4d7;--stage-bottom:#e2d9ca;--stage-glow:#ebe4d7;--checker:rgba(0,0,0,.04);--skin-a:#efe9de;--skin-b:#e5dccd;color-scheme:light}
body{font-family:var(--font-body);background:var(--bg);color:var(--fg)}
::selection{background:var(--accent);color:var(--accent-ink)}
a{color:var(--link)}
:is(a,button,select,input,summary,.btn):focus-visible{outline:3px solid var(--hot)!important;outline-offset:2px!important}
.top,.app .top{background:var(--bg)!important;color:var(--fg)!important;border-bottom:1px solid var(--line)!important;backdrop-filter:none}
.logo,.brand .logo-word,.brand .logo-word a,.brand h1{font:400 19px/1 var(--font-display)!important;letter-spacing:-.01em!important;text-transform:uppercase;color:var(--fg)!important;text-decoration:none}
.logo,.brand .logo-word a{display:inline-flex;align-items:center;gap:0}
.logo::before,.brand .logo-word a::before{content:"";flex:none;align-self:baseline;width:2px;height:2px;margin:0 20px 0 0;box-shadow:4px 0px 0 #ff5a0a,2px 2px 0 #ff5a0a,4px 2px 0 #ff5a0a,2px 4px 0 #ff5a0a,4px 4px 0 #ff5a0a,6px 4px 0 #ff5a0a,0px 6px 0 #ff5a0a,2px 6px 0 #ff5a0a,6px 6px 0 #ff5a0a,8px 6px 0 #ff5a0a,0px 8px 0 #ff5a0a,2px 8px 0 #ffd23f,4px 8px 0 #ffd23f,6px 8px 0 #ffd23f,8px 8px 0 #ff5a0a,2px 10px 0 #ff5a0a,4px 10px 0 #ffd23f,6px 10px 0 #ff5a0a;background:transparent;transform:translateY(2px)}
.logo span,.brand .logo-word span{color:var(--accent)!important}
.top nav a,.top nav button{font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--muted);border-radius:6px;background:none;border:0}
.top nav a:hover,.top nav button:hover{background:var(--panel-2);color:var(--fg)}
.top nav a[aria-current=page]{background:transparent;color:var(--fg);box-shadow:inset 0 -3px var(--accent);border-radius:0}
.cta,.name-go button,.tm-btn.primary,.header-export,#exportActions .primary,.top nav .header-export,button.primary,.btn.primary{background:var(--lava)!important;color:#1a0900!important;border:0!important;border-radius:6px!important;font-weight:800!important;letter-spacing:.01em;box-shadow:inset 0 -3px 0 #0003;transition:transform .12s,box-shadow .12s;filter:none!important}
.cta:hover,.name-go button:hover,.tm-btn.primary:hover,.header-export:hover,#exportActions .primary:hover,button.primary:hover{box-shadow:var(--glow),inset 0 -3px 0 #0003;transform:translateY(-1px)}
.cta:active,button.primary:active,.header-export:active{transform:translateY(1px)}
.cta.alt{background:transparent!important;color:var(--fg)!important;box-shadow:inset 0 0 0 2px var(--fg)}
h1,h2,.page main h1,.page main h2,.hero h1{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;text-transform:none}
.page main h1,.hero h1{font-size:clamp(34px,6.2vw,76px);line-height:.98}
.page main h2{font-size:clamp(24px,3vw,38px);line-height:1.06}
.page main h3,.card h3{font-family:var(--font-body);font-weight:800}
.eyebrow,.breadcrumbs{text-transform:none;letter-spacing:0;font-size:14px;color:var(--muted)}
.breadcrumbs [aria-current]{color:var(--accent-text)}
.card,.pose-grid a,ol>li,table,.shot img,.tm-export,.tm-tools,.tm-props{border-radius:8px}
.card{background:var(--panel);border:1px solid var(--line);position:relative;overflow:hidden}
.card::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--lava);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.card:hover{border-color:var(--accent);transform:none}
.card:hover::after{transform:scaleX(1)}
.card-tag{background:var(--accent);color:var(--accent-ink);border-radius:3px;font-family:var(--font-body);font-weight:800;letter-spacing:0}
ol>li::before{background:var(--lava);color:#1a0900;border-radius:3px;font-family:var(--font-body);font-weight:800}
.bot{background:var(--panel);border-top:1px solid var(--line)}
.bot-grid h2{font-family:var(--font-body)!important;font-weight:800!important;letter-spacing:0!important}
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* editor: buttons and controls */
.ghost-btn{padding:9px 12px!important}
.app button,.app .btn,.app select,.app input[type=text]{border-color:var(--line);background:var(--panel-2);border-radius:6px}
.app button:hover,.app .btn:hover,.app select:hover{border-color:var(--accent)}
.app button.primary{border:0}
.seg button[aria-checked=true],.seg button[aria-pressed=true]{background:var(--accent-soft)!important;color:var(--fg)!important;box-shadow:inset 0 -3px var(--accent)}
.chips button[aria-checked=true]{background:var(--accent-soft)!important;color:var(--fg)!important;border-color:var(--accent)!important}
.toggle input:checked+.switch{background:var(--accent-soft);border-color:var(--accent)}
.toggle input:checked+.switch::after{background:var(--accent)}
.slider input[type=range],input[type=range]{accent-color:var(--accent)}
.preset{background:var(--panel-2);border:1px solid transparent;border-radius:8px}
.preset .thumb{background:radial-gradient(70% 50% at 50% 100%,#ff5a0a40,transparent 70%),var(--bg);border-radius:6px}
.preset:hover{border-color:var(--line)}
.preset[aria-pressed=true]{background:var(--accent-soft)!important;border:1px solid var(--accent)!important;box-shadow:var(--glow)}
.categories button[aria-pressed=true]{background:var(--accent-soft)!important;color:var(--fg)!important;border-color:var(--accent)!important}
.library-tabs button[aria-selected=true]{box-shadow:inset 0 -3px var(--accent)!important;color:var(--fg)!important}
.parts button[aria-pressed=true]{background:var(--accent-soft)!important;border-color:var(--accent)!important}
.parts button[aria-pressed=true] .part-diagram-active{fill:var(--accent)!important}
.views{background:color-mix(in srgb,var(--panel) 90%,transparent);border:1px solid var(--line);border-radius:8px;backdrop-filter:blur(8px);padding:3px}
.views button{border-radius:5px;color:var(--text);font-weight:700}
.views button:hover{background:var(--accent-soft);color:var(--fg)}
#exportDialog{border:1px solid var(--accent)!important;border-radius:12px!important;box-shadow:0 0 0 1px #000,0 30px 100px #ff5a0a33!important;background:var(--panel)!important}
#exportDialog::backdrop{background:#000c}
.export-heading h2,.panel-title{font:400 22px/1.1 var(--font-display)!important;letter-spacing:-.01em}

/* editor shell */
@media(min-width:821px){
.app{grid-template-columns:72px var(--drawer,352px) minmax(0,1fr)!important;grid-template-rows:60px minmax(0,1fr) auto!important;grid-template-areas:"top top top" "bar drawer stage" "ads ads ads"!important}
.app[data-drawer=closed]{--drawer:0px}
.top{padding:0 20px!important;gap:20px}
.top nav{gap:4px;margin-left:auto;flex-wrap:nowrap}
.top .header-export{margin-left:8px;padding:12px 22px!important;font-size:14px}
}
.toolbar{grid-area:bar;display:flex;flex-direction:column;gap:4px;padding:10px 6px;background:#0d0a07;border-right:1px solid var(--line);overflow-y:auto}
:root[data-theme=light] .toolbar{background:var(--panel-2)}
.toolbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:62px;padding:8px 2px;border:0!important;background:transparent!important;color:var(--muted);font:700 11px/1 var(--font-body);border-radius:8px}
.toolbar button svg{width:24px;height:24px}
.toolbar button:hover{color:var(--fg);background:var(--panel-2)!important}
.toolbar button[aria-selected=true]{color:var(--fg);background:var(--panel)!important}
.toolbar button[aria-selected=true] svg{color:var(--accent)}
.toolbar button[aria-selected=true]::before{content:"";position:absolute;left:-6px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--lava)}
.drawer{grid-area:drawer;position:relative;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--panel);border-right:1px solid var(--line);padding:18px 18px 20px;display:flex;flex-direction:column;gap:16px}
.app[data-drawer=closed] .drawer{display:none}
.drawer>*{flex-shrink:0}
.drawer-close{display:none}
.panel{display:flex;flex-direction:column;gap:14px}
.panel[hidden]{display:none}
.panel-title{margin:0 0 2px;color:var(--fg)}
.panel .group{gap:12px}
.panel .group h2{font:400 22px/1.1 var(--font-display);letter-spacing:-.01em;text-transform:none;color:var(--fg);margin:0}
.panel .group h2 small{font:600 12px var(--font-mono)}
.hand{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.hand h3{margin:0;font:800 14px var(--font-body)}
.mini{display:grid;gap:5px;font-size:12px;color:var(--muted)}
.mini select{width:100%}
.extra-lights{display:flex;flex-direction:column;gap:10px}
.xl{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.xl-head{display:flex;align-items:center;gap:10px}
.xl-head input[type=color]{width:44px;height:34px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--panel);cursor:pointer}
.xl-head b{flex:1;font-size:13px}
.xl-head button{padding:6px 10px;font-size:12px}
.tools-3{grid-template-columns:1fr 1fr}
.tools-3 .primary{grid-column:1/-1}
.stage{background:radial-gradient(90% 55% at 50% 108%,var(--stage-glow),transparent 70%),linear-gradient(var(--stage-top),var(--stage-bottom))!important;border:0!important;margin:0!important;border-radius:0!important}
.stage[data-bg=none]::before{background:repeating-linear-gradient(90deg,var(--checker) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,var(--checker) 0 1px,transparent 1px 64px)!important;-webkit-mask-image:linear-gradient(transparent 40%,#000 100%)!important;mask-image:linear-gradient(transparent 40%,#000 100%)!important}
.stage canvas{border-radius:0!important}
.views{top:14px}
.timeline{grid-area:stage;align-self:end;z-index:4;display:flex;align-items:center;gap:12px;margin:0 14px 14px;padding:10px 14px;background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(8px);box-shadow:0 10px 40px #0008}
.timeline[hidden]{display:none}
.tl-play{width:46px;height:46px;flex:none;display:grid;place-items:center;padding:0!important;border-radius:50%!important;background:var(--lava)!important;border:0!important}
.tl-play svg{width:22px;height:22px;fill:#1a0900}
.tl{position:relative;flex:1;min-width:0;height:54px;cursor:pointer;touch-action:none}
.tl-ruler{position:absolute;left:0;right:0;top:0;height:18px;border-bottom:1px solid var(--line);color:var(--muted);font:600 10px var(--font-mono)}
.tl-ruler span{position:absolute;top:0;transform:translateX(-50%);padding-top:1px}
.tl-ruler span::after{content:"";position:absolute;left:50%;top:13px;width:1px;height:5px;background:var(--line)}
.tl-track{position:absolute;left:0;right:0;top:22px;bottom:0;border-radius:6px;background:var(--panel-2)}
.tl-key{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;transform:rotate(45deg);background:var(--hot);border:2px solid #000;border-radius:3px;padding:0!important;cursor:grab}
.tl-key[aria-pressed=true]{background:var(--accent);box-shadow:0 0 0 3px var(--hot),0 0 18px var(--accent)}
.tl-head{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none;box-shadow:0 0 10px var(--accent)}
.tl-head::before{content:"";position:absolute;left:-5px;top:-1px;border:6px solid transparent;border-top:8px solid var(--accent);border-bottom:0}
.tl-time{flex:none;min-width:58px;text-align:right;font:700 14px var(--font-mono);color:var(--fg)}
.sitelinks{margin-top:auto}
@media(max-width:820px){
.app{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;grid-template-areas:"top" "stage" "drawer" "ads"!important;height:auto!important}
.top{padding:0 12px!important;min-height:54px;flex-wrap:nowrap;gap:8px}
.top nav{gap:2px;flex-wrap:nowrap;margin-left:auto}
.top nav>a,.top nav .ghost-btn{display:none!important}
.top .header-export{padding:10px 14px!important}
.top nav #themeBtn{padding:8px;font-size:12px}
.stage{height:46dvh!important;min-height:300px;position:sticky!important;top:0;z-index:5}
.toolbar{position:fixed;z-index:30;left:0;right:0;bottom:0;flex-direction:row;gap:0;padding:0 0 env(safe-area-inset-bottom,0);border-right:0;border-top:1px solid var(--line);overflow-x:auto}
.toolbar button{min-height:58px;flex:1 0 56px}
.toolbar button[aria-selected=true]::before{left:12px;right:12px;top:0;bottom:auto;width:auto;height:3px;border-radius:0 0 4px 4px}
.drawer{border-right:0;border-top:1px solid var(--line);padding:16px 16px calc(80px + env(safe-area-inset-bottom,0))}
.app[data-drawer=closed] .drawer{display:flex}
.timeline{position:fixed;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));margin:0;z-index:25;padding:8px 10px;gap:8px}.tl-time{min-width:48px;font-size:12px}
.presets{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))!important}
}
@media(min-width:821px) and (max-width:1100px){.app{--drawer:300px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.app .tl-key{background:var(--hot);border:2px solid #000;border-radius:3px;width:16px;height:16px;padding:0}
.app .tl-key[aria-pressed=true]{background:var(--accent)}
.app .tl-play{background:var(--lava);border:0}
.bot{padding-top:22px!important;padding-bottom:18px!important;font-size:13px}
.bot-grid{display:flex!important;flex-wrap:wrap;align-items:flex-start;gap:14px 44px!important}
.bot-grid>div:first-child{flex:1 1 280px;grid-column:auto!important}
.bot-grid>div:first-child p{margin:8px 0 0;max-width:34ch;font-size:13px;line-height:1.5}
.bot-grid nav{display:flex!important;flex-direction:column;gap:0!important;min-width:96px}
.bot-grid nav a{padding:2px 0!important;font-size:13px;line-height:1.55}
.bot-grid h2{margin:0 0 4px!important;font:800 12px/1.3 var(--font-body)!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--fg)!important}
.bot-note{margin:14px 0 0!important;padding-top:12px!important;font-size:12px!important;line-height:1.5}
@media(max-width:760px){.bot-grid{gap:12px 28px!important}.bot-grid nav{min-width:calc(50% - 20px)}}
.logo::before,.brand .logo-word a::before{display:block}
.bot .logo{display:inline-flex!important;padding:0!important;text-decoration:none}
.bot a{text-decoration:none}
.bot a:hover{text-decoration:underline;color:var(--fg)}

.logo,.brand .logo-word,.brand .logo-word a,.brand h1{font:800 18px/1 var(--font-display)!important;letter-spacing:.03em!important}
h1,h2,.page main h1,.page main h2,.hero h1,.export-heading h2,.panel-title,.panel .group h2{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:-.025em!important}
.page main h1,.hero h1{font-size:clamp(32px,5vw,56px)!important;line-height:1.05!important}
.page main h2{font-size:clamp(22px,2.6vw,32px)!important;line-height:1.15!important}
.panel .group h2,.panel-title,.export-heading h2{font-size:18px!important;line-height:1.2!important}
.cta,.name-go button,.tm-btn.primary,.header-export,#exportActions .primary,.top nav .header-export,button.primary,.btn.primary{border-radius:8px!important;font-weight:700!important;box-shadow:none!important;transform:none!important;letter-spacing:0}
.cta:hover,.name-go button:hover,.tm-btn.primary:hover,.header-export:hover,#exportActions .primary:hover,button.primary:hover{box-shadow:none!important;transform:none!important;filter:brightness(1.07)!important}
.card,.pose-grid a,ol>li,table,.shot img,.tm-export,.tm-tools,.tm-props{border-radius:10px}
.card::after{display:none}
ol>li::before{background:var(--accent-soft);color:var(--accent-text);border-radius:6px;font-weight:700}
.top nav a[aria-current=page]{box-shadow:none;border-radius:6px;background:var(--panel-2);color:var(--fg)}
.toolbar{background:var(--bg)}
.toolbar button[aria-selected=true]{background:var(--panel)!important;outline:1px solid var(--accent);outline-offset:-1px;border-radius:10px}
.toolbar button[aria-selected=true]::before{display:none}
.preset .thumb{background:var(--bg)}
.preset[aria-pressed=true]{box-shadow:none}
#exportDialog{border:1px solid var(--line)!important;box-shadow:0 24px 80px #000a!important}
.tl-play{background:var(--lava)!important}
.tl-play svg{fill:#1a0c00}
.tl-head{box-shadow:none}
.tl-key[aria-pressed=true]{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--hot)}
.ticker{transform:none;margin:28px 0 56px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 0}
.ticker span{font:700 clamp(15px,1.8vw,19px)/1 var(--font-display)!important;color:var(--text);text-transform:none;padding:0 22px}
.ticker span::after{width:6px;height:6px;margin-top:-3px;background:var(--accent);transform:none;border-radius:50%}
.home .hero h1{font-size:clamp(40px,6.4vw,88px)!important;line-height:.98!important}
.home .hero h1 .lava{background:var(--lava);-webkit-background-clip:text;background-clip:text;color:transparent}
.home section h2{font-size:clamp(26px,3.6vw,44px)!important;line-height:1.08!important;max-width:22ch}
.forge{background:linear-gradient(180deg,#191610,#0d0b08);border:1px solid var(--line);border-radius:14px}
:root[data-theme=light] .forge{background:linear-gradient(180deg,#2a2218,#15110b)}
.forge-floor{opacity:.25}
.forge-pose{filter:drop-shadow(0 20px 24px #000a)}
.forge-caption{border-color:var(--line);background:#0d0b08e6}
.forge-caption b{font:800 20px/1.1 var(--font-display)}
.pose-picker button[aria-pressed=true],.pose-grid a:hover{box-shadow:none}
.pose-picker button img{background:var(--bg)}
.preview .shot img{border:1px solid var(--line);box-shadow:0 24px 70px #0008}
.steps ol>li::before{background:none;-webkit-text-stroke:0;color:var(--accent-text);font:800 40px/1 var(--font-display)}
.tiles div::before{display:none}
.tiles b{font:800 24px/1 var(--font-display)}
.faq summary::after{font-family:var(--font-display);font-weight:400}
.final{background:var(--panel);border:1px solid var(--line);border-radius:16px}
.final h2{color:var(--fg)}
.final .cta{background:var(--lava)!important;color:#1a0c00!important}
.features ul{border-top:1px solid var(--line)}

.hdr-sep{width:1px;height:22px;background:var(--line)}
.hdr-label{font:600 15px var(--font-body);color:var(--muted);white-space:nowrap}
.proj-name{margin:0 auto;display:flex;min-width:0}
.proj-name input{width:clamp(120px,20vw,240px);background:transparent;border:1px solid transparent;border-radius:8px;color:var(--fg);font:700 15px var(--font-body);padding:8px 10px;text-align:center;min-height:40px}
.proj-name input:hover{border-color:var(--line)}
.proj-name input:focus-visible{border-color:var(--accent);background:var(--panel)}
.inspector{grid-area:insp;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--panel);border-left:1px solid var(--line);padding:18px 16px;display:none;flex-direction:column;gap:16px}
.insp-h{margin:0 0 4px;font:700 16px/1.2 var(--font-body)!important;letter-spacing:0!important;color:var(--fg)}
.insp-opts-body{display:grid;gap:12px}
.insp-actions .insp-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.insp-actions{display:grid;gap:8px}
.insp-actions .tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.insp-actions .tools #resetBtn{grid-column:2}
.insp-actions #mirrorBtn2{display:none}
.sel-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sel-title b{font:700 17px var(--font-body)}
.stage-tools{position:absolute;top:14px;left:14px;z-index:6;display:flex;gap:8px}
.stage-tools:empty{display:none}
.stage-tools button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--fg);font:600 13px var(--font-body);cursor:pointer}
.stage-tools button:disabled{opacity:.45;cursor:not-allowed}
.sel-chip{position:absolute;top:64px;left:14px;z-index:6;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:8px;border:1px solid var(--accent);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--fg);font:600 13px var(--font-body)}
.sel-chip i{width:9px;height:9px;border-radius:50%;background:var(--accent)}
.sel-chip[hidden]{display:none}
.fit-view{position:absolute;right:14px;bottom:14px;z-index:6;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);color:var(--fg);font:600 13px var(--font-body);cursor:pointer}
.fit-view:hover,.stage-tools button:hover{border-color:var(--muted)}
.stage{position:relative}
@media(min-width:1100px){
#app{--drawer:272px;--insp:296px;--timeline-row:0px;grid-template-columns:72px var(--drawer) minmax(0,1fr) var(--insp)!important;grid-template-rows:60px minmax(0,1fr) var(--timeline-row) auto!important;grid-template-areas:"top top top top" "bar drawer stage insp" "bar drawer timeline insp" "ads ads ads ads"!important}
#app[data-drawer=closed]{--drawer:0px}
#app[data-timeline=open]{--timeline-row:160px}
.inspector{padding:16px}
.inspector[hidden]{display:none!important}
.app[data-insp=on] .inspector{display:flex}
#dock{grid-area:timeline;position:relative;align-self:stretch;margin:0;min-width:0;min-height:0;overflow:auto;border-radius:0;box-shadow:none;border-width:1px 0 0;backdrop-filter:none}
#dock[hidden]{display:none}
#closeTimeline{flex:none;min-height:44px}
#inspParts .parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#inspParts .parts button{min-width:0;min-height:44px}
}
#closeTimeline{padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--fg);font:600 13px var(--font-body);cursor:pointer}
@media(max-width:1099px){.inspector,.insp-parts{display:none!important}.stage-tools,.fit-view{display:none}.sel-chip{top:14px}}
@media(max-width:1250px){.hdr-label,.hdr-sep{display:none}}
@media(max-width:820px){.proj-name{display:none}}

.app .proj-name input{background:transparent!important;border-color:transparent!important}
.app .proj-name input:hover{border-color:var(--line)!important}
.app .proj-name input:focus-visible{border-color:var(--accent)!important;background:var(--panel)!important}
.stage .hint{left:14px!important;right:160px!important;transform:none!important;justify-content:flex-start!important;flex-wrap:wrap;bottom:16px!important}
@media(max-width:1599px){.stage-tools button{font-size:0;gap:0;width:42px;padding:0;justify-content:center}.stage-tools button svg{width:18px;height:18px}}
@media(min-width:1100px) and (max-width:1599px){.app[data-insp=on] .views{left:auto!important;right:14px;transform:none!important}}
@media(max-width:1099px){.sel-chip{top:62px}}

.proj-menu{position:relative;display:none}
.proj-menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:200px;display:grid;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 60px #000a}
.proj-menu-list[hidden]{display:none}
.proj-menu-list>*{display:flex;align-items:center;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--fg);font:600 14px var(--font-body);text-decoration:none;cursor:pointer;text-align:left}
.proj-menu-list>*:hover,.proj-menu-list>*:focus-visible{background:var(--panel-2)}
@media(max-width:1099px){.proj-menu{display:block!important}.top nav>#openProject,.top nav>#saveProject{display:none!important}}
.tm-grid.bgs{grid-template-columns:repeat(3,minmax(0,1fr))}
.proj-menu-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;border:0;background:transparent;color:var(--text);font:700 14px var(--font-body);cursor:pointer}
.proj-menu-btn:hover,.proj-menu-btn[aria-expanded=true]{background:var(--panel-2);color:var(--fg)}

.ad-slot-wrap{grid-area:ads;position:relative;display:grid;grid-template-columns:100px auto;align-items:center;justify-content:center;gap:16px;min-width:0;height:auto;min-height:0;padding:8px 16px;border-top:1px solid var(--line);background:var(--panel);visibility:visible;overflow:visible}
.ad-slot-wrap[hidden]{display:none!important}
.ad-band-meta{display:grid;gap:8px}
.ad-band-label{color:var(--muted);font-size:11px;line-height:1.4}
#adPrivacyBtn{justify-self:start;min-height:44px;padding:0;border:0;background:transparent;color:var(--text);font:600 12px var(--font-body);text-decoration:underline;cursor:pointer}
.ad-slot-wrap .ad{margin:0;padding:0;width:auto;max-width:none;height:auto;min-height:0;border:0;overflow:visible}
.ad-slot-wrap .ad[hidden]{display:none!important}
.ad-slot-wrap .ad::before,.ad-slot-wrap::before{content:none}
@media(max-width:699px){.ad-slot-wrap{grid-template-columns:auto;gap:4px}.ad-band-meta{display:flex;align-items:center;justify-content:space-between}}
@media(max-width:820px){.ad-slot-wrap{margin-bottom:calc(66px + env(safe-area-inset-bottom,0px))}}
.item-name{margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--fg);font:600 14px var(--font-body);overflow-wrap:anywhere}
.hand .row{flex-wrap:nowrap}
.hand .row .btn{min-height:44px}
.hand input:disabled{opacity:.45}
.item-help-wrap{display:grid;gap:8px}
.item-help-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--fg);font:600 14px var(--font-body);cursor:pointer;text-align:left}
.item-help-btn span{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--muted);font-size:12px}
.item-help-btn[aria-expanded=true]{border-color:var(--accent)}
.item-help{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-size:13px;line-height:1.6}
.item-help[hidden]{display:none}
.item-help ol{margin:0;padding-left:1.2em}
.item-help li{margin:6px 0}
.item-help code{font:12px var(--font-mono,monospace);overflow-wrap:anywhere}
