/* Story Studio: progressive disclosure, task rooms, and accessible native controls. */
:root{--inspector-width:268px;--timeline-height:210px;--frame-width:100px;--toolbar-height:42px;--bg:#101923;--panel:#192530;--panel2:#22313e;--line:#354552;--text:#eef3f4;--muted:#aabac7}
:root[data-theme=paper]{color-scheme:light;--bg:#f0eee8;--panel:#faf9f4;--panel2:#e8e9e1;--line:#c6cec5;--text:#263c42;--muted:#53686c;--accent:#1b7967!important;--warm:#936023;--accent-ink:#ffffff;--shadow:0 20px 70px #314c3920;background:var(--bg);color:var(--text)}
body:not(.launchpad){min-width:0;overflow:hidden;background:var(--bg);color:var(--text)}
.topbar{height:58px;gap:11px;padding:0 16px;background:var(--panel);border-bottom:1px solid var(--line)}
.topbar .brand{font-size:25px;gap:7px;white-space:nowrap}.topbar .brand img{width:31px;height:31px}.brand-sub{font-size:8px;letter-spacing:2px;color:var(--muted)}
.topbar button{padding:7px 9px;font-size:12px}.document-name{flex:1;min-width:80px;max-width:340px}.document-name input{width:100%;font-size:13px!important;padding:0!important;background:transparent!important;border:0!important}.document-name span{font-size:10px;color:var(--muted)}
.top-actions{gap:4px}.top-actions #teamBtn{display:none}.top-actions .avatar{flex-shrink:0;margin-left:3px}.version-badge{font-size:9px!important;padding:5px!important}.command-trigger{font-size:10px!important}.save-icon{width:30px;height:30px;padding:5px!important}
.story-menubar{height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;background:var(--panel);border-bottom:1px solid var(--line);position:relative;z-index:25;flex-shrink:0}
.story-menus{display:flex;align-items:center;gap:2px}.story-menu{position:relative}.story-menu summary{list-style:none;font-size:12px;padding:8px 10px;cursor:pointer;border-radius:7px;white-space:nowrap}.story-menu summary::-webkit-details-marker{display:none}.story-menu[open] summary,.story-menu summary:hover{background:var(--panel2);color:var(--accent)}.story-menu summary:focus-visible{outline:2px solid var(--accent)}
.story-menu-content{position:absolute;left:0;top:36px;min-width:262px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);display:grid;gap:2px;max-height:75vh;overflow:auto}.story-menu-content button{display:flex;justify-content:space-between;gap:18px;border-color:transparent;background:transparent;text-align:left;padding:10px 11px;font-size:12px}.story-menu-content button:hover{background:var(--panel2)}.story-menu-content kbd{color:var(--muted);font-size:10px;white-space:nowrap}.story-menu-content hr{border:0;border-top:1px solid var(--line);width:95%;margin:3px auto}
.room-switch{display:flex;padding:3px;background:var(--bg);border:1px solid var(--line);border-radius:25px;gap:1px}.room-switch button{padding:5px 15px;border:0;background:transparent;border-radius:20px;font-size:11px;color:var(--muted)}.room-switch button.active{background:var(--accent);color:#102f2b;font-weight:700}.story-menu-right{display:flex;gap:4px}.story-menu-right button{border-color:transparent;background:transparent;font-size:10px;padding:6px 8px;color:var(--muted)}.story-menu-right button.active{color:var(--text);border-color:var(--line)}
.studio{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) var(--inspector-width);height:calc(100dvh - 101px);min-height:0}.work-area{min-height:0}.tools{padding:8px 5px;gap:2px;background:var(--panel);overflow-y:auto;overflow-x:hidden}.tool{width:49px;min-height:42px;gap:2px;padding:4px;margin:0 0 3px;font-size:19px;border-color:transparent;background:transparent;color:var(--muted)}.tool small{font-size:9px}.tool.active{background:color-mix(in srgb,var(--accent),transparent 86%);border-color:color-mix(in srgb,var(--accent),transparent 48%);color:var(--accent)}.tool-divider{margin:5px 4px}.tool-bottom{gap:4px}.tool-bottom input{width:42px;height:30px}
.canvas-toolbar{padding:7px 11px;gap:7px;min-height:45px;background:var(--panel);align-content:center;flex-shrink:0}.canvas-toolbar button{padding:6px 9px;font-size:11px}.canvas-toolbar label{font-size:10px;gap:3px}.canvas-toolbar select,.canvas-toolbar input{padding:4px 6px!important;font-size:10px!important}.mode-tabs{background:var(--bg);padding:2px}.mode-tabs button{padding:5px 9px}.mode-tabs .active{background:var(--panel2);color:var(--text)}.toolbar-separator{margin:0 2px}.toolbar-right{gap:6px}.canvas-toolbar #drawLayerMode{max-width:112px}.canvas-toolbar input[type=checkbox]{width:12px;height:12px;margin-right:3px}.canvas-toolbar .motion-entry{background:color-mix(in srgb,var(--accent),transparent 91%);border-color:color-mix(in srgb,var(--accent),transparent 65%)}.director-entry{color:var(--warm)}.sound-entry{color:#bca9ed}.canvas-toolbar #zoom{display:none}.zoom-slider{display:flex!important;flex-direction:row;align-items:center;gap:5px!important}.zoom-slider>span{display:none}.zoom-slider input{width:85px!important;padding:0!important;accent-color:var(--accent);cursor:ew-resize}.zoom-slider output{min-width:32px;font-size:10px;color:var(--muted)}
.canvas-area{padding:0;min-height:120px;background-color:var(--bg);background-image:radial-gradient(color-mix(in srgb,var(--line),transparent 25%) .7px,transparent .7px);background-size:20px 20px}.canvas-caption{top:13px;left:22px;right:22px;font-size:9px;color:var(--muted);letter-spacing:1.2px}#canvas{box-shadow:0 18px 70px #0004}.canvas-status{height:26px;flex:0 0 26px;padding:0 12px;font-size:10px;color:var(--muted);border-color:var(--line)}.canvas-status #toolHint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-status #coords{white-space:nowrap}.canvas-hint{white-space:normal;min-width:180px;max-width:80%;font-size:12px;color:var(--text);background:color-mix(in srgb,var(--panel),transparent 10%);border:1px solid var(--line);padding:10px 16px;border-radius:12px}.canvas-hint b{color:var(--muted);display:block;margin-left:0}
.story-ribbon{display:none;align-items:center;justify-content:space-between;gap:18px;padding:15px 19px;border-bottom:1px solid var(--line);background:linear-gradient(105deg,var(--panel),color-mix(in srgb,var(--panel),var(--accent) 7%))}.story-ribbon-title{display:grid;gap:6px}.story-ribbon-title .eyebrow{font-size:8px;letter-spacing:1.5px}.story-ribbon strong{font-size:17px;font-weight:600;letter-spacing:-.4px}.story-steps{display:flex;gap:6px}.story-steps button{font-size:12px;padding:10px 14px;border-radius:15px}
.inspector{background:var(--panel);border-color:var(--line)}.panel{padding:14px 13px;border-color:var(--line)}.panel-heading{margin-bottom:11px}.panel-heading h2{font-size:12px;letter-spacing:.2px}.prop-grid{gap:8px}.prop-grid label,.field{font-size:11px;color:var(--muted)}.prop-grid input,.prop-grid select{padding:6px 8px!important;font-size:12px!important;background:var(--bg)}.prop-grid .full{grid-column:1/-1}.prop-actions button{font-size:10px;padding:5px 7px;background:var(--panel2)}.empty-props{font-size:12px;color:var(--muted)}.empty-props strong{font-size:18px;color:var(--text)}.layer-actions button{font-size:10px;padding:5px}.layer{min-height:32px;padding:3px;gap:4px;border-radius:7px}.layer .layer-name{font-size:11px}.layer.selected{background:color-mix(in srgb,var(--accent),transparent 88%);border-color:color-mix(in srgb,var(--accent),transparent 60%)}.layer-icon{font-size:15px}.layer button{padding:3px}.rig-actions{gap:3px}.rig-actions button{font-size:10px;padding:6px}.assist{padding:12px;margin:12px 10px;background:color-mix(in srgb,var(--panel),var(--accent) 6%);border-color:color-mix(in srgb,var(--line),var(--accent) 20%)}.assist p{font-size:11px;color:var(--muted)}.assist-heading{font-size:11px;color:var(--text)}.palette{padding:10px 13px}.badge{font-size:8px;color:var(--muted);border-color:var(--line);background:var(--panel2)}
.timeline{position:relative;flex:0 0 var(--timeline-height);height:var(--timeline-height);min-height:155px;max-height:60vh;padding:12px 13px 6px;background:var(--panel);overflow:auto;border-color:var(--line);display:flex;flex-direction:column}.timeline-top{flex-shrink:0;gap:7px}.timeline-top>div{gap:7px}.timeline-top strong{font-size:11px}.timeline-top button{font-size:10px;padding:5px 7px}.timeline-top label{font-size:10px;white-space:nowrap}.timeline-top .muted{font-size:9px}.timeline-top input[type=number],.timeline-bottom input[type=number]{width:40px;padding:4px!important;font-size:10px}.timeline-top input[type=checkbox]{width:12px;height:12px}.frame-strip{flex:1;min-height:58px;overflow-x:auto;overflow-y:hidden;gap:7px;padding:9px 0 5px}.frame{flex:0 0 var(--frame-width);padding:4px;border:1px solid var(--line);background:var(--bg);border-top:3px solid var(--frame-marker,var(--line));overflow:hidden;min-height:50px;display:flex;flex-direction:column;justify-content:center}.frame.active{background:color-mix(in srgb,var(--accent),transparent 89%);border-color:var(--accent)}.frame canvas{width:100%;height:auto;aspect-ratio:1.5;max-height:calc(var(--timeline-height) - 105px);object-fit:contain;background:var(--bg)}.frame span{font-size:9px;color:var(--muted)}.frame-label{font-size:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--text);text-align:left;max-width:100%}.timeline-bottom{flex-shrink:0;gap:3px;flex-wrap:wrap;padding-top:3px}.timeline-bottom button{font-size:10px;padding:4px 6px;white-space:nowrap}.frame-size-control{margin-left:auto;display:flex;flex-direction:row;align-items:center;gap:3px;font-size:9px!important;min-width:64px}.frame-size-control input{width:62px;padding:0;accent-color:var(--accent)}.sound-lane{position:relative;display:flex;align-items:center;justify-content:flex-start;width:100%;height:24px;min-height:24px;padding:1px 7px;border:1px solid var(--line);border-radius:5px;overflow:hidden;font-size:9px;background:var(--bg)}.sound-lane canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.48}.sound-lane span{position:relative;z-index:1;padding:1px 5px;background:color-mix(in srgb,var(--bg),transparent 18%);border-radius:3px;color:var(--text)}.sound-lane.empty span{background:none;color:var(--muted)}
.inspector-resize{position:absolute;right:calc(var(--inspector-width) - 3px);top:0;bottom:0;width:7px;cursor:col-resize;z-index:15;touch-action:none}.timeline-resize{position:absolute;left:0;right:0;top:0;height:7px;cursor:row-resize;z-index:15;touch-action:none}.inspector-resize:hover,.timeline-resize:hover,.inspector-resize:focus-visible,.timeline-resize:focus-visible{background:color-mix(in srgb,var(--accent),transparent 60%)}
:root[data-inspector=hidden] .studio{grid-template-columns:62px minmax(0,1fr) 0}:root[data-inspector=hidden] .inspector,:root[data-inspector=hidden] .inspector-resize{display:none}:root[data-timeline=hidden] .timeline{display:none!important}
:root[data-room=play] .story-ribbon{display:flex}:root[data-room=play] .tool{min-height:49px;font-size:22px}:root[data-room=play] .tool small{font-size:10px}:root[data-room=play] [data-tool=bone],:root[data-room=play] [data-tool=pivot],:root[data-room=play] [data-tool=line]{display:none}:root[data-room=play] .rig-actions,:root[data-room=play] .assist,:root[data-room=play] .prop-actions,:root[data-room=play] .object-quick-actions{display:none}:root[data-room=play] .prop-grid>label:not(.full):not(.colour-field){display:none}:root[data-room=play] .layer-actions button{min-height:36px;font-size:11px}:root[data-room=play] .timeline-bottom #moveFrameLeft,:root[data-room=play] .timeline-bottom #moveFrameRight,:root[data-room=play] #timelineHelpersBtn{display:none}:root[data-room=play] .canvas-toolbar>label:has(#drawLayerMode),:root[data-room=play] .rig-overlay-toggle,:root[data-room=play] .canvas-toolbar label:has(#snap),:root[data-room=play] .canvas-toolbar label:has(#grid){display:none}
:root[data-room=studio] .tool{min-height:35px;font-size:16px}:root[data-room=studio] .tool small{font-size:8px}:root[data-room=studio] .panel{padding:11px}:root[data-room=studio] .prop-grid input,:root[data-room=studio] .prop-grid select{padding:4px 6px!important}:root[data-room=studio] .assist{display:none}:root[data-room=studio] .canvas-toolbar{gap:5px}
.story-hero{padding:18px 21px;margin:0 0 20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(115deg,var(--panel2),color-mix(in srgb,var(--panel),var(--accent) 5%))}.story-hero p{margin:8px 0 0}.story-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;align-items:end}.action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.story-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.story-card,.director-card,.sound-card,.font-card{padding:19px;border:1px solid var(--line);border-radius:15px;background:var(--panel2);margin-bottom:13px}.director-card .tag{font-size:8px;letter-spacing:1px}.director-card h3{font-size:21px!important;letter-spacing:-.6px;margin:15px 0 8px!important}.director-card p{font-size:13px!important;min-height:46px}.director-card button{margin-top:8px}.story-empty{padding:36px;border:1px dashed var(--line);border-radius:20px;text-align:center}.story-empty h3{font-size:25px!important}.warning-copy{color:var(--warm)!important;border-left:3px solid var(--warm);padding:10px 14px;background:var(--panel2);font-size:12px!important}.waveform{display:block;width:100%;height:70px;border-radius:8px;margin-bottom:15px}.sound-card h3{margin-top:0!important}.sound-card .ui-form{margin-top:10px}.beat-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:5px;margin:25px 0}.beat-grid button{padding:17px 0;border-radius:7px;font-size:11px}.beat-grid button:nth-child(4n+1){border-left:3px solid var(--muted)}.beat-grid button.active{background:var(--accent);color:#102f2b;border-color:var(--accent)}.mouth-preview{display:block;margin:12px auto;border:1px solid var(--line);border-radius:15px;background:#f0eee8;max-width:100%}.mouth-choices{display:flex;gap:8px;flex-wrap:wrap}.mouth-choices button{width:46px;min-height:44px}.export-preview{display:block;max-width:100%;max-height:48vh;object-fit:contain;border-radius:10px;margin:15px auto;background:#121d2b;border:1px solid var(--line)}.export-result{padding-top:15px}.export-result:empty{display:none}.export-result img,.export-result video{max-width:100%}.export-result>p{font-size:12px!important}.pivot-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0}.pivot-presets button{min-height:44px}.color-group-row{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line)}.color-group-row .ui-field{flex:1}.snapshot-list{max-height:42vh;overflow:auto}.snapshot-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.snapshot-row>span{overflow-wrap:anywhere;min-width:0}.snapshot-row button{flex-shrink:0}.exposure-scroll{max-height:55vh;overflow:auto}.exposure-table{border-collapse:collapse;width:100%;font-size:12px}.exposure-table th{text-align:left;font-weight:550;color:var(--muted);position:sticky;top:0;background:var(--panel);z-index:1}.exposure-table td,.exposure-table th{padding:7px;border-bottom:1px solid var(--line)}.exposure-table input{width:100%;padding:6px!important}.exposure-table input[type=number]{min-width:62px;max-width:90px}.exposure-table input[type=color]{width:38px}.exposure-table td:nth-child(4){white-space:nowrap}.font-card>p{line-height:1.5!important;color:var(--text)!important}
#modalBody p{color:var(--muted)}#modalBody h3{color:var(--text)}.ui-field>span{color:var(--text)}input[type=range]{accent-color:var(--accent);min-height:24px;padding:0;cursor:pointer}.wide-modal{width:min(1080px,calc(100vw - 32px))}.ui-tabs button{min-height:34px}.account-header-restore{display:none!important}.modal-head{padding:17px 23px}.modal-head h2{font-size:19px}.form-error{color:#ffb1a9!important}.context-menu{background:var(--panel);color:var(--text);border-color:var(--line);max-height:85vh;overflow:auto}.context-menu button:hover{background:var(--panel2)}
:root[data-theme=paper] button.primary,:root[data-theme=paper] .room-switch button.active,:root[data-theme=paper] .beat-grid button.active{color:#fff}:root[data-theme=paper] .tag,:root[data-theme=paper] .badge{color:var(--muted);background:var(--panel2)}:root[data-theme=paper] input,:root[data-theme=paper] select,:root[data-theme=paper] textarea{color:var(--text);background:var(--bg);border-color:var(--line)}:root[data-theme=paper] .layer.selected{background:#dbe9db}:root[data-theme=paper] button.danger,:root[data-theme=paper] .form-error{color:#9a342d!important}:root[data-theme=paper] .canvas-hint{background:#faf9f4e8}:root[data-theme=paper] .rig-status{background:var(--panel2);border-color:var(--line)}:root[data-theme=paper] .rig-status strong{color:var(--text)}:root[data-theme=paper] .sound-entry{color:#66489a}:root[data-theme=paper] #modalBody p{color:var(--muted)}
@media(max-width:1250px){.topbar #helpBtn,.brand-sub{display:none}.canvas-toolbar label:has(#drawLayerMode),.canvas-toolbar .toolbar-separator{display:none}.canvas-toolbar #zoomOutBtn,.canvas-toolbar #zoomInBtn{display:none}.canvas-toolbar .toolbar-right{gap:5px}.timeline-top .frame-size-control>span{display:none}.timeline-top label:has(#playAll){display:none}.story-ribbon{padding:12px}.story-ribbon .eyebrow{display:none}.story-ribbon strong{font-size:14px}.story-steps button{padding:9px 10px}.story-menubar{padding:0 9px;gap:5px}.story-menu summary{padding:8px}.room-switch button{padding:5px 11px}}
@media(max-width:1050px){.story-menu-right{display:none}.topbar #versionBtn{display:none}.topbar #projectsBtn{font-size:10px}.command-trigger{max-width:70px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-toolbar label:has(#snap),.canvas-toolbar label:has(#grid),.canvas-toolbar .rig-overlay-toggle{display:none}.canvas-toolbar .toolbar-right{flex:1;justify-content:flex-end}.timeline-top>div:first-child .muted{display:none}.timeline-top label:has(#loop){display:none}.timeline-top>div:last-child{gap:4px}.timeline-top button{padding:4px}.timeline-bottom #moveFrameLeft,.timeline-bottom #moveFrameRight{display:none}.story-ribbon-title{display:none}.story-ribbon{justify-content:center}.story-steps{width:100%}.story-steps button{flex:1}}
@media(max-width:800px){.studio{grid-template-columns:58px minmax(0,1fr) 0}.inspector,.inspector-resize{display:none}.topbar{gap:7px;padding:0 9px}.topbar .brand{font-size:21px}.topbar .brand img{width:27px;height:27px}.topbar #projectsBtn,.topbar #saveAsBtn,.topbar .command-trigger{display:none}.story-menubar{height:auto;min-height:43px;flex-wrap:wrap;gap:5px;padding:5px 9px}.story-menus{flex:1}.story-menu summary{font-size:11px;padding:6px}.room-switch button{padding:5px 10px;font-size:10px}.story-menu:nth-last-child(-n+2) .story-menu-content{left:auto;right:0}.studio{height:calc(100dvh - 109px)}.story-card-grid{grid-template-columns:1fr}.beat-grid{grid-template-columns:repeat(8,1fr)}.timeline-top{flex-wrap:wrap}.timeline-top .frame-size-control{display:none}.timeline-top #onion{display:none}.timeline-top label:has(#onion){display:none}.story-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-head{padding:14px}#modalBody{padding:17px}.canvas-caption{font-size:8px}.canvas-toolbar .mode-tabs{display:none}.canvas-toolbar .motion-entry,.canvas-toolbar .director-entry,.canvas-toolbar .sound-entry{font-size:10px;padding:6px}.toolbar-right .zoom-slider input{width:65px!important}.canvas-toolbar>label:has(#filled){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root[data-motion=reduced] *, :root[data-motion=reduced] *::before{transition:none!important;animation:none!important}
/* Light-room contrast: inherited legacy labels must not remain pale-on-paper. */
:root[data-theme=paper] .timeline label,:root[data-theme=paper] .canvas-toolbar label,:root[data-theme=paper] .muted{color:var(--muted)}
:root[data-theme=paper] .tool.active,:root[data-theme=paper] .mode-tabs button.active,:root[data-theme=paper] .room-switch button.active,:root[data-theme=paper] .avatar,:root[data-theme=paper] .identity-avatar{color:#fff!important}
:root[data-theme=paper] .sound-entry{color:#655184}:root[data-theme=paper] .form-error{color:#9c302a}

/* 0.19 Sound Studio preset shelf. Large libraries scroll inside the modal. */
.music-preset-grid{max-height:52vh;overflow:auto;padding:3px;align-items:start}
.music-preset-card{margin-bottom:0;min-height:150px}
.music-preset-card .action-row{margin-bottom:0}
.music-preset-card .favorite-button{min-width:38px;font-size:16px;line-height:1;padding:6px 10px}
@media(max-width:800px){.music-preset-grid{max-height:58vh}}
