:root{color:#1d2633;background:#eef3f8;font-family:Microsoft YaHei UI,Microsoft YaHei,Segoe UI,sans-serif;--bg: #eef3f8;--surface: #ffffff;--soft: #f6f9fc;--line: #d8e1ec;--line-dark: #c5d2e1;--text: #1d2633;--muted: #7c8a9b;--blue: #2f8df5;--blue-soft: #e7f1ff;--green: #20a66a;--red: #e5485d}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.hidden-file{display:none}.app-shell{height:100vh;display:flex;flex-direction:row;overflow:hidden}.side-menu{width:148px;flex:0 0 148px;display:flex;flex-direction:column;gap:18px;padding:18px 8px;background:#eaf2ff;border-right:1px solid #d8e6f8}.side-logo{width:34px;height:34px;display:grid;place-items:center;margin:0 6px 2px;color:#fff;background:#172235;border-radius:8px;font-size:13px;font-weight:900}.side-nav{display:flex;flex-direction:column;gap:10px}.side-nav button{width:100%;height:44px;display:flex;align-items:center;gap:9px;padding:0 16px;color:#40516a;background:transparent;border-radius:7px;font-size:14px;font-weight:800;text-align:left}.side-nav button:hover{background:#dce9fb}.side-nav button:focus-visible,.corner-actions .icon-button:focus-visible{outline:2px solid #2f8df5;outline-offset:2px}.side-nav button.active{color:#fff;background:#75a8ff}.mobile-nav{display:none}.app-main{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.app-shell.editor-mode{background:#202020}.app-shell.editor-mode .app-main{width:100vw;height:100vh;flex:1 1 auto}.brand{min-width:0;display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#172235;border-radius:8px;font-weight:900}h1,h2,p{margin:0}h1{font-size:19px;line-height:1.15}h2{font-size:20px;line-height:1.2}.brand p,.panel-heading p,.file-toolbar p{margin-top:4px;color:var(--muted);font-size:13px}.toolbar-actions,.control-row,.panel-heading,.render-result{display:flex;align-items:center}.toolbar-actions,.control-row{gap:10px}.corner-actions{position:fixed;left:10px;bottom:12px;z-index:80;display:flex;flex-direction:column;gap:8px}.corner-actions .icon-button{width:38px;height:38px;color:#dbe7f6;background:#172235;border-color:#ffffff1f;box-shadow:0 10px 24px #0f172a38}.corner-actions .icon-button:hover{color:#fff;background:#2563eb}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-pill{min-width:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.status-pill.ok{border-color:#bbf7d0;background:#f4fff8}.status-pill.error{border-color:#ffd2d9;background:#fff6f7}.status-pill div{min-width:0;display:grid;gap:2px}.status-pill b{color:var(--text);font-size:12px}.status-pill span{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.settings-section{display:grid;gap:10px;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.settings-section h3{margin:0;font-size:14px}.font-list{display:grid;gap:8px;max-height:160px;overflow:auto}.font-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:6px}.primary-button,.secondary-button,.icon-button,.new-folder{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;font-weight:800;white-space:nowrap}.primary-button,.new-folder{color:#fff;background:var(--blue)}.secondary-button,.icon-button{color:var(--text);background:var(--surface);border:1px solid var(--line-dark)}.icon-button{width:36px}.large{min-width:128px}.full{width:100%}.asset-page{min-height:0;flex:1;display:grid;grid-template-columns:288px minmax(0,1fr);overflow:hidden}.folder-pane{min-height:0;display:flex;flex-direction:column;gap:16px;padding:10px 12px;background:var(--surface);border-right:1px solid var(--line)}.new-folder{width:100%;height:40px;font-size:15px}.search-box{height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;color:#9aa8b8;background:#fbfdff;border:1px solid var(--line-dark);border-radius:5px}.search-box input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.folder-tree{min-height:0;flex:1;overflow:auto;padding-right:2px}.folder-node{height:40px;display:grid;grid-template-columns:18px 20px minmax(0,1fr) auto auto;gap:6px;align-items:center;padding:0 8px 0 2px;color:#425065;border-radius:6px;font-size:14px}.folder-node:hover{background:#f2f6fb}.folder-node.selected{color:var(--blue);background:var(--blue-soft);font-weight:800}.folder-node span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-node b{min-width:28px;padding:4px 8px;color:#8e9bad;background:#edf1f6;border-radius:999px;text-align:center;font-size:12px}.twisty,.mini-add,.more-button{display:grid;place-items:center;color:#9aa8b8;background:transparent}.twisty .open{transform:rotate(90deg)}.mini-add{height:24px;min-width:22px;border-radius:4px;font-weight:900}.mini-add:hover{color:#fff;background:var(--blue)}.folder-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease}.folder-node:hover .folder-actions,.folder-node.selected .folder-actions{opacity:1}.folder-children{margin-left:16px}.empty-folder{padding:18px 8px;color:var(--muted);text-align:center;font-size:13px}.file-pane{min-width:0;min-height:0;display:flex;flex-direction:column;background:#f3f7fb}.file-toolbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line)}.toolbar-actions select{height:34px;padding:0 12px;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:5px}.selection-line{height:56px;display:flex;align-items:center;padding:0 20px;color:#516077;background:#fff;border-bottom:1px solid var(--line);font-size:14px}.video-list-toolbar{height:44px;display:flex;align-items:center;gap:14px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.check-row{display:inline-flex;align-items:center;gap:8px;color:#46566b;font-weight:700}.danger{color:var(--red);border-color:#ffd2d9}.video-grid{min-height:0;overflow:auto;padding:16px 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));align-content:start;gap:16px}.video-grid::-webkit-scrollbar,.generate-workbench::-webkit-scrollbar,.template-grid::-webkit-scrollbar{width:8px;height:8px}.video-grid::-webkit-scrollbar-track,.generate-workbench::-webkit-scrollbar-track,.template-grid::-webkit-scrollbar-track{background:transparent}.video-grid::-webkit-scrollbar-thumb,.generate-workbench::-webkit-scrollbar-thumb,.template-grid::-webkit-scrollbar-thumb{background:#9aa8b8;border-radius:999px}.video-grid::-webkit-scrollbar-button,.generate-workbench::-webkit-scrollbar-button,.template-grid::-webkit-scrollbar-button{display:none}.video-card{position:relative;overflow:hidden;min-height:156px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:8px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.video-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1f2a3a1f}.video-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px #2f8df524}.video-thumb{width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;flex:0 0 auto;color:#1f2a3a;background:linear-gradient(180deg,#fff,#edf4fb);border-bottom:1px solid var(--line)}.video-card h3{margin:10px 10px 2px;min-width:0;overflow:hidden;color:var(--text);font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.video-card p{margin:0 10px 10px;min-width:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.card-check{position:absolute;left:8px;top:8px;z-index:2;display:grid;place-items:center;width:22px;height:22px;background:#ffffffeb;border-radius:4px}.card-cover{position:relative;width:100%;aspect-ratio:16 / 9;display:block;overflow:hidden;padding:0;background:#0c1118;border-radius:0}.card-cover video,.card-cover img{width:100%;height:100%;object-fit:cover}.video-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#243244;background:#f8fafc}.play-mask{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#0c11182e;opacity:0;transition:opacity .16s ease}.card-cover:hover .play-mask{opacity:1}.cloud-badge{position:absolute;right:8px;top:8px;padding:3px 7px;color:#fff;background:#667180e0;border-radius:4px;font-size:12px;font-weight:800}.cloud-badge.ok{background:#20a66ae6}.card-footer{min-height:72px;display:flex;flex-direction:column;gap:7px;padding:10px 12px 12px}.card-footer h3{margin:0;min-width:0;overflow:hidden;color:var(--text);font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-footer strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.card-footer p,.plan-item p{margin:0;color:var(--muted);font-size:13px}.card-actions{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.more-button{width:28px;height:26px;border-radius:4px}.more-button:hover{color:var(--red);background:#fff1f3}.link-button{margin-top:5px;padding:0;color:var(--blue);background:transparent;font-size:13px;font-weight:800}.empty-state,.empty-template{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;color:#98a7b8;text-align:center}.empty-state strong{color:#6a7789}.generate-page{min-height:0;flex:1;display:grid;grid-template-columns:minmax(330px,420px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px;padding:20px;overflow:hidden;background:#f3f7fb}.generate-page>.panel-heading{grid-column:1 / -1}.generator-card,.result-card{min-height:0;display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h2,.panel-heading h3,.template-panel-head h3,.workbench-head h3{margin:0}.panel-heading p,.template-panel-head p,.workbench-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.template-library-page{min-height:0;flex:1;display:flex;flex-direction:column;gap:16px;padding:16px 20px;overflow:hidden;background:#f3f7fb}.library-toolbar{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 2px}.library-toolbar p{margin-top:4px;color:var(--muted);font-size:13px}.template-cover-grid{min-height:0;flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));align-content:start;gap:16px 18px;padding:2px 0}.template-cover-card{min-width:0;cursor:pointer;outline:none}.template-cover-card:focus-visible .template-cover-media{box-shadow:0 0 0 3px #2f8df540}.template-cover-media{position:relative;width:100%;aspect-ratio:9 / 16;overflow:hidden;background:#05070b;border-radius:4px;box-shadow:0 8px 24px #1f2a3a1f;transition:transform .16s ease,box-shadow .16s ease}.template-cover-card:hover .template-cover-media{transform:translateY(-2px);box-shadow:0 14px 32px #1f2a3a2b}.template-cover-media img,.template-cover-fallback{position:absolute;inset:0}.template-cover-media img{z-index:1;width:100%;height:100%;object-fit:cover}.template-cover-fallback{display:grid;place-items:center;color:#fff;background:#05070b}.template-cover-media:after{content:"";position:absolute;inset:48% 0 0;z-index:2;background:linear-gradient(180deg,transparent 0%,rgba(5,7,11,.72) 58%,rgba(5,7,11,.95) 100%);pointer-events:none}.template-play{position:absolute;left:50%;top:50%;z-index:3;width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#ffffff1f;border:3px solid rgba(255,255,255,.92);border-radius:999px;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.template-delete{position:absolute;right:8px;top:8px;z-index:4;width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#05070b75;border:1px solid rgba(255,255,255,.28);border-radius:5px;opacity:0;transition:opacity .15s ease,background .15s ease}.template-cover-card:hover .template-delete,.template-delete:focus-visible{opacity:1}.template-delete:hover{background:var(--red)}.template-font-action{position:absolute;right:8px;top:48px;z-index:4;width:32px;height:32px;display:grid;place-items:center;color:#171717;background:#ffe600eb;border:1px solid rgba(0,0,0,.2);border-radius:5px;font-weight:900;opacity:0;transition:opacity .15s ease,transform .15s ease}.template-cover-card:hover .template-font-action,.template-font-action:focus-visible{opacity:1}.template-font-action:hover{transform:translateY(-1px)}.template-manual-edit{position:absolute;right:8px;top:88px;z-index:4;width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#00bcd4e6;border:1px solid rgba(255,255,255,.32);border-radius:5px;font-weight:900;opacity:0}.template-cover-card:hover .template-manual-edit{opacity:1}.manual-editor{min-height:0;flex:1;display:grid;grid-template-columns:210px minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr);overflow:hidden;background:#171717;color:#e8e8e8}.manual-left,.manual-right,.manual-center{min-height:0}.manual-left,.manual-right{display:flex;flex-direction:column;background:#242424;border-color:#333}.manual-left{border-right:1px solid #333}.manual-right{position:relative;width:300px;max-width:300px;border-left:1px solid #333;min-width:0;overflow-x:hidden;overflow-y:auto;background:#242424}.manual-right::-webkit-scrollbar,.manual-left::-webkit-scrollbar{width:8px;height:8px}.manual-right::-webkit-scrollbar-track,.manual-left::-webkit-scrollbar-track{background:transparent}.manual-right::-webkit-scrollbar-thumb,.manual-left::-webkit-scrollbar-thumb{background:#6c6c6c;border-radius:999px}.manual-right::-webkit-scrollbar-button,.manual-left::-webkit-scrollbar-button{display:none}.manual-right *,.manual-right *:before,.manual-right *:after{box-sizing:border-box}.manual-tabs{height:56px;display:flex;align-items:center;gap:6px;padding:8px;border-bottom:1px solid #333}.manual-tabs button,.manual-upload,.manual-layer-actions button,.manual-icon-row button{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#d7d7d7;background:#303030;border:1px solid #3d3d3d;border-radius:5px;font-weight:800}.manual-tabs button{flex:1}.manual-tabs button.active,.manual-icon-row button.active,.animation-grid button.active{color:#00e5ff;border-color:#00d5e8;box-shadow:0 0 0 1px #00d5e840 inset}.manual-resource-panel{min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:auto}.manual-resource-card{height:96px;display:grid;place-items:center;align-content:center;gap:8px;color:#f3f3f3;background:#383838;border:1px solid #454545;border-radius:8px}.manual-upload{width:100%}.manual-search input{width:100%;height:34px;padding:0 10px;color:#eee;background:#191919;border:1px solid #3f3f3f;border-radius:5px;outline:0}.sticker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sticker-card{position:relative;min-width:0;display:grid;gap:6px}.sticker-card>button:first-child{aspect-ratio:1;display:grid;place-items:center;background:#343434;border:1px solid #444;border-radius:7px;overflow:hidden}.sticker-card img{max-width:86%;max-height:86%;object-fit:contain}.sticker-card span{overflow:hidden;color:#aaa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.sticker-delete{position:absolute;right:4px;top:4px;width:24px;height:24px;color:#fff;background:#111111ad;border-radius:4px}.sticker-favorite{position:absolute;left:4px;top:4px;width:24px;height:24px;display:grid;place-items:center;color:#ffffffb8;background:#111111ad;border-radius:4px}.sticker-favorite:hover{color:#ffd84d;background:#111111db}.sticker-favorite.active{color:#ffd84d;background:#111111e6}.manual-empty{grid-column:1 / -1;padding:28px 10px;color:#8e8e8e;text-align:center;border:1px dashed #454545;border-radius:7px;font-size:12px}.manual-center{display:grid;grid-template-rows:44px minmax(0,1fr) auto;overflow:hidden;background:#1d1d1d}.manual-topline{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;padding:5px 7px;border-bottom:1px solid #333}.manual-topline .secondary-button,.manual-topline .primary-button{height:28px;min-width:0;padding:0 9px;border-radius:5px;font-size:13px;white-space:nowrap}.manual-topline label{display:inline-flex;align-items:center;gap:4px;color:#aaa;font-size:12px;font-weight:800;white-space:nowrap}.manual-topline input{height:26px;min-width:52px;max-width:128px;color:#eee;background:#2b2b2b;border:1px solid #424242;border-radius:5px;padding:0 8px}.manual-backdrop-switch{height:28px;display:inline-flex;align-items:center;gap:2px;padding:3px;background:#2d2d2d;border:1px solid #464646;border-radius:6px}.manual-backdrop-switch button{height:22px;padding:0 6px;color:#cfcfcf;background:transparent;border-radius:4px;font-size:12px;font-weight:800}.manual-backdrop-switch button.active{color:#071018;background:#00e5ff}.manual-player{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 34px;overflow:hidden;background:#242424}.manual-preview-wrap{min-height:0;display:grid;place-items:center;overflow:hidden;padding:2px 8px}.manual-preview{position:relative;height:min(100%,760px);width:auto;max-width:100%;aspect-ratio:9 / 16;overflow:hidden;box-shadow:0 18px 60px #00000073}.manual-stage{position:absolute;left:0;top:0;width:1080px;height:1920px;overflow:hidden;background:#2f3740;transform:scale(.35185185);transform-origin:0 0;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.manual-stage.backdrop-dark{background:radial-gradient(circle at 35% 22%,rgba(120,150,170,.28),transparent 34%),linear-gradient(180deg,#4b5660,#303842 45%,#222831)}.manual-stage.backdrop-light{background:linear-gradient(180deg,#fffc,#e2e8f0eb),#eef2f7}.manual-stage.backdrop-grid{background:linear-gradient(45deg,rgba(0,0,0,.06) 25%,transparent 25% 75%,rgba(0,0,0,.06) 75%),linear-gradient(45deg,rgba(0,0,0,.06) 25%,transparent 25% 75%,rgba(0,0,0,.06) 75%),#f2f4f7;background-position:0 0,32px 32px,0 0;background-size:64px 64px,64px 64px,auto}.manual-stage.backdrop-custom{background:var(--manual-bg, #f2f4f7)}.manual-guide-line{position:absolute;z-index:1000;display:block;pointer-events:none;background:#00e5ff;box-shadow:0 0 0 1px #00e5ff2e,0 0 8px #00e5ff73}.manual-guide-line.vertical{top:0;bottom:0;left:50%;width:2px;transform:translate(-50%)}.manual-guide-line.horizontal{left:0;right:0;top:50%;height:2px;transform:translateY(-50%)}.manual-player-controls{position:relative;height:42px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;padding:0 8px;color:#d7d7d7;background:#242424}@media(max-width:1500px){.manual-editor{grid-template-columns:210px minmax(0,1fr) 300px}.manual-right{width:300px;max-width:300px}.manual-resource-panel{padding:10px}.manual-preview{height:min(100%,720px)}}.manual-player-controls .time{font-size:11px;font-weight:800}.manual-player-controls .time.current{color:#00e5ff}.manual-player-controls>button{justify-self:center;width:34px;height:34px;display:grid;place-items:center;color:#e5e5e5;background:transparent}.player-tools{display:flex;align-items:center;gap:9px;color:#e9e9e9;font-size:11px;font-weight:800}.player-tools span{display:inline-flex;align-items:center;gap:3px}.canvas-layer{position:absolute;transform-origin:center;cursor:move;overflow:visible}.canvas-layer.text{overflow:visible}.canvas-layer.selected{outline:1px solid #fff;box-shadow:0 0 0 1px #00e5ffe6}.layer-context-menu{position:fixed;z-index:1000;min-width:118px;padding:6px;display:grid;gap:4px;background:#171717f5;border:1px solid rgba(255,255,255,.16);border-radius:8px;box-shadow:0 18px 40px #00000061}.layer-context-menu button{height:30px;display:flex;align-items:center;gap:8px;padding:0 9px;color:#f4f4f5;background:transparent;border-radius:6px;font-size:13px;font-weight:800;text-align:left}.layer-context-menu button:hover{color:#071018;background:#00e5ff}.layer-context-menu button.danger:hover{color:#fff;background:#ef4444}.canvas-layer.sticker img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.canvas-text-edit{z-index:1;width:100%;height:100%;box-sizing:border-box;display:block;align-content:center;position:relative;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow:hidden;outline:0;cursor:move;-webkit-user-select:none;user-select:none}.webgl-text-animation-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.canvas-text-edit.webgl-visual-hidden{opacity:0}.canvas-text-lines{display:block;width:100%;white-space:pre-wrap}.canvas-text-line{display:block}.canvas-text-line-bg{display:inline;padding:var(--fit-bg-padding-y, .08em) var(--fit-bg-padding-x, .22em);color:inherit;background:var(--fit-bg-color, transparent);border-radius:var(--fit-bg-radius, .12em);-webkit-box-decoration-break:clone;box-decoration-break:clone}.canvas-text-background{position:absolute;z-index:0;pointer-events:none}.canvas-text-edit:before{content:"";display:none;position:absolute;z-index:-1;left:50%;top:50%;width:var(--text-bg-width, 100%);height:var(--text-bg-height, 100%);background:var(--text-bg-color, transparent);border-radius:var(--text-bg-radius, 0);transform:translate(calc(-50% + var(--text-bg-x, 0%)),calc(-50% + var(--text-bg-y, 0%)));pointer-events:none}.canvas-text-edit.editing{cursor:text;-webkit-user-select:text;user-select:text}.typing-cursor-block{width:.22em;height:1.08em;display:inline-block;margin-left:.08em;vertical-align:-.16em;background:#fff;box-shadow:0 0 1px #00000047;animation:typingCursorBlink .86s steps(1,end) infinite}.typing-cursor-block.white,.typing-cursor-block.block-white{background:#fff}.typing-cursor-block.line-white{width:.08em;margin-left:.04em;background:#fff}.typing-cursor-block.block-red{width:.28em;background:#ef233c;box-shadow:0 0 8px #ef233cad}.typing-cursor-block.block-ivory,.typing-cursor-block.line-ivory{width:.12em;background:#f7f0df;box-shadow:0 0 5px #f7f0df75}.typing-hidden-tail{visibility:hidden}.typing-fixed-line,.typing-random-line{white-space:inherit}.typing-fixed-char{position:relative;display:inline}.typing-char-hidden,.typing-slot-placeholder{visibility:hidden}.typing-slot-overlay{position:absolute;inset:0 auto auto 0}.typing-cursor-anchor{position:relative;display:inline-block;width:0;height:0;vertical-align:baseline}.typing-cursor-anchor.end{vertical-align:baseline}.typing-cursor-anchor .typing-cursor-block{position:absolute;left:.04em;bottom:-.16em}.typing-random-noise{opacity:.62;filter:blur(.7px);transform:skew(-6deg)}.typing-hidden-slot{opacity:0}.word-reveal-char{display:inline-block;transition:opacity 80ms linear,filter 80ms linear}.canvas-text-edit.text-effect-word-reveal{opacity:calc(.18 + .82*min(1,max(0,var(--text-animation-progress, 1))));filter:blur(calc(4px*(1 - min(1,max(0,var(--text-animation-progress, 1))))));-webkit-mask-image:linear-gradient(90deg,#000 0 34%,rgba(0,0,0,.65) 48%,transparent 66%);-webkit-mask-size:280% 100%;-webkit-mask-position:calc(118% - (225%*min(1,max(0,var(--text-animation-progress, 1))))) 0;mask-image:linear-gradient(90deg,#000 0 34%,rgba(0,0,0,.65) 48%,transparent 66%);mask-size:280% 100%;mask-position:calc(118% - (225%*min(1,max(0,var(--text-animation-progress, 1))))) 0}.canvas-text-edit.text-effect-starlight{filter:drop-shadow(0 0 8px rgba(255,255,255,.72)) drop-shadow(0 0 18px rgba(255,219,77,.65));-webkit-mask-image:linear-gradient(90deg,#000 0 38%,rgba(0,0,0,.55) 54%,transparent 72%);-webkit-mask-size:290% 100%;-webkit-mask-position:calc(122% - (226%*min(1,max(0,var(--text-animation-progress, 1))))) 0;mask-image:linear-gradient(90deg,#000 0 38%,rgba(0,0,0,.55) 54%,transparent 72%);mask-size:290% 100%;mask-position:calc(122% - (226%*min(1,max(0,var(--text-animation-progress, 1))))) 0}.canvas-text-edit.text-effect-gold{filter:drop-shadow(0 0 10px rgba(255,205,38,.82)) drop-shadow(0 0 24px rgba(255,172,26,.46));-webkit-mask-image:linear-gradient(90deg,#000 0 42%,rgba(0,0,0,.68) 56%,transparent 74%);-webkit-mask-size:300% 100%;-webkit-mask-position:calc(126% - (232%*min(1,max(0,var(--text-animation-progress, 1))))) 0;mask-image:linear-gradient(90deg,#000 0 42%,rgba(0,0,0,.68) 56%,transparent 74%);mask-size:300% 100%;mask-position:calc(126% - (232%*min(1,max(0,var(--text-animation-progress, 1))))) 0}.canvas-text-edit.text-effect-snow{text-shadow:0 0 8px rgba(232,249,255,.95),0 0 20px rgba(255,255,255,.62),0 0 32px rgba(180,230,255,.32);-webkit-mask-image:linear-gradient(90deg,#000 0 36%,rgba(0,0,0,.58) 52%,transparent 72%);-webkit-mask-size:285% 100%;-webkit-mask-position:calc(120% - (226%*min(1,max(0,var(--text-animation-progress, 1))))) 0;mask-image:linear-gradient(90deg,#000 0 36%,rgba(0,0,0,.58) 52%,transparent 72%);mask-size:285% 100%;mask-position:calc(120% - (226%*min(1,max(0,var(--text-animation-progress, 1))))) 0}.canvas-text-edit.text-effect-new-year{filter:drop-shadow(0 0 9px rgba(255,64,64,.6)) drop-shadow(0 0 14px rgba(255,215,0,.4))}.canvas-text-edit.text-effect-slide-trail,.canvas-text-edit.text-effect-pop-trail,.canvas-text-edit.text-effect-leap-trail,.canvas-text-edit.text-effect-up-pop-trail{filter:blur(calc(2.2px*(1 - min(1,max(0,var(--text-animation-progress, 1))))))}.canvas-text-edit.text-effect-slide-trail:after,.canvas-text-edit.text-effect-pop-trail:after,.canvas-text-edit.text-effect-leap-trail:after,.canvas-text-edit.text-effect-up-pop-trail:after{content:attr(data-text);position:absolute;inset:0;padding:inherit;z-index:-1;color:currentColor;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;text-align:inherit;opacity:calc(.42*(1 - min(1,max(0,var(--text-animation-progress, 1)))));filter:blur(5px);pointer-events:none}.canvas-text-edit.text-effect-slide-trail:after{transform:translate(calc(34px*(1 - min(1,max(0,var(--text-animation-progress, 1))))))}.canvas-text-edit.text-effect-pop-trail:after{transform:scale(calc(.55 + .45*min(1,max(0,var(--text-animation-progress, 1)))));transform-origin:center}.canvas-text-edit.text-effect-leap-trail:after{transform:translate(calc(-22px*(1 - min(1,max(0,var(--text-animation-progress, 1))))),calc(8px*(1 - min(1,max(0,var(--text-animation-progress, 1))))))}.canvas-text-edit.text-effect-up-pop-trail:after{transform:scaleY(calc(2.6 - (1.6*min(1,max(0,var(--text-animation-progress, 1)))))) translateY(calc(28px*(1 - min(1,max(0,var(--text-animation-progress, 1))))));transform-origin:center bottom}.canvas-text-edit.text-effect-starlight:after,.canvas-text-edit.text-effect-gold:after,.canvas-text-edit.text-effect-snow:after{content:"";position:absolute;inset:-45%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:calc(1 - min(1,max(0,(var(--text-animation-progress, 1) - .78) / .22)))}.canvas-text-edit.text-effect-starlight:after{background:radial-gradient(circle at 70% 48%,rgba(255,238,91,1) 0 5px,rgba(255,238,91,.38) 7px 22px,transparent 26px),linear-gradient(24deg,transparent 0 31%,rgba(68,210,168,.55) 41%,rgba(255,235,95,.98) 50%,rgba(255,247,188,.7) 54%,transparent 68%),radial-gradient(circle at 24% 58%,rgba(255,246,160,.95) 0 2px,transparent 5px),radial-gradient(circle at 52% 42%,rgba(255,255,255,.9) 0 1.5px,transparent 4px),radial-gradient(circle at 84% 58%,rgba(255,224,92,.82) 0 2px,transparent 5px);transform:translate(calc(-58% + 112%*min(1,max(0,var(--text-animation-progress, 1))))) translateY(calc(24% - (45%*min(1,max(0,var(--text-animation-progress, 1)))))) rotate(-8deg)}.canvas-text-edit.text-effect-gold:after{background:radial-gradient(ellipse at 42% 52%,rgba(255,199,37,.82) 0 9%,transparent 28%),radial-gradient(circle at 52% 48%,rgba(255,246,164,1) 0 5px,rgba(255,216,62,.6) 7px 20px,transparent 26px),linear-gradient(138deg,transparent 0 30%,rgba(255,180,31,.98) 41%,rgba(255,242,137,.95) 50%,rgba(255,189,33,.82) 57%,transparent 71%),radial-gradient(circle at 15% 66%,rgba(255,216,62,.98) 0 2px,transparent 5px),radial-gradient(circle at 31% 51%,rgba(255,246,178,.9) 0 1.5px,transparent 4px),radial-gradient(circle at 62% 62%,rgba(255,195,36,.88) 0 2px,transparent 5px),radial-gradient(circle at 78% 48%,rgba(255,231,117,.76) 0 1.5px,transparent 4px);transform:translate(calc(-54% + 102%*min(1,max(0,var(--text-animation-progress, 1))))) translateY(calc(-22% + 42%*min(1,max(0,var(--text-animation-progress, 1))))) rotate(-12deg)}.canvas-text-edit.text-effect-snow:after{background:radial-gradient(ellipse at 44% 54%,rgba(255,255,255,.88) 0 9%,transparent 29%),linear-gradient(90deg,transparent 0 25%,rgba(235,250,255,.24) 36%,rgba(255,255,255,.96) 48%,rgba(226,246,255,.36) 59%,transparent 76%),radial-gradient(circle at 12% 22%,rgba(255,255,255,.95) 0 1.5px,transparent 4px),radial-gradient(circle at 34% 18%,rgba(220,245,255,.88) 0 1px,transparent 4px),radial-gradient(circle at 55% 34%,rgba(255,255,255,.84) 0 1.5px,transparent 4px),radial-gradient(circle at 70% 58%,rgba(220,245,255,.75) 0 1px,transparent 4px),radial-gradient(circle at 86% 20%,rgba(205,237,255,.78) 0 1px,transparent 4px);transform:translate(calc(-56% + 108%*min(1,max(0,var(--text-animation-progress, 1))))) translateY(calc(-10% + 24%*min(1,max(0,var(--text-animation-progress, 1)))))}@keyframes typingCursorBlink{0%,62%{opacity:1}63%,to{opacity:0}}.layer-handle{position:absolute;z-index:4;display:grid;place-items:center;color:#111;background:#fff;border:2px solid rgba(255,255,255,.95);border-radius:999px;box-shadow:0 1px 4px #00000047}.layer-handle.resize{width:28px;height:28px}.layer-handle.resize.nw{left:-14px;top:-14px;cursor:nwse-resize}.layer-handle.resize.n{left:50%;top:-14px;transform:translate(-50%);cursor:ns-resize}.layer-handle.resize.ne{right:-14px;top:-14px;cursor:nesw-resize}.layer-handle.resize.e{right:-14px;top:50%;transform:translateY(-50%);cursor:ew-resize}.layer-handle.resize.se{right:-14px;bottom:-14px;cursor:nwse-resize}.layer-handle.resize.s{left:50%;bottom:-14px;transform:translate(-50%);cursor:ns-resize}.layer-handle.resize.sw{left:-14px;bottom:-14px;cursor:nesw-resize}.layer-handle.resize.w{left:-14px;top:50%;transform:translateY(-50%);cursor:ew-resize}.layer-handle.rotate{left:50%;bottom:-52px;width:34px;height:34px;transform:translate(-50%);cursor:grab}.manual-timeline{position:relative;min-height:0;max-height:122px;overflow:hidden;background:#202020;border-top:1px solid #333}.timeline-zoom-control{height:18px;display:flex;align-items:center;gap:8px;color:#d6d6d6}.timeline-zoom-control label{height:18px;display:flex;align-items:center;gap:8px}.timeline-align-button{width:22px;height:18px;display:grid;place-items:center;color:#d6d6d6;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:5px}.timeline-align-button:hover{color:#071018;background:#00e5ff;border-color:#00e5ff}.timeline-zoom-control input{width:92px;height:3px;accent-color:#f2f2f2}.timeline-scroll{width:100%;height:auto;max-height:122px;padding-bottom:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#6d6d6d transparent}.timeline-scroll::-webkit-scrollbar{height:3px}.timeline-scroll::-webkit-scrollbar-track{background:transparent}.timeline-scroll::-webkit-scrollbar-thumb{background:#6d6d6d;border-radius:999px}.timeline-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.timeline-content{position:relative;min-width:100%}.timeline-ruler{position:relative;height:22px;border-bottom:1px solid #303030;cursor:ew-resize;-webkit-user-select:none;user-select:none}.timeline-ruler i{position:absolute;z-index:3;top:0;bottom:-130px;width:2px;background:#e5e5e5;transition:background .12s ease,box-shadow .12s ease}.timeline-ruler i:before{content:"";position:absolute;left:50%;top:2px;width:9px;height:12px;transform:translate(-50%);background:#f8fafc;border:2px solid #f8fafc;border-radius:3px;box-shadow:0 0 0 1px #00000061,0 2px 5px #00000047;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.timeline-ruler.snap-active i{background:#00d8e6;box-shadow:0 0 0 1px #00d8e647,0 0 14px #00d8e68c}.timeline-ruler.snap-active i:before{background:#00d8e6;border-color:#00f0ff;box-shadow:0 0 0 1px #0000005c,0 0 12px #00d8e6b3}.timeline-ruler em{position:absolute;top:2px;width:1px;height:7px;background:#ffffff29;transform:translate(-50%)}.timeline-playhead-hit{position:absolute;z-index:5;top:0;bottom:0;width:16px;background:transparent;cursor:ew-resize}.timeline-ruler span{position:absolute;top:3px;transform:translate(4px);color:#757575;font-size:10px}.timeline-rows{max-height:96px;overflow:auto;padding-bottom:0;scrollbar-width:none}.timeline-rows::-webkit-scrollbar{display:none;width:0;height:0}.timeline-row{height:26px}.timeline-track{position:relative;height:100%;min-width:0;cursor:ew-resize;transition:background .12s ease}.timeline-track:hover{background:#ffffff08}.timeline-clip{position:absolute;top:4px;height:18px;display:flex;align-items:center;justify-content:center;min-width:18px;overflow:hidden;background:#a94f3d;border:1px solid #bf604e;border-radius:4px;cursor:grab;-webkit-user-select:none;user-select:none}.timeline-clip.active{background:#a94f3d;border-color:#fff;box-shadow:inset 0 0 0 1px #fff}.timeline-clip span{min-width:0;padding:0 8px;overflow:hidden;color:#fff;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.timeline-animation-duration{position:absolute;left:0;bottom:0;z-index:6;min-width:18px;height:4px;padding:0;background:#fffffff2;border:0;border-radius:999px;box-shadow:0 -1px 5px #ffffff52,0 0 0 1px #00000038;cursor:ew-resize}.timeline-animation-duration:after{content:"";position:absolute;right:-6px;top:-5px;width:12px;height:12px;background:#fff;border:1px solid rgba(0,0,0,.42);border-radius:999px;box-shadow:0 1px 6px #00000059}.timeline-clip.active .timeline-animation-duration{background:#fff}.timeline-clip:hover .timeline-animation-duration,.timeline-clip.active .timeline-animation-duration{height:5px}.timeline-animation-duration-label{position:absolute;left:8px;bottom:6px;z-index:7;max-width:calc(100% - 16px);padding:1px 5px;overflow:hidden;color:#1f2937;font-size:9px;font-style:normal;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:4px;box-shadow:0 1px 5px #00000040;pointer-events:none}.timeline-clip-handle{position:absolute;top:-1px;bottom:-1px;width:14px;background:#ffffff1f;cursor:ew-resize;opacity:0;transition:opacity .1s ease,background .1s ease}.timeline-clip-handle.start{left:0;border-radius:4px 0 0 4px}.timeline-clip-handle.end{right:0;border-radius:0 4px 4px 0}.timeline-clip-handle:hover,.timeline-clip-handle:focus-visible,.timeline-clip-handle:active{background:#ffffff75;opacity:1}.timeline-clip.dragging-start .timeline-clip-handle.start,.timeline-clip.dragging-end .timeline-clip-handle.end{background:#ffffff85;opacity:1}.timeline-clip:has(.timeline-clip-handle:hover){border-color:#fff;box-shadow:inset 0 0 0 1px #fff}.manual-inspector-tabs{position:sticky;top:0;z-index:20;min-height:42px;display:flex;align-items:center;gap:22px;padding:0 82px 0 12px;background:#242424;border-bottom:1px solid #171717;box-shadow:0 8px #242424}.manual-inspector-tabs>button{position:relative;height:42px;padding:0;color:#d8d8d8;background:transparent;border-radius:0;font-size:13px;font-weight:800}.manual-inspector-tabs>button.active{color:#00e5ff}.manual-inspector-tabs>button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#00e5ff;border-radius:999px}.manual-layer-actions{position:absolute;top:6px;right:10px;z-index:22;height:auto;display:flex;justify-content:flex-end;gap:8px;padding:0;background:transparent;border-bottom:0}.manual-layer-actions button,.manual-icon-row button{width:34px;padding:0}.manual-inspector{width:100%;min-width:0;max-width:100%;display:flex;flex-direction:column;gap:13px;padding:14px;overflow-x:hidden;background:#242424}.text-style-inspector{padding-top:0}.font-selector{position:relative;z-index:30;display:grid;gap:7px;color:#c9c9c9;font-size:12px;font-weight:800}.font-select-trigger{width:100%;height:34px;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 10px;color:#f2f2f2;background:#171717;border:1px solid #3d3d3d;border-radius:5px;text-align:left}.font-select-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-select-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;display:grid;gap:8px;padding:10px;background:#141414;border:1px solid #3b3b3b;border-radius:7px;box-shadow:0 18px 50px #00000080}.font-search{height:32px;display:flex;align-items:center;gap:7px;padding:0 9px;color:#8f98a3;background:#080808;border:1px solid #2f2f2f;border-radius:5px}.font-search input{min-width:0;width:100%;color:#f2f2f2;background:transparent;border:0;outline:0}.font-filter-pills{display:flex;gap:6px}.font-filter-pills span{height:22px;display:inline-flex;align-items:center;padding:0 10px;color:#d5d5d5;background:#383838;border-radius:999px;font-size:11px}.font-option-list{max-height:260px;overflow:auto;display:grid;gap:2px}.font-option-list button{min-width:0;height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px;color:#f1f5f9;background:transparent;border:1px solid transparent;border-radius:5px;text-align:left}.font-option-list button:hover,.font-option-list button.active{border-color:#00dce8;background:#00dce81a}.font-option-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-option-list small{color:#8c98a3;font-size:10px;font-weight:800}.text-editor-sticky{position:sticky;top:5px;z-index:18;display:grid;gap:10px;margin:0 -14px;padding:6px 14px 10px;background:#242424;border-bottom:1px solid #363636;box-shadow:0 12px #242424}.manual-inspector h3{margin:0;color:#f4f4f4;font-size:15px}.manual-section-title{color:#d6d6d6;font-size:12px}.manual-inspector textarea{width:100%;max-width:100%;min-height:92px;padding:10px;color:#f5f5f5;background:#171717;border:1px solid #383838;border-radius:5px;font-size:13px;resize:vertical;line-height:1.45}.text-editor-sticky textarea{display:block;min-height:90px;margin:0}.manual-control{display:grid;grid-template-columns:64px minmax(0,1fr) 56px;gap:10px;align-items:center;color:#c9c9c9;font-size:12px;font-weight:800}.manual-control input[type=range]{min-width:0;width:100%}.manual-control input[type=color]{width:70px;height:28px;background:transparent;border:0}.text-bg-panel{padding:10px 0 2px;display:grid;gap:13px;border-top:1px solid #363636;border-bottom:1px solid #303030}.text-stroke-panel{padding:10px 0 12px;display:grid;gap:13px;border-top:1px solid #363636;border-bottom:1px solid #303030}.text-stroke-title,.text-bg-title{width:max-content;height:24px;padding:0;display:inline-flex;align-items:center;gap:7px;color:#f3f3f3;background:transparent;border:0;font-size:13px;font-weight:900}.text-stroke-title span,.text-bg-title span{width:14px;height:14px;display:grid;place-items:center;color:#fff;background:#00b8c8;border-radius:999px;font-size:10px;line-height:1}.text-stroke-title:not(.enabled) span,.text-bg-title:not(.enabled) span{background:#464646}.text-stroke-title b,.text-bg-title b{color:#9ca3af;font-size:12px}.text-bg-style-grid{display:flex;gap:16px}.text-bg-style-grid button{width:58px;height:62px;display:grid;place-items:center;background:#3a3a3a;border:2px solid transparent;border-radius:8px}.text-bg-style-grid button.active{border-color:#00d7eb;box-shadow:0 0 0 1px #00d7eb47}.bg-style-preview{width:31px;height:31px;display:grid;place-items:center;color:#f5f5f5;font-size:11px;font-style:normal;font-weight:900;line-height:1.08;text-align:center}.bg-style-preview.with-bg{background:#5d5d5d;border-radius:4px}.bg-style-preview.fit-bg{position:relative;background:linear-gradient(#5d5d5d 0 0) center 6px / 26px 11px no-repeat,linear-gradient(#5d5d5d 0 0) center 19px / 22px 11px no-repeat;border-radius:4px}.bg-color-row,.stroke-color-row,.stroke-slider,.bg-slider{display:grid;grid-template-columns:64px minmax(0,1fr) 52px;align-items:center;gap:10px;color:#d6d6d6;font-size:12px;font-weight:800}.stroke-color-row select,.bg-color-row select{width:84px;height:28px;color:transparent;border:1px solid #464646;border-radius:4px}.stroke-color-row select{background:linear-gradient(var(--stroke-color, #000000),var(--stroke-color, #000000)) left 8px center / 60px 18px no-repeat,#303030}.bg-color-row select{background:linear-gradient(var(--bg-color, #ffd900),var(--bg-color, #ffd900)) left 8px center / 60px 18px no-repeat,#303030}.stroke-slider input[type=range],.bg-slider input[type=range]{min-width:0;width:100%;accent-color:#f0f0f0}.stroke-slider b,.bg-slider b{height:25px;display:grid;place-items:center;color:#fff;background:#171717;border:1px solid #3d3d3d;border-radius:4px;font-size:11px}.stroke-color-row.disabled,.stroke-slider.disabled,.bg-color-row.disabled,.bg-slider.disabled{opacity:.45}.manual-px-field{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#d8d8d8}.manual-px-field input{width:46px;height:28px;padding:0 6px;border:1px solid #4a4a4a;border-radius:4px;background:#151515;color:#fff;font-size:12px;font-weight:800;text-align:right}.manual-px-field span{font-size:11px;font-weight:800}.manual-icon-row{display:flex;flex-wrap:wrap;gap:8px}.preset-grid,.animation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:9px 10px}.preset-grid{grid-template-columns:repeat(6,40px);align-items:start;gap:10px 12px}.preset-grid button{min-height:46px;display:grid;place-items:center;gap:4px;color:#ddd;background:#303030;border:1px solid #3e3e3e;border-radius:7px;font-weight:800}.animation-grid button{position:relative;min-height:74px;display:grid;grid-template-rows:47px auto;place-items:center;gap:5px;padding:6px 5px;color:#cfcfcf;background:#2f3233;border:1px solid #424647;border-radius:6px;font-weight:800;overflow:hidden}.animation-grid button.active{border-color:#00dce8;box-shadow:inset 0 0 0 1px #00dce8d9}.animation-grid button:hover{border-color:#6a6d6e;background:#36393a}.preset-grid button{width:40px;height:40px;min-height:40px;padding:0;border:0;border-radius:7px}.preset-grid button:hover{box-shadow:0 0 0 2px #00d5e8}.preset-grid button.active{box-shadow:0 0 0 2px #00dce8,0 0 0 4px #00dce829}.preset-grid span{width:30px;height:30px;display:grid;place-items:center;color:#fff;font-size:24px;font-weight:950;line-height:1;font-family:Arial,Microsoft YaHei,sans-serif}.preset-grid span.hollow{color:transparent}.preset-none{position:relative;width:24px;height:24px;border:1.8px solid #bfc4c7;border-radius:999px}.preset-none:after{content:"";position:absolute;left:3px;right:3px;top:10.5px;height:1.8px;background:#bfc4c7;transform:rotate(45deg);transform-origin:center}.animation-grid b{max-width:100%;color:#c9d0d2;font-size:11px;line-height:1.1;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-grid button.active b{color:#00e5ff}.animation-thumb-wrap{position:relative;width:100%;height:47px;display:block;overflow:hidden;border-radius:5px;background:#171717}.text-animation-grid img,.text-animation-grid video,.animation-thumb-wrap img{width:100%;height:47px;object-fit:cover;border-radius:5px;background:#171717}.animation-thumb-wrap video{width:100%;height:47px;object-fit:cover;border-radius:5px;background:#171717}.animation-none-icon{position:relative;width:27px;height:27px;align-self:center;border:1.5px solid #c9c9c9;border-radius:999px}.animation-none-icon:after{content:"";position:absolute;left:4px;right:4px;top:12px;height:1.5px;background:#c9c9c9;transform:rotate(45deg)}.animation-abc-preview{width:100%;height:44px;display:grid;place-items:center;color:#f4f4f4;font-size:13px;font-weight:900;line-height:1;text-shadow:0 1px 2px #000}.animation-preview-fade{opacity:.72}.animation-preview-scale{transform:scale(1.1)}.animation-preview-slide-up{transform:translateY(-6px)}.animation-preview-slide-down{transform:translateY(6px)}.animation-preview-slide-left{transform:translate(-8px)}.animation-preview-slide-right{transform:translate(8px)}.animation-duration-control{display:grid;grid-template-columns:64px 64px minmax(0,1fr);gap:10px;align-items:center;color:#d6d6d6;font-size:12px;font-weight:800}.animation-duration-number{height:28px;display:grid;grid-template-columns:minmax(0,1fr) 15px;align-items:center;color:#fff;background:#171717;border:1px solid #3d3d3d;border-radius:4px;overflow:hidden}.animation-duration-number input{width:100%;min-width:0;height:26px;padding:0 3px 0 8px;color:#fff;background:transparent;border:0;font-size:12px;font-weight:900}.animation-duration-number b{color:#cfd4dc;font-size:11px}.animation-duration-control>input[type=range]{width:100%;min-width:0;accent-color:#f0f0f0}.timing-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timing-grid label,.manual-select{display:grid;gap:6px;color:#bdbdbd;font-size:12px;font-weight:800}.timing-grid input,.manual-select select{height:32px;padding:0 8px;color:#eee;background:#171717;border:1px solid #3f3f3f;border-radius:5px}.sticker-inspector-preview{height:128px;display:grid;place-items:center;background:#171717;border:1px solid #333;border-radius:7px}.sticker-inspector-preview img{max-width:86%;max-height:86%;object-fit:contain}.template-vision-badge{position:absolute;left:10px;top:10px;z-index:4;height:24px;display:inline-flex;align-items:center;padding:0 8px;color:#063b1b;background:#bbf7d0eb;border:1px solid rgba(34,197,94,.45);border-radius:999px;font-size:12px;font-weight:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.template-vision-badge.warn{color:#7c2d12;background:#ffedd5f0;border-color:#fb923c80}.template-cover-info{position:absolute;left:12px;right:12px;bottom:13px;z-index:3;display:grid;gap:6px;color:#fff}.template-cover-info strong,.template-cover-info span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-cover-info strong{font-size:15px;line-height:1.1}.template-cover-info span{color:#ffffffe6;font-size:12px;font-weight:800}.template-pagination{min-height:40px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:2px 0 0;color:#516077;font-size:14px}.page-button{width:30px;height:30px;display:grid;place-items:center;color:#536174;background:#fff;border:1px solid var(--line-dark);border-radius:4px;font-weight:700}.page-button.active{color:var(--blue);border-color:var(--blue);box-shadow:0 0 0 1px #2f8df51a}.page-button:disabled{color:#b3beca;background:#f8fafc;border-color:var(--line);opacity:1}.page-jump{display:inline-flex;align-items:center;gap:8px;margin-left:10px}.page-jump input{width:46px;height:30px;padding:0 8px;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:4px;text-align:center;outline:0}.page-jump input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2f8df51c}.template-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;align-items:start;padding-right:2px}.template-list-page{min-height:0;flex:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;padding:18px 20px 12px;overflow:hidden;background:#f3f7fb}.template-list-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px}.template-list-toolbar .search-box{width:260px}.template-list-toolbar select{height:36px;padding:0 34px 0 12px;color:var(--text);background:#fff;border:1px solid var(--line-dark);border-radius:5px;font-weight:800}.template-video-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));align-content:start;gap:18px 18px;padding:2px 4px 8px 0}.template-video-card{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;color:#fff;background:#050505;border-radius:2px;box-shadow:0 1px #0f172a1f}.template-video-cover{position:relative;width:100%;aspect-ratio:9 / 16;overflow:hidden;background:#000}.template-video-cover img{width:100%;height:100%;object-fit:cover}.template-video-cover:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.86));pointer-events:none}.template-play{position:absolute;left:50%;top:50%;z-index:2;width:36px;height:36px;display:grid;place-items:center;color:#fff;border:3px solid #fff;border-radius:999px;transform:translate(-50%,-50%)}.template-more-button{position:absolute;right:8px;top:8px;z-index:6;width:30px;height:30px;display:grid;place-items:center;color:#59677a;background:#f2f4f8;border-radius:5px}.template-more-button:hover{color:#fff;background:#dc2626}.template-video-meta{position:absolute;left:0;right:0;bottom:33px;z-index:3;display:grid;gap:7px;padding:0 10px 11px}.template-video-meta h3{overflow:hidden;margin:0;color:#fff;font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.template-video-meta div{display:flex;justify-content:space-between;gap:8px;color:#fff;font-size:11px;font-weight:900}.template-video-meta p{margin:0;color:#ffffffd6;font-size:11px;font-weight:800}.template-video-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#111827}.template-video-actions button{height:32px;color:#dbeafe;background:#0f172a;font-size:12px;font-weight:900}.template-video-actions button:hover{color:#fff;background:#2f8df5}.template-card-repair{position:absolute;left:8px;top:8px;z-index:4}.template-list-pagination{min-height:36px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#475569;font-size:13px;font-weight:800}.asset-list-pagination{min-height:34px;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#475569;font-size:13px;font-weight:800;padding:4px 0 0}.template-list-pagination button,.asset-list-pagination button{width:30px;height:30px;display:grid;place-items:center;color:#536174;background:#fff;border:1px solid var(--line-dark);border-radius:4px;font-weight:800}.template-list-pagination button.active,.asset-list-pagination button.active{color:var(--blue);border-color:var(--blue);box-shadow:0 0 0 1px #2f8df51a}.template-list-pagination button:disabled,.asset-list-pagination button:disabled{color:#b3beca;background:#f8fafc}.template-route-loading{min-height:100%;display:grid;place-items:center;align-content:center;gap:10px;color:#64748b;background:#f3f7fb;text-align:center}.template-route-loading svg{animation:spin 1s linear infinite}.template-route-loading h3,.template-route-loading p{margin:0}.template-panel{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #1f2a3a0a}.template-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.compact-pagination{flex-shrink:0;flex-wrap:wrap;justify-content:flex-start}.compact-pagination button{height:30px}.template-card{min-height:0;max-width:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:9px;padding:12px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;text-align:left}.template-card.selected,.template-card.active{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue) inset}.template-preview{width:100%;aspect-ratio:9 / 14;display:grid;place-items:center;overflow:hidden;color:#8ea1b8;background:#f8fbff;border:1px solid var(--line);border-radius:7px}.template-preview img{width:100%;height:100%;object-fit:cover}.template-card h3,.batch-card h3{max-width:100%;overflow:hidden;margin:0;font-size:15px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.template-card p,.batch-card p{margin:0;color:var(--muted);font-size:12px}.template-actions{width:100%;display:flex;gap:8px;flex-wrap:wrap}.template-actions .secondary-button{height:32px;flex:1 1 96px}.repair-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;font-size:12px;font-weight:900}.template-empty{min-height:210px}.generate-workbench{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #1f2a3a0a}.compose-page{min-height:0;flex:1;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;padding:18px 20px;overflow:hidden;background:#f3f7fb}.compose-header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:14px}.compose-template-card{min-width:0;flex:1;display:flex;align-items:center;gap:12px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px}.compose-template-cover{width:54px;height:76px;flex:0 0 auto;overflow:hidden;background:#000;border-radius:5px}.compose-template-cover img{width:100%;height:100%;object-fit:cover}.compose-template-card h2{overflow:hidden;margin:0;color:var(--text);font-size:20px;text-overflow:ellipsis;white-space:nowrap}.compose-template-card p{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:800}.compose-workbench{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px}.compose-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.compose-title h3{margin:0;color:var(--text)}.compose-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.layer-prompt-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:10px}.layer-prompt-field{min-width:0;display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:start;padding:10px;background:#fbfdff;border:1px solid var(--line);border-radius:7px}.layer-prompt-field span{overflow:hidden;color:#526174;font-size:12px;font-weight:900;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.layer-prompt-field input,.layer-prompt-field textarea{min-width:0;width:100%;padding:7px 10px;color:var(--text);background:#fff;border:1px solid #c9d7e8;border-radius:5px;outline:0}.layer-prompt-field input{height:34px}.layer-prompt-field textarea{min-height:58px;resize:vertical;line-height:1.45}.layer-prompt-field input:focus,.layer-prompt-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2f8df51c}.material-field{grid-column:span 1}.workbench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:10px}.prompt-field{min-width:0;display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;background:#fbfdff;border:1px solid var(--line);border-radius:7px}.prompt-field span{min-width:0;overflow:hidden;color:#59677a;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.prompt-field input{min-width:0;height:32px;padding:0 9px;background:#fff;border:1px solid #c9d7e8;border-radius:5px;outline:0}.prompt-field input:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2f8df51c}.batch-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:#fbfdff;border:1px solid var(--line);border-radius:8px}.batch-card .plan-actions{max-width:380px}@media(max-width:1180px){.generate-page{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.layer-prompt-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.prompt-grid,.batch-card{grid-template-columns:1fr}.batch-card .plan-actions{max-width:none;justify-content:flex-start}}@media(max-width:860px){.generate-page{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);overflow:auto}.compose-page,.template-list-page{overflow:auto}.compose-header,.template-list-toolbar{align-items:stretch;flex-direction:column}.layer-prompt-grid,.layer-prompt-field{grid-template-columns:1fr}.layer-prompt-field span{line-height:1.2}}.batch-card-main{min-width:0;display:grid;gap:4px}.template-card strong,.plan-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-card span,.template-card small{color:var(--muted);font-size:12px;line-height:1.35}.legacy-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;font-size:12px;font-style:normal;font-weight:800}.legacy-badge.warn{color:#9a3412;background:#ffedd5;border-color:#fed7aa}.template-diagnostics{min-height:0;display:flex;flex-direction:column;gap:10px;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:7px}.template-compose-summary{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.template-compose-summary img{width:120px;height:150px;border-radius:7px;object-fit:cover;background:#111827}.template-compose-summary div{display:grid;gap:6px}.template-compose-summary b{color:var(--text);font-size:15px}.template-compose-summary span,.template-compose-summary p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.diagnostic-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text)}.diagnostic-head span{color:var(--muted);font-size:12px;font-weight:700}.layer-diagnostic-list{max-height:150px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template-prompt-digest{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px}.template-prompt-digest>div{min-width:0;display:grid;gap:6px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px}.vision-diagnostics{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;color:#36506f;background:#eef6ff;border:1px solid #cfe3ff;border-radius:6px;font-size:12px;font-weight:800}.vision-diagnostics span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;background:#fff;border:1px solid #d9e8fb;border-radius:999px}.vision-diagnostics .warn{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.template-prompt-digest b{color:var(--text);font-size:12px}.template-prompt-digest pre,.template-prompt-digest p,.template-prompt-digest small{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.template-prompt-digest pre{max-height:88px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:inherit}.template-prompt-digest p,.template-prompt-digest small{overflow-wrap:anywhere}.layer-diagnostic{min-width:0;display:grid;gap:4px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:6px}.layer-diagnostic b,.layer-diagnostic span,.layer-diagnostic small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-diagnostic b{color:var(--text);font-size:12px}.layer-diagnostic span,.layer-diagnostic small{color:var(--muted);font-size:11px}.empty-template{grid-column:1 / -1;min-height:90px;border:1px dashed var(--line-dark);border-radius:7px}.field{display:flex;flex-direction:column;gap:7px}.field span{color:#59677a;font-size:13px;font-weight:800}.field input,.field textarea{width:100%;color:var(--text);background:#fbfdff;border:1px solid var(--line-dark);border-radius:6px;outline:0}.field input{height:38px;padding:0 11px}.field textarea{min-height:150px;padding:12px;resize:vertical;line-height:1.55}.prompt-fields{gap:10px}.prompt-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.prompt-field-row{min-width:0;display:grid;grid-template-columns:104px minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;background:#fbfdff;border:1px solid var(--line);border-radius:7px}.prompt-field-row b{min-width:0;overflow:hidden;color:#59677a;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.prompt-field-row input{height:32px;padding:0 8px;background:#fff}.manual-text-row{align-items:start;grid-template-columns:minmax(0,1fr);gap:7px}.manual-text-row textarea{width:100%;min-height:104px;padding:8px 10px;resize:vertical;color:var(--text);background:#fff;border:1px solid #c9d7e8;border-radius:6px;font-size:14px;line-height:1.35}.manual-text-row em{align-self:start;color:#64748b;font-size:12px;font-style:normal;font-weight:800}.manual-text-row b{white-space:normal}.manual-text-row.warning textarea{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b24}.manual-text-row.error textarea{border-color:#ef4444;box-shadow:0 0 0 2px #ef44441f}.manual-material-row{grid-column:1 / -1;grid-template-columns:104px minmax(0,1fr)}.manual-material-row input{height:36px}.manual-material-row em{grid-column:2;color:#64748b;font-size:12px;font-style:normal;font-weight:800}.compact{width:112px}.switch-row{height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:#59677a;background:#fbfdff;border:1px solid var(--line-dark);border-radius:6px;font-size:13px;font-weight:800}.batch-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:9px}.generation-task-page,.task-video-page{min-height:100%;padding:18px;background:#f5f7fb}.task-filter-bar{display:flex;align-items:end;gap:10px;padding:12px 14px;margin-bottom:14px;background:#fff;border:1px solid #e4e9f2;border-radius:10px}.task-filter-bar label{display:grid;gap:5px;min-width:170px;color:#667085;font-size:12px;font-weight:700}.task-filter-bar input,.task-filter-bar select{height:34px;padding:0 10px;color:#344054;background:#fff;border:1px solid #d7dfeb;border-radius:6px}.task-table-panel{overflow:hidden;background:#fff;border:1px solid #e4e9f2;border-radius:10px}.task-table{width:100%;border-collapse:collapse;color:#516078;font-size:13px}.task-table th,.task-table td{height:44px;padding:0 16px;text-align:left;border-bottom:1px solid #e8edf4}.task-table th{color:#7a8495;font-weight:800;background:#fafbfc}.link-button{padding:0;color:#2f86ed;background:transparent;border:0;cursor:pointer;font-weight:800}.task-status{display:inline-flex;align-items:center;height:24px;padding:0 8px;color:#475467;background:#eef2f7;border-radius:999px;font-size:12px;font-weight:800}.task-status.running{color:#0b67d1;background:#e8f1ff}.task-status.planned{color:#7a4b00;background:#fff4d6}.task-status.success{color:#087443;background:#e7f8ef}.task-status.partial,.task-status.failed{color:#b42318;background:#fff0ed}.task-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:14px 0;color:#667085;font-size:13px}.task-pagination button{min-width:30px;height:30px;background:#fff;border:1px solid #d7dfeb;border-radius:6px;cursor:pointer}.task-pagination button.active{color:#fff;background:#2f86ed;border-color:#2f86ed}.task-video-header{display:flex;align-items:center;gap:16px;margin-bottom:14px}.task-video-header h2{margin:0;color:#1f2a3a;font-size:20px}.task-video-header p{margin:3px 0 0;color:#667085}.task-video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.task-video-card{overflow:hidden;background:#fff;border:1px solid #e4e9f2;border-radius:8px;box-shadow:0 10px 28px #1f2a3a14}.task-video-cover{position:relative;width:100%;aspect-ratio:9 / 16;overflow:hidden;background:#050505;border:0;cursor:pointer}.task-video-cover:disabled{cursor:default}.task-video-cover video{width:100%;height:100%;object-fit:cover}.task-video-cover .play-mask{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#0000001a}.failed-cover{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900}.task-video-meta{padding:10px 12px 12px}.task-video-meta h3{margin:0 0 5px;color:#1f2a3a;font-size:14px}.task-video-meta p{min-height:34px;margin:0 0 8px;overflow:hidden;color:#667085;font-size:12px;line-height:1.4}.task-video-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.downloaded-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;color:#087443;background:#e7f8ef;font-size:12px;font-weight:800}.secondary-button.compact{min-height:28px;padding:0 10px;border-radius:7px;font-size:12px}.downloaded-note{margin:8px 0 0;color:#087443;font-size:13px;font-weight:800}.result-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.plan-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;background:#fbfdff;border:1px solid var(--line);border-radius:7px}.plan-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.plan-layer-texts{margin:7px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.copy-source-badge{display:inline-flex;align-items:center;height:22px;margin:6px 0 0;padding:0 8px;color:#475569;background:#eef4fb;border:1px solid #d8e4f0;border-radius:999px;font-size:11px;font-style:normal;font-weight:900}.copy-source-badge.model{color:#14532d;background:#dcfce7;border-color:#bbf7d0}.copy-source-badge.manual{color:#0f4f5f;background:#cffafe;border-color:#67e8f9}.copy-source-badge.fallback{color:#7c2d12;background:#ffedd5;border-color:#fed7aa}.plan-preview-path{appearance:none;width:fit-content;max-width:100%;padding:0;border:0;outline:0;background:transparent;margin-top:5px;color:#64748b;font-size:12px;text-align:left;cursor:pointer;word-break:break-all}.plan-preview-path:hover{color:var(--blue);text-decoration:underline}.plan-layer-texts span{min-width:0;display:grid;gap:2px;padding:6px 8px;color:#475569;background:#eef4fb;border:1px solid #d8e4f0;border-radius:6px;font-size:11px;font-weight:700}.plan-layer-texts b{color:var(--blue);font-size:11px}.plan-layer-texts em{min-width:0;overflow:hidden;color:#334155;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.render-result{gap:10px;padding:10px;color:var(--green);background:#ebfbf3;border:1px solid #bcebd2;border-radius:6px}.render-result button{min-width:0;overflow:hidden;color:var(--green);background:transparent;text-align:left;text-overflow:ellipsis;white-space:nowrap}.subtle{min-height:180px;border:1px dashed var(--line-dark);border-radius:7px}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#161f2c7a;z-index:20}.copy-editor-modal{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#f8fafc;border:1px solid #d6e0ec;border-radius:10px;box-shadow:0 30px 100px #0f172a47}.copy-editor-head,.copy-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:#fff;border-bottom:1px solid #e2e8f0}.copy-editor-head h2{margin:0 0 4px}.copy-editor-head p,.copy-editor-footer span{margin:0;color:#64748b;font-size:13px;font-weight:700}.job-name-field{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid #e2e8f0}.job-name-field span{color:#52637a;font-size:13px;font-weight:800}.job-name-field input{height:36px;padding:0 12px;color:#1f2a3a;background:#fff;border:1px solid #d7dfeb;border-radius:7px;font-weight:800}.copy-editor-footer{border-top:1px solid #e2e8f0;border-bottom:0}.copy-editor-footer div{display:flex;gap:10px}.copy-editor-body{min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr)}.copy-plan-list{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:14px;background:#edf3f9;border-right:1px solid #dce7f2}.copy-plan-list::-webkit-scrollbar,.copy-layer-editor::-webkit-scrollbar{width:8px;height:8px}.copy-plan-list::-webkit-scrollbar-track,.copy-layer-editor::-webkit-scrollbar-track{background:transparent}.copy-plan-list::-webkit-scrollbar-thumb,.copy-layer-editor::-webkit-scrollbar-thumb{background:#9aa8b8;border-radius:999px}.copy-plan-list::-webkit-scrollbar-button,.copy-layer-editor::-webkit-scrollbar-button{display:none}.copy-plan-tab{display:grid;gap:5px;padding:12px;color:#334155;background:#fff;border:1px solid #d8e3ef;border-radius:8px;text-align:left;cursor:pointer}.copy-plan-tab.active{color:#0f4ca8;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.copy-plan-list>button{display:grid;gap:5px;padding:12px;color:#334155;background:#fff;border:1px solid #d8e3ef;border-radius:8px;text-align:left;cursor:pointer}.copy-plan-list>button strong,.copy-plan-list>button span,.copy-plan-list>button i{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-plan-list>button strong{color:#1f2a3a;font-size:13px}.copy-plan-list>button span,.copy-plan-list>button i{color:#64748b;font-size:12px;font-style:normal;font-weight:700}.copy-plan-list>button.active{color:#0f4ca8;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f624}.copy-plan-list>button.active strong{color:#0f4ca8}.copy-plan-tab.error{border-color:#fecaca}.copy-plan-tab.warning{border-color:#fde68a}.copy-plan-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-plan-tab span,.copy-plan-tab i{overflow:hidden;color:#64748b;font-size:12px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.copy-layer-editor{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:14px}.copy-layer-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.copy-layer-title div{min-width:0;display:grid;gap:4px}.copy-layer-title b,.copy-layer-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-layer-title span{color:#64748b;font-size:12px;font-weight:700}.copy-layer-scroll{min-height:0;overflow:auto;display:grid;align-content:start;gap:12px;padding-right:6px}.copy-layer-card{display:grid;gap:10px;padding:12px;background:#fff;border:1px solid #dce7f2;border-radius:8px}.copy-layer-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.copy-layer-card header span{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.copy-line-list{display:grid;gap:8px}.copy-line-field{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px}.copy-line-field span,.copy-line-field em{color:#64748b;font-size:12px;font-style:normal;font-weight:800}.copy-line-field input{min-width:0;height:36px;padding:0 10px;color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;font-weight:800}.copy-line-field.warning input{border-color:#fbbf24;background:#fffbea}.copy-editor-alert{margin-top:12px;padding:10px 12px;border-radius:7px;font-size:13px;font-weight:800}.copy-editor-alert.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.copy-editor-alert.warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.settings-modal{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 90px #1f2a3a3d}.ocr-status-panel{display:grid;gap:10px;padding:12px;color:#36506f;background:#f8fbff;border:1px solid #d7e8ff;border-radius:8px}.font-list-panel,.path-settings-panel{display:grid;gap:10px;padding:12px;background:#f8fbff;border:1px solid #d7e8ff;border-radius:8px}.font-list-head,.font-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.font-list-head b{color:var(--text);font-size:13px}.font-list-head span{min-width:0;overflow:hidden;color:#526174;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.font-list{display:grid;gap:8px}.font-row{padding:8px;background:#fff;border:1px solid var(--line);border-radius:7px}.font-row label{min-width:0;display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px;font-weight:800}.font-row small{min-width:0;overflow:hidden;color:#6b7280;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ocr-status-panel>div{display:grid;gap:4px}.ocr-status-panel b{color:var(--text);font-size:12px}.ocr-status-panel span,.ocr-status-panel small{color:#526174;font-size:12px;line-height:1.45}.ocr-status-panel textarea{min-height:64px;font-family:Consolas,Courier New,monospace;font-size:12px}.preview-modal{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 90px #1f2a3a3d}.preview-video{width:100%;max-height:72vh;background:#000;border-radius:8px}.app-notice{position:fixed;left:50%;top:18px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;width:max-content;min-width:280px;max-width:min(720px,calc(100vw - 40px));padding:10px 12px 10px 16px;color:#1f2a3a;background:#fff;border:1px solid #cdd9e8;border-radius:8px;box-shadow:0 18px 50px #1f2a3a38;font-size:13px;font-weight:800;transform:translate(-50%);animation:notice-in .18s ease-out}.app-notice span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-notice button{width:26px;height:26px;color:#52637a;background:#f4f7fb;border:1px solid #d9e3ee;border-radius:6px;cursor:pointer}@keyframes notice-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.progress-float{position:fixed;right:24px;bottom:24px;z-index:31;pointer-events:none}.progress-modal{width:min(420px,100%);display:flex;flex-direction:column;gap:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 90px #1f2a3a3d}.progress-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center}.progress-head>span{width:34px;height:34px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);border-radius:7px}.progress-modal.success .progress-head>span{color:var(--green);background:#ebfbf3}.progress-modal.error .progress-head>span{color:var(--red);background:#fff1f3}.progress-head h2{font-size:18px}.progress-head p{margin-top:4px;color:var(--muted);font-size:13px}.progress-head b{color:#40516a;font-size:14px}.task-progress-bar{height:9px;overflow:hidden;background:#e8edf4;border-radius:999px}.task-progress-bar i{display:block;height:100%;width:0;background:var(--blue);border-radius:inherit;transition:width .28s ease}.progress-modal.success .task-progress-bar i{background:var(--green)}.progress-modal.error .task-progress-bar i{background:var(--red)}.progress-error{padding:10px 12px;color:var(--red);background:#fff6f7;border:1px solid #ffd2d9;border-radius:6px;font-size:13px;line-height:1.45}.upload-modal{width:min(700px,calc(100vw - 48px));max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:12px;padding:18px 16px 16px;background:#fff;border-radius:6px;box-shadow:0 28px 90px #1f2a3a3d}.upload-title{display:flex;align-items:center;justify-content:space-between}.upload-title h2{font-weight:500}.plain-close{width:32px;height:32px;color:#8a95a4;background:transparent;font-size:22px}.upload-dropzone{min-height:170px;display:grid;place-items:center;align-content:center;gap:12px;color:#9aa3af;border:1px dashed var(--blue);border-radius:6px;background:#fff;transition:background .15s ease,border-color .15s ease}.upload-dropzone.dragging{background:var(--blue-soft);border-color:#0b78ec}.upload-dropzone p{color:#6c7787;font-size:14px}.upload-dropzone span{color:var(--blue);font-weight:800}.upload-tip{color:#606b7a;font-size:13px}.upload-stats{display:grid;gap:10px;padding:12px;background:#f3f8ff;border:1px solid #cfe3ff;border-radius:6px}.upload-stats div:first-child{display:flex;justify-content:space-between;gap:12px;color:#526174;font-size:13px}.upload-stats strong{color:var(--blue)}.total-progress,.file-progress{height:8px;overflow:hidden;background:#e8edf4;border-radius:999px}.total-progress i,.file-progress i{display:block;height:100%;background:var(--blue);border-radius:inherit;transition:width .15s ease}.upload-queue{min-height:0;display:flex;flex-direction:column;gap:8px}.queue-head,.upload-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.queue-head h3{margin:0;font-size:15px;font-weight:600}.queue-list{min-height:118px;max-height:190px;overflow:auto;display:grid;gap:10px;padding:12px;background:#fafbfd;border:1px solid var(--line);border-radius:6px}.queue-list .empty-state{min-height:92px;padding:10px}.queue-virtual-note{padding:8px 10px;color:#5b6b7f;background:#eef6ff;border:1px solid #cfe3ff;border-radius:6px;font-size:12px}.queue-list::-webkit-scrollbar{width:8px;height:8px}.queue-list::-webkit-scrollbar-track{background:transparent}.queue-list::-webkit-scrollbar-thumb{background:#9aa8b8;border-radius:999px}.queue-list::-webkit-scrollbar-button{display:none}.queue-item{display:grid;gap:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:6px}.queue-item.success{border-color:#bcebd2;background:#f4fff8}.queue-item.error{border-color:#ffd2d9;background:#fff6f7}.queue-item.uploading{border-color:#bbd9ff}.queue-file{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;color:#445268;font-size:14px}.queue-file span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-file b{color:var(--muted);font-size:12px;font-weight:600}.queue-error{color:var(--red);font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.connection-card{min-height:48px;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:10px;color:var(--muted);background:#fbfdff;border:1px solid var(--line);border-radius:7px;font-size:13px;line-height:1.4}.connection-card.ok{color:var(--green);border-color:#bcebd2;background:#ebfbf3}.connection-card.bad{color:var(--red);border-color:#ffd2d9;background:#fff1f3}.compact-action{align-self:flex-start;height:32px;padding:0 10px}.calibration-modal{width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:14px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 28px 90px #1f2a3a3d}.calibration-layout{min-height:0;display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);gap:16px}.template-health-banner{padding:10px 12px;color:#7a4a00;background:#fff7df;border:1px solid #f5d37a;border-radius:8px;font-size:13px;line-height:1.5}.calibration-preview{position:relative;width:100%;aspect-ratio:9 / 16;overflow:hidden;background:#101722;border:1px solid #263244;border-radius:8px}.calibration-preview img{width:100%;height:100%;display:block;object-fit:cover}.layer-box{position:absolute;display:flex;overflow:hidden;color:#fff;background:transparent;border:1px solid rgba(47,141,245,.9);border-radius:3px;font:inherit}.layer-box.active{border-color:gold;box-shadow:0 0 0 2px #ffd70059}.layer-box.unhealthy{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f2e}.layer-index-badge{position:absolute;top:2px;left:3px;z-index:2;padding:1px 4px;color:#fff;background:#2f8df5d1;border-radius:3px;font-size:10px;font-weight:900;line-height:1.2;pointer-events:none}.layer-preview-copy{display:grid;width:100%;pointer-events:none}.layer-preview-copy span{overflow:visible;white-space:nowrap}.calibration-controls{min-width:0;max-height:calc(100vh - 150px);overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.layer-tabs{display:flex;flex-wrap:wrap;gap:8px}.layer-tabs button{height:30px;padding:0 10px;color:#536174;background:#f7fafc;border:1px solid var(--line);border-radius:5px;font-size:12px;font-weight:800}.layer-tabs button.active{color:#fff;background:var(--blue);border-color:var(--blue)}.calibration-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.calibration-grid .field textarea{min-height:68px}.sample-lines-panel{display:grid;gap:5px;padding:9px 10px;color:#526174;background:#f8fafc;border:1px solid var(--line);border-radius:6px;font-size:12px}.sample-lines-panel b{color:var(--text)}.sample-lines-panel span{overflow-wrap:anywhere}.calibration-presets{display:flex;flex-wrap:wrap;gap:8px}.calibration-presets button{height:34px}.calibration-presets .yellow-preset{color:#111827;background:#ffe600;border-color:#e0c600}.calibration-presets .dark-preset{color:#fff;background:#111827;border-color:#111827}.field select{height:38px;padding:0 10px;color:var(--text);background:#fbfdff;border:1px solid var(--line-dark);border-radius:6px;outline:0}.calibration-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:760px){:root{--bg: #f4f8fb;--surface: #ffffff}body{min-width:0;overflow-x:hidden}.app-shell{min-width:0;min-height:100dvh;height:100dvh;overflow:hidden;background:var(--bg)}.side-menu{display:none}.app-main{width:100%;padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow:auto;-webkit-overflow-scrolling:touch}.corner-actions{right:12px;bottom:calc(84px + env(safe-area-inset-bottom));left:auto;flex-direction:row}.corner-actions .icon-button{width:42px;height:42px;color:#fff;background:#172235}.mobile-nav{position:fixed;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));left:10px;z-index:90;height:62px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px;background:#0f172af0;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 18px 36px #0f172a47;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-nav button{min-width:0;display:grid;place-items:center;gap:2px;color:#c8d3e3;background:transparent;border-radius:10px;font-size:11px;font-weight:900}.mobile-nav button.active{color:#fff;background:#2f8df5}.mobile-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-page{min-height:auto;display:flex;flex-direction:column;overflow:visible}.folder-pane{min-height:auto;flex:0 0 auto;gap:10px;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.folder-tree{max-height:190px;overflow:auto;padding-right:2px}.file-pane{min-height:auto;overflow:visible}.file-toolbar,.compose-header,.panel-heading,.task-video-header{min-height:0;align-items:stretch;flex-direction:column;gap:10px;padding:14px 12px}.toolbar-actions,.control-row,.template-list-toolbar,.task-filter-bar,.task-video-actions,.plan-actions{align-items:stretch;flex-direction:column;gap:8px}.toolbar-actions>*,.control-row>*,.template-list-toolbar>*,.task-filter-bar>*,.primary-button,.secondary-button,.new-folder,.search-box{width:100%}.primary-button,.secondary-button,.new-folder{justify-content:center;min-height:40px}.selection-line,.video-list-toolbar{height:auto;min-height:42px;flex-wrap:wrap;padding:10px 12px}.video-grid{overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.video-card{min-height:0;border-radius:8px}.card-footer{min-height:64px;padding:9px}.card-footer h3{font-size:13px}.asset-list-pagination,.template-list-pagination,.task-pagination{flex-wrap:wrap;justify-content:center;padding:10px 12px 14px}.template-list-page,.compose-page,.generation-task-page,.task-video-page{min-height:auto;overflow:visible;padding:12px}.template-list-page{display:flex;flex-direction:column;gap:12px}.template-list-toolbar .search-box{width:100%}.template-video-grid{overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 0 4px}.template-video-meta{bottom:32px;padding:0 8px 8px}.template-video-meta h3{font-size:13px}.template-video-actions button{min-width:0;padding:0 4px;font-size:11px}.compose-page{display:flex;flex-direction:column}.compose-template-card{width:100%}.compose-workbench{overflow:visible;gap:12px;padding:12px}.compose-title{align-items:stretch;flex-direction:column;gap:8px}.layer-prompt-grid{grid-template-columns:1fr}.batch-list{overflow:visible}.batch-card{grid-template-columns:1fr;gap:10px}.batch-card .plan-actions{max-width:none}.task-filter-bar{display:flex;margin-bottom:12px;padding:12px;border-radius:8px}.task-filter-bar label{min-width:0}.task-table-panel{overflow:visible;background:transparent;border:0}.task-table,.task-table tbody,.task-table tr,.task-table td{display:block;width:100%}.task-table thead{display:none}.task-table tr{margin-bottom:10px;padding:12px;background:#fff;border:1px solid #e4e9f2;border-radius:8px;box-shadow:0 8px 20px #1f2a3a0f}.task-table td{height:auto;padding:4px 0;border-bottom:0}.task-table td:nth-child(1){color:#1f2a3a;font-size:15px;font-weight:900}.task-table td:nth-child(2):before{content:"数量 ";color:#8a96a8;font-weight:800}.task-table td:nth-child(3):before{content:"创建 ";color:#8a96a8;font-weight:800}.task-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.task-video-meta{padding:9px}.task-video-meta p{min-height:0}.modal-backdrop{padding:10px;place-items:end center}.copy-editor-modal,.settings-modal,.preview-modal,.upload-modal,.progress-modal,.calibration-modal{width:100%;max-height:calc(100dvh - 24px);border-radius:12px 12px 0 0}.preview-modal video{max-height:62dvh}.upload-modal{grid-template-rows:auto auto auto auto minmax(160px,1fr) auto}}@media(max-width:420px){.video-grid,.template-video-grid,.task-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.template-list-page,.compose-page,.generation-task-page,.task-video-page{padding:10px}.mobile-nav{right:8px;left:8px}}.mobile-editor{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;min-width:0;display:grid;grid-template-rows:48px minmax(0,1fr) 38px clamp(292px,38dvh,390px) 58px;overflow:hidden;color:#f6f7fb;background:#111316}.mobile-editor button,.mobile-editor input,.mobile-editor textarea{font:inherit}.mobile-editor-topbar{display:grid;grid-template-columns:36px minmax(0,1fr) 36px 42px;align-items:center;gap:8px;padding:7px 10px;background:#17191e;border-bottom:1px solid #242830}.mobile-editor-topbar button{height:34px;display:grid;place-items:center;color:#f7f8fb;background:#242831;border-radius:8px}.mobile-editor-topbar button.save{color:#041217;background:#00e5ff}.mobile-editor-topbar input{min-width:0;height:34px;padding:0 10px;color:#f7f8fb;background:#20242c;border:1px solid #303641;border-radius:8px;font-size:14px;font-weight:900;outline:0}.mobile-editor-stage{min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;padding:10px 20px;background:radial-gradient(circle at 50% 20%,#252b34,#111316 58%)}.mobile-preview-shell{position:relative;width:min(100%,390px);max-height:100%;aspect-ratio:9 / 16;overflow:hidden;background:#0a0b0d;border-radius:8px;box-shadow:0 18px 44px #00000080}.mobile-stage{position:absolute;left:0;top:0;width:1080px;height:1920px;overflow:hidden;transform:scale(var(--mobile-scale, .32));transform-origin:0 0}.mobile-stage.backdrop-dark{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 30%),#171717}.mobile-stage.backdrop-light{background:linear-gradient(180deg,rgba(255,255,255,.72),transparent 36%),#f2f4f7}.mobile-stage.backdrop-grid{background:linear-gradient(45deg,rgba(255,255,255,.12) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.12) 75%),#2b3038;background-position:0 0,32px 32px,0 0;background-size:64px 64px,64px 64px,auto}.mobile-stage.backdrop-custom{background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 32%),var(--mobile-bg, #202833)}.mobile-canvas-layer{position:absolute;transform-origin:center;touch-action:none}.mobile-canvas-layer.selected{outline:3px solid #00e5ff;box-shadow:0 0 0 2px #00e5ff4d,0 0 24px #00e5ff52}.mobile-canvas-layer.locked{outline-color:#ffd166}.mobile-canvas-layer.text{display:grid;align-items:center}.mobile-canvas-text-bg{position:absolute;pointer-events:none}.mobile-canvas-text{position:relative;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere}.mobile-layer-handle{position:absolute;z-index:8;width:28px;height:28px;background:#fff;border:4px solid #00e5ff;border-radius:999px;box-shadow:0 4px 12px #00000052}.mobile-layer-handle.nw{left:-16px;top:-16px;cursor:nwse-resize}.mobile-layer-handle.n{left:50%;top:-16px;transform:translate(-50%);cursor:ns-resize}.mobile-layer-handle.ne{right:-16px;top:-16px;cursor:nesw-resize}.mobile-layer-handle.e{right:-16px;top:50%;transform:translateY(-50%);cursor:ew-resize}.mobile-layer-handle.se{right:-16px;bottom:-16px;cursor:nwse-resize}.mobile-layer-handle.s{left:50%;bottom:-16px;transform:translate(-50%);cursor:ns-resize}.mobile-layer-handle.sw{left:-16px;bottom:-16px;cursor:nesw-resize}.mobile-layer-handle.w{left:-16px;top:50%;transform:translateY(-50%);cursor:ew-resize}.mobile-layer-rotate{position:absolute;left:50%;bottom:-54px;z-index:9;width:38px;height:38px;display:grid;place-items:center;color:#061116;background:#00e5ff;border:2px solid #ffffff;border-radius:999px;transform:translate(-50%);box-shadow:0 8px 18px #00000059}.mobile-canvas-layer.sticker img{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.mobile-transport{width:100%;min-width:0;display:grid;grid-template-columns:34px 48px minmax(0,1fr) 48px;align-items:center;gap:8px;padding:0 10px;color:#d6d9e0;background:#17191e;border-top:1px solid #252a32;border-bottom:1px solid #252a32;font-size:11px;font-weight:900}.mobile-transport button{width:30px;height:30px;display:grid;place-items:center;color:#061116;background:#00e5ff;border-radius:999px}.mobile-transport input{width:100%;accent-color:#00e5ff}.mobile-timeline{width:100%;min-width:0;min-height:0;display:grid;grid-template-rows:30px minmax(0,1fr);overflow:hidden;background:#151515;border-bottom:1px solid #252a32}.mobile-timeline-tools{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:5px 10px 0}.mobile-timeline-tools button{width:30px;height:24px;display:grid;place-items:center;color:#dfe4ec;background:#232832;border:1px solid #303744;border-radius:7px}.mobile-timeline-tools label{min-width:0;display:grid;grid-template-columns:16px minmax(0,1fr) 16px;align-items:center;gap:6px;color:#8d96a5}.mobile-timeline-tools input{width:100%;accent-color:#00e5ff}.mobile-timeline-frame{position:relative;width:100%;min-width:0;min-height:0;overflow:hidden}.mobile-timeline-scroll{width:100%;min-width:0;height:100%;overflow-x:auto;overflow-y:auto;padding:0 0 16px;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pan-y}.mobile-timeline-scroll::-webkit-scrollbar{display:none}.mobile-timeline-content{position:relative;min-width:100%;min-height:268px;box-sizing:content-box}.mobile-fixed-playhead{position:absolute;left:50%;top:38px;bottom:0;z-index:12;width:2px;background:#fff;box-shadow:0 0 14px #fff9;pointer-events:none;transform:translate(-50%)}.mobile-fixed-playhead:before{content:"";position:absolute;left:50%;top:-7px;width:12px;height:14px;background:#fff;border-radius:4px;transform:translate(-50%)}.mobile-time-ruler{position:relative;height:42px;color:#8e8e8e;font-size:12px;font-weight:800}.mobile-time-ruler span{position:absolute;top:15px;min-width:42px;transform:translate(-50%);text-align:center}.mobile-time-ruler span:after{content:"";position:absolute;left:50%;top:18px;width:4px;height:4px;border-radius:999px;background:#737373;transform:translate(-50%)}.mobile-time-ruler span.major:after{width:2px;height:9px;border-radius:2px;background:#a8a8a8}.mobile-track-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;height:56px}.mobile-track-row>span{color:#9098a6;font-size:11px;font-weight:900}.mobile-track-row>div{position:relative;height:30px}.mobile-track-clip{position:absolute;top:3px;height:30px;min-width:28px;display:flex;align-items:center;padding:0 9px;color:#071018;background:#9cf4ff;border:1px solid rgba(255,255,255,.18);border-radius:7px;font-size:11px;font-weight:900;text-align:left;touch-action:none}.mobile-track-clip *,.mobile-track-animation-duration{touch-action:none}.mobile-track-clip.sticker{background:#ffd166}.mobile-track-clip.selected{box-shadow:0 0 0 2px #fff,0 0 18px #00e5ff73}.mobile-track-clip.long-press-active{transform:translateY(-1px);box-shadow:0 0 0 2px #fff,0 0 22px #00e5ffb3}.mobile-track-clip span{position:relative;z-index:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-track-clip i{position:absolute;top:-3px;width:14px;height:36px;z-index:4;background:#ffffffd9;border-radius:5px}.mobile-track-clip i.start{left:-6px}.mobile-track-clip i.end{right:-6px}.mobile-track-animation-duration{position:absolute;left:0;top:0;bottom:0;z-index:1;min-width:6px;padding:0;background:#ffffff47;border:0;border-radius:7px 0 0 7px}.mobile-tool-drawer,.mobile-tool-dock{width:100%;min-width:0;min-height:0;display:grid;background:#181b21}.mobile-tool-drawer{grid-template-rows:58px minmax(0,1fr)}.mobile-tool-dock{grid-template-rows:58px;position:relative;z-index:30;border-top:1px solid #252a32}.mobile-tool-dock>.mobile-tool-panel{display:none}.mobile-sheet-scrim{position:absolute;inset:0;z-index:24;padding:0;background:#00000047}.mobile-tool-sheet{position:absolute;left:0;right:0;bottom:58px;z-index:28;height:min(52dvh,420px);min-height:260px;display:grid;grid-template-rows:42px minmax(0,1fr);overflow:hidden;background:#1b1f27;border-top:1px solid #303744;border-radius:16px 16px 0 0;box-shadow:0 -18px 42px #0000006b}.mobile-sheet-handle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px 4px;color:#f7f8fb;font-size:13px;font-weight:900}.mobile-sheet-handle:before{content:"";position:absolute;left:50%;top:7px;width:42px;height:4px;background:#596171;border-radius:999px;transform:translate(-50%)}.mobile-sheet-handle button{height:28px;padding:0 10px;color:#aeb5c1;background:#262c36;border-radius:999px;font-size:12px;font-weight:900}.mobile-tool-tabs{width:100%;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px;border-bottom:1px solid #252a32}.mobile-tool-tabs button{min-width:0;display:grid;place-items:center;gap:2px;color:#aeb5c1;background:transparent;border-radius:9px;font-size:11px;font-weight:900}.mobile-tool-tabs button.active{color:#061116;background:#00e5ff}.mobile-tool-tabs span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-tool-panel{min-height:0;overflow:auto;padding:10px}.mobile-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mobile-panel-grid .wide,.mobile-animation-grid.wide,.mobile-sticker-grid.wide{grid-column:1 / -1}.mobile-panel-action,.mobile-panel-field,.mobile-panel-control,.mobile-duration-card{min-width:0;min-height:42px;display:grid;align-items:center;gap:6px;padding:9px 10px;color:#f2f4f7;background:#232832;border:1px solid #303744;border-radius:8px}.mobile-panel-action{display:inline-flex;justify-content:center;font-size:13px;font-weight:900}.mobile-panel-action.primary{color:#061116;background:#00e5ff;border-color:#00e5ff}.mobile-panel-action.danger{color:#ff8f9b}.mobile-panel-field span,.mobile-panel-control span{color:#9ca6b5;font-size:11px;font-weight:900}.mobile-panel-field input,.mobile-panel-field textarea{width:100%;min-width:0;color:#f7f8fb;background:#15181e;border:1px solid #353d49;border-radius:7px;outline:0}.mobile-panel-field input{height:34px;padding:0 9px}.mobile-panel-field textarea{min-height:56px;padding:8px 9px;resize:none}.mobile-panel-control{grid-template-columns:58px minmax(0,1fr) auto}.mobile-panel-control input[type=range]{width:100%;accent-color:#00e5ff}.mobile-panel-control input[type=color]{width:44px;height:30px;padding:0;border:0;background:transparent}.mobile-panel-control b{color:#f7f8fb;font-size:11px;white-space:nowrap}.mobile-align-row,.mobile-icon-row,.mobile-animation-grid,.mobile-preset-row{grid-column:1 / -1;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mobile-align-row button,.mobile-icon-row button,.mobile-animation-grid button,.mobile-preset-row button{min-width:58px;min-height:36px;color:#dfe4ec;background:#232832;border:1px solid #303744;border-radius:8px;font-weight:900}.mobile-animation-grid button{min-width:82px;min-height:70px;grid-template-rows:minmax(34px,1fr) auto;place-items:center;padding:6px}.mobile-animation-grid b{max-width:74px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mobile-animation-grid .animation-thumb-wrap{width:58px;height:34px;overflow:hidden;display:grid;place-items:center;background:#15181e;border-radius:6px}.mobile-animation-grid .animation-thumb-wrap img,.mobile-animation-grid .animation-thumb-wrap video{width:100%;height:100%;object-fit:cover}.mobile-animation-grid .animation-abc-preview{width:58px;height:34px;display:grid;place-items:center;color:#f7f8fb;background:#15181e;border-radius:6px;font-size:13px;font-weight:900}.mobile-animation-grid .animation-none-icon{position:relative;width:30px;height:30px;border:2px solid #8d96a5;border-radius:999px}.mobile-animation-grid .animation-none-icon:after{content:"";position:absolute;left:4px;top:13px;width:18px;height:2px;background:#ff6b7a;transform:rotate(-45deg)}.mobile-align-row button.active,.mobile-icon-row button.active,.mobile-animation-grid button.active{color:#061116;background:#00e5ff;border-color:#00e5ff}.mobile-section-title{color:#dfe4ec;font-size:12px}.mobile-preset-row button{min-width:78px;display:grid;place-items:center;gap:2px;padding:5px;color:inherit}.mobile-preset-row span{color:currentColor;font-size:22px;font-weight:950}.mobile-preset-row small{max-width:66px;overflow:hidden;color:#c7ced9;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.mobile-preset-row button.active small{color:#061116}.mobile-preset-none{position:relative;width:24px;height:24px;border:2px solid #9ba4b2;border-radius:50%}.mobile-preset-none:after{content:"";position:absolute;left:2px;top:10px;width:18px;height:2px;background:#ff6b7a;transform:rotate(-45deg)}.mobile-font-selector{position:relative;min-width:0}.mobile-font-trigger{width:100%;min-height:42px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;padding:9px 10px;color:#f2f4f7;background:#232832;border:1px solid #303744;border-radius:8px;text-align:left}.mobile-font-trigger span{color:#9ca6b5;font-size:11px;font-weight:900}.mobile-font-trigger b{min-width:0;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mobile-font-popover{position:absolute;right:0;bottom:calc(100% + 8px);left:0;z-index:20;display:grid;gap:8px;max-height:190px;padding:8px;background:#20242c;border:1px solid #39414f;border-radius:9px;box-shadow:0 16px 34px #0000006b}.mobile-font-search{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:6px;color:#9ca6b5;background:#15181e;border:1px solid #353d49;border-radius:7px;padding:0 8px}.mobile-font-search input{height:32px;color:#f7f8fb;background:transparent;border:0;outline:0}.mobile-font-list{min-height:0;overflow:auto;display:grid;gap:5px}.mobile-font-list button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;color:#dfe4ec;background:#262b35;border:1px solid #343b48;border-radius:7px;text-align:left}.mobile-font-list button.active{color:#061116;background:#00e5ff;border-color:#00e5ff}.mobile-font-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-font-list small{color:currentColor;opacity:.72}.mobile-subpanel{display:grid;gap:8px;padding:9px;background:#20242c;border:1px solid #303744;border-radius:8px}.mobile-subpanel-title{height:34px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;color:#dfe4ec;background:#232832;border:1px solid #303744;border-radius:7px;font-weight:900;text-align:left}.mobile-subpanel-title.enabled{color:#061116;background:#00e5ff;border-color:#00e5ff}.mobile-subpanel label{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px;color:#dfe4ec;font-size:12px;font-weight:800}.mobile-subpanel label.disabled{opacity:.45}.mobile-subpanel select,.mobile-panel-field select{min-width:0;height:34px;color:#f7f8fb;background:#15181e;border:1px solid #353d49;border-radius:7px}.mobile-bg-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-bg-mode button{height:34px;color:#dfe4ec;background:#232832;border:1px solid #303744;border-radius:7px;font-weight:900}.mobile-bg-mode button.active{color:#061116;background:#00e5ff;border-color:#00e5ff}.mobile-sticker-preview{height:74px;display:grid;place-items:center;background:#15181e;border:1px solid #303744;border-radius:8px}.mobile-sticker-preview img{max-width:66px;max-height:66px;object-fit:contain}.mobile-sticker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mobile-sticker-card{position:relative;min-width:0}.mobile-sticker-grid button,.mobile-sticker-add{min-width:0;display:grid;gap:4px;color:#cfd6e1;background:#232832;border:1px solid #303744;border-radius:8px;padding:6px;font-size:10px;font-weight:800}.mobile-sticker-add{width:100%}.mobile-sticker-favorite,.mobile-sticker-delete{position:absolute;top:4px;z-index:2;width:22px;height:22px;display:grid;place-items:center;padding:0;color:#f7f8fb;background:#10141ac7;border:1px solid rgba(255,255,255,.16);border-radius:999px}.mobile-sticker-favorite{left:4px}.mobile-sticker-favorite.active{color:#ffd166}.mobile-sticker-delete{right:4px}.mobile-sticker-grid img{width:100%;aspect-ratio:1;object-fit:contain}.mobile-sticker-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-panel-empty{grid-column:1 / -1;margin:0;padding:18px 10px;color:#8d96a5;text-align:center;border:1px dashed #39414f;border-radius:8px;font-size:12px;font-weight:800}.mobile-duration-card b{font-size:18px}.mobile-duration-card span{color:#9ca6b5;font-size:12px}.mobile-backdrop-panel{min-width:0;display:grid;gap:8px;padding:9px 10px;color:#f2f4f7;background:#232832;border:1px solid #303744;border-radius:8px}.mobile-backdrop-panel>span{color:#9ca6b5;font-size:11px;font-weight:900}.mobile-backdrop-panel>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mobile-backdrop-panel button{min-width:0;height:34px;color:#dfe4ec;background:#181c23;border:1px solid #353d49;border-radius:7px;font-size:12px;font-weight:900}.mobile-backdrop-panel button.active{color:#061116;background:#00e5ff;border-color:#00e5ff}@media(max-width:760px){.app-shell.editor-mode .app-main{padding-bottom:0}}@media(max-width:390px){.mobile-editor{grid-template-rows:48px minmax(0,1fr) 38px 286px 58px}.mobile-editor-stage{padding-inline:18px}.mobile-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
