:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f2e7ea;background:#09080a;--accent:#fb5274;--line:#30232a;--muted:#b9a3aa;--panel:#121014}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,input[type=text]{color:inherit;background:#211920;border:1px solid #45333b;border-radius:5px}button{cursor:pointer;padding:9px 12px}button:hover{border-color:var(--accent);background:#38212b}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:#1e090f;font-weight:700}.primary:hover{background:#ff7792;color:#14070a}.hint{font-size:12px;color:var(--muted);line-height:1.5}.row{display:flex;gap:8px;flex-wrap:wrap}h2{font-size:16px;margin:0 0 18px}h3{font-size:12px;color:#e8bfca;margin:22px 0 12px;text-transform:uppercase;letter-spacing:1px}
#app{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:64px minmax(440px,1fr) 78px;grid-template-areas:'head head' 'side main' 'transport transport'}
.topbar{grid-area:head;display:flex;align-items:center;gap:22px;padding:0 20px;background:#100d10;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:3px;font-size:20px;white-space:nowrap}.brand span{font-size:10px;letter-spacing:1.5px;color:#bc9aa4;font-weight:400}.project-name{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);min-width:0}.project-name input{padding:8px;width:180px;max-width:20vw}.top-actions{margin-left:auto;display:flex;gap:8px;white-space:nowrap}.top-actions button{font-size:12px}
.editor-sidebar{grid-area:side;display:grid;grid-template-columns:86px minmax(0,1fr);min-height:0;background:var(--panel);border-right:1px solid var(--line)}.tabs{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:12px 6px;gap:4px}.tabs button{border:0;background:transparent;text-align:left;font-size:11px;padding:11px 7px;color:#b99daa}.tabs button.active{background:#34212a;color:#ffd5de;border-radius:5px}.panel-scroll{overflow:auto;min-width:0}.panel{padding:21px 15px 28px}.panel[hidden]{display:none}.panel label{display:block;font-size:12px;color:#d8c4ca;margin:0 0 17px}.panel label>input[type=range]{display:block;width:100%;margin:10px 0 0}.panel label>input[type=text],.panel label>select{display:block;width:100%;margin:8px 0 0;padding:8px}.panel label>input[type=color]{display:block;margin-top:8px;background:transparent;border:0;width:45px;height:32px;padding:0}.panel .check{display:flex;align-items:center;gap:8px;margin:12px 0}.panel .check input{accent-color:var(--accent)}.panel output{float:right;color:#ff9aac;font-variant-numeric:tabular-nums}.panel .file{border:1px dashed #50343f;padding:11px;border-radius:6px;line-height:1.5}.file input{display:block;width:100%;margin-top:9px;font-size:10px}.panel button{font-size:11px;margin:0 5px 12px 0}.preset-list button{display:block;width:100%;text-align:left}.preset-row{display:flex;gap:4px}.preset-row button:first-child{flex:1}.preset-row button:last-child{width:34px}.compact{width:100%;margin:0}
.workspace{grid-area:main;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 24px}.preview-toolbar{display:flex;align-items:center;gap:12px;width:min(100%,1200px);font-size:11px;color:var(--muted);margin-bottom:12px}.preview-toolbar span:first-child{color:#efdee3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-toolbar span:nth-child(2){margin-left:auto;white-space:nowrap}.preview-toolbar button{font-size:11px}#stage{width:min(100%,1200px);aspect-ratio:16/9;position:relative;overflow:hidden;border:1px solid #472330;background:#000;box-shadow:0 12px 45px #0008;border-radius:5px}#visual{width:100%;height:100%;display:block}#start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;width:60px;height:60px;background:#180c11d9;border:1px solid #fa7594;font-size:21px;box-shadow:0 0 30px #ff426945}#start[hidden]{display:none}#status{font-size:11px;color:var(--muted);width:min(100%,1200px);min-height:16px;margin:10px 0 0}#app:fullscreen{display:flex;flex-direction:column;height:100vh;background:#000}#app:fullscreen .topbar,#app:fullscreen .editor-sidebar,#app:fullscreen .preview-toolbar,#app:fullscreen #status{display:none}#app:fullscreen .workspace{padding:0;flex:1;min-height:0}#app:fullscreen #stage{width:100%;max-height:100%;border:0;box-shadow:none}
.transport{grid-area:transport;display:flex;align-items:center;gap:17px;padding:14px 24px;border-top:1px solid var(--line);background:#100d10}.transport button{min-width:110px}.transport #time{font-size:12px;font-variant-numeric:tabular-nums;color:#d9bec6;white-space:nowrap}#seek{flex:1;min-width:70px}.transport label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.transport label input{width:100px}input[type=range]{accent-color:var(--accent);cursor:pointer}dialog{background:#171116;border:1px solid #62414c;border-radius:9px;color:#f4e8eb;width:min(440px,calc(100vw - 20px));box-shadow:0 18px 70px #000b;padding:22px}dialog::backdrop{background:#000b}dialog header{display:flex;align-items:center;justify-content:space-between}dialog header h2{margin:0 0 15px}dialog header button{padding:5px 10px}dialog>label{display:block;font-size:12px;margin:15px 0;color:#d9c2ca}dialog>label select{display:block;width:100%;padding:9px;margin-top:7px}dialog progress{display:block;width:100%;margin:17px 0 9px;accent-color:var(--accent)}#export-status{font-size:12px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
@media(max-width:900px){#app{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:'head' 'main' 'transport' 'side'}.topbar{flex-wrap:wrap;padding:12px;gap:10px}.brand span{display:none}.project-name input{max-width:32vw}.top-actions{margin-left:0;width:100%;justify-content:flex-end}.workspace{padding:16px}.editor-sidebar{display:block;border-right:0;border-top:1px solid var(--line)}.tabs{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:5px}.tabs button{white-space:nowrap;padding:10px 12px}.panel-scroll{max-height:45vh}.panel{max-width:600px}.transport{padding:12px;flex-wrap:wrap}.transport #seek{order:3;flex-basis:100%}.transport label{margin-left:auto}}@media(max-width:500px){.top-actions button{font-size:10px;padding:8px}.brand{font-size:17px}.preview-toolbar{gap:7px}.preview-toolbar button{padding:7px;font-size:10px}.preview-toolbar span:nth-child(2){display:none}.workspace{padding:10px}.transport{gap:9px}.transport label input{width:70px}#start{width:44px;height:44px;font-size:17px}}
.preset-row button:not(:first-child){width:34px}.preset-row input{min-width:0;flex:1;height:30px}
@media(max-width:900px){#app{grid-template-columns:minmax(0,1fr)}.topbar,.editor-sidebar,.workspace,.transport{min-width:0}.top-actions{min-width:0;flex-wrap:wrap;justify-content:flex-start}.tabs,.panel-scroll{max-width:100vw}.transport label{order:4;flex-basis:100%;margin-left:0}.transport #seek{order:3}}
/* Persistent preview and independent settings navigation. */
@media(min-width:901px){html,body{height:100%;overflow:hidden}#app{height:100dvh;min-height:0;grid-template-columns:390px minmax(0,1fr);grid-template-rows:64px minmax(0,1fr) 78px}.editor-sidebar,.workspace{min-height:0}.tabs{overflow-y:auto}.panel-scroll{min-height:0;overscroll-behavior:contain}.workspace{overflow:hidden}.preview-toolbar,#status{width:min(100%,1050px)}}
.editor-sidebar{grid-template-columns:104px minmax(0,1fr)}.tabs button{font-size:12px}.panel{padding:22px 18px 28px}.panel .file{margin-bottom:8px}.choice-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 18px}.choice-list[hidden]{display:none}.choice-list button{text-align:left;width:100%;margin:0;background:#2a1b24;border-color:#583746}.choice-list button:hover{border-color:#ff7898}.panel button[aria-pressed=true]{background:#7c2d45;border-color:#ff7898;color:white}.text-edit #visual{cursor:grab;touch-action:none}.text-edit #visual:active{cursor:grabbing}
@media(max-width:900px){.editor-sidebar{display:block}.workspace{position:sticky;top:0;z-index:5;background:#09080a;padding:8px 14px;box-shadow:0 12px 28px #0009}.panel-scroll{max-height:none;overflow:visible}.preview-toolbar{margin-bottom:5px}#status{margin-top:5px}.tabs{position:sticky;top:0;z-index:2;background:#121014}.panel{padding-bottom:60px}#stage{max-height:33vh;width:min(100%,calc(33vh * 1.7778))!important}}
@media(max-width:900px){#stage{width:min(var(--preview-pct,100%),calc(33vh * var(--preview-ratio,1.7778)))!important}}
#app:fullscreen #stage{width:100%!important;max-height:100%!important}
/* Settings are independent disclosure sections, not a wall of controls. */
.settings-section,.layer-section{margin:0;border:0;border-bottom:1px solid #40303a;background:transparent;overflow:visible}.settings-section:first-child,.layer-section:first-of-type{border-top:1px solid #40303a}.settings-section>summary,.layer-section>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:49px;padding:12px 4px;cursor:pointer;color:#eadce0;font-size:13px;font-weight:700;line-height:1.3}.settings-section>summary::-webkit-details-marker,.layer-section>summary::-webkit-details-marker{display:none}.settings-section>summary::after,.layer-section>summary::after{content:'⌄';font-size:19px;font-weight:400;line-height:1;color:#fb829f;margin-left:auto;transform:rotate(0deg);transition:transform .22s ease}.settings-section[open]>summary::after,.layer-section[open]>summary::after{transform:rotate(180deg)}.settings-section>summary:hover,.layer-section>summary:hover{color:#ff9bb4;background:linear-gradient(90deg,#4724305e,transparent)}.settings-section>summary:focus-visible,.layer-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-section[open],.layer-section[open]{border-left:2px solid #dc5778;padding-left:8px}.settings-section-body,.layer-body{padding:2px 7px 12px 10px;animation:section-reveal .24s ease-out both}.layer-section>summary small{display:block;color:#9e818b;font-size:10px;font-weight:400;margin-left:auto;text-align:right}.layer-section>summary::after{margin-left:0}.layer-body{padding-left:2px}.layer-body .settings-section>summary{font-size:12px;min-height:43px}.layer-body .settings-section-body{padding-right:5px}.settings-section .hint{margin-top:6px}.settings-section [hidden]{display:none!important}.settings-section .font-action{display:block;margin-top:2px;background:#3a2130;border-color:#9d4a64;color:#ffe1e9}.settings-section .font-action[aria-expanded=true]{background:#6a2a42}.settings-section #font-upload-wrap{padding:9px 0 1px}.settings-section .file{margin-bottom:8px}@keyframes section-reveal{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.settings-section-body,.layer-body{animation:none}.settings-section>summary::after,.layer-section>summary::after{transition:none}}
.panel[data-panel=project] .settings-section-body>button,.panel[data-panel=project] .settings-section-body>.row>button,.panel[data-panel=text] #text-customize,.settings-section .font-action{background:#35202d;border:1px solid #82445a;border-radius:7px;color:#ffe1e9;font-weight:650;padding:9px 13px;box-shadow:inset 0 1px #ffffff10,0 3px 10px #0003;transition:background .16s,border-color .16s,transform .16s}.panel[data-panel=project] .settings-section-body>button:hover,.panel[data-panel=project] .settings-section-body>.row>button:hover,.panel[data-panel=text] #text-customize:hover,.settings-section .font-action:hover{background:#593044;border-color:#ff829f;transform:translateY(-1px)}.settings-section #font-upload[hidden]{display:none!important}.toast-stack{position:fixed;right:24px;top:78px;z-index:100;display:flex;flex-direction:column;gap:9px;max-width:min(370px,calc(100vw - 32px));pointer-events:none}.toast{background:#2b1722;color:#fff2f5;border:1px solid #ff7e9d;border-left:4px solid #ff537d;border-radius:8px;padding:13px 16px;box-shadow:0 10px 36px #000b;font-size:13px;font-weight:600;line-height:1.35;animation:toast-in .23s ease-out}.toast-error{border-color:#ffb0a2;border-left-color:#ff806c}.toast-leave{opacity:0;transform:translateX(12px);transition:opacity .25s,transform .25s}@keyframes toast-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@media(max-width:900px){.toast-stack{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){.toast,.toast-leave{animation:none;transition:none}}
.panel[data-panel=project] input[type=file]{color:#bd9fa9;line-height:1.45}.panel[data-panel=project] input[type=file]::file-selector-button{background:#35202d;border:1px solid #82445a;border-radius:7px;color:#ffe1e9;font:600 11px Arial,Helvetica,sans-serif;padding:8px 12px;margin-right:8px;cursor:pointer;box-shadow:inset 0 1px #ffffff10,0 3px 10px #0003}.panel[data-panel=project] input[type=file]::file-selector-button:hover{background:#593044;border-color:#ff829f}
.toast-stack{position:static;max-width:none}.toast{position:fixed;left:var(--toast-left,12px);top:var(--toast-top,70px);width:max-content;max-width:min(280px,calc(100vw - 24px));z-index:101;box-shadow:0 9px 28px #000c;font-size:12px}.intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#251019 0,#10080d 34%,#050407 75%);opacity:1;visibility:visible;transition:opacity .65s ease,visibility .65s ease}.intro::before{content:'';position:absolute;width:min(62vw,600px);aspect-ratio:1;border:1px solid #ff688123;border-radius:50%;box-shadow:0 0 0 85px #ff688108,0 0 90px #d41e4a16;animation:intro-breathe 1.65s ease-in-out infinite alternate}.intro-core{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;transform:translateY(-7px);animation:intro-rise .28s ease-out both}.intro-emblem{width:clamp(115px,15vw,185px);aspect-ratio:1;filter:drop-shadow(0 0 22px #ffffff37)}.intro-emblem img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.intro-title{margin-top:20px;color:#fff8fa;font-size:clamp(18px,2.4vw,29px);font-weight:800;letter-spacing:.22em;text-align:center;padding-left:.22em}.intro-by{margin-top:9px;color:#c8aab6;font-size:clamp(12px,1.2vw,15px);letter-spacing:.14em}.intro-by strong{color:#fff0f5;font-weight:800;letter-spacing:.2em}.intro-progress{width:clamp(190px,24vw,285px);margin-top:35px}.intro-progress-track{height:3px;background:#55333d;border-radius:10px;overflow:hidden}.intro-progress-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#b43a5e,#ff9fba,#fff1f5);border-radius:10px;box-shadow:0 0 14px #ff7999;transition:width .35s ease}.intro-progress-label{margin-top:10px;color:#9f8791;font-size:10px;letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums}.intro-exit{opacity:0;visibility:hidden;pointer-events:none}@keyframes intro-rise{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(-7px) scale(1)}}@keyframes intro-breathe{from{transform:scale(.96);opacity:.48}to{transform:scale(1.04);opacity:1}}@media(prefers-reduced-motion:reduce){.intro,.intro-core,.intro::before,.intro-progress-track span{animation:none;transition:none}}
.intro-emblem img{opacity:0;mix-blend-mode:normal;transition:opacity .25s ease}.intro-emblem img.ready{opacity:1}

