:root,[data-world=reality]{--bg-deep:#0f1419;--bg-secondary:#1a2332;--accent-primary:#60a5fa;--accent-secondary:#93c5fd;--accent-glow:rgba(96, 165, 250, 0.4);--text-primary:#e8e4dc;--text-secondary:#9ca3a8;--border-color:rgba(96, 165, 250, 0.25);--glass-bg:rgba(26, 35, 50, 0.82);--glass-border:rgba(96, 165, 250, 0.12);--mist-tint:rgba(147, 197, 253, 0.06);--orb-primary:rgba(96, 165, 250, 0.25);--orb-secondary:rgba(147, 197, 253, 0.18);--world-transition-duration:1.2s;--accent-soft:rgba(96, 165, 250, 0.1);--accent-mid:rgba(96, 165, 250, 0.2);--accent-glow-strong:rgba(96, 165, 250, 0.5);--secondary-soft:rgba(147, 197, 253, 0.12);--secondary-mid:rgba(147, 197, 253, 0.25);--secondary-glow:rgba(147, 197, 253, 0.4);--error-color:#dc2626;--error-soft:rgba(239, 68, 68, 0.15);--error-border:rgba(239, 68, 68, 0.3);--error-glow:rgba(239, 68, 68, 0.5);--error-bg:rgba(239, 68, 68, 0.25);--success-color:#16a34a;--success-soft:rgba(34, 197, 94, 0.15);--success-border:rgba(34, 197, 94, 0.3);--success-glow:rgba(34, 197, 94, 0.5);--canvas-node-inline-bg:rgba(0, 0, 0, 0.3);--canvas-node-inline-soft-bg:rgba(255, 255, 255, 0.1);--canvas-node-base-bg:rgba(30, 30, 50, 0.95);--canvas-node-soft-bg:rgba(0, 0, 0, 0.2);--toast-bg:rgba(0, 0, 0, 0.75);--toast-color:#ffffff;--ui-overlay-bg:rgba(0, 0, 0, 0.8);--ui-overlay-bg-strong:rgba(0, 0, 0, 0.95);--ui-surface-shadow:0 10px 32px rgba(0, 0, 0, 0.3);--ui-surface-shadow-strong:0 20px 60px rgba(0, 0, 0, 0.5);--func-one-end:#b8b8b8;--func-two-start:#0ea5e9;--func-two-end:#22c55e;--func-three-start:#ec4899;--func-three-end:#ec4899;--func-four-start:#f59e0b;--func-four-end:#eab308;--func-five-end:#d4c4b0;--func-six-end:#f87171;--func-zero-end:#8b5cf6;--func-zero-glow:rgba(139, 92, 246, 0.4);--func-three-glow:rgba(236, 72, 153, 0.4);--func-four-glow:rgba(249, 115, 22, 0.4);--func-five-glow:rgba(212, 196, 176, 0.45);--func-six-glow:rgba(248, 113, 113, 0.4)}[data-world=ghost]{--bg-deep:#0d0a12;--bg-secondary:#15101f;--accent-primary:#c41e3a;--accent-secondary:#9d4edd;--accent-glow:rgba(196, 30, 58, 0.5);--text-primary:#f0e6f0;--text-secondary:#a78ba7;--border-color:rgba(196, 30, 58, 0.28);--glass-bg:rgba(21, 16, 31, 0.88);--glass-border:rgba(157, 78, 221, 0.2);--mist-tint:rgba(196, 30, 58, 0.08);--orb-primary:rgba(196, 30, 58, 0.35);--orb-secondary:rgba(157, 78, 221, 0.25);--accent-soft:rgba(196, 30, 58, 0.12);--accent-mid:rgba(196, 30, 58, 0.28);--accent-glow-strong:rgba(196, 30, 58, 0.6);--secondary-soft:rgba(157, 78, 221, 0.15);--secondary-mid:rgba(157, 78, 221, 0.3);--secondary-glow:rgba(157, 78, 221, 0.45);--error-color:#e11d48;--error-soft:rgba(196, 30, 58, 0.2);--error-border:rgba(196, 30, 58, 0.4);--error-glow:rgba(196, 30, 58, 0.6);--error-bg:rgba(196, 30, 58, 0.3);--success-color:#22c55e;--success-soft:rgba(34, 197, 94, 0.15);--success-border:rgba(34, 197, 94, 0.3);--success-glow:rgba(34, 197, 94, 0.5);--canvas-node-inline-bg:rgba(0, 0, 0, 0.32);--canvas-node-inline-soft-bg:rgba(255, 255, 255, 0.12);--canvas-node-base-bg:rgba(28, 20, 42, 0.95);--canvas-node-soft-bg:rgba(0, 0, 0, 0.22);--toast-bg:rgba(20, 14, 30, 0.84);--toast-color:#fff1f7;--ui-overlay-bg:rgba(14, 10, 22, 0.82);--ui-overlay-bg-strong:rgba(14, 10, 22, 0.95);--ui-surface-shadow:0 12px 34px rgba(8, 6, 14, 0.38);--ui-surface-shadow-strong:0 22px 60px rgba(8, 6, 14, 0.55);--func-one-end:#c0c0c0;--func-two-end:#22c55e;--func-three-end:#ec4899;--func-four-end:#eab308;--func-five-end:#d4c4b0;--func-six-end:#f87171;--func-zero-end:#8b5cf6;--func-zero-glow:rgba(139, 92, 246, 0.4);--func-two-start:#7c3aed;--func-three-start:#be185d;--func-four-start:#ea580c;--func-three-glow:rgba(196, 30, 58, 0.4);--func-six-glow:rgba(248, 113, 113, 0.4);--func-four-glow:rgba(249, 115, 22, 0.4);--func-five-glow:rgba(212, 196, 176, 0.45)}body[data-ui-theme=light][data-world=reality]{--bg-deep:#f4f8ff;--bg-secondary:#e9effb;--accent-primary:#2563eb;--accent-secondary:#4f46e5;--accent-glow:rgba(37, 99, 235, 0.35);--text-primary:#1f2a44;--text-secondary:#5f6f8a;--border-color:rgba(37, 99, 235, 0.22);--glass-bg:rgba(255, 255, 255, 0.78);--glass-border:rgba(99, 102, 241, 0.18);--mist-tint:rgba(79, 70, 229, 0.06);--orb-primary:rgba(37, 99, 235, 0.2);--orb-secondary:rgba(79, 70, 229, 0.16);--accent-soft:rgba(37, 99, 235, 0.08);--accent-mid:rgba(37, 99, 235, 0.16);--accent-glow-strong:rgba(37, 99, 235, 0.42);--secondary-soft:rgba(79, 70, 229, 0.1);--secondary-mid:rgba(79, 70, 229, 0.2);--secondary-glow:rgba(79, 70, 229, 0.35);--error-color:#b91c1c;--error-soft:rgba(220, 38, 38, 0.12);--error-border:rgba(220, 38, 38, 0.28);--error-glow:rgba(220, 38, 38, 0.36);--error-bg:rgba(220, 38, 38, 0.18);--success-color:#15803d;--success-soft:rgba(21, 128, 61, 0.12);--success-border:rgba(21, 128, 61, 0.26);--success-glow:rgba(21, 128, 61, 0.34);--canvas-node-inline-bg:rgba(255, 255, 255, 0.9);--canvas-node-inline-soft-bg:rgba(37, 99, 235, 0.08);--canvas-node-base-bg:rgba(255, 255, 255, 0.94);--canvas-node-soft-bg:rgba(37, 99, 235, 0.08);--toast-bg:rgba(17, 24, 39, 0.86);--toast-color:#f9fafb;--ui-overlay-bg:rgba(30, 64, 175, 0.22);--ui-overlay-bg-strong:rgba(18, 28, 45, 0.36);--ui-surface-shadow:0 10px 30px rgba(63, 93, 153, 0.2);--ui-surface-shadow-strong:0 22px 58px rgba(63, 93, 153, 0.24);--theme-accent-rgb:37,99,235;--theme-secondary-rgb:79,70,229;--theme-accent-strong-rgb:52,93,183;--theme-shadow-rgb:63,93,153;--theme-accent-sky-rgb:77,148,255;--theme-accent-soft-rgb:95,139,213;--theme-accent-bar-rgb:59,130,246;--theme-bar-start:#6fb6ff;--theme-bar-end:#3b82f6;--theme-surface-1-rgb:247,250,255;--theme-surface-2-rgb:242,247,255;--theme-surface-3-rgb:239,247,255;--theme-surface-4-rgb:243,248,255;--theme-surface-5-rgb:234,242,253;--theme-surface-6-rgb:232,243,255;--theme-surface-7-rgb:218,235,255;--theme-surface-8-rgb:236,245,255;--theme-surface-9-rgb:223,238,255;--theme-surface-10-rgb:230,242,255;--theme-surface-11-rgb:216,234,255;--theme-title-glow-rgb:93,162,255}body[data-ui-theme=light][data-world=ghost]{--bg-deep:#fff7fb;--bg-secondary:#ffeef6;--accent-primary:#be123c;--accent-secondary:#7c3aed;--accent-glow:rgba(190, 18, 60, 0.28);--text-primary:#4b1f35;--text-secondary:#7d5f70;--border-color:rgba(190, 18, 60, 0.24);--glass-bg:rgba(255, 255, 255, 0.8);--glass-border:rgba(190, 18, 60, 0.2);--mist-tint:rgba(190, 18, 60, 0.05);--orb-primary:rgba(190, 18, 60, 0.16);--orb-secondary:rgba(124, 58, 237, 0.13);--accent-soft:rgba(190, 18, 60, 0.08);--accent-mid:rgba(190, 18, 60, 0.16);--accent-glow-strong:rgba(190, 18, 60, 0.36);--secondary-soft:rgba(124, 58, 237, 0.1);--secondary-mid:rgba(124, 58, 237, 0.2);--secondary-glow:rgba(124, 58, 237, 0.3);--error-color:#be123c;--error-soft:rgba(190, 18, 60, 0.12);--error-border:rgba(190, 18, 60, 0.26);--error-glow:rgba(190, 18, 60, 0.34);--error-bg:rgba(190, 18, 60, 0.18);--success-color:#15803d;--success-soft:rgba(21, 128, 61, 0.12);--success-border:rgba(21, 128, 61, 0.26);--success-glow:rgba(21, 128, 61, 0.34);--canvas-node-inline-bg:rgba(255, 255, 255, 0.9);--canvas-node-inline-soft-bg:rgba(190, 18, 60, 0.08);--canvas-node-base-bg:rgba(255, 249, 252, 0.94);--canvas-node-soft-bg:rgba(190, 18, 60, 0.08);--toast-bg:rgba(53, 23, 40, 0.88);--toast-color:#fff4f7;--ui-overlay-bg:rgba(190, 18, 60, 0.2);--ui-overlay-bg-strong:rgba(68, 23, 45, 0.35);--ui-surface-shadow:0 10px 32px rgba(122, 47, 79, 0.2);--ui-surface-shadow-strong:0 22px 58px rgba(122, 47, 79, 0.24);--theme-accent-rgb:190,18,60;--theme-secondary-rgb:124,58,237;--theme-accent-strong-rgb:160,52,86;--theme-shadow-rgb:122,47,79;--theme-accent-sky-rgb:219,73,126;--theme-accent-soft-rgb:186,98,129;--theme-accent-bar-rgb:225,78,118;--theme-bar-start:#f9a8d4;--theme-bar-end:#e11d48;--theme-surface-1-rgb:255,249,252;--theme-surface-2-rgb:255,244,249;--theme-surface-3-rgb:255,242,248;--theme-surface-4-rgb:255,241,248;--theme-surface-5-rgb:254,236,245;--theme-surface-6-rgb:255,237,245;--theme-surface-7-rgb:254,224,239;--theme-surface-8-rgb:255,240,247;--theme-surface-9-rgb:255,228,240;--theme-surface-10-rgb:255,236,245;--theme-surface-11-rgb:255,222,236;--theme-title-glow-rgb:219,112,147}body[data-ui-theme=warm][data-world=reality]{--bg-deep:#f7eee3;--bg-secondary:#efe1d0;--accent-primary:#b87d5f;--accent-secondary:#c9966b;--accent-glow:rgba(184, 125, 95, 0.28);--text-primary:#4f3a2d;--text-secondary:#7a6251;--border-color:rgba(176, 132, 105, 0.26);--glass-bg:rgba(255, 248, 239, 0.82);--glass-border:rgba(191, 150, 121, 0.22);--mist-tint:rgba(184, 125, 95, 0.06);--orb-primary:rgba(184, 125, 95, 0.16);--orb-secondary:rgba(201, 150, 107, 0.14);--accent-soft:rgba(184, 125, 95, 0.08);--accent-mid:rgba(184, 125, 95, 0.16);--accent-glow-strong:rgba(184, 125, 95, 0.34);--secondary-soft:rgba(201, 150, 107, 0.1);--secondary-mid:rgba(201, 150, 107, 0.18);--secondary-glow:rgba(201, 150, 107, 0.32);--error-color:#b84c4c;--error-soft:rgba(184, 76, 76, 0.12);--error-border:rgba(184, 76, 76, 0.26);--error-glow:rgba(184, 76, 76, 0.34);--error-bg:rgba(184, 76, 76, 0.18);--success-color:#3f8c57;--success-soft:rgba(63, 140, 87, 0.12);--success-border:rgba(63, 140, 87, 0.26);--success-glow:rgba(63, 140, 87, 0.34);--canvas-node-inline-bg:rgba(255, 247, 237, 0.92);--canvas-node-inline-soft-bg:rgba(184, 125, 95, 0.08);--canvas-node-base-bg:rgba(255, 249, 241, 0.94);--canvas-node-soft-bg:rgba(184, 125, 95, 0.08);--toast-bg:rgba(66, 48, 36, 0.88);--toast-color:#fff8f1;--ui-overlay-bg:rgba(114, 78, 52, 0.2);--ui-overlay-bg-strong:rgba(66, 48, 36, 0.34);--ui-surface-shadow:0 10px 30px rgba(92, 67, 47, 0.2);--ui-surface-shadow-strong:0 22px 58px rgba(92, 67, 47, 0.24);--theme-accent-rgb:184,125,95;--theme-secondary-rgb:201,150,107;--theme-accent-strong-rgb:170,122,90;--theme-shadow-rgb:117,87,67;--theme-accent-sky-rgb:214,171,132;--theme-accent-soft-rgb:186,149,120;--theme-accent-bar-rgb:204,145,96;--theme-bar-start:#edc495;--theme-bar-end:#c98956;--theme-surface-1-rgb:255,249,241;--theme-surface-2-rgb:252,245,236;--theme-surface-3-rgb:249,241,231;--theme-surface-4-rgb:251,243,234;--theme-surface-5-rgb:247,236,223;--theme-surface-6-rgb:249,238,224;--theme-surface-7-rgb:244,228,210;--theme-surface-8-rgb:250,241,229;--theme-surface-9-rgb:246,232,216;--theme-surface-10-rgb:248,236,221;--theme-surface-11-rgb:243,227,208;--theme-title-glow-rgb:204,156,119}body[data-ui-theme=warm][data-world=ghost]{--bg-deep:#f9f1e8;--bg-secondary:#f2e4d8;--accent-primary:#b97979;--accent-secondary:#c89470;--accent-glow:rgba(185, 121, 121, 0.26);--text-primary:#55383a;--text-secondary:#7d6362;--border-color:rgba(185, 121, 121, 0.24);--glass-bg:rgba(255, 247, 239, 0.82);--glass-border:rgba(185, 121, 121, 0.2);--mist-tint:rgba(185, 121, 121, 0.05);--orb-primary:rgba(185, 121, 121, 0.15);--orb-secondary:rgba(200, 148, 112, 0.12);--accent-soft:rgba(185, 121, 121, 0.08);--accent-mid:rgba(185, 121, 121, 0.15);--accent-glow-strong:rgba(185, 121, 121, 0.32);--secondary-soft:rgba(200, 148, 112, 0.1);--secondary-mid:rgba(200, 148, 112, 0.18);--secondary-glow:rgba(200, 148, 112, 0.3);--error-color:#b24a52;--error-soft:rgba(178, 74, 82, 0.12);--error-border:rgba(178, 74, 82, 0.26);--error-glow:rgba(178, 74, 82, 0.34);--error-bg:rgba(178, 74, 82, 0.18);--success-color:#3e8556;--success-soft:rgba(62, 133, 86, 0.12);--success-border:rgba(62, 133, 86, 0.26);--success-glow:rgba(62, 133, 86, 0.34);--canvas-node-inline-bg:rgba(255, 246, 239, 0.92);--canvas-node-inline-soft-bg:rgba(185, 121, 121, 0.08);--canvas-node-base-bg:rgba(255, 248, 242, 0.94);--canvas-node-soft-bg:rgba(185, 121, 121, 0.08);--toast-bg:rgba(68, 47, 50, 0.88);--toast-color:#fff6f6;--ui-overlay-bg:rgba(118, 74, 77, 0.2);--ui-overlay-bg-strong:rgba(68, 47, 50, 0.34);--ui-surface-shadow:0 10px 32px rgba(98, 61, 64, 0.2);--ui-surface-shadow-strong:0 22px 58px rgba(98, 61, 64, 0.24);--theme-accent-rgb:185,121,121;--theme-secondary-rgb:200,148,112;--theme-accent-strong-rgb:168,116,117;--theme-shadow-rgb:112,76,78;--theme-accent-sky-rgb:215,160,145;--theme-accent-soft-rgb:176,126,114;--theme-accent-bar-rgb:197,134,115;--theme-bar-start:#e6b8a5;--theme-bar-end:#bb7e6a;--theme-surface-1-rgb:255,248,242;--theme-surface-2-rgb:252,244,237;--theme-surface-3-rgb:249,239,232;--theme-surface-4-rgb:251,242,236;--theme-surface-5-rgb:247,235,228;--theme-surface-6-rgb:249,236,229;--theme-surface-7-rgb:244,228,219;--theme-surface-8-rgb:250,239,233;--theme-surface-9-rgb:245,231,223;--theme-surface-10-rgb:248,236,229;--theme-surface-11-rgb:243,225,217;--theme-title-glow-rgb:203,146,132}*{margin:0;padding:0;box-sizing:border-box}.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.login-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.login-modal{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:20px;padding:50px 40px;max-width:400px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .5s ease-out}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.login-header h2{font-family:Cinzel,serif;font-size:2.5rem;color:var(--text-primary);margin-bottom:10px;letter-spacing:.2em}.login-header p{color:var(--text-secondary);font-size:1rem}.login-form{display:flex;flex-direction:column;gap:25px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-family:Cinzel,serif;font-size:.95rem;color:var(--text-primary);letter-spacing:.1em}.form-group input{padding:15px 20px;border:1px solid var(--border-color);border-radius:10px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}.form-group input::placeholder{color:var(--text-secondary)}.form-group input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.login-btn{padding:18px 40px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden;transition:all .4s ease;display:flex;align-items:center;justify-content:center}.login-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.login-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--secondary-glow)}.login-btn:hover::before{left:100%}.login-btn:active{transform:translateY(-1px)}.login-hint{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:10px}.ban-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;z-index:99999;transition:opacity .5s ease,visibility .5s ease}.ban-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.ban-modal{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid var(--error-color);border-radius:20px;padding:50px 40px;max-width:400px;width:90%;box-shadow:0 20px 60px var(--error-border);animation:slideUp .5s ease-out}.ban-header{text-align:center;margin-bottom:30px}.ban-header svg{width:80px;height:80px;color:var(--error-color);margin-bottom:20px;animation:banPulse 2s ease-in-out infinite}@keyframes banPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.ban-header h2{font-family:Cinzel,serif;font-size:2rem;color:var(--error-color);margin-bottom:10px;letter-spacing:.2em}.ban-content{text-align:center}.ban-reason{color:var(--text-primary);font-size:1.1rem;line-height:1.6;padding:20px;background:var(--error-soft);border-radius:10px;border:1px solid var(--error-border)}.project-scroll-top-btn{position:fixed;right:170px;bottom:16px;z-index:99989;width:50px;height:50px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-primary) 38%,var(--border-color));background:radial-gradient(120% 120% at 20% 10%,rgba(63,142,255,.24) 0,rgba(10,16,28,.98) 58%,#060a12 100%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary) 22%,transparent),0 10px 26px rgba(0,0,0,.34);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transform-origin:right center;transition:width .32s ease,border-radius .32s ease,background .28s ease,box-shadow .28s ease,transform .2s ease;isolation:isolate}.project-scroll-top-btn:hover{width:140px;border-radius:28px;transform:translateY(-1px);background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 72%,#b5a0ff) 0,color-mix(in srgb,var(--accent-secondary) 60%,#7ab6ff) 100%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary) 28%,transparent),0 14px 32px rgba(42,108,214,.35)}.project-scroll-top-btn:active{transform:translateY(0)}.project-scroll-top-icon{width:12px;height:12px;transition:transform .3s ease;pointer-events:none}.project-scroll-top-icon path{fill:#ffffff}.project-scroll-top-btn::before{content:"返回顶部";position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);color:#fff;font-family:'Noto Serif SC',serif;font-size:0;opacity:0;white-space:nowrap;transition:font-size .3s ease,opacity .3s ease,bottom .3s ease}.project-scroll-top-btn:hover .project-scroll-top-icon{transform:translateY(-220%)}.project-scroll-top-btn:hover::before{font-size:13px;opacity:1;bottom:50%;transform:translate(-50%,50%)}.dynamic-canvas-open .project-scroll-top-btn{display:none!important}.dynamic-canvas-open .works-entry-btn{display:none!important}.page-error-panel{position:fixed;bottom:16px;right:12px;z-index:99990;font-family:'Noto Serif SC',serif;font-size:13px}.page-error-toggle{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--error-border);border-radius:12px;color:var(--error-color);cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.2);transition:transform .2s ease,box-shadow .2s ease}.page-error-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(0,0,0,.25)}.page-error-icon{font-size:18px}.page-error-label{font-size:12px;color:var(--error-color)}.page-error-count{min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:var(--error-color);color:var(--bg-deep);border-radius:10px;font-weight:600;font-size:12px}.page-error-drawer{position:absolute;bottom:100%;right:0;margin-bottom:8px;width:380px;max-height:45vh;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--error-border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.3);display:none;flex-direction:column;overflow:hidden}.page-error-panel.open .page-error-drawer{display:flex}.page-error-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--error-soft);border-bottom:1px solid var(--error-border);color:var(--error-color);font-weight:600}.page-error-clear{padding:4px 10px;background:0 0;border:1px solid var(--error-border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:12px;transition:background .2s ease}.page-error-clear:hover{background:var(--error-soft)}.page-error-list{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;min-height:80px}.page-error-item{padding:10px 12px;margin-bottom:6px;background:var(--error-soft);border:1px solid var(--error-border);border-radius:8px;color:var(--text-primary);font-size:12px;line-height:1.5;word-break:break-word}.page-error-item:last-child{margin-bottom:0}.page-error-time{color:var(--text-muted,#888);font-size:11px;margin-bottom:4px}.page-error-msg{margin-bottom:4px}.page-error-stack{margin-top:6px;padding-top:6px;border-top:1px solid var(--error-border);font-family:ui-monospace,monospace;font-size:10px;color:var(--text-muted,#888);white-space:pre-wrap;max-height:120px;overflow-y:auto}.page-error-stack.collapsed{display:none}.page-error-toggle-stack{background:0 0;border:none;color:var(--error-color);cursor:pointer;font-size:11px;padding:0;margin-top:4px;text-decoration:underline}body.animations-disabled,html.animations-disabled{scroll-behavior:auto!important}body.animations-disabled *,body.animations-disabled ::after,body.animations-disabled ::before,html.animations-disabled *,html.animations-disabled ::after,html.animations-disabled ::before{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important}body{font-family:'Noto Serif SC',serif;background:var(--bg-deep);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative;transition:background-color var(--world-transition-duration, 1s) ease,color .6s ease}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body[data-ui-theme=light]::after{opacity:.012}body[data-ui-theme=warm]::after{opacity:.014}body.ui-theme-switching,body.ui-theme-switching *{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease,fill .45s ease,stroke .45s ease!important}.ui-theme-transition-overlay{position:fixed;inset:0;z-index:20000;pointer-events:none;opacity:0;display:flex;align-items:stretch;justify-content:stretch;background:0 0;transition:none}.ui-theme-transition-overlay.active{opacity:1}.ui-theme-transition-frame{display:block;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none;transform:translateZ(0)}.world-transition-overlay{position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(196,30,58,.15) 0,transparent 55%);transition:opacity .8s ease}body.world-crossing .world-transition-overlay{opacity:1;animation:worldPulse 2s ease-in-out}@keyframes worldPulse{0%,100%{opacity:.4}50%{opacity:1}}.world-switch-curtain{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0;background:radial-gradient(ellipse 100% 80% at 50% 50%,var(--accent-glow) 0,var(--accent-mid) 30%,transparent 65%);transition:none}.world-switch-curtain::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,var(--accent-glow) 15%,var(--accent-mid) 50%,var(--accent-glow) 85%,transparent 100%);background-size:200% 100%;background-position:-100% 0;opacity:0}body.world-switching .world-switch-curtain{animation:worldSwitchCurtain .75s ease-out forwards}body.world-switching .world-switch-curtain::before{animation:worldSwitchSweep .75s ease-out forwards}@keyframes worldSwitchCurtain{0%{opacity:0;transform:scale(.98)}30%{opacity:.85;transform:scale(1.01)}65%{opacity:.5;transform:scale(1)}100%{opacity:0;transform:scale(1)}}@keyframes worldSwitchSweep{0%{background-position:-100% 0;opacity:0}20%{opacity:.7}50%{background-position:50% 0;opacity:.9}80%{opacity:.4}100%{background-position:200% 0;opacity:0}}.mist-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(ellipse 60% 50% at 0 20%,var(--orb-primary) 0,transparent 55%),radial-gradient(ellipse 60% 50% at 100% 80%,var(--orb-secondary) 0,transparent 55%),radial-gradient(ellipse 70% 40% at 10% 90%,var(--mist-tint) 0,transparent 50%),radial-gradient(ellipse 70% 40% at 90% 10%,var(--mist-tint) 0,transparent 50%);animation:mistFloat 22s ease-in-out infinite;z-index:0;transition:background 1.2s ease}@keyframes mistFloat{0%,100%{transform:translateX(0) translateY(0);opacity:1}33%{transform:translateX(25px) translateY(-15px);opacity:.85}66%{transform:translateX(-20px) translateY(10px);opacity:.9}}.light-orb{position:fixed;border-radius:50%;filter:blur(85px);pointer-events:none;z-index:0;transition:background 1.2s ease,filter .8s ease}.orb-1{width:420px;height:420px;background:radial-gradient(circle,var(--orb-primary) 0,transparent 68%);top:-120px;right:-100px;animation:orbFloat1 26s ease-in-out infinite}.orb-2{width:320px;height:320px;background:radial-gradient(circle,var(--orb-secondary) 0,transparent 70%);bottom:-60px;left:-60px;animation:orbFloat2 21s ease-in-out infinite}.orb-3{width:350px;height:350px;background:radial-gradient(circle,var(--orb-primary) 0,transparent 72%);bottom:-80px;right:20%;animation:orbFloat3 28s ease-in-out infinite}[data-world=ghost] .light-orb{filter:blur(90px)}@keyframes orbFloat1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,25px) scale(1.08)}}@keyframes orbFloat2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(35px,-25px) scale(1.12)}}@keyframes orbFloat3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,-20px) scale(1.1)}}.bian-particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.5;transition:opacity 1s ease}[data-world=ghost] .bian-particles{opacity:.85}.bian-particle{position:absolute;width:4px;height:4px;background:var(--accent-primary);border-radius:50%;opacity:.6;animation:particleDrift 18s linear infinite}.bian-particle:nth-child(odd){background:var(--accent-secondary);animation-duration:22s;animation-direction:reverse}@keyframes particleDrift{0%{transform:translateY(-10vh) translateX(0) scale(1);opacity:.4}100%{transform:translateY(110vh) translateX(20px) scale(.6);opacity:.7}}.container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:40px 20px;min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:60px;animation:fadeInDown 1s ease-out;position:relative}.current-project-badge{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--accent-mid) 0,var(--secondary-soft) 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;animation:fadeInLeft .5s ease-out}.current-project-badge-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.current-project-layout-switch{width:fit-content;max-width:100%;display:inline-flex;align-items:center;align-self:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:10px}.layout-switch-label{font-family:'Noto Serif SC',serif;font-size:.74rem;color:var(--text-secondary);white-space:nowrap}.layout-switch-toggle{display:flex;align-items:center;gap:2px;padding:2px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--border-color)}.layout-switch-btn{border:none;border-radius:10px;background:0 0;color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:.72rem;padding:4px 10px;cursor:pointer;transition:all .3s ease}.layout-switch-btn:hover{color:var(--text-primary)}.layout-switch-btn.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-weight:600}.video-model-selector-wrap{display:flex;align-items:center;width:100%}.video-model-selector-wrap .model-selector-container{margin-left:0;padding-left:0;border-left:none}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.project-label{font-family:Cinzel,serif;font-size:.85rem;color:var(--text-secondary);letter-spacing:.05em}.project-name{font-family:'Noto Serif SC',serif;font-size:.95rem;font-weight:600;color:var(--accent-primary)}.model-selector-container{display:flex;align-items:center;gap:8px;margin-left:8px;padding-left:8px;border-left:1px solid var(--border-color)}.model-selector-label{font-family:'Noto Serif SC',serif;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.model-toggle{display:flex;background:rgba(0,0,0,.3);border-radius:12px;padding:2px;gap:2px}.model-toggle input[type=radio]{display:none}.model-toggle label{padding:4px 10px;font-size:.7rem;font-family:'Noto Serif SC',serif;color:var(--text-secondary);border-radius:10px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.model-toggle input[type=radio]:checked+label{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-weight:500}.model-toggle label:hover{color:var(--text-primary)}.title{font-family:Cinzel,serif;font-size:4rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px;letter-spacing:.15em;text-shadow:0 0 40px var(--accent-glow);display:inline-block;width:fit-content;margin-left:auto;margin-right:auto}.ui-theme-toggle-title{cursor:pointer;user-select:none;transition:transform .25s ease,filter .25s ease,opacity .25s ease}.ui-theme-toggle-title:hover{transform:translateY(-1px);filter:drop-shadow(0 0 14px var(--accent-glow))}.ui-theme-toggle-title:active{transform:translateY(0) scale(.99)}.subtitle{font-size:1.1rem;color:var(--text-secondary);font-weight:300;letter-spacing:.3em}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDownProjectHeader{from{opacity:0;transform:translate(50px,-30px)}to{opacity:1;transform:translate(50px,0)}}.config-buttons-group{position:fixed;top:0;right:0;display:grid;grid-template-columns:repeat(3,112px);grid-template-rows:repeat(2,70px);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-bottom-left-radius:12px;z-index:1000;overflow:hidden;box-shadow:-5px 5px 20px rgba(0,0,0,.2)}.config-buttons-group .config-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:all .3s ease;color:var(--accent-primary);position:relative;height:100%}.config-buttons-group .config-item svg{width:24px;height:24px;flex-shrink:0;margin-bottom:4px}.config-buttons-group .config-item .config-item-text{font-family:'Noto Serif SC',serif;font-size:.75rem;color:var(--text-primary);white-space:nowrap;line-height:1}.config-buttons-group .config-item:hover{background:var(--accent-mid);color:var(--accent-secondary)}.config-buttons-group .config-item:hover .config-item-text{color:var(--accent-secondary)}.config-buttons-group .config-item:active{background:var(--border-color)}.config-buttons-group .config-item:not(:nth-child(3n + 1)){border-left:1px solid var(--border-color)}.config-buttons-group .config-item:nth-child(n+4){border-top:1px solid var(--border-color)}.book-icon{position:relative;width:24px;height:24px}.book-cover{position:absolute;top:0;left:0;width:100%;height:100%;transition:all .3s ease}.book-pages{position:absolute;top:4px;left:5px;width:14px;height:16px;opacity:.7}.script-btn:hover .book-pages{animation:bookPageTurn .8s ease-in-out infinite}@keyframes bookPageTurn{0%,100%{transform:scaleX(1);opacity:.7}50%{transform:scaleX(.3);opacity:.3}}@keyframes smokePuff{0%{opacity:1}100%{opacity:0}}@keyframes smokeRise1{0%{opacity:.8;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(10px,-30px) scale(2)}}@keyframes smokeRise2{0%{opacity:.6;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(-10px,-25px) scale(1.8)}}.main-content{flex:1;animation:fadeInUp 1s ease-out .3s backwards}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.upload-section{margin-bottom:50px}.upload-container{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}.frame-wrapper{display:flex;flex-direction:column;align-items:center;gap:15px}.image-prompt-side{display:flex;flex-direction:column;gap:10px;width:320px}.image-prompt-actions{display:flex;align-items:center;gap:10px}.upload-zone{width:320px;height:320px;border:2px dashed var(--border-color);border-radius:20px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.upload-zone::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--accent-soft) 0,transparent 100%);opacity:0;transition:opacity .4s ease}.upload-zone:hover{border-color:var(--accent-primary);transform:translateY(-5px);box-shadow:0 20px 40px var(--accent-mid)}.upload-zone:hover::before{opacity:1}.upload-zone.drag-over{border-color:var(--accent-secondary);background:var(--secondary-soft);transform:scale(1.02)}.upload-content{text-align:center;padding:20px;transition:opacity .3s ease}.upload-icon{width:60px;height:60px;margin:0 auto 20px;color:var(--accent-primary);transition:all .3s ease}.upload-zone:hover .upload-icon{transform:scale(1.1);color:var(--accent-secondary)}.upload-content h3{font-family:Cinzel,serif;font-size:1.3rem;margin-bottom:10px;color:var(--text-primary)}.upload-hint{font-size:.9rem;color:var(--text-secondary);line-height:1.6}.arrow-divider{width:60px;height:60px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);animation:arrowPulse 2s ease-in-out infinite}.arrow-divider svg{width:100%;height:100%}@keyframes arrowPulse{0%,100%{opacity:.5;transform:translateX(0)}50%{opacity:1;transform:translateX(10px)}}.preview-container{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.preview-container img{width:100%;height:100%;object-fit:cover;border-radius:18px}.remove-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.remove-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.remove-btn svg{width:16px;height:16px}.control-section{max-width:600px;margin:0 auto 50px;animation:fadeInUp 1s ease-out .6s backwards}.prompt-container{margin-bottom:30px}.prompt-container label{display:block;font-family:Cinzel,serif;font-size:1.1rem;margin-bottom:12px;color:var(--text-primary);letter-spacing:.1em}#promptInput{width:100%;min-height:120px;padding:18px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;line-height:1.6;resize:vertical;transition:all .3s ease}#promptInput::placeholder{color:var(--text-secondary)}#promptInput:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-mid)}.generate-btn{width:100%;padding:18px 40px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.2rem;font-weight:600;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden;transition:all .4s ease;display:flex;align-items:center;justify-content:center;gap:12px}.generate-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.generate-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--accent-glow)}.generate-btn:hover::before{left:100%}.generate-btn:active{transform:translateY(-1px)}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-icon{width:20px;height:20px;animation:rotate 3s linear infinite}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200%;height:200%;background:radial-gradient(circle,var(--accent-glow) 0,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.generate-btn:hover .btn-glow{opacity:1}.result-section{max-width:800px;margin:0 auto;animation:fadeInUp 1s ease-out .9s backwards}.result-container{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;padding:40px}.result-title{font-family:Cinzel,serif;font-size:1.5rem;margin-bottom:30px;text-align:center;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.video-wrapper{position:relative;width:100%;aspect-ratio:16/9;background:var(--bg-secondary);border-radius:12px;overflow:hidden;margin-bottom:30px}.loading-state{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading-spinner{width:50px;height:50px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-secondary);font-size:1rem}#resultVideo{width:100%;height:100%;object-fit:contain;background:var(--bg-secondary)}.result-actions{display:flex;gap:15px;justify-content:center}.action-btn{padding:12px 30px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.action-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.action-btn svg{width:18px;height:18px}.footer{text-align:center;padding:30px 20px;color:var(--text-secondary);font-size:.9rem;letter-spacing:.1em;animation:fadeInUp 1s ease-out 1.2s backwards}@media (max-width:768px){.title{font-size:2.5rem}.subtitle{font-size:.9rem}.upload-container{flex-direction:column;gap:20px}.upload-zone{width:100%;max-width:320px;height:280px}.arrow-divider{transform:rotate(90deg)}.container{padding:20px 15px}.result-container{padding:25px}.result-actions{flex-direction:column}.action-btn{width:100%;justify-content:center}}.config-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:1000;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.config-modal.active{display:flex}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.config-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:600px;width:90%;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5)}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.config-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.config-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.config-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.config-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.config-close-btn svg{width:16px;height:16px}.config-modal-body{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding-right:10px}.config-modal-body .config-item{display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-start}.config-modal-body .config-item label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}.config-modal-body .config-item textarea{width:100%;min-height:100px;padding:15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;line-height:1.6;resize:vertical;transition:all .3s ease}.config-modal-body .config-item textarea::placeholder{color:var(--text-secondary)}.config-modal-body .config-item textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.config-modal-body .config-item input[type=number],.config-modal-body .config-item input[type=text]{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;transition:all .3s ease}.config-modal-body .config-item input[type=number]::placeholder,.config-modal-body .config-item input[type=text]::placeholder{color:var(--text-secondary)}.config-modal-body .config-item input[type=number]:focus,.config-modal-body .config-item input[type=text]:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.config-modal-body .config-item.config-item-preset{gap:6px}.config-preset-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;width:100%}.config-preset-label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.config-preset-toggle{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;border-radius:10px;padding:3px;background:var(--glass-bg);border:1px solid var(--border-color);gap:0}.config-preset-option{padding:7px 12px;font-size:.9rem;font-family:'Noto Serif SC',serif;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.config-preset-option:hover{color:var(--text-primary)}.config-preset-option.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:#fff;font-weight:600}.config-preset-sep{padding:0 4px;color:var(--text-secondary);font-size:.9rem;line-height:1;display:inline-flex;align-items:center;transform:translateY(1px);user-select:none;pointer-events:none}.config-preset-loading{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-secondary);padding:6px 10px}.config-row-inline{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.config-item-inline{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.config-item-inline label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.config-item-inline input[type=text]{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;transition:all .3s ease}.config-item-inline input[type=text]::placeholder{color:var(--text-secondary)}.config-item-inline input[type=text]:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.config-select{position:relative;width:100%}.config-item-inline .config-select-input{width:100%;padding:12px 42px 12px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;transition:all .3s ease;cursor:text}.config-item-inline .config-select-input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.config-select-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:rgba(255,255,255,.06);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.config-select-btn:hover{background:rgba(255,255,255,.12);border-color:var(--accent-primary)}.config-select-btn svg{width:18px;height:18px;transition:transform .2s ease}.config-select.open .config-select-btn svg{transform:rotate(180deg)}.config-select-dropdown{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:1002;display:none;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);max-height:240px;overflow-y:auto}.config-select.open .config-select-dropdown{display:block}.config-select-option{width:100%;border:none;background:0 0;color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.92rem;text-align:left;padding:9px 10px;border-radius:10px;cursor:pointer;transition:background .15s ease,color .15s ease}.config-select-option.active,.config-select-option:hover{background:rgba(255,255,255,.12);color:var(--accent-primary)}.config-separator{color:var(--text-secondary);font-size:1.2rem;padding:0 10px;align-self:flex-end;margin-bottom:8px;opacity:.6}.aspect-ratio-container-inline{display:flex;align-items:center;gap:8px}.aspect-ratio-container-inline input[type=number]{width:70px;padding:12px 10px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;text-align:center;transition:all .3s ease}.aspect-ratio-container-inline input[type=number]:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.aspect-ratio-container-inline span{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.config-save-btn{padding:14px 30px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;letter-spacing:.15em;cursor:pointer;transition:all .3s ease;align-self:flex-start}.config-save-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.config-save-btn:active{transform:translateY(0)}.image-import-modal-content{max-width:680px}.image-import-body{display:flex;flex-direction:column;gap:14px}.image-import-dropzone{width:100%;min-height:130px;border-radius:12px;border:1px dashed var(--border-color);background:var(--glass-bg);color:var(--text-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;padding:18px;text-align:center;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.image-import-dropzone svg{width:28px;height:28px}.image-import-dropzone.drag-over,.image-import-dropzone:hover{border-color:var(--accent-primary);background:var(--accent-soft);box-shadow:0 8px 22px var(--accent-mid)}.image-import-list{max-height:260px;overflow-y:auto;display:grid;grid-template-columns:1fr;gap:8px}.image-import-placeholder{margin:0;padding:12px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text-secondary);font-size:.9rem}.image-import-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:var(--glass-bg)}.image-import-item-name{color:var(--text-primary);font-size:.92rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-import-item-meta{color:var(--text-secondary);font-size:.82rem;white-space:nowrap}.image-import-summary{color:var(--text-secondary);font-size:.9rem}.image-import-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.image-import-action{border-radius:10px;border:1px solid var(--border-color);background:var(--glass-bg);color:var(--text-primary);padding:10px 16px;cursor:pointer;transition:all .2s ease;font-family:'Noto Serif SC',serif}.image-import-action:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.image-import-action.image-import-apply{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%)}.image-import-action.image-import-apply:hover{box-shadow:0 8px 20px var(--accent-glow)}.text-import-modal-content{max-width:980px}.text-import-body{display:flex;flex-direction:column;gap:14px}.text-import-hint{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.text-import-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.text-import-fields.text-import-fields--single{grid-template-columns:1fr}.text-import-fields.text-import-fields--triple .text-import-field:last-child{grid-column:1/-1}.text-import-field{display:flex;flex-direction:column;gap:8px}.text-import-field label{color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem}.text-import-textarea{width:100%;min-height:260px;padding:12px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;line-height:1.6;resize:vertical}.text-import-textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-soft)}.text-import-empty{margin:0;padding:12px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text-secondary);font-size:.9rem}.text-import-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.text-import-action{border-radius:10px;border:1px solid var(--border-color);background:var(--glass-bg);color:var(--text-primary);padding:10px 16px;cursor:pointer;transition:all .2s ease;font-family:'Noto Serif SC',serif}.text-import-action:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.text-import-action.text-import-apply{border-color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%)}.text-import-action.text-import-apply:hover{box-shadow:0 8px 20px var(--accent-glow)}@media (max-width:980px){.text-import-modal-content{max-width:760px}.text-import-fields{grid-template-columns:1fr}}.image-generation-section{max-width:600px;margin:0 auto 50px;animation:fadeInUp 1s ease-out .6s backwards}.image-prompt-container{margin-bottom:20px}.image-prompt-container label{display:block;font-family:Cinzel,serif;font-size:1.1rem;margin-bottom:12px;color:var(--text-primary);letter-spacing:.1em}#imagePromptInput{width:100%;min-height:100px;padding:18px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;line-height:1.6;resize:vertical;transition:all .3s ease}#imagePromptInput::placeholder{color:var(--text-secondary)}#imagePromptInput:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-mid)}.generate-image-btn{width:100%;padding:16px 40px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden;transition:all .4s ease;display:flex;align-items:center;justify-content:center;gap:12px}.generate-image-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.generate-image-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--secondary-glow)}.generate-image-btn:hover::before{left:100%}.generate-image-btn:active{transform:translateY(-1px)}.generate-image-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.button{height:50px;width:150px;border:none;border-radius:10px;cursor:pointer;position:relative;overflow:hidden;transition:all .5s ease-in-out}.button:hover{box-shadow:.5px .5px 150px #252525}.type1::after{content:"杩涘叆妯″紡";height:50px;width:150px;background-color:var(--accent-secondary);color:#fff;position:absolute;top:0;left:0;transform:translateY(50px);font-size:1.2rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .5s ease-in-out}.type1::before{content:"瀵兼紨妯″紡";height:50px;width:150px;background-color:#fff;color:var(--accent-secondary);position:absolute;top:0;left:0;transform:translateY(0) scale(1.2);font-size:1.2rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .5s ease-in-out}.type1:hover::after{transform:translateY(0) scale(1.2)}.type1:hover::before{transform:translateY(-50px) scale(0) rotate(120deg)}.director-mode-container{display:none}.aspect-ratio-convert-container{display:none}.btn-12,.btn-12 *,.btn-12 :after,.btn-12 :before,.btn-12:after,.btn-12:before{border:0 solid;box-sizing:border-box}.btn-12{-webkit-tap-highlight-color:transparent;-webkit-appearance:button;background-color:#000;background-image:none;color:#fff;cursor:pointer;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:100%;font-weight:900;line-height:1.5;margin:0;-webkit-mask-image:-webkit-radial-gradient(#000,#fff);padding:0;text-transform:uppercase}.btn-12:disabled{cursor:default}.btn-12:-moz-focusring{outline:auto}.btn-12 svg{display:block;vertical-align:middle}.btn-12 [hidden]{display:none}.btn-12{border-radius:99rem;border-width:2px;overflow:hidden;padding:.8rem 2.6rem;position:relative}.btn-12 span{mix-blend-mode:difference}.btn-12:after,.btn-12:before{background:linear-gradient(90deg,#fff 25%,transparent 0,transparent 50%,#fff 0,#fff 75%,transparent 0);content:"";inset:0;position:absolute;transform:translateY(var(--progress,100%));transition:transform .2s ease}.btn-12:after{--progress:-100%;background:linear-gradient(90deg,transparent 0,transparent 25%,#fff 0,#fff 50%,transparent 0,transparent 75%,#fff 0);z-index:-1}.btn-12:hover:after,.btn-12:hover:before{--progress:0}.aspect-ratio-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:9999;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.aspect-ratio-modal.active{display:flex}.aspect-ratio-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:1400px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5)}.aspect-ratio-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.aspect-ratio-modal-header-left{display:flex;align-items:center;gap:40px}.aspect-ratio-model-hint{font-size:.85rem;color:var(--text-secondary)}.aspect-ratio-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.aspect-ratio-model-toggle-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.aspect-ratio-model-label{font-size:13px;color:var(--text-secondary)}.aspect-ratio-model-toggle{display:inline-flex;border-radius:10px;padding:3px;background:var(--glass-bg);border:1px solid var(--border-color);gap:0}.aspect-ratio-model-option{padding:6px 14px;font-size:13px;font-family:inherit;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s}.aspect-ratio-model-option:hover{color:var(--text-primary)}.aspect-ratio-model-option.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:#fff;font-weight:500}.aspect-ratio-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.aspect-ratio-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.aspect-ratio-close-btn svg{width:16px;height:16px}.unified-models-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:11000;animation:fadeIn .2s ease}.unified-models-modal{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:16px;padding:24px 30px;min-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .3s ease-out}.unified-models-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.unified-models-header h2{font-family:Cinzel,serif;font-size:1.4rem;background:linear-gradient(135deg,var(--func-zero-end) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.unified-models-close{width:36px;height:36px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.unified-models-close:hover{border-color:var(--func-zero-end);background:var(--accent-soft);transform:scale(1.08)}.unified-models-close svg{width:18px;height:18px}.unified-models-body{display:flex;flex-direction:column;gap:20px}.unified-models-row{display:flex;flex-direction:column;gap:8px}.unified-models-label{font-family:'Noto Serif SC',serif;font-size:.95rem;color:var(--text-secondary)}.unified-models-toggle{display:inline-flex;flex-wrap:wrap;align-items:center;border-radius:10px;padding:3px;background:var(--glass-bg);border:1px solid var(--border-color);gap:0}.unified-models-option{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;font-size:.88rem;font-family:'Noto Serif SC',serif;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);cursor:pointer;transition:background .2s,color .2s;text-align:center}.unified-models-option:hover{color:var(--text-primary)}.unified-models-option.active{background:linear-gradient(135deg,var(--func-zero-end) 0,var(--accent-secondary) 100%);color:#fff;font-weight:500}.unified-models-option-label{line-height:1.15}.unified-models-option-consume{font-size:.72rem;line-height:1;color:var(--text-secondary);opacity:.9}.unified-models-option:hover .unified-models-option-consume{color:var(--text-primary)}.unified-models-option.active .unified-models-option-consume{color:rgba(255,255,255,.92)}.unified-models-sep{padding:0 4px;color:var(--text-secondary);font-size:.9rem;line-height:1;display:inline-flex;align-items:center;transform:translateY(1px);user-select:none;pointer-events:none}.unified-models-tabs{display:flex;gap:10px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.unified-models-tab{padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:.95rem;cursor:pointer;transition:all .2s ease}.unified-models-tab:hover{background:rgba(255,255,255,.15);border-color:var(--func-zero-end)}.unified-models-tab.active{background:var(--accent-glow);border-color:var(--func-zero-end);color:var(--func-zero-end);font-weight:600}.unified-models-tab-pane{display:none}.unified-models-tab-pane.active{display:flex;flex-direction:column;gap:20px}.aspect-ratio-modal-body{display:flex;flex-direction:column;gap:20px}.aspect-ratio-input-section{display:flex;flex-direction:column;gap:10px}.aspect-ratio-input-section label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}#aspectRatioInput{padding:15px 20px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}#aspectRatioInput::placeholder{color:var(--text-secondary)}#aspectRatioInput:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-mid)}.aspect-ratio-shortcuts{display:flex;gap:10px;flex-wrap:wrap}.aspect-ratio-shortcut-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;cursor:pointer;transition:all .3s ease}.aspect-ratio-shortcut-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.aspect-ratio-shortcut-btn:active{transform:translateY(0)}.aspect-ratio-convert-section{display:flex;gap:20px;justify-content:center}.aspect-ratio-clear-btn,.aspect-ratio-convert-action-btn,.aspect-ratio-export-btn{padding:18px 50px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.2rem;font-weight:600;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden;transition:all .4s ease;display:flex;align-items:center;gap:12px}.aspect-ratio-clear-btn::before,.aspect-ratio-convert-action-btn::before,.aspect-ratio-export-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.aspect-ratio-clear-btn:hover,.aspect-ratio-convert-action-btn:hover,.aspect-ratio-export-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--accent-glow-strong)}.aspect-ratio-clear-btn:hover::before,.aspect-ratio-convert-action-btn:hover::before,.aspect-ratio-export-btn:hover::before{left:100%}.aspect-ratio-clear-btn:disabled,.aspect-ratio-convert-action-btn:disabled,.aspect-ratio-export-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.aspect-ratio-clear-btn svg,.aspect-ratio-convert-action-btn svg,.aspect-ratio-export-btn svg{width:24px;height:24px;animation:none}.aspect-ratio-workspace{display:flex;gap:30px;min-height:450px;align-items:stretch}.aspect-ratio-input-zone,.aspect-ratio-output-zone{flex:1;display:flex;flex-direction:column;gap:15px;min-height:504px}.aspect-ratio-input-zone h3,.aspect-ratio-output-zone h3{font-family:Cinzel,serif;font-size:1.2rem;color:var(--text-primary);letter-spacing:.1em;text-align:center}.aspect-ratio-upload-area{flex:1;border:2px dashed var(--border-color);border-radius:15px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s ease;position:relative;isolation:isolate;overflow:hidden;min-height:300px}.aspect-ratio-upload-preview{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:cover;transform:scale(1.03);filter:blur(1px) saturate(.88);transition:opacity .3s ease}.aspect-ratio-upload-area:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-3px);box-shadow:0 15px 30px var(--accent-mid)}.aspect-ratio-upload-area.has-images{border-style:solid;border-color:rgba(88,150,255,.68);background:linear-gradient(180deg,rgba(17,33,66,.9),rgba(12,25,54,.96));flex:none;min-height:72px;height:72px;padding:0 14px;justify-content:flex-start}.aspect-ratio-upload-area.has-images::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,19,46,.36),rgba(8,19,46,.72))}.aspect-ratio-upload-area.has-images .aspect-ratio-upload-preview{opacity:.18}.aspect-ratio-upload-content{text-align:center;padding:20px;position:relative;z-index:1}.aspect-ratio-upload-area.has-images .aspect-ratio-upload-icon{display:none}.aspect-ratio-upload-area.has-images .aspect-ratio-upload-content{width:100%;padding:0;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}.aspect-ratio-upload-area.has-images .aspect-ratio-upload-content p{margin:0}.aspect-ratio-upload-area.has-images .aspect-ratio-upload-hint{font-size:.85rem;color:#a8bce6}.aspect-ratio-upload-icon{width:80px;height:80px;margin:0 auto 20px;color:var(--accent-primary);transition:all .3s ease}.aspect-ratio-upload-area:hover .aspect-ratio-upload-icon{transform:scale(1.1);color:var(--accent-secondary)}.aspect-ratio-upload-content p{font-size:1.1rem;color:var(--text-primary);margin-bottom:10px}.aspect-ratio-upload-hint{font-size:.9rem;color:var(--text-secondary)}.aspect-ratio-input-images{display:none;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px solid rgba(90,131,206,.45);border-radius:12px;background:linear-gradient(180deg,rgba(22,37,70,.6),rgba(14,26,52,.64));min-height:205px;align-content:flex-start;max-height:none;overflow-y:auto}.aspect-ratio-input-images.has-items{display:flex;flex:1}.aspect-ratio-input-image-item{position:relative;width:80px;height:80px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--glass-bg);cursor:pointer;transition:all .3s ease}.aspect-ratio-input-image-item:hover{border-color:var(--accent-primary);transform:scale(1.05)}.aspect-ratio-input-image-item img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.aspect-ratio-input-image-actions{position:absolute;bottom:5px;right:5px;display:flex;gap:5px;z-index:10;opacity:0;transition:opacity .3s ease}.aspect-ratio-input-image-item:hover .aspect-ratio-input-image-actions{opacity:1}.aspect-ratio-input-image-convert,.aspect-ratio-input-image-remove{width:20px;height:20px;border-radius:4px;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.aspect-ratio-input-image-convert:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);transform:scale(1.1)}.aspect-ratio-input-image-remove:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.aspect-ratio-input-image-convert svg,.aspect-ratio-input-image-remove svg{width:12px;height:12px}.aspect-ratio-output-images{display:flex;flex-wrap:wrap;gap:15px;justify-content:flex-start;align-content:flex-start;flex:1;min-height:270px;max-height:none;padding:16px;border:1px solid rgba(90,131,206,.45);border-radius:12px;background:linear-gradient(180deg,rgba(22,37,70,.6),rgba(14,26,52,.64));overflow-y:auto}.aspect-ratio-output-image-item{width:80px;height:80px;border-radius:10px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .3s ease;position:relative}.aspect-ratio-output-image-item:hover{transform:scale(1.1);border-color:var(--accent-primary);box-shadow:0 5px 20px var(--accent-glow);z-index:10}.aspect-ratio-output-image-item img{width:100%;height:100%;object-fit:cover}.aspect-ratio-output-image-actions{position:absolute;bottom:5px;right:5px;display:flex;gap:5px;z-index:5;opacity:0;transition:opacity .3s ease}.aspect-ratio-output-image-item:hover .aspect-ratio-output-image-actions{opacity:1}.aspect-ratio-output-copy-btn,.aspect-ratio-output-download-btn{width:24px;height:24px;border-radius:4px;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.aspect-ratio-output-copy-btn:hover{background:var(--accent-secondary);border-color:var(--accent-secondary);transform:scale(1.1)}.aspect-ratio-output-download-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.aspect-ratio-output-copy-btn svg,.aspect-ratio-output-download-btn svg{width:14px;height:14px}.aspect-ratio-output-placeholder{width:100%;min-height:241px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-secondary);padding:24px 20px;font-size:1rem}.aspect-ratio-output-error-content{text-align:center;padding:12px;font-size:13px;color:var(--text-primary);cursor:help}.aspect-ratio-error-tooltip{position:fixed;max-width:320px;padding:12px 14px;background:rgba(20,20,28,.98);color:#f0f0f0;font-size:12px;line-height:1.5;word-break:break-word;border-radius:10px;border:1px solid var(--error-border);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:10001;pointer-events:auto;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.aspect-ratio-error-tooltip.visible{opacity:1;visibility:visible}.director-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:9999;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.director-modal.active{display:flex}.director-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:1170px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5)}.director-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.director-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.director-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.director-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.director-close-btn svg{width:16px;height:16px}.director-modal-body{display:flex;flex-direction:column;gap:30px}.director-upload-section{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;padding:40px;flex:1}.director-upload-result-wrapper{display:flex;gap:20px;margin-bottom:30px}.director-upload-result-wrapper.upload-only .director-upload-section{flex:3}.director-upload-result-wrapper .director-upload-section{flex:1}.director-upload-result-wrapper .director-result-section{flex:2}.director-upload-zone{width:100%;height:400px;border:2px dashed var(--border-color);border-radius:15px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.director-upload-zone:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-3px);box-shadow:0 15px 30px var(--accent-mid)}.director-upload-content{text-align:center;padding:20px}.director-upload-icon{width:80px;height:80px;margin:0 auto 20px;color:var(--accent-primary);transition:all .3s ease}.director-upload-zone:hover .director-upload-icon{transform:scale(1.1);color:var(--accent-secondary)}.director-upload-content h3{font-family:Cinzel,serif;font-size:1.5rem;margin-bottom:10px;color:var(--text-primary)}.director-upload-hint{font-size:1rem;color:var(--text-secondary)}.director-preview-container{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.director-preview-container img{width:100%;height:100%;object-fit:contain;background:var(--bg-secondary)}.director-remove-btn{position:absolute;top:15px;right:15px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.director-remove-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.director-remove-btn svg{width:20px;height:20px}.director-camera-section{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;padding:40px;flex:2}.director-camera-prompt-wrapper{display:flex;gap:20px;margin-bottom:30px}.director-camera-prompt-wrapper .director-camera-section{flex:2}.director-camera-prompt-wrapper .director-prompt-section{flex:1;display:flex;flex-direction:column;margin-bottom:0}.camera-section-title{font-family:Cinzel,serif;font-size:1.5rem;margin-bottom:30px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.camera-controls{display:flex;flex-direction:column;gap:30px}.camera-control-item{display:flex;flex-direction:column;gap:15px}.camera-control-item label{font-family:Cinzel,serif;font-size:1.1rem;color:var(--text-primary);letter-spacing:.1em}.camera-slider-wrapper{display:flex;align-items:center;gap:20px;padding:10px 0}.camera-slider{flex:1;-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--accent-glow),var(--secondary-glow));outline:0;cursor:pointer;transition:all .3s ease}.camera-slider:hover{background:linear-gradient(90deg,var(--accent-glow-strong),var(--secondary-glow))}.camera-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));cursor:pointer;box-shadow:0 5px 15px var(--accent-glow-strong);transition:all .3s ease}.camera-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 8px 20px var(--accent-glow-strong)}.camera-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));cursor:pointer;border:none;box-shadow:0 5px 15px var(--accent-glow-strong);transition:all .3s ease}.camera-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 8px 20px var(--accent-glow-strong)}.camera-value{font-family:'Noto Serif SC',serif;font-size:1.3rem;font-weight:600;color:var(--accent-primary);min-width:80px;text-align:center}.director-prompt-section{margin-bottom:30px}.director-prompt-section label{display:block;font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em;margin-bottom:12px}#directorPromptInput{width:100%;height:420px;padding:15px 20px;border:1px solid var(--border-color);border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;line-height:1.6;resize:vertical;transition:all .3s ease}#directorPromptInput::placeholder{color:var(--text-secondary)}#directorPromptInput:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-mid)}.director-generate-section{display:flex;justify-content:center;margin-bottom:30px}.director-generate-btn{padding:20px 50px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.2rem;font-weight:600;letter-spacing:.2em;cursor:pointer;position:relative;overflow:hidden;transition:all .4s ease;display:flex;align-items:center;gap:12px}.director-generate-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.director-generate-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px var(--accent-glow-strong)}.director-generate-btn:hover::before{left:100%}.director-generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.director-generate-btn svg{width:24px;height:24px;animation:rotate 3s linear infinite}.director-result-section{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;padding:40px}.director-result-container{position:relative;width:100%}.director-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 20px}.director-loading-spinner{width:60px;height:60px;border:3px solid var(--accent-mid);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.director-loading-state p{color:var(--text-secondary);font-size:1.1rem}.director-result-images{display:flex;align-items:center;justify-content:center;gap:30px;flex-wrap:wrap}.result-image-item{flex:1;display:flex;justify-content:center;align-items:center;min-width:200px}.result-image-item img{width:100%;max-width:500px;max-height:500px;border-radius:15px;border:2px solid var(--border-color);box-shadow:0 10px 30px rgba(0,0,0,.3);object-fit:contain}.result-buttons{flex:1;display:flex;flex-direction:column;gap:40px;justify-content:center;min-width:150px;position:relative;z-index:10}.director-action-btn{padding:14px 35px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;position:relative;z-index:10}.director-action-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.director-action-btn svg{width:18px;height:18px}.image-preview-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.image-preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.image-preview-content{position:relative;width:90vw;height:90vh;display:flex;align-items:center;justify-content:center;animation:zoomIn .3s ease-out}.image-preview-content img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}.preview-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-image-container img{max-width:100%;max-height:100%;object-fit:contain;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}@keyframes zoomIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.image-preview-close-btn{position:absolute;top:-50px;right:0;width:40px;height:40px;border:1px solid var(--border-color);border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.image-preview-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.image-preview-close-btn svg{width:20px;height:20px}@media (max-width:768px){.director-mode-title{font-size:1.5rem}.director-upload-zone{height:300px}.camera-sphere{width:150px;height:150px}.camera-sphere-wrapper{flex-direction:column;gap:10px}.director-result-images{flex-direction:column;gap:30px}.result-divider{transform:rotate(90deg)}.director-action-btn{width:100%;justify-content:center}}.grok-single-section{max-width:1200px;margin:0 auto;animation:fadeInUp 1s ease-out .3s backwards}.shot-count-container{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:30px;margin-bottom:40px;display:flex;align-items:center;gap:20px;animation:fadeInUp 1s ease-out .6s backwards}.shot-count-container label{font-family:Cinzel,serif;font-size:1.1rem;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.shot-count-container input{flex:1;padding:15px 20px;border:1px solid var(--border-color);border-radius:10px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}.shot-count-container input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.generate-shots-btn{padding:15px 30px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1rem;font-weight:600;letter-spacing:.15em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.generate-shots-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.generate-shots-btn svg{width:18px;height:18px}.export-buttons-container{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:20px 30px;margin-bottom:30px;display:flex;align-items:center;justify-content:center;gap:15px;animation:fadeInUp 1s ease-out .7s backwards;flex-wrap:wrap}.export-btn{padding:12px 15px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:.95rem;font-weight:600;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.export-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--secondary-glow)}.export-btn:active{transform:translateY(0)}.export-btn svg{width:18px;height:18px}.entities-extraction-container{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:20px 30px;margin-bottom:30px;animation:fadeInUp 1s ease-out .8s backwards}.entities-extraction-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.entities-extraction-actions{display:flex;align-items:center;gap:10px}.entities-extraction-header h3{font-family:Cinzel,serif;font-size:1.2rem;color:var(--text-primary);letter-spacing:.1em}.entities-extract-btn{padding:10px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.entities-extract-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px var(--secondary-glow)}.entities-extract-btn svg{width:16px;height:16px}.entities-extract-btn.entities-reference-btn{background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);border:none}.entities-extract-btn.entities-reference-btn:hover{box-shadow:0 10px 25px var(--secondary-glow)}.project-stats-panel{position:fixed;top:150px;right:124px;width:fit-content;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow:auto;padding:14px 16px;border-radius:14px;border:1px solid var(--border-color);background:rgba(10,22,43,.34);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 18px 42px rgba(0,0,0,.25);z-index:940;display:none}.project-stats-panel.active{display:block}.project-stats-panel.dragging{user-select:none}.project-stats-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.project-stats-title{font-family:Cinzel,serif;color:var(--text-primary);font-size:1rem;letter-spacing:.1em;margin-bottom:0;cursor:move;touch-action:none}.project-stats-collapse-btn{width:28px;height:28px;padding:6px;border:1px solid var(--border-color);border-radius:8px;background:rgba(255,255,255,.06);display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.project-stats-collapse-btn span{display:block;width:12px;height:1.5px;border-radius:999px;background:currentColor}.project-stats-collapse-btn:hover{border-color:var(--accent-primary);background:rgba(255,255,255,.12)}.project-stats-collapse-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.project-stats-panel.collapsed{overflow:hidden}.project-stats-panel.collapsed .project-stats-group{display:none}.project-stats-panel.collapsed .project-stats-header{margin-bottom:0}.project-stats-panel.collapsed .project-stats-collapse-btn{transform:rotate(90deg)}.project-stats-group{padding:10px 0;border-top:1px solid var(--border-color)}.project-stats-group:first-of-type{border-top:none;padding-top:0}.project-stats-row{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;gap:4px;margin-bottom:6px;line-height:1.5}.project-stats-row:last-child{margin-bottom:0}.project-stats-label{color:var(--text-secondary);font-size:.87rem}.project-stats-value{color:var(--text-primary);font-size:.9rem;font-weight:600}.project-stats-divider{color:var(--text-secondary);margin:0 4px}.entities-extraction-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.entities-section h4{font-family:Cinzel,serif;font-size:1rem;color:var(--accent-primary);margin-bottom:12px;letter-spacing:.1em}.entities-list{min-height:60px;display:flex;flex-direction:column;gap:8px}.entities-placeholder{font-size:.9rem;color:var(--text-secondary);text-align:center;padding:15px;background:var(--accent-soft);border-radius:8px}.entities-placeholder.not-found{color:var(--error-color);background:rgba(255,107,107,.1)}.entity-item{padding:10px 15px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:10px;transition:all .3s ease}.entity-item.entity-item-actionable{width:100%;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;font:inherit}.entity-item.entity-item-actionable:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.entity-item.entity-item-actionable:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.entity-item.pending{background:var(--accent-soft)}.entity-item.matched{background:var(--success-soft);border-color:var(--success-border)}.entity-item.matched .entity-name{color:var(--success-color)}.entity-item.not-matched{background:var(--error-soft);border-color:var(--error-border)}.entity-item.not-matched .entity-name{color:var(--error-color)}.entity-name{font-size:.95rem;font-weight:500;color:var(--text-primary);flex:1}.entity-shots{font-size:.85rem;color:var(--text-secondary);flex-shrink:0;text-align:right}.entity-ref-tooltip{position:fixed;z-index:2200;width:228px;padding:10px;border-radius:12px;border:1px solid var(--border-color);background:rgba(8,10,14,.95);box-shadow:0 14px 36px rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}.entity-ref-tooltip.visible{opacity:1;transform:translateY(0)}.entity-ref-tooltip-title{font-size:.86rem;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.3;word-break:break-all}.entity-ref-tooltip-status{font-size:.76rem;margin-bottom:8px;color:var(--text-secondary)}.entity-ref-tooltip-status.matched{color:var(--success-color)}.entity-ref-tooltip-status.not-matched{color:var(--error-color)}.entity-ref-tooltip-status.partial{color:#f6c46b}.entity-ref-tooltip-image-wrap{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);background:rgba(255,255,255,.04);position:relative;margin-bottom:8px}.entity-ref-tooltip-image-wrap.is-loading .entity-ref-tooltip-image{opacity:0}.entity-ref-tooltip-image-wrap.is-error{display:flex;align-items:center;justify-content:center}.entity-ref-tooltip-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.76rem;color:var(--text-secondary)}.entity-ref-tooltip-image-wrap:not(.is-loading) .entity-ref-tooltip-loading{display:none}.entity-ref-tooltip-image{width:100%;height:100%;object-fit:cover}.entity-ref-tooltip-name{font-size:.78rem;color:var(--text-primary);line-height:1.35;text-align:center;word-break:break-all}.veo-shot-count-container{display:flex;align-items:center;gap:15px;margin-bottom:30px;padding:20px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:12px;animation:fadeInUp 1s ease-out .6s backwards}.veo-shot-count-container label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}.veo-shot-count-container input{width:120px;padding:10px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}.veo-shot-count-container input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.veo-generate-shots-btn{padding:10px 25px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:.95rem;font-weight:600;letter-spacing:.15em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.veo-generate-shots-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.veo-generate-shots-btn svg{width:16px;height:16px}.veo-shots-container{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;animation:fadeInUp 1s ease-out .9s backwards}.veo-shots-container.layout-vertical{grid-template-columns:repeat(2,1fr)}.veo-shots-container.layout-horizontal{grid-template-columns:1fr}.veo-shot-frames-container{display:flex;gap:15px;margin-bottom:12px}.veo-shot-frame{flex:1;display:flex;flex-direction:column;gap:10px}.veo-shot-group{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:20px;animation:fadeInUp .5s ease-out backwards;display:flex;flex-direction:column;gap:12px;min-height:350px}.veo-shot-group-header{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.veo-shot-group-number{font-family:Cinzel,serif;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.veo-shot-group-title{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-secondary)}.veo-shot-text-input{display:flex;flex-direction:column;gap:6px}.veo-shot-text-input label{font-family:Cinzel,serif;font-size:.85rem;color:var(--text-primary);letter-spacing:.08em}.veo-shot-text-input textarea{width:100%;min-height:60px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;line-height:1.5;resize:vertical;transition:all .3s ease}.veo-shot-text-input textarea::placeholder{color:var(--text-secondary)}.veo-shot-text-input textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.veo-shot-action-buttons{display:flex;gap:10px}.veo-shot-generate-end-btn,.veo-shot-generate-start-btn{flex:1;padding:10px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease}.veo-shot-generate-end-btn:hover,.veo-shot-generate-start-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.veo-shot-generate-end-btn svg,.veo-shot-generate-start-btn svg{width:16px;height:16px}.veo-shot-generate-image-btn,.veo-shot-reference-btn,.veo-shot-reference-end-btn,.veo-shot-reference-start-btn{flex:1;padding:10px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease}.veo-shot-generate-image-btn:hover,.veo-shot-reference-btn:hover,.veo-shot-reference-end-btn:hover,.veo-shot-reference-start-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.veo-shot-generate-image-btn svg,.veo-shot-reference-btn svg,.veo-shot-reference-end-btn svg,.veo-shot-reference-start-btn svg{width:16px;height:16px}.veo-shot-image-upload{width:100%;height:180px;border:2px dashed var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.veo-shot-image-upload:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.veo-shot-image-upload.drag-over{border-color:var(--accent-secondary);background:var(--secondary-soft)}.veo-shot-image-upload.media-review-container{position:relative}.veo-shot-image-upload.media-review-container.review-default{border:2px dashed rgba(100,149,237,.7);box-shadow:none}.veo-shot-image-upload.media-review-container.review-generating{border:2px dashed rgba(255,193,7,.9);box-shadow:0 0 8px rgba(255,193,7,.3)}.veo-shot-image-upload.media-review-container.review-pending{border:2px dashed rgba(220,53,69,.9);box-shadow:0 0 8px rgba(220,53,69,.25)}.veo-shot-image-upload.media-review-container.review-approved{border:2px dashed rgba(40,167,69,.9);box-shadow:0 0 8px rgba(40,167,69,.25)}.veo-shot-image-content{text-align:center;padding:15px;transition:opacity .3s ease}.veo-shot-image-icon{width:40px;height:40px;margin:0 auto 10px;color:var(--accent-primary)}.veo-shot-image-content h4{font-family:Cinzel,serif;font-size:1rem;margin-bottom:6px;color:var(--text-primary)}.veo-shot-image-hint{font-size:.8rem;color:var(--text-secondary)}.veo-shot-image-preview{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.veo-shot-image-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px}.veo-shot-image-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.veo-shot-image-remove:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.veo-shot-image-remove svg{width:14px;height:14px}.veo-shot-generate-video-btn{width:100%;padding:12px 20px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1rem;font-weight:600;letter-spacing:.15em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease}.veo-shot-generate-video-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.veo-shot-generate-video-btn svg{width:18px;height:18px}.veo-shot-video-result{width:100%;margin-top:10px}.veo-shot-video-inner{width:100%;aspect-ratio:16/9;background:var(--bg-secondary);border-radius:10px;overflow:hidden;position:relative}.veo-shot-video-inner.media-review-container{box-sizing:border-box}.veo-shot-video-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--text-secondary)}.veo-shot-video-placeholder svg{width:50px;height:50px;opacity:.5}.veo-shot-video-placeholder p{font-size:.9rem}.veo-shot-video-output{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.veo-shot-video-output video{width:100%;height:100%;object-fit:contain}.veo-shot-video-loading.output-history-loading-bar{display:none;align-items:center;justify-content:center;gap:10px;padding:10px 14px;margin-top:8px;background:var(--accent-soft);border:1px solid var(--border-color);border-radius:8px}.veo-shot-video-loading .loading-spinner{width:24px;height:24px;border:2px solid var(--accent-mid);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.veo-shot-video-loading.output-history-loading-bar span{color:var(--text-secondary);font-size:.9rem}.output-history-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 0;min-height:0;border-top:1px solid var(--border-color)}.output-history-row.output-history-row--empty{display:none}.output-history-label{font-family:'Noto Serif SC',serif;font-size:.75rem;color:var(--text-secondary);letter-spacing:.04em;flex-shrink:0;white-space:pre-line;line-height:1.12;text-align:center;min-width:28px}.output-history-thumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.output-history-thumb{width:56px;height:56px;padding:0;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.output-history-thumb:hover{border-color:var(--accent-primary);box-shadow:0 0 12px var(--accent-glow);transform:scale(1.05)}.output-history-thumb.output-history-thumb--active{border-color:var(--accent-primary);box-shadow:0 0 14px var(--accent-glow)}.output-history-thumb img,.output-history-thumb video{width:100%;height:100%;object-fit:cover;pointer-events:none}.output-history-thumb video{object-fit:cover}.shots-container{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;animation:fadeInUp 1s ease-out .9s backwards}.shots-container.layout-vertical{grid-template-columns:repeat(3,1fr)}.shots-container.layout-horizontal{grid-template-columns:1fr}.shot-group{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:15px;animation:fadeInUp .5s ease-out backwards;display:flex;flex-direction:column;gap:12px;min-height:350px}.shots-container.layout-horizontal .shot-group{display:grid;grid-template-columns:96px minmax(0,1.12fr) 96px minmax(0,0.78fr) minmax(0,1.12fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"header before actions image after video" "header before actions image-history after video";column-gap:10px;row-gap:10px;min-height:0;padding:12px;overflow:hidden}.shots-container.layout-horizontal .shot-group>*{min-width:0}.shots-container.layout-horizontal .shot-group-header{grid-area:header;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:0 10px 0 0;border-bottom:none;border-right:1px solid var(--border-color)}.shots-container.layout-horizontal .shot-text-input-before{grid-area:before;align-self:stretch}.shots-container.layout-horizontal .shot-text-input-after{grid-area:after;align-self:stretch}.shots-container.layout-horizontal .shot-text-input{display:flex;flex-direction:column;width:100%;height:100%}.shots-container.layout-horizontal .shot-text-input textarea{flex:1 1 auto;min-height:0;height:100%;resize:none}.shots-container.layout-horizontal .shot-action-buttons{grid-area:actions;flex-direction:column;gap:8px;width:100%;align-self:stretch}.shots-container.layout-horizontal .shot-generate-image-btn,.shots-container.layout-horizontal .shot-generate-video-btn,.shots-container.layout-horizontal .shot-reference-btn{width:100%}.shots-container.layout-horizontal .shot-image-upload{grid-area:image;width:100%;min-height:130px;height:130px}.shots-container.layout-horizontal .shot-image-history-row{grid-area:image-history;width:100%;min-height:58px;max-height:58px;margin-top:0;padding:8px 0 0;align-self:start;border-top:1px solid var(--border-color);border-left:none;overflow:hidden}.shots-container.layout-horizontal .shot-image-history-row .output-history-thumbs{flex-wrap:nowrap;overflow:hidden;padding-bottom:2px;gap:6px}.shots-container.layout-horizontal .shot-image-history-row .output-history-thumb{width:34px;height:34px}.shots-container.layout-horizontal .shot-video-result{grid-area:video;width:100%;margin-top:0}.shot-group-header{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.shot-group-number{font-family:Cinzel,serif;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shot-group-title{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-secondary)}.shot-text-input{display:flex;flex-direction:column;gap:6px}.shot-text-input label{font-family:Cinzel,serif;font-size:.85rem;color:var(--text-primary);letter-spacing:.08em}.shot-text-input textarea{width:100%;min-height:60px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;line-height:1.5;resize:vertical;transition:all .3s ease}.shot-text-input textarea::placeholder{color:var(--text-secondary)}.shot-text-input textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.shot-action-buttons{display:flex;gap:10px}.shot-generate-image-btn,.shot-generate-video-btn,.shot-reference-btn{flex:1;padding:10px 15px;border:none;border-radius:8px;background:var(--glass-bg);border:1px solid var(--border-color);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.shot-generate-image-btn:hover,.shot-generate-video-btn:hover,.shot-reference-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.shot-generate-image-btn:active,.shot-generate-video-btn:active,.shot-reference-btn:active{transform:translateY(0)}.shot-generate-image-btn svg,.shot-generate-video-btn svg,.shot-reference-btn svg{width:16px;height:16px}.shot-image-upload{width:100%;height:120px;border:2px dashed var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.shot-image-upload:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 10px 25px var(--accent-mid)}.shot-image-upload.drag-over{border-color:var(--accent-secondary);background:var(--secondary-soft);transform:scale(1.01)}.shot-image-upload.media-review-container{position:relative}.shot-image-upload.media-review-container.review-default{border:2px dashed rgba(100,149,237,.7);box-shadow:none}.shot-image-upload.media-review-container.review-generating{border:2px dashed rgba(255,193,7,.9);box-shadow:0 0 8px rgba(255,193,7,.3)}.shot-image-upload.media-review-container.review-pending{border:2px dashed rgba(220,53,69,.9);box-shadow:0 0 8px rgba(220,53,69,.25)}.shot-image-upload.media-review-container.review-approved{border:2px dashed rgba(40,167,69,.9);box-shadow:0 0 8px rgba(40,167,69,.25)}.shot-image-content{text-align:center;padding:10px}.shot-image-icon{width:35px;height:35px;margin:0 auto 8px;color:var(--accent-primary);transition:all .3s ease}.shot-image-upload:hover .shot-image-icon{transform:scale(1.1);color:var(--accent-secondary)}.shot-image-content h4{font-family:Cinzel,serif;font-size:.95rem;margin-bottom:4px;color:var(--text-primary)}.shot-image-hint{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.shot-image-preview{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.shot-image-preview img{width:100%;height:100%;object-fit:cover;border-radius:13px;pointer-events:auto}.shot-image-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.shot-image-remove:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.shot-image-remove svg{width:12px;height:12px}.shot-video-result{width:100%;margin-top:10px}.shot-video-inner{width:100%;aspect-ratio:16/9;background:var(--bg-secondary);border-radius:10px;overflow:hidden;position:relative}.shot-video-inner.media-review-container{box-sizing:border-box}.shot-video-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--text-secondary)}.shot-video-placeholder svg{width:50px;height:50px;opacity:.5}.shot-video-placeholder p{font-size:.9rem}.shot-video-output{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.shot-video-player{width:100%;height:100%;object-fit:contain}.shot-video-actions{position:absolute;bottom:10px;right:10px;display:flex;gap:8px}.shot-video-download-btn{padding:8px 12px;border:none;border-radius:6px;background:rgba(0,0,0,.7);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease}.shot-video-download-btn:hover{background:var(--accent-glow-strong);transform:scale(1.05)}.shot-video-download-btn svg{width:14px;height:14px}.shot-video-loading.output-history-loading-bar{display:none;align-items:center;justify-content:center;gap:10px;padding:10px 14px;margin-top:8px;background:var(--accent-soft);border:1px solid var(--border-color);border-radius:8px}.shot-video-loading .loading-spinner{width:24px;height:24px;border:2px solid var(--accent-mid);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.shot-video-loading.output-history-loading-bar span{color:var(--text-secondary);font-size:.9rem}@media (max-width:1200px){.shots-container{grid-template-columns:repeat(2,1fr)}.shots-container.layout-horizontal{grid-template-columns:1fr}.veo-shots-container,.veo-shots-container.layout-horizontal,.veo-shots-container.layout-vertical{grid-template-columns:1fr}}@media (max-width:700px){.shots-container{grid-template-columns:1fr}.shot-group{min-height:300px}.shots-container.layout-horizontal .shot-group{display:flex;flex-direction:column;overflow:visible}.shots-container.layout-horizontal .shot-group>*{width:100%;min-width:0}.shots-container.layout-horizontal .shot-group-header{border-right:none;border-bottom:1px solid var(--border-color);padding:0 0 10px}.shots-container.layout-horizontal .shot-action-buttons{flex-direction:row}.shots-container.layout-horizontal .shot-image-history-row{min-height:0;max-height:none;padding:8px 0 0}.shots-container.layout-horizontal .shot-text-input textarea{min-height:120px;height:auto;resize:vertical}.shots-container.layout-horizontal .shot-image-history-row .output-history-thumbs{flex-wrap:wrap;overflow:visible}.shot-image-upload{height:150px}.entities-extraction-container{padding:15px 20px}.entities-extraction-header{flex-direction:column;align-items:flex-start;gap:15px}.entities-extraction-actions{width:100%;flex-direction:column}.entities-extraction-content{grid-template-columns:1fr}.entities-extraction-actions .entities-extract-btn{width:100%;justify-content:center}.project-stats-panel{display:none!important}}.image-prompt-side{display:flex;flex-direction:column;gap:10px;width:200px}.image-prompt-side textarea{width:100%;min-height:80px;padding:12px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;line-height:1.5;resize:vertical;transition:all .3s ease}.image-prompt-side textarea::placeholder{color:var(--text-secondary)}.image-prompt-side textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.generate-frame-btn{padding:8px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .3s ease;flex:1;white-space:nowrap}.generate-frame-btn svg{width:14px;height:14px}.generate-frame-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--secondary-glow)}.generate-frame-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.image-preview-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);z-index:10000;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.image-preview-modal.active{display:flex}.consistency-preview-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);backdrop-filter:blur(10px);z-index:1600;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.consistency-preview-modal.active{display:flex}.consistency-preview-content{display:flex;width:90%;height:90%;gap:30px;animation:slideUp .3s ease-out}.preview-image-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:15px;overflow:hidden}.preview-image-container img{max-width:100%;max-height:100%;object-fit:contain}.preview-actions{display:flex;flex-direction:column;gap:15px;justify-content:center;min-width:150px}.preview-action-btn{padding:15px 25px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease}.preview-action-btn svg{width:20px;height:20px}.preview-action-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateX(5px)}.preview-action-btn.close-preview-btn:hover{border-color:var(--error-color);background:var(--error-soft)}.consistency-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:1500;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.consistency-modal.active{display:flex}.consistency-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:24px 24px 16px;max-width:1440px;width:min(96vw,1440px);max-height:min(92vh,980px);overflow:hidden;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column}.consistency-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid var(--border-color);flex-shrink:0}.consistency-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.consistency-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.consistency-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.consistency-close-btn svg{width:16px;height:16px}.consistency-tabs{display:flex;gap:10px;margin-bottom:14px;flex-shrink:0}.tab-btn{flex:1;padding:12px 20px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;transition:all .3s ease}.tab-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.tab-btn.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-color:transparent}.consistency-tab-content{max-height:none;flex:1;min-height:0;overflow-y:auto;padding-right:6px}.tab-pane{display:none}.tab-pane.active{display:block}.add-image-btn{width:100%;padding:15px 20px;border:2px dashed var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-bottom:20px}.add-image-btn svg{width:20px;height:20px}.add-image-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-soft)}.image-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.image-item{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);transition:all .3s ease;min-width:0}.image-item:hover{border-color:var(--accent-primary)}.image-item.quick-edit-highlight{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary),0 10px 24px rgba(0,0,0,.25);animation:quickEditHighlightPulse .9s ease}@keyframes quickEditHighlightPulse{0%{transform:scale(1)}40%{transform:scale(1.01)}100%{transform:scale(1)}}.image-item img{width:100%;height:100%;min-height:120px;aspect-ratio:1/1;object-fit:cover;border-radius:8px;transition:all .3s ease;cursor:pointer}.image-item img:hover{transform:scale(1.05);box-shadow:0 4px 12px var(--accent-glow)}.image-item-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.image-item-image-wrap{width:100%;border-radius:8px;overflow:hidden}.image-item-switch{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:fit-content;max-width:100%}.image-item-switch label{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-primary)}.switch{position:relative;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-deep);border:1px solid var(--border-color);transition:.3s;border-radius:24px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:var(--text-secondary);transition:.3s;border-radius:50%}.switch input:checked+.switch-slider{background-color:var(--accent-primary);border-color:var(--accent-primary)}.switch input:checked+.switch-slider:before{transform:translateX(20px);background-color:var(--text-primary)}.image-item-description{width:100%;min-width:0;padding:7px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-deep);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.86rem;transition:all .3s ease}.image-item-description::placeholder{color:var(--text-secondary)}.image-item-description:focus{outline:0;border-color:var(--accent-primary)}.image-item-remove{width:32px;height:32px;border:1px solid var(--border-color);border-radius:6px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.image-item-remove:hover{border-color:var(--error-color);color:var(--error-color);background:var(--error-soft)}.image-item-remove svg{width:16px;height:16px}@media (max-width:1400px){.image-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px){.image-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){.consistency-modal-content{width:95vw;padding:16px;max-height:92vh}.image-list{grid-template-columns:repeat(2,minmax(0,1fr))}.consistency-tab-content{padding-right:2px}}@media (max-width:560px){.image-list{grid-template-columns:1fr}}.consistency-modal-footer{display:flex;justify-content:flex-end;padding-top:14px;margin-top:12px;border-top:1px solid var(--border-color);flex-shrink:0;background:linear-gradient(180deg,transparent 0,color-mix(in srgb,var(--bg-secondary) 94%,transparent) 100%)}.consistency-save-btn{padding:12px 30px;border:1px solid var(--accent-primary);border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.consistency-save-btn svg{width:18px;height:18px}.consistency-save-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow-strong)}.consistency-save-btn:active{transform:translateY(0)}.config-docs{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:10px;padding:15px;margin-bottom:20px}.config-docs h3{font-family:Cinzel,serif;font-size:1.1rem;margin-bottom:12px;color:var(--text-primary)}.doc-item{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;line-height:1.6}.doc-item code{background:var(--accent-mid);padding:2px 6px;border-radius:4px;font-family:'Courier New',monospace;color:var(--accent-primary)}.aspect-ratio-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.aspect-ratio-container input{width:80px;padding:10px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;text-align:center;transition:all .3s ease}.aspect-ratio-container input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.aspect-ratio-container span{color:var(--text-secondary);font-size:1.2rem}.aspect-ratio-display{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--accent-secondary);background:var(--secondary-soft);padding:8px 15px;border-radius:6px}.project-selection{--left-rail-space:320px;--right-rail-space:clamp(72px, 8.5vw, 136px);position:fixed;top:0;left:0;width:100%;height:100%;display:flex;z-index:100;background:linear-gradient(135deg,var(--bg-deep) 0,var(--bg-secondary) 100%);box-sizing:border-box}.sidebar-toggle-fixed{position:fixed;top:20px;left:20px;z-index:1000;display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .3s ease}.sidebar-toggle-fixed:hover{background:var(--accent-mid);border-color:var(--accent-primary);transform:translateX(5px);box-shadow:0 5px 20px var(--accent-mid)}.sidebar-toggle-fixed svg{width:24px;height:24px;color:var(--accent-primary);transition:transform .3s ease}.sidebar-toggle-fixed:hover svg{transform:scale(1.1)}.sidebar-toggle-fixed .sidebar-title{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.back-to-home-fixed{position:fixed;top:12px;left:180px;z-index:1000;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--secondary-soft);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--secondary-glow);border-radius:10px;cursor:pointer;transition:all .3s ease;color:var(--accent-secondary);width:40px;height:40px;opacity:0;animation:fadeIn 1s ease-in-out forwards}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.back-to-home-fixed:hover{background:var(--secondary-mid);border-color:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 5px 20px var(--secondary-glow)}.back-to-home-fixed svg{width:18px;height:18px;transition:transform .3s ease}.back-to-home-fixed:hover svg{transform:scale(1.1)}.animation-toggle-fixed{position:fixed;top:14px;right:16px;z-index:1001;display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-secondary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,color .2s ease,background .2s ease}.animation-toggle-fixed:hover{color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 18px var(--accent-soft)}.animation-toggle-fixed svg{width:18px;height:18px}.animation-toggle-fixed.active{color:#ff8b8b;border-color:rgba(255,107,107,.55);background:rgba(127,29,29,.35);box-shadow:0 0 0 1px rgba(255,107,107,.2) inset}.sidebar-toggle-fixed.in-main-app{top:10px;left:10px;padding:10px 15px}.sidebar-toggle-fixed.in-main-app .sidebar-title{font-size:.9rem}.sidebar{position:fixed;top:0;left:0;width:320px;height:100%;background:linear-gradient(180deg,var(--bg-secondary) 0,var(--accent-soft) 25%,var(--secondary-soft) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-color);display:none;flex-direction:column;padding:70px 0 20px 0;transition:transform .4s cubic-bezier(.4, 0, .2, 1);z-index:200;box-shadow:5px 0 30px rgba(0,0,0,.3)}.sidebar.collapsed{transform:translateX(-320px)}.project-list{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.project-item{padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:default;display:flex;align-items:center;gap:12px;transition:all .3s ease;position:relative;overflow:hidden}.project-item-body{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.project-item::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--accent-mid),transparent);transition:left .5s ease}.project-item:hover{border-color:var(--accent-primary);background:var(--accent-mid);transform:translateX(5px);box-shadow:0 5px 20px var(--accent-mid)}.project-item:hover::before{left:100%}.project-item-name{font-family:'Noto Serif SC',serif;font-size:1rem;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:font-size .3s ease}.project-item-arrow{color:var(--accent-secondary);transition:transform .3s ease,color .3s ease}.project-item:hover .project-item-arrow{transform:translateX(5px);color:var(--accent-primary)}.project-item-arrow svg{width:20px;height:20px}.project-drag-handle{width:18px;height:22px;flex:0 0 auto;border:none;background:0 0;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:grab;opacity:.85;z-index:1}.project-drag-handle:active{cursor:grabbing}.folder-drag-handle{width:16px;height:20px;margin-right:2px;opacity:.72}.project-drag-handle-dots{display:grid;grid-template-columns:repeat(2,4px);grid-template-rows:repeat(3,4px);gap:2px 3px}.project-drag-handle-dots span{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.68)}.project-item.dragging{opacity:.45;transform:scale(.985)}.project-item.drop-target{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary) inset,0 8px 24px rgba(0,0,0,.2)}.project-item.project-drop-target{border-color:rgba(120,198,255,.85);box-shadow:inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-item.project-drop-target-before{box-shadow:inset 0 4px 0 #9fe0ff,inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-item.project-drop-target-after{box-shadow:inset 0 -4px 0 #9fe0ff,inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-folder{border:1px solid rgba(88,163,255,.35);border-radius:12px;background:linear-gradient(180deg,rgba(50,78,117,.42) 0,rgba(35,56,87,.36) 100%);overflow:hidden}.project-folder.dragging{opacity:.46}.project-folder-header{padding:11px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;position:relative;border-bottom:1px solid transparent;transition:background .2s ease,border-color .2s ease}.project-folder-header:hover{background:rgba(111,176,255,.14)}.project-folder.is-open .project-folder-header{border-bottom-color:rgba(88,163,255,.32)}.project-folder-toggle{color:var(--accent-secondary);font-size:.92rem;width:14px;flex:0 0 auto;text-align:center}.project-folder-name{font-family:'Noto Serif SC',serif;font-size:.96rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-folder-count{margin-left:auto;font-size:.75rem;color:var(--text-secondary);background:rgba(120,177,255,.18);border:1px solid rgba(120,177,255,.34);border-radius:999px;padding:2px 8px}.project-folder-list{display:flex;flex-direction:column;gap:8px;padding:10px}.project-folder .project-item{background:rgba(50,81,122,.72)}.project-folder-list-empty{border:1px dashed rgba(120,177,255,.34);border-radius:10px;color:var(--text-secondary);font-size:.84rem;padding:9px 10px;text-align:center}.project-folder.drop-target .project-folder-header,.project-folder.drop-target .project-folder-list-empty{border-color:var(--accent-primary);background:rgba(111,176,255,.2)}.project-folder.folder-sort-target .project-folder-header{background:rgba(111,176,255,.3);box-shadow:inset 0 0 0 2px rgba(111,176,255,.75)}.project-folder.folder-sort-target-after .project-folder-header::after,.project-folder.folder-sort-target-before .project-folder-header::before{content:'';position:absolute;left:6px;right:6px;height:4px;border-radius:4px;background:#9fe0ff;box-shadow:0 0 14px rgba(130,224,255,.9)}.project-folder.folder-sort-target-before .project-folder-header::before{top:2px}.project-folder.folder-sort-target-after .project-folder-header::after{bottom:2px}.project-item.folder-sort-target{border-color:rgba(120,198,255,.85);box-shadow:inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-item.folder-sort-target-before{box-shadow:inset 0 4px 0 #9fe0ff,inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-item.folder-sort-target-after{box-shadow:inset 0 -4px 0 #9fe0ff,inset 0 0 0 2px rgba(111,176,255,.55),0 8px 24px rgba(0,0,0,.24)}.project-list.drop-target-root{box-shadow:inset 0 0 0 1px rgba(105,173,255,.65);border-radius:12px}.sidebar-context-menu{position:fixed;min-width:148px;background:rgba(20,34,58,.98);border:1px solid rgba(101,171,255,.55);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.35);padding:6px;display:flex;flex-direction:column;gap:4px;z-index:420}.sidebar-context-menu-btn{width:100%;border:1px solid transparent;border-radius:8px;background:0 0;color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;text-align:left;padding:8px 10px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.sidebar-context-menu-btn:hover{border-color:rgba(113,181,255,.5);background:rgba(111,176,255,.16)}.sidebar-context-menu-btn.danger{color:#ff9a9a}.sidebar-context-menu-btn.danger:hover{border-color:rgba(255,138,138,.4);background:rgba(255,80,80,.14)}.project-main{flex:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;background:linear-gradient(180deg,var(--accent-soft) 0,transparent 15%);padding-top:52px;padding-bottom:24px;padding-left:calc(24px + var(--left-rail-space));padding-right:calc(24px + var(--right-rail-space));isolation:isolate;width:100%;min-width:0;box-sizing:border-box}.project-main::after,.project-main::before{content:'';position:absolute;pointer-events:none;z-index:-1;filter:blur(44px)}.project-main::before{width:420px;height:420px;left:12%;top:4%;background:radial-gradient(circle,rgba(86,157,255,.26) 0,rgba(86,157,255,0) 70%)}.project-main::after{width:520px;height:520px;right:8%;top:12%;background:radial-gradient(circle,rgba(44,112,226,.2) 0,rgba(44,112,226,0) 72%)}.project-main-layout{width:min(1720px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:stretch;position:relative;min-width:0;margin-left:auto;margin-right:auto}.model-status-board,.notice-board,.today-consume-board{position:relative;overflow:hidden;border:1px solid rgba(108,181,255,.46);background:linear-gradient(160deg,rgba(20,52,98,.72) 0,rgba(15,41,84,.8) 45%,rgba(12,34,73,.86) 100%),radial-gradient(120% 90% at 15% -10%,rgba(119,193,255,.22) 0,rgba(119,193,255,0) 56%);backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);box-shadow:0 22px 48px rgba(5,17,39,.42),inset 0 1px 0 rgba(190,226,255,.16),inset 0 -1px 0 rgba(80,146,220,.22)}.model-status-board::before,.notice-board::before,.today-consume-board::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(191,228,255,.14) 0,rgba(191,228,255,0) 28%)}.model-status-board::after,.notice-board::after,.today-consume-board::after{content:'';position:absolute;width:220px;height:220px;right:-70px;top:-92px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(127,190,255,.19) 0,rgba(127,190,255,0) 72%);filter:blur(10px)}.project-left-panel{display:flex;flex-direction:column;gap:18px;min-width:0;height:calc(100vh - 84px);max-height:calc(100vh - 84px);overflow:hidden}.project-header{text-align:center;animation:fadeInDownProjectHeader 1s ease-out;margin-bottom:0;position:relative;transform:none}.project-title{font-family:Cinzel,serif;font-size:clamp(2.4rem, 4.6vw, 4rem);font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 50%,var(--accent-primary) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;letter-spacing:.2em;animation:shimmer 3s linear infinite;text-shadow:0 0 26px rgba(var(--theme-title-glow-rgb,93,162,255),.26);display:inline-block;width:fit-content;margin-left:auto;margin-right:auto}@keyframes shimmer{0%{background-position:0 center}100%{background-position:200% center}}.project-user{font-family:'Noto Serif SC',serif;font-size:clamp(.95rem, 1.5vw, 1.1rem);color:var(--text-secondary);letter-spacing:.1em;margin-bottom:0;animation:fadeInUp 1s ease-out .3s backwards}.today-consume-board{width:100%;max-width:100%;margin-left:0;border-radius:14px;padding:7px;display:grid;grid-template-columns:1fr 1fr 4fr;gap:7px;animation:fadeInUp .8s ease-out .35s backwards}.today-consume-board.today-consume-board--no-chart{grid-template-columns:1fr 1fr}.today-consume-board.today-consume-board--no-chart .today-consume-panel--chart{display:none}.today-consume-panel{border-radius:10px;border:1px solid rgba(133,199,255,.36);padding:8px 8px;min-height:64px;display:flex;flex-direction:column;justify-content:space-between;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(194,230,255,.14)}.today-consume-panel--today{background:linear-gradient(165deg,rgba(47,99,157,.66) 0,rgba(29,67,118,.72) 100%);position:relative;overflow:hidden;padding:8px 8px 7px;justify-content:flex-start;gap:6px}.today-consume-panel--today::before{content:'';position:absolute;inset:6px;border-radius:12px;border:1px solid rgba(138,198,255,.45);pointer-events:none}.today-consume-panel--stats{background:linear-gradient(165deg,rgba(36,86,141,.62) 0,rgba(27,63,109,.7) 100%);justify-content:flex-start}.today-consume-panel--chart{min-height:132px;padding:6px 7px 7px;background:linear-gradient(165deg,rgba(18,54,99,.68) 0,rgba(13,41,82,.76) 100%);min-width:0}.today-consume-label{margin:0;font-family:'Noto Serif SC',serif;font-size:.8rem;color:rgba(191,222,255,.92);letter-spacing:.06em}.today-consume-value{margin:0;font-family:Cinzel,'Noto Serif SC',serif;font-size:1.45rem;font-weight:700;color:#f7d67a;letter-spacing:.02em;line-height:1;text-shadow:0 0 14px rgba(248,205,104,.32)}.today-consume-value-box{margin-top:0;width:100%;min-height:54px;display:flex;align-items:center;justify-content:center;border-left:none;background:0 0;border-radius:0}.today-consume-icon{width:100%;text-align:center;font-size:2.1rem;line-height:1;filter:drop-shadow(0 2px 7px rgba(252, 193, 96, .35));margin-top:-6px}.today-consume-stats{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-family:'Noto Serif SC',serif;font-size:.76rem;color:#d6e8ff;width:100%;margin-top:10px}.today-consume-stat-item{display:block;width:100%;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-consume-total{color:#7fd3ff;font-weight:600}.today-consume-chart-title{font-family:'Noto Serif SC',serif;font-size:.76rem;color:rgba(205,229,255,.96);letter-spacing:.05em;margin-bottom:5px}.today-consume-chart{display:flex;gap:8px;align-items:stretch;min-width:0}.today-consume-y-axis{width:44px;height:112px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-family:'Noto Serif SC',serif;font-size:.72rem;color:rgba(178,206,238,.9);padding-bottom:15px}.today-consume-plot{flex:1;height:112px;border-radius:8px;border:1px solid rgba(133,198,255,.34);background:repeating-linear-gradient(to top,rgba(132,194,255,.26) 0,rgba(132,194,255,.26) 1px,transparent 1px,transparent 20%),linear-gradient(180deg,rgba(20,50,96,.6) 0,rgba(13,35,72,.72) 100%);padding:6px 6px 7px;overflow-x:hidden;overflow-y:hidden;min-width:0}.today-consume-bars{--bar-count:1;--bar-gap:2px;--name-font-size:0.66rem;--value-font-size:0.70rem;min-width:0;width:100%;height:100%;display:flex;align-items:stretch;gap:var(--bar-gap)}.today-consume-bar-item{width:auto;flex:1 1 0;min-width:0;height:100%;display:grid;grid-template-rows:1fr 14px;align-items:center;gap:3px}.today-consume-bar-value{font-family:'Noto Serif SC',serif;font-size:var(--value-font-size, .7rem);color:#e1efff;line-height:1;position:absolute;left:50%;transform:translateX(-50%);bottom:min(calc(var(--bar-height) + 4px),calc(100% - 14px));white-space:nowrap;pointer-events:none}.today-consume-bar-track{width:100%;height:100%;min-height:0;position:relative;display:flex;align-items:flex-end;justify-content:center}.today-consume-bar{width:clamp(4px,calc(100% - 2px),26px);height:var(--bar-height,0%);min-height:3px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#80ddff 0,#4a8dff 100%);box-shadow:0 6px 18px rgba(96,178,255,.45);animation:todayConsumeBarRise .45s ease-out both}.today-consume-bar.is-self{background:linear-gradient(180deg,#ffd987 0,#ffa654 100%);box-shadow:0 6px 18px rgba(255,177,80,.46)}@keyframes todayConsumeBarRise{from{transform:scaleY(.15);transform-origin:bottom;opacity:.45}to{transform:scaleY(1);transform-origin:bottom;opacity:1}}.today-consume-bar-name{width:100%;font-family:'Noto Serif SC',serif;font-size:var(--name-font-size, .66rem);color:#c9def6;text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:1.1}.today-consume-empty{margin:auto;font-family:'Noto Serif SC',serif;font-size:.78rem;color:rgba(189,215,243,.75)}.model-status-board{width:100%;max-width:100%;margin-left:0;border-radius:14px;padding:14px 16px 10px;animation:fadeInUp .85s ease-out .45s backwards;display:flex;flex-direction:column;flex:1;min-height:0}.model-status-board--hero{height:calc(100vh - 84px);max-height:calc(100vh - 84px);padding:18px 18px 14px;border-radius:18px;animation:fadeInUp .9s ease-out .4s backwards}.model-status-header{display:flex;align-items:center;justify-content:flex-start;margin-bottom:10px}.model-status-header--hero{margin-bottom:12px}.model-status-summary{display:flex;flex-wrap:wrap;gap:10px}.model-status-summary-item{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(134,200,255,.22);background:rgba(92,150,214,.12);color:#d9edff;font-family:'Noto Serif SC',serif;font-size:.8rem;letter-spacing:.03em;white-space:nowrap}.model-status-table-wrap{overflow-x:auto;overflow-y:auto;max-height:none;flex:1;min-height:0}.model-status-board--hero .model-status-table-wrap{padding-right:4px}.model-status-table{width:100%;border-collapse:collapse;table-layout:fixed}.model-status-table td:first-child,.model-status-table th:first-child{width:37.5%}.model-status-table td:nth-child(2),.model-status-table th:nth-child(2){width:37.5%}.model-status-table td:nth-child(3),.model-status-table th:nth-child(3){width:12.5%}.model-status-table td:nth-child(4),.model-status-table th:nth-child(4){width:12.5%}.model-status-table td,.model-status-table th{padding:10px 8px;border-bottom:1px solid rgba(132,194,255,.2);text-align:center;font-family:'Noto Serif SC',serif;font-size:.9rem;color:#d6e8ff;white-space:nowrap;position:relative}.model-status-table th{font-size:.82rem;color:rgba(201,231,255,.95);letter-spacing:.08em;text-shadow:0 0 12px rgba(122,189,255,.18)}.model-status-table tbody tr:last-child td{border-bottom:none}.model-status-table td:not(:last-child)::after,.model-status-table th:not(:last-child)::after{content:'|';position:absolute;right:-1px;top:50%;transform:translateY(-50%);color:rgba(181,215,247,.68);font-weight:500;pointer-events:none}.model-status-value{font-weight:700}.model-status-value--lost{color:#ef4444!important}.model-status-value--running{color:#22c55e!important}.model-status-value--free{color:#f59e0b!important}.model-status-value--unknown{color:#b3c7df!important}.world-toggle-header-wrap,.world-toggle-wrap{display:inline-flex;margin-bottom:16px;animation:fadeInUp 1s ease-out .2s backwards}.world-toggle-header-wrap{position:absolute;top:0;right:0;margin-bottom:0}.world-toggle{display:flex;align-items:center;position:relative;width:100px;height:36px;padding:0 10px;border:1px solid var(--border-color);border-radius:18px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:border-color .35s ease,box-shadow .35s ease}.world-toggle:hover{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.world-label{flex:1;font-family:'Noto Serif SC',serif;font-size:.85rem;color:var(--text-secondary);text-align:center;z-index:1;transition:color .35s ease}.world-toggle[aria-pressed=false] .world-label.ghost,.world-toggle[aria-pressed=true] .world-label.reality{color:var(--text-secondary)}.world-toggle[aria-pressed=false] .world-label.reality,.world-toggle[aria-pressed=true] .world-label.ghost{color:var(--text-primary);font-weight:500}.world-toggle-thumb{position:absolute;left:4px;top:4px;width:calc(50% - 8px);height:calc(100% - 8px);border-radius:14px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .4s cubic-bezier(.4, 0, .2, 1)}.world-toggle[aria-pressed=true] .world-toggle-thumb{transform:translateX(calc(100% + 4px))}.peek-eye-indicator{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:999999;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);opacity:.6;transition:opacity .3s ease;pointer-events:auto}.peek-eye-indicator:hover{opacity:1}.peek-eye{width:36px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer}.peek-eye svg{width:100%;height:100%;transform-origin:center}.peek-eye.blink svg{animation:eyeBlink .28s ease-in-out}.works-entry-btn{position:fixed;left:20px;bottom:20px;z-index:999999;display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-secondary);opacity:.72;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:opacity .24s ease,transform .24s ease,box-shadow .24s ease,color .24s ease,border-color .24s ease}.works-entry-btn:hover{opacity:1;color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 10px 20px var(--accent-soft)}.works-entry-btn svg{width:18px;height:18px}.base-color-panel{position:fixed;top:56px;left:50%;transform:translateX(-50%);z-index:999998;padding:12px 14px;min-width:340px;max-width:min(560px,calc(100vw - 24px));border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 18px 40px rgba(0,0,0,.45);color:var(--text-primary);display:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.base-color-panel.open{display:block}.base-color-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.base-color-title{font-size:.9rem;letter-spacing:.08em;opacity:.9}.base-color-close{border:none;background:0 0;color:var(--text-secondary);cursor:pointer;padding:2px 4px;border-radius:999px;font-size:14px;line-height:1;transition:background .2s ease,color .2s ease}.base-color-close:hover{background:var(--mist-tint);color:var(--text-primary)}.base-color-body{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.base-color-label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;letter-spacing:.03em}.base-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.base-color-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid var(--border-color);background:var(--canvas-node-inline-soft-bg)}.base-color-input-wrap{display:inline-flex;align-items:center;gap:8px}.base-color-input{width:32px;height:22px;padding:0;border-radius:6px;border:1px solid var(--border-color);background:0 0;cursor:pointer}.base-color-value{min-width:64px;text-align:right;color:var(--text-secondary);font-size:.72rem;letter-spacing:.04em;font-family:'JetBrains Mono',Consolas,monospace}.base-color-input::-webkit-color-swatch{border-radius:4px;border:none}.base-color-input::-moz-color-swatch{border-radius:4px;border:none}.base-color-reset{border-radius:999px;border:1px solid var(--border-color);padding:4px 10px;font-size:.75rem;background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;align-self:flex-end}.base-color-reset:hover{background:var(--accent-soft);color:var(--text-primary);border-color:var(--accent-primary)}.base-color-hint{font-size:.7rem;color:var(--text-secondary);opacity:.8}@media (max-width:640px){.base-color-panel{top:50px;width:calc(100vw - 20px);min-width:0}.base-color-grid{grid-template-columns:1fr}.base-color-reset{width:100%}}.peek-ban-panel{margin-top:8px;padding-top:6px;border-top:1px solid var(--border-color);font-size:.75rem}.peek-ban-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.peek-ban-title{color:var(--text-secondary);letter-spacing:.06em}.peek-ban-user-select{flex:1;max-width:150px;min-height:24px;border-radius:6px;border:1px solid var(--border-color);background:rgba(8,11,24,.96);color:#f9fafb;padding:2px 6px;font-size:.75rem}.peek-ban-body{display:flex;align-items:center;gap:6px;margin-bottom:4px}.peek-ban-label{min-width:40px;color:var(--text-secondary)}.peek-ban-input,.peek-ban-select{flex:1;min-height:24px;border-radius:6px;border:1px solid var(--border-color);background:rgba(8,11,24,.96);color:#f9fafb;padding:2px 6px;font-size:.75rem}.peek-ban-select option,.peek-ban-user-select option{background-color:#020617;color:#e5e7eb}.peek-ban-input::placeholder{color:var(--text-secondary);opacity:.8}.peek-ban-save{margin-top:4px;width:100%;border-radius:999px;border:1px solid var(--accent-primary);background:var(--accent-soft);color:var(--accent-primary);padding:4px 8px;font-size:.75rem;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.peek-ban-save:hover{background:var(--accent-primary);color:var(--bg-deep);border-color:var(--accent-primary);transform:translateY(-1px)}.peek-ban-save:active{transform:translateY(0)}.peek-ban-hint{margin-top:2px;font-size:.65rem;color:var(--text-secondary);opacity:.7}@keyframes eyeBlink{0%{transform:scaleY(1)}45%{transform:scaleY(.1)}55%{transform:scaleY(.1)}100%{transform:scaleY(1)}}.logout-btn{position:fixed;bottom:78px;right:12px;padding:15px 25px;border:1px solid var(--success-border);border-radius:10px;background:var(--success-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--success-color);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease;animation:fadeInUp 1s ease-out .6s backwards;z-index:1100}.logout-btn svg{width:20px;height:20px}.logout-btn:hover{border-color:var(--success-color);background:var(--success-soft);transform:translateY(-2px);box-shadow:0 5px 15px var(--success-border)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:500px;width:90%;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.modal-close-btn svg{width:16px;height:16px}.modal-body{display:flex;flex-direction:column;gap:25px}.modal-placeholder{text-align:center;color:var(--text-secondary);font-size:1rem;padding:40px 20px}.form-group{display:flex;flex-direction:column;gap:10px}.form-group label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}.form-group input{padding:14px 18px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}.form-group input::placeholder{color:var(--text-secondary)}.form-group input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-mid)}.project-type-section{display:flex;flex-direction:column;gap:15px}.project-type-label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}.project-type-list{display:flex;flex-direction:column;gap:15px}.project-type-btn{padding:20px;border:2px solid var(--border-color);border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:all .3s ease;text-align:left}.project-type-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px);box-shadow:0 8px 25px var(--accent-mid)}.project-type-btn.selected{border-color:var(--accent-primary);background:var(--accent-mid);box-shadow:0 0 20px var(--accent-glow)}.type-header{display:flex;align-items:center;gap:10px}.type-name{font-family:'Noto Serif SC',serif;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.type-badge{padding:4px 10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-radius:20px;font-size:.75rem;color:var(--text-primary);font-weight:600}.type-description{font-family:'Noto Serif SC',serif;font-size:.9rem;color:var(--text-secondary);line-height:1.5}.modal-hint{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:15px}.delete-project-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.delete-project-item{padding:12px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s ease}.delete-project-item:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.delete-project-item.selected{border-color:var(--accent-primary);background:var(--accent-mid)}.delete-project-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-primary)}.delete-project-item-name{flex:1;font-family:'Noto Serif SC',serif;font-size:1rem;color:var(--text-primary)}.modal-confirm-btn{padding:14px 30px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--error-color) 0,var(--error-color) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:center}.modal-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--error-border)}.modal-confirm-btn:active{transform:translateY(0)}@media (max-width:1500px){.project-selection{--left-rail-space:320px;--right-rail-space:112px}.project-main{align-items:center;padding-top:52px;padding-bottom:24px;padding-left:calc(16px + var(--left-rail-space));padding-right:calc(16px + var(--right-rail-space))}.project-main-layout{width:min(1240px,100%);grid-template-columns:1fr;gap:18px;align-items:start}.project-left-panel{height:auto;max-height:none}.model-status-board--hero{height:calc(100vh - 98px);max-height:calc(100vh - 98px)}}@media (max-width:768px){.project-selection{--left-rail-space:0px;--right-rail-space:72px}.sidebar{width:280px}.sidebar.collapsed{transform:translateX(-280px)}.sidebar-toggle-fixed{top:10px;left:10px;padding:10px 15px}.sidebar-toggle-fixed .sidebar-title{font-size:.9rem}.animation-toggle-fixed{top:10px;right:10px}.works-entry-btn{left:14px;bottom:14px}.project-title{font-size:clamp(2rem, 9vw, 3rem)}.project-user{font-size:1rem}.project-main{align-items:center;padding-top:44px;padding-bottom:18px;padding-left:10px;padding-right:calc(10px + var(--right-rail-space))}.project-main-layout{width:100%;gap:14px}.today-consume-board{width:100%;max-width:100%;margin-left:0;grid-template-columns:1fr;gap:8px;padding:9px}.today-consume-panel{min-height:auto}.today-consume-value{font-size:1.45rem}.today-consume-icon{font-size:2rem}.today-consume-panel--chart{min-height:160px}.today-consume-chart-title{font-size:.72rem}.today-consume-y-axis{width:38px;font-size:.64rem}.today-consume-bar-item,.today-consume-bar-name{width:var(--bar-item-width);flex-basis:var(--bar-item-width)}.today-consume-bar{width:22px}.model-status-board{width:100%;max-width:100%;margin-left:0;padding:12px 10px 8px;flex:initial}.model-status-header--hero{margin-bottom:10px}.model-status-summary{gap:8px}.model-status-summary-item{min-height:30px;padding:0 10px;font-size:.76rem}.model-status-table td,.model-status-table th{padding:8px 6px;font-size:.78rem}.model-status-table th{font-size:.72rem;letter-spacing:.04em}.model-status-board--hero{padding:12px 12px 10px;height:calc(100vh - 108px);max-height:calc(100vh - 108px)}.project-scroll-top-btn{right:12px;bottom:84px;width:46px;height:46px}.project-scroll-top-btn:hover{width:46px;border-radius:999px}.project-scroll-top-btn:hover .project-scroll-top-icon{transform:none}.project-scroll-top-btn:hover::before{font-size:0;opacity:0}.logout-btn{position:fixed;right:10px;bottom:84px;margin-top:0;padding:10px 14px;font-size:.9rem;gap:8px}.logout-btn svg{width:16px;height:16px}.modal-content{max-width:90%}.current-project-badge{position:relative;top:auto;left:auto;margin-bottom:20px;justify-content:center}}.reference-btn{width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-shrink:0}.reference-btn svg{width:20px;height:20px;transition:all .3s ease}.reference-btn:hover{background:var(--accent-mid);border-color:var(--accent-glow-strong);color:var(--accent-primary);transform:scale(1.05)}.reference-btn:hover svg{animation:personDance .5s ease-in-out infinite}@keyframes personDance{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-10deg) translateY(-3px)}50%{transform:rotate(0) translateY(0)}75%{transform:rotate(10deg) translateY(-3px)}}.reference-btn.active{background:var(--accent-glow);border-color:var(--accent-primary);color:var(--accent-primary)}.reference-btn.active:hover svg{animation:personDance .5s ease-in-out infinite}.reference-panel{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:none;justify-content:center;align-items:center;z-index:1000}.reference-panel.active{display:flex}.reference-panel-content{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:20px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.reference-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.3)}.reference-panel-header h3{margin:0;color:var(--text-primary);font-size:1.2rem;font-family:'Noto Serif SC',serif}.reference-close-btn{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.reference-close-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.reference-close-btn svg{width:20px;height:20px}.reference-panel-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 80px)}.reference-tabs{display:flex;gap:10px;margin-bottom:20px}.reference-tab{padding:8px 16px;background:rgba(255,255,255,.1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;transition:all .3s ease}.reference-tab:hover{background:rgba(255,255,255,.15);border-color:var(--accent-primary)}.reference-tab.active{background:var(--accent-glow);border-color:var(--accent-primary);color:var(--accent-primary);font-weight:600}.reference-match-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);border:none;border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:20px;width:100%}.reference-match-btn svg{width:18px;height:18px}.reference-match-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow-strong)}.reference-match-btn:active{transform:translateY(0)}.reference-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.reference-card{background:rgba(0,0,0,.3);border-radius:12px;overflow:hidden;border:2px solid transparent;transition:all .3s ease}.reference-card.active{border-color:var(--accent-primary);background:var(--accent-soft)}.reference-card.partial{border-color:rgba(255,196,90,.9);background:rgba(255,196,90,.08)}.reference-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.reference-card-image{width:100%;height:150px;overflow:hidden;cursor:pointer;transition:all .3s ease}.reference-card-image img{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.reference-card-image:hover img{opacity:.9}.reference-card-info{padding:12px;background:rgba(0,0,0,.3)}.reference-card-name{color:var(--text-primary);font-size:.9rem;margin-bottom:10px;word-break:break-word}.reference-card-status{color:var(--text-secondary);font-size:.76rem;margin-bottom:8px}.reference-card-controls{display:flex;align-items:center;justify-content:flex-start}.reference-card-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;background:0 0;border:none;padding:0}.reference-card-toggle-label{color:var(--text-secondary);font-size:.85rem}.reference-card-switch{width:40px;height:20px;background:rgba(255,255,255,.1);border:1px solid var(--border-color);border-radius:10px;position:relative;transition:all .3s ease}.reference-card-switch::before{content:'';position:absolute;width:16px;height:16px;background:var(--text-secondary);border-radius:50%;top:2px;left:2px;transition:all .3s ease}.reference-card-switch.active{background:var(--accent-glow);border-color:var(--accent-primary)}.reference-card-switch.active::before{background:var(--accent-primary);left:22px}.reference-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.reference-empty svg{width:60px;height:60px;margin-bottom:15px;opacity:.5}.reference-empty p{font-size:1rem;margin:0}.at-mention-dropdown{position:fixed;z-index:9999;box-sizing:border-box;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:6px;font-family:'Noto Serif SC',serif;display:none;overflow:hidden}.at-mention-dropdown.visible{display:block}.at-mention-columns{display:flex;gap:0;width:100%}.at-mention-column{min-width:0;flex:1;display:flex;flex-direction:column}.at-mention-column+.at-mention-column{border-left:1px solid rgba(255,255,255,.08)}.at-mention-column-header{flex-shrink:0;padding:5px 8px;font-size:.7rem;font-weight:600;color:var(--text-secondary);text-align:center;background:var(--bg-secondary);border-bottom:1px solid rgba(255,255,255,.06);letter-spacing:.5px}.at-mention-column-body{max-height:210px;overflow-y:auto;overflow-x:hidden;flex:1}.at-mention-item{display:flex;align-items:center;padding:5px 8px;margin:2px 3px;cursor:pointer;color:var(--text-primary);font-size:.82rem;transition:background .15s ease,color .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:6px}.at-mention-item.active,.at-mention-item:hover{background:rgba(255,255,255,.12);color:var(--accent-primary)}.at-mention-item .at-mention-name{overflow:hidden;text-overflow:ellipsis}.at-mention-tooltip{position:fixed;z-index:10001;display:none;width:160px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.5);padding:8px;pointer-events:none;font-family:'Noto Serif SC',serif}.at-mention-tooltip.visible{display:block}.at-mention-tooltip-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:6px;background:rgba(255,255,255,.05)}.at-mention-tooltip-name{font-size:.8rem;color:var(--text-primary);text-align:center;word-break:break-all;line-height:1.4}.shot-reference-panel{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:none;justify-content:center;align-items:center;z-index:1100}.shot-reference-panel.active{display:flex}.shot-reference-panel-content{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:20px;width:90%;max-width:800px;max-height:80vh;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.shot-reference-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.3)}.shot-reference-panel-header h3{margin:0;color:var(--text-primary);font-size:1.2rem;font-family:'Noto Serif SC',serif}.shot-reference-close-btn{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease}.shot-reference-close-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.shot-reference-close-btn svg{width:20px;height:20px}.shot-reference-panel-body{padding:20px;overflow-y:auto;max-height:calc(80vh - 80px)}.script-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:1600;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.script-modal.active{display:flex}.script-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:700px;width:90%;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5)}.script-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.script-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.script-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.script-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.script-close-btn svg{width:16px;height:16px}.script-modal-body{display:flex;flex-direction:column;gap:20px}.script-content-section,.script-rule-section{display:flex;flex-direction:column;gap:10px}.script-content-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.script-sync-toggle-wrap{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-secondary);cursor:pointer;user-select:none}.script-sync-toggle-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.script-content-section label,.script-rule-section label{font-family:Cinzel,serif;font-size:1rem;color:var(--text-primary);letter-spacing:.1em}#scriptInput,#scriptRuleInput{width:100%;min-height:120px;padding:15px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.95rem;line-height:1.6;resize:vertical;transition:all .3s ease}#scriptInput::placeholder,#scriptRuleInput::placeholder{color:var(--text-secondary)}#scriptInput:focus,#scriptRuleInput:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}#scriptInput{min-height:200px}.script-analyze-btn{padding:14px 30px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1.1rem;font-weight:600;letter-spacing:.15em;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;align-self:flex-start}.script-analyze-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.script-analyze-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.script-analyze-btn svg{width:20px;height:20px}.sora-config-mode-section{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--accent-soft);border-radius:8px;border:1px solid var(--accent-soft)}.sora-config-mode-section label{font-family:'Noto Serif SC',serif;font-size:.85rem;color:var(--text-secondary);letter-spacing:.05em}.sora-config-mode-buttons{display:flex;gap:8px}.sora-config-mode-btn{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:.85rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sora-config-mode-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);color:var(--text-primary)}.sora-config-mode-btn.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-color:var(--accent-primary);color:var(--text-primary);font-weight:500}.sora-config-section,.sora-lite-config-section{display:flex;flex-direction:column;gap:12px;padding:15px;background:var(--accent-soft);border-radius:8px;border:1px solid var(--accent-soft)}.sora-config-item{display:flex;flex-direction:column;gap:6px}.sora-config-item label{font-family:'Noto Serif SC',serif;font-size:.85rem;color:var(--text-secondary);letter-spacing:.05em}.sora-config-buttons{display:flex;gap:8px}.sora-config-btn{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--glass-bg);color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:.85rem;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sora-config-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);color:var(--text-primary)}.sora-config-btn.active{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);border-color:var(--accent-primary);color:var(--text-primary);font-weight:500}.sora-video-info{display:flex;flex-direction:column;gap:10px;padding:15px;background:var(--accent-soft);border-radius:8px;border:1px solid var(--accent-soft);margin-top:12px}.sora-video-info-item{display:flex;align-items:center;gap:8px;font-size:.85rem}.sora-video-info-label{color:var(--text-secondary);font-family:'Noto Serif SC',serif;white-space:nowrap}.sora-video-info-value{color:var(--text-primary);font-weight:500;font-family:'Noto Serif SC',serif}.sora-video-info-link{color:var(--accent-primary);text-decoration:none;font-size:.8rem;transition:all .3s ease}.sora-video-info-link:hover{color:var(--accent-secondary);text-decoration:underline}.sora-download-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:6px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:5px}.sora-download-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px var(--accent-glow)}.sora-download-btn svg{width:16px;height:16px}.sora-video-wrapper{position:relative;width:100%;margin-bottom:12px}.sora-video-wrapper video{display:block;width:100%;max-height:400px;border-radius:8px;background:#000;object-fit:contain;box-shadow:0 4px 12px rgba(0,0,0,.3)}.sora-temp-section{max-width:1000px;margin:0 auto;animation:fadeInUp 1s ease-out .3s backwards}.tts-yinxu-section{max-width:1180px;margin:0 auto;padding:0 24px 190px;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--tts-accent-rgb:var(--theme-accent-rgb, 96, 165, 250);--tts-surface:color-mix(in srgb, var(--glass-bg) 88%, rgba(255, 255, 255, 0.04));--tts-surface-strong:rgba(var(--theme-surface-2-rgb, 28, 36, 50), 0.92);--tts-panel-surface:rgba(var(--theme-surface-1-rgb, 23, 31, 45), 0.88);--tts-result-surface:rgba(var(--theme-surface-5-rgb, 18, 27, 41), 0.9);--tts-border:color-mix(in srgb, var(--border-color) 72%, rgba(var(--tts-accent-rgb), 0.22));--tts-border-strong:rgba(var(--tts-accent-rgb), 0.44);--tts-text:var(--text-primary);--tts-muted:color-mix(in srgb, var(--text-secondary) 88%, var(--text-primary) 12%);color-scheme:dark;animation:fadeInUp 1s ease-out .3s backwards;display:block}.tts-yinxu-section[style*="display: block"],.tts-yinxu-section[style*="display:block"]{display:block!important}.tts-yinxu-workspace{display:grid;grid-template-columns:1fr;gap:14px}.tts-yinxu-editor-card,.tts-yinxu-result-card{border:1px solid var(--tts-border);border-radius:18px;box-shadow:var(--ui-surface-shadow,0 10px 30px rgba(0,0,0,.24))}.tts-yinxu-editor-card{background:var(--tts-surface-strong);padding:18px}.tts-yinxu-headline{margin-bottom:12px}.tts-yinxu-headline h3{margin:0;color:var(--tts-text);font-size:20px;font-weight:700;letter-spacing:.02em}.tts-yinxu-headline p{margin:6px 0 0;color:var(--tts-muted);font-size:13px;line-height:1.6}.tts-yinxu-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tts-yinxu-tab-btn{border:1px solid var(--tts-border);border-radius:12px;background:color-mix(in srgb,var(--bg-secondary) 70%,rgba(var(--tts-accent-rgb),.1));color:var(--tts-muted);padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:3px;transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease}.tts-yinxu-tab-btn:hover{transform:translateY(-1px);border-color:rgba(var(--tts-accent-rgb),.38)}.tts-yinxu-tab-btn.active{border-color:var(--tts-border-strong);background:rgba(var(--tts-accent-rgb),.14);box-shadow:0 0 0 2px rgba(var(--tts-accent-rgb),.14)}.tts-yinxu-tab-title{display:block;color:var(--tts-text);font-size:15px;font-weight:700;line-height:1.4}.tts-yinxu-tab-desc{display:block;margin-top:2px;color:var(--tts-muted);font-size:12px;line-height:1.45}.tts-yinxu-tab-panels{margin-top:16px}.tts-yinxu-panel{display:none;border:1px solid var(--tts-border);border-radius:16px;background:var(--tts-panel-surface);padding:16px}.tts-yinxu-panel.active{display:block}.tts-yinxu-panel-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(320px,1fr);gap:16px;align-items:start}.tts-yinxu-panel[data-panel=asr] .tts-yinxu-panel-layout{grid-template-columns:minmax(0,0.92fr) minmax(0,1.38fr)}.tts-yinxu-main-pane,.tts-yinxu-side-pane{min-width:0}.tts-yinxu-main-pane{border:1px solid rgba(var(--tts-accent-rgb),.18);border-radius:14px;padding:12px;background:color-mix(in srgb,var(--bg-secondary) 62%,rgba(var(--tts-accent-rgb),.08))}.tts-yinxu-side-pane{display:flex;flex-direction:column;gap:10px}.tts-yinxu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tts-yinxu-mode-wrap{margin:0}.tts-yinxu-api-helper{margin:0;line-height:1.62;color:var(--tts-muted);font-size:13px}.tts-yinxu-file-input{padding:8px 10px}.tts-yinxu-file-input-hidden{display:none!important}.tts-yinxu-upload-row{display:flex;align-items:center;gap:8px}.tts-yinxu-upload-row .tts-yinxu-input{flex:1 1 auto;min-width:0}.tts-yinxu-voice-id-row{display:flex;align-items:center;gap:8px}.tts-yinxu-voice-id-row .tts-yinxu-input{flex:1 1 auto;min-width:0}.tts-yinxu-voice-picker-trigger{flex:0 0 auto;height:40px;border-radius:10px;border:1px solid rgba(var(--tts-accent-rgb),.34);background:rgba(var(--tts-accent-rgb),.14);color:var(--tts-text);padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease;white-space:nowrap}.tts-yinxu-voice-picker-trigger:hover{border-color:rgba(var(--tts-accent-rgb),.52);background:rgba(var(--tts-accent-rgb),.22);transform:translateY(-1px)}.tts-yinxu-upload-btn{flex:0 0 auto;height:40px;border-radius:10px;border:1px solid rgba(var(--tts-accent-rgb),.34);background:rgba(var(--tts-accent-rgb),.14);color:var(--tts-text);padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease;white-space:nowrap}.tts-yinxu-upload-btn:hover{border-color:rgba(var(--tts-accent-rgb),.52);background:rgba(var(--tts-accent-rgb),.22);transform:translateY(-1px)}.tts-yinxu-upload-hint{margin-top:-1px;color:var(--tts-muted);font-size:12px;line-height:1.45}.tts-yinxu-voice-input-hint{margin-top:-1px;color:var(--tts-muted);font-size:12px;line-height:1.45}.tts-yinxu-voice-input-hint[data-status=success]{color:var(--status-ok-color,#2f8f55)}.tts-yinxu-voice-input-hint[data-status=error]{color:var(--status-error-color,#d64f4f)}.tts-yinxu-voice-input-hint[data-status=loading]{color:var(--status-warn-color,#c28b28)}.tts-yinxu-voice-picker[hidden]{display:none!important}.tts-yinxu-voice-picker{position:fixed;inset:0;z-index:220}.tts-yinxu-voice-picker__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.46);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.tts-yinxu-voice-picker__panel{position:relative;z-index:1;width:min(920px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px));margin:12px auto;border:1px solid var(--tts-border);border-radius:16px;background:var(--tts-surface-strong);box-shadow:var(--ui-surface-shadow,0 10px 30px rgba(0,0,0,.24));padding:14px;display:flex;flex-direction:column;gap:12px}.tts-yinxu-voice-picker__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tts-yinxu-voice-picker__header h4{margin:0;color:var(--tts-text);font-size:17px;line-height:1.4}.tts-yinxu-voice-picker__header p{margin:5px 0 0;color:var(--tts-muted);font-size:12px;line-height:1.5}.tts-yinxu-voice-picker__close,.tts-yinxu-voice-picker__refresh{border:1px solid rgba(var(--tts-accent-rgb),.32);background:rgba(var(--tts-accent-rgb),.1);color:var(--tts-text);border-radius:10px;height:38px;padding:0 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.tts-yinxu-voice-picker__close:hover,.tts-yinxu-voice-picker__refresh:hover{border-color:rgba(var(--tts-accent-rgb),.52);background:rgba(var(--tts-accent-rgb),.18)}.tts-yinxu-voice-picker__toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.tts-yinxu-voice-picker__tip{margin:0;border:1px solid rgba(var(--tts-accent-rgb),.26);border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.45;color:var(--tts-text);background:rgba(var(--tts-accent-rgb),.08)}.tts-yinxu-voice-picker__tip[data-status=success]{border-color:rgba(47,143,85,.35);background:rgba(47,143,85,.12);color:var(--status-ok-color,#2f8f55)}.tts-yinxu-voice-picker__tip[data-status=error]{border-color:rgba(214,79,79,.35);background:rgba(214,79,79,.12);color:var(--status-error-color,#d64f4f)}.tts-yinxu-voice-picker__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:120px;max-height:min(520px,calc(100vh - 260px));overflow:auto;padding-right:2px}.tts-yinxu-voice-picker__empty,.tts-yinxu-voice-picker__loading{color:var(--tts-muted);font-size:13px;margin:0}.tts-yinxu-voice-option{border:1px solid var(--tts-border);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--bg-secondary) 70%,rgba(var(--tts-accent-rgb),.08));display:flex;flex-direction:column;gap:8px}.tts-yinxu-voice-option.is-selected{border-color:var(--tts-border-strong);box-shadow:0 0 0 2px rgba(var(--tts-accent-rgb),.14)}.tts-yinxu-voice-option__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.tts-yinxu-voice-option__name{color:var(--tts-text);font-size:14px;font-weight:700;line-height:1.4}.tts-yinxu-voice-option__name-btn{appearance:none;border:0;background:0 0;padding:0;margin:0;cursor:pointer;text-align:left}.tts-yinxu-voice-option__name-btn:hover .tts-yinxu-voice-option__name{color:rgba(var(--tts-accent-rgb),.92)}.tts-yinxu-voice-option__id{font-size:11px;line-height:1.3;color:var(--tts-muted);background:rgba(var(--tts-accent-rgb),.08);border:1px dashed rgba(var(--tts-accent-rgb),.24);border-radius:8px;padding:2px 6px}.tts-yinxu-voice-option__desc{margin:0;color:var(--tts-muted);font-size:12px;line-height:1.55;min-height:38px}.tts-yinxu-voice-option__tags{display:flex;flex-wrap:wrap;gap:6px}.tts-yinxu-voice-option__tag{display:inline-flex;align-items:center;border:1px solid rgba(var(--tts-accent-rgb),.24);background:rgba(var(--tts-accent-rgb),.08);color:var(--tts-text);border-radius:999px;font-size:11px;line-height:1;padding:4px 8px}.tts-yinxu-voice-option__tag.is-muted{color:var(--tts-muted)}.tts-yinxu-voice-option__actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.tts-yinxu-voice-option__apply-btn,.tts-yinxu-voice-option__preview-btn{border:1px solid rgba(var(--tts-accent-rgb),.32);background:rgba(var(--tts-accent-rgb),.1);color:var(--tts-text);border-radius:8px;min-height:34px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer}.tts-yinxu-voice-option__apply-btn{border-color:rgba(var(--tts-accent-rgb),.5);background:rgba(var(--tts-accent-rgb),.18)}.tts-yinxu-voice-option__apply-btn:hover,.tts-yinxu-voice-option__preview-btn:hover{border-color:rgba(var(--tts-accent-rgb),.58);background:rgba(var(--tts-accent-rgb),.24)}.tts-yinxu-asr-result-card{border:1px solid rgba(var(--tts-accent-rgb),.22);border-radius:12px;padding:10px;background:color-mix(in srgb,var(--bg-secondary) 65%,rgba(var(--tts-accent-rgb),.08))}.tts-yinxu-asr-controls{margin-top:10px;display:flex;flex-direction:column;gap:10px}.tts-yinxu-asr-output-pane{height:100%}.tts-yinxu-asr-result-card--full{height:100%;display:flex;flex-direction:column}.tts-yinxu-asr-result-text{min-height:320px;margin-top:8px;resize:vertical;flex:1 1 auto}.tts-yinxu-field{display:flex;flex-direction:column;gap:7px}.tts-yinxu-field--full{grid-column:1/-1}.tts-yinxu-field-label{font-size:12px;font-weight:700;letter-spacing:.01em;white-space:normal;overflow-wrap:anywhere;line-height:1.4;color:var(--tts-muted)}.tts-yinxu-input,.tts-yinxu-textarea{width:100%;border:1px solid var(--tts-border);border-radius:10px;background:color-mix(in srgb,var(--bg-secondary) 54%,rgba(255,255,255,.08));color:var(--tts-text);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.45;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}select.tts-yinxu-input{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:34px;background-image:linear-gradient(45deg,transparent 50%,var(--tts-text) 50%),linear-gradient(135deg,var(--tts-text) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}select.tts-yinxu-input option{background:color-mix(in srgb,var(--bg-secondary) 88%,rgba(7,12,22,.92));color:var(--tts-text)}select.tts-yinxu-input option:checked{background:rgba(var(--tts-accent-rgb),.32);color:var(--tts-text)}.tts-yinxu-textarea{min-height:120px;resize:vertical}.tts-yinxu-textarea--large{min-height:300px}.tts-yinxu-input:focus,.tts-yinxu-textarea:focus{outline:0;border-color:rgba(var(--tts-accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--tts-accent-rgb),.18)}.tts-yinxu-model-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tts-yinxu-model-row>.tts-yinxu-input{flex:1 1 240px;min-width:0}.tts-yinxu-model-custom-wrap{flex:1 1 280px;min-width:0}.tts-yinxu-model-custom-input{border-style:dashed}.tts-yinxu-model-field{background:rgba(var(--tts-accent-rgb),.08);border:1px solid rgba(var(--tts-accent-rgb),.22);border-radius:12px;padding:9px}.tts-yinxu-checkbox{display:inline-flex;align-items:center;gap:8px;color:var(--tts-muted);font-size:13px;font-weight:500}.tts-yinxu-checkbox input{accent-color:rgb(var(--tts-accent-rgb))}.tts-yinxu-submit-btn{margin-top:2px;border:1px solid rgba(var(--tts-accent-rgb),.45);background:linear-gradient(130deg,color-mix(in srgb,var(--accent-secondary) 72%,#fff 28%) 0,var(--accent-primary) 100%);color:#fff;font-size:14px;font-weight:700;letter-spacing:.03em;box-shadow:0 10px 22px rgba(var(--tts-accent-rgb),.32);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.tts-yinxu-submit-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(var(--tts-accent-rgb),.38);filter:saturate(1.06)}.tts-yinxu-submit-btn:disabled{opacity:.56;cursor:not-allowed;transform:none;box-shadow:none}.tts-yinxu-side-pane .tts-yinxu-submit-btn{display:none}.tts-yinxu-result-card{background:var(--tts-result-surface);padding:12px 14px;display:flex;flex-direction:column;gap:8px;position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1100px,calc(100vw - 28px));z-index:160;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tts-yinxu-player-bar{display:grid;grid-template-columns:minmax(132px,0.72fr) minmax(420px,2.28fr) auto;gap:14px;align-items:center}.tts-yinxu-player-meta{min-width:0;max-width:220px;justify-self:start}.tts-yinxu-player-title{margin:0;color:var(--tts-text);font-weight:700;letter-spacing:.01em;font-size:16px;line-height:1.4}.tts-yinxu-player-subtitle{margin:4px 0 0;color:var(--tts-muted);font-size:12px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tts-yinxu-player-center{display:flex;flex-direction:column;gap:8px;min-width:0;justify-self:center;width:min(620px,100%)}.tts-yinxu-player-controls{display:flex;align-items:center;justify-content:center;gap:10px}.tts-yinxu-player-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--tts-border);background:color-mix(in srgb,var(--bg-secondary) 72%,rgba(var(--tts-accent-rgb),.1));color:var(--tts-text);font-size:12px;font-weight:700;cursor:pointer}.tts-yinxu-player-play{width:52px;height:52px;border-radius:50%;border:1px solid rgba(var(--tts-accent-rgb),.35);background:color-mix(in srgb,var(--text-primary) 20%,rgba(var(--tts-accent-rgb),.8));color:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.25)}.tts-yinxu-player-btn:disabled,.tts-yinxu-player-play:disabled{opacity:.45;cursor:not-allowed}.tts-yinxu-player-timeline{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:10px}.tts-yinxu-time{color:var(--tts-muted);font-size:12px;font-variant-numeric:tabular-nums}.tts-yinxu-seek{width:100%;accent-color:rgb(var(--tts-accent-rgb));cursor:pointer}.tts-yinxu-seek:disabled{cursor:not-allowed}.tts-yinxu-player-actions{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end;justify-self:end}.tts-yinxu-generate-btn{border:1px solid rgba(var(--tts-accent-rgb),.45);background:linear-gradient(130deg,color-mix(in srgb,var(--accent-secondary) 72%,#fff 28%) 0,var(--accent-primary) 100%);color:#fff;border-radius:10px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(var(--tts-accent-rgb),.28)}.tts-yinxu-generate-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.tts-yinxu-mini-btn{min-width:92px;border-radius:10px;border:1px solid rgba(var(--tts-accent-rgb),.26);background:rgba(var(--tts-accent-rgb),.09);color:var(--tts-text);font-size:12px;font-weight:600;letter-spacing:.01em;transition:transform .2s ease,background-color .2s ease,border-color .2s ease;white-space:nowrap}.tts-yinxu-mini-btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(var(--tts-accent-rgb),.42);background:rgba(var(--tts-accent-rgb),.17)}.tts-yinxu-mini-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.tts-yinxu-status{display:none!important}.tts-yinxu-result-json{display:none!important}.tts-yinxu-audio-wrap{display:none!important}.tts-yinxu-audio-wrap audio{width:100%}body[data-ui-theme=light] .tts-yinxu-section,body[data-ui-theme=warm] .tts-yinxu-section{--tts-surface:rgba(var(--theme-surface-3-rgb, 245, 249, 255), 0.94);--tts-surface-strong:rgba(var(--theme-surface-1-rgb, 255, 255, 255), 0.96);--tts-panel-surface:rgba(var(--theme-surface-2-rgb, 249, 252, 255), 0.92);--tts-result-surface:rgba(var(--theme-surface-5-rgb, 247, 250, 255), 0.94);color-scheme:light}body[data-ui-theme=light] .tts-yinxu-input,body[data-ui-theme=light] .tts-yinxu-main-pane,body[data-ui-theme=light] .tts-yinxu-panel,body[data-ui-theme=light] .tts-yinxu-tab-btn,body[data-ui-theme=light] .tts-yinxu-textarea,body[data-ui-theme=warm] .tts-yinxu-input,body[data-ui-theme=warm] .tts-yinxu-main-pane,body[data-ui-theme=warm] .tts-yinxu-panel,body[data-ui-theme=warm] .tts-yinxu-tab-btn,body[data-ui-theme=warm] .tts-yinxu-textarea{background:rgba(255,255,255,.92)}body[data-ui-theme=light] select.tts-yinxu-input option,body[data-ui-theme=warm] select.tts-yinxu-input option{background:#fff;color:var(--text-primary)}body[data-ui-theme=warm] .tts-yinxu-section{--tts-result-surface:rgba(var(--theme-surface-5-rgb, 255, 245, 230), 0.94)}@media (max-width:1180px){.tts-yinxu-section{padding-left:20px;padding-right:20px;padding-bottom:186px}.tts-yinxu-panel-layout{grid-template-columns:1fr}.tts-yinxu-textarea--large{min-height:240px}.tts-yinxu-result-card{width:calc(100vw - 16px)}.tts-yinxu-player-bar{grid-template-columns:minmax(110px,0.62fr) minmax(280px,1.8fr) auto;gap:12px}}@media (max-width:820px){.tts-yinxu-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tts-yinxu-grid{grid-template-columns:1fr}}@media (max-width:768px){.tts-yinxu-section{padding-left:12px;padding-right:12px;padding-bottom:178px}.tts-yinxu-editor-card,.tts-yinxu-main-pane,.tts-yinxu-panel,.tts-yinxu-result-card{border-radius:14px}.tts-yinxu-editor-card,.tts-yinxu-main-pane,.tts-yinxu-panel,.tts-yinxu-result-card{padding:12px}.tts-yinxu-result-card{width:calc(100vw - 14px);bottom:max(8px,env(safe-area-inset-bottom))}.tts-yinxu-player-bar{grid-template-columns:1fr;gap:10px;align-items:stretch}.tts-yinxu-player-controls{justify-content:flex-start}.tts-yinxu-player-timeline{grid-template-columns:auto 1fr auto}.tts-yinxu-player-actions{justify-content:flex-start;flex-wrap:wrap}.tts-yinxu-upload-row{flex-direction:column;align-items:stretch}.tts-yinxu-voice-id-row{flex-direction:column;align-items:stretch}.tts-yinxu-upload-btn{width:100%}.tts-yinxu-voice-picker-trigger{width:100%}.tts-yinxu-voice-picker__panel{width:calc(100vw - 14px);max-height:calc(100vh - 14px);margin:7px auto;padding:12px}.tts-yinxu-voice-picker__toolbar{grid-template-columns:1fr}.tts-yinxu-voice-picker__list{grid-template-columns:1fr;max-height:calc(100vh - 310px)}.tts-yinxu-headline h3{font-size:18px}.tts-yinxu-tab-title{font-size:14px}.tts-yinxu-mini-btn{width:auto}.tts-yinxu-textarea--large{min-height:200px}.tts-yinxu-asr-result-text{min-height:180px}}.sora-shot-count-container{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:15px;padding:30px;margin-bottom:40px;display:flex;align-items:center;gap:20px;animation:fadeInUp 1s ease-out .6s backwards}.sora-shot-count-container label{font-family:Cinzel,serif;font-size:1.1rem;color:var(--text-primary);letter-spacing:.1em;white-space:nowrap}.sora-shot-count-container input{flex:1;padding:15px 20px;border:1px solid var(--border-color);border-radius:10px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;transition:all .3s ease}.sora-shot-count-container input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow)}.sora-generate-shots-btn{padding:15px 30px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:1rem;font-weight:600;letter-spacing:.15em;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.sora-generate-shots-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}.sora-generate-shots-btn svg{width:18px;height:18px}.sora-shots-container{display:flex;flex-direction:column;gap:30px;animation:fadeInUp 1s ease-out .9s backwards}.sora-shots-container.layout-vertical{display:flex;flex-direction:column;gap:30px}.sora-shots-container.layout-horizontal{display:flex;flex-direction:column;gap:20px}.sora-shot-group{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;padding:30px;animation:fadeInUp .5s ease-out backwards;display:flex;flex-direction:column;gap:20px}.sora-shot-group-header{display:flex;align-items:center;gap:10px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.sora-shot-group-number{font-family:Cinzel,serif;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sora-shot-group-title{font-family:'Noto Serif SC',serif;font-size:1.1rem;color:var(--text-secondary)}.sora-shot-content{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sora-shot-left,.sora-shot-right{display:flex;flex-direction:column;gap:15px}.sora-image-upload{width:100%;height:200px;border:2px dashed var(--border-color);border-radius:15px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.sora-image-upload:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 15px 35px var(--accent-mid)}.sora-image-upload.drag-over{border-color:var(--accent-secondary);background:var(--secondary-soft);transform:scale(1.01)}.sora-image-content{text-align:center;padding:20px}.sora-image-icon{width:50px;height:50px;margin:0 auto 15px;color:var(--accent-primary);transition:all .3s ease}.sora-image-upload:hover .sora-image-icon{transform:scale(1.1);color:var(--accent-secondary)}.sora-image-content h4{font-family:Cinzel,serif;font-size:1.2rem;margin-bottom:8px;color:var(--text-primary)}.sora-image-hint{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.sora-image-preview{position:absolute;top:0;left:0;right:0;bottom:0;display:none}.sora-image-preview img{width:100%;height:100%;object-fit:cover;border-radius:13px}.sora-image-remove{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.7);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.sora-image-remove:hover{background:var(--accent-primary);border-color:var(--accent-primary);transform:scale(1.1)}.sora-image-remove svg{width:14px;height:14px}.sora-video-prompt{display:flex;flex-direction:column;gap:10px}.sora-video-prompt label{font-family:Cinzel,serif;font-size:.95rem;color:var(--text-primary);letter-spacing:.08em}.sora-video-prompt textarea{width:100%;min-height:80px;padding:12px 15px;border:1px solid var(--border-color);border-radius:10px;background:var(--accent-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;line-height:1.5;resize:vertical;transition:all .3s ease}.sora-video-prompt textarea::placeholder{color:var(--text-secondary)}.sora-video-prompt textarea:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.sora-generate-video-btn{padding:12px 24px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-secondary) 0,var(--accent-primary) 100%);color:var(--text-primary);font-family:Cinzel,serif;font-size:.95rem;font-weight:600;letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.sora-generate-video-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--secondary-glow)}.sora-generate-video-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.sora-generate-video-btn svg{width:16px;height:16px}.sora-video-result{width:100%;border:1px solid var(--border-color);border-radius:10px;background:rgba(17,24,39,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden}.sora-video-inner{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;position:relative}.sora-video-placeholder{text-align:center;color:var(--text-secondary)}.sora-video-placeholder svg{width:40px;height:40px;margin:0 auto 10px;color:var(--accent-primary)}.sora-video-placeholder p{font-size:.9rem}.sora-video-output{width:100%;height:100%;min-height:200px;display:none}.sora-video-output video{width:100%;height:100%;object-fit:contain}.sora-video-loading.output-history-loading-bar{display:none;align-items:center;justify-content:center;gap:10px;padding:10px 14px;margin-top:8px;background:var(--accent-soft);border-top:1px solid var(--border-color)}.sora-video-loading.output-history-loading-bar .sora-spinner{width:24px;height:24px;border:2px solid var(--accent-mid);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}.sora-loading-text{color:var(--text-secondary);font-size:.9rem}@media (max-width:800px){.sora-shot-content{grid-template-columns:1fr}.sora-shot-count-container{flex-direction:column;align-items:stretch}}.history-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);backdrop-filter:blur(5px);z-index:1000;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.history-modal.active{display:flex}.history-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:30px;max-width:900px;width:90%;height:700px;animation:slideUp .3s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column}.history-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.history-modal-header h2{font-family:Cinzel,serif;font-size:1.5rem;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.history-close-btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.history-close-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:scale(1.1)}.history-close-btn svg{width:16px;height:16px}.history-modal-body{flex:1;display:flex;flex-direction:column;gap:20px;overflow:hidden}.history-filter{display:flex;gap:20px;align-items:center;padding:15px;background:var(--glass-bg);border-radius:10px;border:1px solid var(--border-color);flex-shrink:0}.history-filter label{font-family:Cinzel,serif;font-size:.9rem;color:var(--text-primary);letter-spacing:.1em}.history-filter select{padding:8px 15px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-deep);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;cursor:pointer;transition:all .3s ease}.history-filter select:focus{outline:0;border-color:var(--accent-primary)}.history-list{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px;padding:10px;min-height:0}.history-loading{grid-column:1/-1;text-align:center;padding:40px;color:var(--text-secondary);font-size:1rem}.history-prompt{grid-column:1/-1;text-align:center;padding:40px;color:var(--text-secondary);font-size:1rem}.history-item{background:var(--glass-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;height:220px}.history-item:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 10px 30px var(--accent-mid)}.history-item-image{width:100%;height:140px;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.history-item-image img,.history-item-image video{width:100%;height:100%;object-fit:cover}.history-item-info{padding:12px;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.history-item-type{font-size:.75rem;color:var(--accent-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.1em}.history-item-date{font-size:.85rem;color:var(--text-secondary);font-family:'Noto Serif SC',serif;margin-bottom:3px}.history-item-time{font-size:.75rem;color:var(--text-secondary);opacity:.7}.history-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--text-secondary)}.history-empty svg{width:80px;height:80px;margin-bottom:20px;opacity:.5}.history-empty p{font-size:1rem;margin-bottom:10px}.history-empty small{font-size:.85rem;opacity:.7}.history-preview-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);z-index:1001;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.history-preview-modal.active{display:flex}.history-preview-content{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:20px}.history-preview-media{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px}.history-preview-actions{display:flex;gap:15px;justify-content:center}.history-preview-btn{padding:12px 30px;border:1px solid var(--border-color);border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.history-preview-btn:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.history-preview-btn svg{width:18px;height:18px}@media (max-width:600px){.history-filter{flex-direction:column;align-items:stretch}.history-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.history-preview-actions{flex-direction:column}.history-preview-btn{width:100%;justify-content:center}}.dynamic-canvas-container{display:none}.btn{--color:#3dd5f3;position:relative;display:flex;justify-content:center;align-items:center;transition:all .5s;border:none;background-color:transparent;cursor:pointer;padding:0}.btn div{letter-spacing:2px;font-weight:700;background:var(--color);border-radius:2rem;color:#000;padding:1rem}.btn::before{content:'';z-index:-1;background-color:var(--color);border:2px solid #000;border-radius:2rem;width:110%;height:100%;position:absolute;transform:rotate(10deg);transition:.5s;opacity:.2}.btn:hover{cursor:pointer;filter:brightness(1.2);transform:scale(1.1)}.btn:hover::before{transform:rotate(0);opacity:1}.btn svg{transform:translateX(-200%);transition:.5s;width:0;opacity:0}.btn:hover svg{width:25px;transform:translateX(0);opacity:1}.btn:active{filter:brightness(1.4)}.dynamic-canvas-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:10000;display:flex;flex-direction:column}.dynamic-canvas-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:var(--accent-soft);border-bottom:1px solid var(--accent-mid)}.dynamic-canvas-header-left{display:flex;align-items:center;gap:20px}.dynamic-canvas-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.dynamic-canvas-header h2{font-family:Cinzel,serif;font-size:1.5rem;color:var(--text-primary);letter-spacing:.15em;margin:0}.connection-priority-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;align-self:flex-start}.connection-priority-label{font-size:.85rem;color:var(--text-secondary);text-align:center;min-height:18px;display:flex;align-items:center;justify-content:center;line-height:1.2}.canvas-background-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;align-self:flex-start}.canvas-background-label{font-size:.85rem;color:var(--text-secondary);text-align:center;min-height:18px;display:flex;align-items:center;justify-content:center;line-height:1.2}.canvas-background-radio-group{display:flex;gap:0;background:rgba(255,255,255,.15);backdrop-filter:blur(20px);padding:4px;border-radius:25px;box-shadow:0 8px 32px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.3);position:relative;width:280px;height:40px;animation:canvas-bg-slide-in .6s ease-out}@keyframes canvas-bg-slide-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.canvas-background-slider{position:absolute;top:4px;bottom:4px;background:#fff;border-radius:25px;transition:all .4s cubic-bezier(.68, -.55, .265, 1.55);box-shadow:0 3px 12px rgba(0,0,0,.15),0 1px 4px rgba(0,0,0,.1);z-index:0}.canvas-background-option{position:relative;z-index:1;flex:1;animation:canvas-bg-fade-in .5s ease-out backwards}.canvas-background-option:first-of-type{animation-delay:.1s}.canvas-background-option:nth-of-type(2){animation-delay:.2s}.canvas-background-option:nth-of-type(3){animation-delay:.3s}@keyframes canvas-bg-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.canvas-background-option input[type=radio]{position:absolute;opacity:0;cursor:pointer}.canvas-background-radio-label{display:flex;align-items:center;justify-content:center;height:100%;padding:0 16px;color:rgba(255,255,255,.8);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;user-select:none;border-radius:25px;position:relative;white-space:nowrap}.canvas-background-option input[type=radio]:checked+.canvas-background-radio-label{color:var(--accent-primary);text-shadow:none}.canvas-background-radio-label:hover{color:rgba(255,255,255,.9)}.canvas-background-radio-label::before{content:"";position:absolute;inset:0;border-radius:50px;background:rgba(255,255,255,.1);opacity:0;transition:opacity .3s ease}.canvas-background-radio-label:hover::before{opacity:1}.canvas-background-radio-group[data-mode=grid] .canvas-background-slider{left:4px;width:calc(33.333% - 2.67px)}.canvas-background-radio-group[data-mode=dots] .canvas-background-slider{left:calc(33.333% + 1.33px);width:calc(33.333% - 2.67px)}.canvas-background-radio-group[data-mode=blank] .canvas-background-slider{left:calc(66.666% - 1.33px);width:calc(33.333% - 2.67px)}@media (max-width:1200px){.dynamic-canvas-header-left{flex-wrap:wrap;gap:14px 20px}.canvas-background-radio-group{width:240px}}.switch{--a:0.5s ease-out;cursor:pointer;position:relative;display:inline-flex;height:1.1em;border-radius:2em;box-shadow:0 0 0 .66em #aaa;aspect-ratio:212.4992/84.4688;background-color:#aaa}#connectionPriorityCheck{opacity:0;width:0;height:0}.switch svg{height:100%}.switch svg path{color:#fff;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:136 224;transition:all var(--a),0s transform;transform-origin:center}#connectionPriorityCheck:checked~.switch svg path{stroke-dashoffset:180;transform:scaleY(-1)}.dynamic-canvas-close-btn{background:0 0;border:none;color:var(--text-primary);cursor:pointer;padding:8px;transition:all .3s ease}.dynamic-canvas-close-btn:hover{color:var(--accent-primary);transform:rotate(90deg)}.dynamic-canvas-close-btn svg{width:24px;height:24px}.dynamic-canvas-unified-btn{border:1px solid var(--accent-mid);background:rgba(13,27,42,.58);color:var(--text-primary);border-radius:10px;width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease}.dynamic-canvas-unified-btn:hover{border-color:var(--accent-primary);background:rgba(58,123,213,.22);transform:translateY(-1px)}.dynamic-canvas-unified-btn:active{transform:translateY(0)}.dynamic-canvas-unified-btn-icon{width:20px;height:20px}.dynamic-canvas-toolbar{display:flex;gap:15px;padding:10px 30px;background:var(--accent-soft);border-bottom:1px solid var(--accent-soft);flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;align-items:center;height:61px;flex-shrink:0;box-sizing:border-box}.canvas-component-group{flex:0 1 auto;min-width:200px;max-width:300px;height:40px;background:var(--glass-bg);border:1px solid var(--border-color);border-radius:8px;overflow:visible;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;position:relative;box-sizing:border-box}.canvas-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;height:40px;padding:0 15px;border:none;background:var(--accent-soft);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;cursor:pointer;transition:all .3s ease;border-radius:8px;box-sizing:border-box}.canvas-group-header:hover{background:var(--accent-mid)}.group-title{font-weight:600;letter-spacing:.05em}.dropdown-arrow{width:16px;height:16px;transition:transform .3s ease}.canvas-group-header.expanded .dropdown-arrow{transform:rotate(180deg)}.canvas-group-content{display:none;padding:10px;position:fixed;z-index:10001;animation:slideDown .3s ease-out;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:var(--glass-bg);border:1px solid var(--border-color);border-radius:8px;min-width:200px;max-width:300px}.canvas-group-content.show{display:block}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.canvas-tool-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;margin:5px 0;border:1px solid var(--border-color);border-radius:6px;background:var(--canvas-node-inline-bg);cursor:pointer;transition:all .3s ease}.canvas-tool-item:hover{border-color:var(--accent-primary);background:var(--accent-soft);transform:translateY(-2px)}.component-name{color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;flex:1}.ui-bookmark{--icon-size:24px;--icon-secondary-color:rgb(77, 77, 77);--icon-hover-color:rgb(97, 97, 97);--icon-primary-color:var(--accent-primary);--icon-circle-border:1px solid var(--icon-primary-color);--icon-circle-size:35px;--icon-anmt-duration:0.3s;display:flex;align-items:center;justify-content:center}.ui-bookmark input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.ui-bookmark .bookmark{width:var(--icon-size);height:auto;fill:var(--icon-secondary-color);cursor:pointer;-webkit-transition:.2s;-o-transition:.2s;transition:.2s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}.bookmark::after{content:"";position:absolute;width:10px;height:10px;-webkit-box-shadow:0 30px 0 -4px var(--icon-primary-color),30px 0 0 -4px var(--icon-primary-color),0 -30px 0 -4px var(--icon-primary-color),-30px 0 0 -4px var(--icon-primary-color),-22px 22px 0 -4px var(--icon-primary-color),-22px -22px 0 -4px var(--icon-primary-color),22px -22px 0 -4px var(--icon-primary-color),22px 22px 0 -4px var(--icon-primary-color);box-shadow:0 30px 0 -4px var(--icon-primary-color),30px 0 0 -4px var(--icon-primary-color),0 -30px 0 -4px var(--icon-primary-color),-30px 0 0 -4px var(--icon-primary-color),-22px 22px 0 -4px var(--icon-primary-color),-22px -22px 0 -4px var(--icon-primary-color),22px -22px 0 -4px var(--icon-primary-color),22px 22px 0 -4px var(--icon-primary-color);border-radius:50%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.bookmark::before{content:"";position:absolute;border-radius:50%;border:var(--icon-circle-border);opacity:0}.ui-bookmark:hover .bookmark{fill:var(--icon-hover-color)}.ui-bookmark input:checked+.bookmark::after{-webkit-animation:circles var(--icon-anmt-duration) cubic-bezier(.175,.885,.32,1.275) forwards;animation:circles var(--icon-anmt-duration) cubic-bezier(.175,.885,.32,1.275) forwards;-webkit-animation-delay:var(--icon-anmt-duration);animation-delay:var(--icon-anmt-duration)}.ui-bookmark input:checked+.bookmark{fill:var(--icon-primary-color);-webkit-animation:bookmark var(--icon-anmt-duration) forwards;animation:bookmark var(--icon-anmt-duration) forwards;-webkit-transition-delay:0.3s;-o-transition-delay:0.3s;transition-delay:0.3s}.ui-bookmark input:checked+.bookmark::before{-webkit-animation:circle var(--icon-anmt-duration) cubic-bezier(.175,.885,.32,1.275) forwards;animation:circle var(--icon-anmt-duration) cubic-bezier(.175,.885,.32,1.275) forwards;-webkit-animation-delay:var(--icon-anmt-duration);animation-delay:var(--icon-anmt-duration)}@-webkit-keyframes bookmark{50%{-webkit-transform:scaleY(.6);transform:scaleY(.6)}100%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes bookmark{50%{-webkit-transform:scaleY(.6);transform:scaleY(.6)}100%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes circle{from{width:0;height:0;opacity:0}90%{width:var(--icon-circle-size);height:var(--icon-circle-size);opacity:1}to{opacity:0}}@keyframes circle{from{width:0;height:0;opacity:0}90%{width:var(--icon-circle-size);height:var(--icon-circle-size);opacity:1}to{opacity:0}}@-webkit-keyframes circles{from{-webkit-transform:scale(0);transform:scale(0)}40%{opacity:1}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}@keyframes circles{from{-webkit-transform:scale(0);transform:scale(0)}40%{opacity:1}to{-webkit-transform:scale(.8);transform:scale(.8);opacity:0}}.dynamic-canvas-canvas{flex:1;position:relative;overflow:hidden;background:var(--bg-secondary);cursor:grab;min-height:400px;z-index:1}.dynamic-canvas-canvas:active{cursor:grabbing}.canvas-grid{position:absolute;top:0;left:0;width:100000px;height:100000px;background-image:none;background-size:20px 20px;pointer-events:none;transform-origin:0 0;z-index:0}.canvas-grid.canvas-grid-animating{animation:canvasGridFadeIn .28s ease}.canvas-grid-transition{z-index:1;animation:canvasGridFadeOut .28s ease forwards}@keyframes canvasGridFadeIn{from{opacity:.32}to{opacity:1}}@keyframes canvasGridFadeOut{from{opacity:1}to{opacity:0}}.canvas-grid--grid{background-image:linear-gradient(rgba(128,128,128,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(128,128,128,.2) 1px,transparent 1px)}.canvas-grid--dots{background-image:radial-gradient(circle,rgba(180,192,226,.32) 1.5px,transparent 1.5px);background-size:20px 20px;background-position:10px 10px}.canvas-grid--blank{background-image:none}.canvas-nodes-container{position:absolute;top:0;left:0;width:100000px;height:100000px;transform-origin:0 0;z-index:10;pointer-events:none}.canvas-node{pointer-events:auto}.canvas-node.exec-queued{border:2px dashed #6c757d!important;box-shadow:0 0 6px rgba(108,117,125,.3)}.canvas-node.exec-running{border:2px solid #fd7e14!important;animation:exec-pulse 1.5s ease-in-out infinite}.canvas-node.exec-success{border:2px solid #28a745!important;animation:exec-flash-green .6s ease-out}.canvas-node.exec-failed{border:2px solid #dc3545!important;box-shadow:0 0 8px rgba(220,53,69,.3)}@keyframes exec-pulse{0%,100%{box-shadow:0 0 0 0 rgba(253,126,20,.4)}50%{box-shadow:0 0 12px 4px rgba(253,126,20,.4)}}@keyframes exec-flash-green{0%{box-shadow:0 0 20px rgba(40,167,69,.6)}100%{box-shadow:none}}.pipeline-progress{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);background:rgba(13,27,42,.9);border:1px solid rgba(58,123,213,.4);border-radius:20px;padding:8px 20px;color:#c8d6e5;font-size:13px;z-index:300;display:flex;align-items:center;gap:10px;backdrop-filter:blur(8px)}.pipeline-progress-bar{width:120px;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}.pipeline-progress-fill{height:100%;background:linear-gradient(90deg,#3a7bd5,#28a745);border-radius:3px;transition:width .3s ease}.connection-tooltip{position:fixed;z-index:10001;background:rgba(13,27,42,.95);border:1px solid rgba(27,58,92,.8);border-radius:6px;padding:8px 12px;color:#c8d6e5;font-size:12px;max-width:240px;pointer-events:none;box-shadow:0 4px 12px rgba(0,0,0,.4);backdrop-filter:blur(6px)}.connection-tooltip img{border-radius:4px;max-width:100%}.connection-tooltip .no-data{color:#fd7e14}.connection-tooltip .data-label{color:#89a;font-size:11px;margin-bottom:4px}.canvas-minimap{position:absolute;bottom:75px;right:20px;width:200px;height:150px;background:rgba(10,20,30,.85);border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden;z-index:250;cursor:pointer;backdrop-filter:blur(6px);transition:opacity .2s}.canvas-minimap.hidden{display:none}.canvas-minimap canvas{width:100%;height:100%}.canvas-minimap-viewport{position:absolute;border:1.5px dashed rgba(255,255,255,.5);pointer-events:none;border-radius:2px}.canvas-minimap-toggle{position:absolute;bottom:230px;right:20px;background:rgba(10,20,30,.85);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);font-size:14px;cursor:pointer;padding:4px 6px;line-height:1;z-index:250;border-radius:4px;backdrop-filter:blur(6px)}.canvas-minimap-toggle:hover{color:rgba(255,255,255,.8);background:rgba(10,20,30,.95)}.canvas-connections{position:absolute;top:0;left:0;width:100000px;height:100000px;pointer-events:none;overflow:visible;transform-origin:0 0;z-index:100}.blueprint-controls{position:absolute;bottom:13px;left:20px;display:flex;gap:8px;z-index:200}.blueprint-btn{width:170px;height:50px;border-radius:5px;border:none;transition:all .5s ease-in-out;font-size:20px;font-family:Verdana,Geneva,Tahoma,sans-serif;font-weight:600;display:flex;align-items:center;background:#040f16;color:#f5f5f5;cursor:pointer;position:relative;overflow:hidden}.blueprint-btn:hover{box-shadow:0 0 20px 0 #2e2e2e3a}.blueprint-btn .blueprint-btn-icon{position:absolute;height:40px;width:70px;display:flex;justify-content:center;align-items:center;transition:all .5s}.blueprint-btn .blueprint-btn-text{transform:translateX(55px);transition:all .5s;white-space:nowrap}.blueprint-btn:hover .blueprint-btn-icon{width:175px}.blueprint-btn:hover .blueprint-btn-text{opacity:0}.blueprint-btn:focus{outline:0}.blueprint-btn:active .blueprint-btn-icon{transform:scale(.85)}.blueprint-save-btn{width:50px;height:50px;border-radius:5px;border:none;background:#040f16;color:#f5f5f5;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.blueprint-save-btn:hover{box-shadow:0 0 20px 0 #2e2e2e3a;transform:rotate(90deg)}.blueprint-save-btn:focus{outline:0}.blueprint-save-btn:active{transform:scale(.9) rotate(90deg)}.blueprint-user-popup{position:absolute;bottom:70px;left:20px;min-width:200px;max-height:400px;overflow-y:auto;background:#0d1b2a;border:1px solid #1b3a5c;border-radius:8px;box-shadow:0 -4px 24px rgba(0,0,0,.5);z-index:300;padding:6px 0;animation:blueprint-slide-up .25s ease-out}@keyframes blueprint-slide-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.blueprint-user-item{padding:10px 16px;color:#c8d6e5;font-size:14px;cursor:pointer;position:relative;transition:background .2s;white-space:nowrap}.blueprint-user-item.active,.blueprint-user-item:hover{background:#1b3a5c;color:#fff}.blueprint-list-popup{position:absolute;min-width:220px;max-height:400px;overflow-y:auto;background:#0d1b2a;border:1px solid #1b3a5c;border-radius:8px;box-shadow:4px 0 24px rgba(0,0,0,.5);z-index:310;padding:6px 0;margin-left:4px;animation:blueprint-slide-right .2s ease-out}@keyframes blueprint-slide-right{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.blueprint-file-item{padding:8px 16px;color:#c8d6e5;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .2s}.blueprint-file-item:hover{background:#1b3a5c;color:#fff}.blueprint-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blueprint-file-delete{width:22px;height:22px;border:none;border-radius:4px;background:rgba(220,53,69,.2);color:#dc3545;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,color .2s}.blueprint-file-delete:hover{background:#dc3545;color:#fff}.blueprint-empty-hint{padding:12px 16px;color:#576574;font-size:13px;text-align:center;font-style:italic}.blueprint-save-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10000;display:flex;align-items:center;justify-content:center;animation:blueprint-fade-in .2s ease-out}@keyframes blueprint-fade-in{from{opacity:0}to{opacity:1}}.blueprint-save-modal{background:#0d1b2a;border:1px solid #1b3a5c;border-radius:12px;padding:24px;min-width:340px;box-shadow:0 8px 32px rgba(0,0,0,.6);animation:blueprint-modal-scale .25s ease-out}@keyframes blueprint-modal-scale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.blueprint-save-modal h3{color:#f5f5f5;font-size:18px;margin:0 0 16px 0;font-family:'Noto Serif SC',serif}.blueprint-save-modal input[type=text]{width:100%;padding:10px 14px;border:1px solid #1b3a5c;border-radius:6px;background:#162a3e;color:#f5f5f5;font-size:14px;outline:0;box-sizing:border-box;transition:border-color .2s}.blueprint-save-modal input[type=text]:focus{border-color:#3a7bd5}.blueprint-save-modal-btns{display:flex;gap:10px;margin-top:18px;justify-content:flex-end}.blueprint-save-modal-btns button{padding:8px 22px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s,transform .1s}.blueprint-save-modal-btns button:active{transform:scale(.96)}.blueprint-save-confirm{background:#3a7bd5;color:#fff}.blueprint-save-confirm:hover{background:#2b6cc4}.blueprint-save-cancel{background:#2d3a4a;color:#c8d6e5}.blueprint-save-cancel:hover{background:#3d4a5a}.blueprint-list-popup::-webkit-scrollbar,.blueprint-user-popup::-webkit-scrollbar{width:4px}.blueprint-list-popup::-webkit-scrollbar-thumb,.blueprint-user-popup::-webkit-scrollbar-thumb{background:#1b3a5c;border-radius:2px}.blueprint-list-popup::-webkit-scrollbar-track,.blueprint-user-popup::-webkit-scrollbar-track{background:0 0}.canvas-zoom-controls{position:absolute;bottom:13px;right:150px;display:flex;gap:8px;background:var(--canvas-node-base-bg);padding:8px;border-radius:8px;border:1px solid var(--border-color);z-index:100}.canvas-zoom-btn{width:36px;height:36px;border:1px solid var(--border-color);border-radius:6px;background:var(--accent-soft);color:var(--text-primary);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.canvas-clear-btn{width:36px;height:36px;border-radius:6px;background:var(--canvas-node-base-bg);border:1px solid var(--border-color);font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 20px rgba(0,0,0,.164);cursor:pointer;transition-duration:.3s;overflow:hidden;position:relative;gap:1px;flex-shrink:0}.canvas-clear-btn .svgIcon{width:16px;transition-duration:.3s;color:var(--text-primary)}.canvas-clear-btn:hover{width:100px;border-radius:6px;transition-duration:.3s;background:var(--error-bg);border-color:var(--error-color);align-items:center;gap:0}.canvas-clear-btn:hover .bin-bottom{width:36px;transition-duration:.3s;transform:translateY(60%)}.bin-top{transform-origin:bottom right}.canvas-clear-btn:hover .bin-top{width:36px;transition-duration:.3s;transform:translateY(60%) rotate(160deg)}.canvas-clear-btn::before{position:absolute;top:-20px;content:"娓呯┖鐢诲竷";color:#fff;transition-duration:.3s;font-size:2px;opacity:0}.canvas-clear-btn:hover::before{font-size:12px;opacity:1;transform:translateY(28px);transition-duration:.3s}.canvas-zoom-btn:hover{background:var(--accent-mid);border-color:var(--accent-primary)}.canvas-zoom-level{padding:8px 12px;color:var(--text-secondary);font-family:'Noto Serif SC',serif;font-size:.85rem;min-width:60px;text-align:center}.canvas-pipeline-btn{color:#28a745!important;font-size:14px!important}.canvas-pipeline-stop-btn{color:#dc3545!important;font-size:14px!important}.canvas-node{position:absolute;background:var(--canvas-node-base-bg);border:2px solid var(--border-color);border-radius:10px;min-width:320px;max-width:500px;box-shadow:0 8px 32px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);user-select:none;z-index:20}.canvas-node.selected{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow-strong)}.canvas-selection-box{position:absolute;border:1px dashed var(--accent-glow-strong);background:var(--accent-soft);pointer-events:none;z-index:1000}.canvas-node-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--accent-mid);border-bottom:1px solid var(--accent-glow);border-radius:8px 8px 0 0;cursor:move}.canvas-node-title{font-family:'Noto Serif SC',serif;font-size:.9rem;font-weight:600;color:var(--text-primary);letter-spacing:.05em}.canvas-node-custom-name{font-family:'Noto Serif SC',serif;font-size:.75rem;color:var(--text-secondary);letter-spacing:.05em;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .3s ease;user-select:none}.canvas-node-custom-name:hover{background:var(--accent-mid);color:var(--accent-primary)}.canvas-node-priority-control{display:flex;align-items:center;gap:4px;margin:0 8px;padding:2px 6px;border-radius:4px;background:var(--canvas-node-soft-bg);border:1px solid var(--accent-mid);transition:all .3s ease}.canvas-node-priority-control:hover{border-color:var(--accent-glow-strong);background:var(--accent-soft)}.priority-label{font-family:'Noto Serif SC',serif;font-size:.7rem;font-weight:600;color:var(--accent-primary);line-height:1}.canvas-node-priority-input{width:40px;height:20px;padding:0 4px;border:none;border-radius:3px;background:0 0;color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.75rem;text-align:center;outline:0;transition:all .3s ease;cursor:pointer;-moz-appearance:textfield;user-select:none}.canvas-node-priority-input[readonly]{cursor:pointer;background:0 0;pointer-events:auto;caret-color:transparent}.canvas-node-priority-input:not([readonly]){cursor:text;background:var(--accent-mid);caret-color:var(--text-primary);user-select:auto}.canvas-node-priority-input:focus{background:var(--accent-mid);box-shadow:0 0 0 2px var(--accent-glow)}.canvas-node-priority-input::-webkit-inner-spin-button,.canvas-node-priority-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.canvas-node-priority-input::-moz-number-spin-buttons{-moz-appearance:textfield}.canvas-node-delete{background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;transition:all .3s ease}.canvas-node-delete:hover{color:var(--error-color)}.canvas-node-delete svg{width:16px;height:16px}.canvas-node-body{display:flex;padding:16px;gap:16px;align-items:stretch;overflow:visible;box-sizing:border-box}.canvas-node-ports-input{display:flex;flex-direction:column;gap:8px;min-width:60px;max-width:80px;align-items:flex-start;flex-shrink:0}.canvas-node-main-content{flex:1;min-width:200px;display:flex;flex-direction:column;overflow:visible}.canvas-node.canvas-node-no-ports .canvas-node-body{gap:0}.canvas-node.canvas-node-no-ports .canvas-node-ports-input,.canvas-node.canvas-node-no-ports .canvas-node-ports-output{display:none}.canvas-node.canvas-node-no-ports .canvas-node-main-content{min-width:260px}.canvas-node-content{display:flex;flex-direction:column;gap:8px}.canvas-node-content label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;font-family:'Noto Serif SC',serif}.canvas-node-content input,.canvas-node-content textarea{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--canvas-node-inline-bg);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.8rem;transition:all .3s ease;box-sizing:border-box}.canvas-node-content input:focus,.canvas-node-content textarea:focus{outline:0;border-color:var(--accent-primary)}.canvas-node-content textarea{min-height:50px;resize:vertical}.canvas-node-style-era-content .canvas-node-style-era-select{width:100%}.canvas-node-design-draft .canvas-node-design-draft-project-select{width:100%}.canvas-node-style-era-content .canvas-node-style-era-select .config-select-input{width:100%;padding:10px 40px 10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;line-height:1.2;transition:all .3s ease;cursor:text;box-sizing:border-box}.canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-input{width:100%;padding:10px 40px 10px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;line-height:1.2;transition:all .3s ease;cursor:pointer;box-sizing:border-box}.canvas-node-style-era-content .canvas-node-style-era-select .config-select-input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-input:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-mid)}.canvas-node-style-era-content .canvas-node-style-era-select .config-select-btn{width:30px;height:30px;right:7px;border-radius:8px}.canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-btn{width:30px;height:30px;right:7px;border-radius:8px}.canvas-node-style-era-content .canvas-node-style-era-select .config-select-dropdown{top:calc(100% + 6px);z-index:1100;max-height:180px}.canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-dropdown{top:calc(100% + 6px);z-index:1100;max-height:180px}.canvas-node-style-era-content .canvas-node-style-era-select .config-select-option{font-size:.84rem;padding:8px 10px}.canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-option{font-size:.84rem;padding:8px 10px}.canvas-node-marker .canvas-node-main-content{min-width:288px}.canvas-node-marker-content{gap:8px}.canvas-node-marker{border:1px solid rgba(30,108,210,.85);background:linear-gradient(180deg,rgba(235,225,180,.98) 0,rgba(229,219,173,.97) 100%);box-shadow:0 12px 28px rgba(18,42,91,.25),0 1px 0 rgba(255,255,255,.55) inset}.canvas-node-marker .canvas-node-header{position:absolute;top:8px;right:8px;padding:0;background:0 0;border:none;border-radius:0;min-height:0;z-index:3}.canvas-node-marker .canvas-node-custom-name,.canvas-node-marker .canvas-node-priority-control,.canvas-node-marker .canvas-node-title{display:none}.canvas-node-marker .canvas-node-delete{color:#9a6f12;padding:2px;border-radius:6px;background:rgba(255,255,255,.28)}.canvas-node-marker .canvas-node-delete:hover{background:rgba(255,255,255,.45)}.canvas-node-marker-topbar{display:flex;justify-content:flex-start;align-items:center;font-family:"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:rgba(122,88,8,.88);font-size:.74rem;margin-bottom:2px}.canvas-node-marker-folder{font-weight:600;letter-spacing:.01em}.canvas-node-marker-time{font-variant-numeric:tabular-nums}.canvas-node-marker-title-input{width:100%;border:1px solid rgba(214,214,214,.9);border-radius:8px;background:rgba(171,167,148,.94);color:#000;font-size:1rem;font-weight:700;padding:8px 10px;font-family:"SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;box-shadow:0 1px 0 rgba(255,255,255,.24) inset}.canvas-node-marker-title-input:focus{outline:0;box-shadow:0 0 0 2px rgba(255,203,64,.35),0 1px 0 rgba(255,255,255,.24) inset}.canvas-node-marker-textarea::placeholder,.canvas-node-marker-title-input::placeholder{color:rgba(0,0,0,.35)}.canvas-node-marker-fontsize-row{display:flex;align-items:center;gap:8px;padding:2px 2px 0;justify-content:flex-end}.canvas-node-marker-fontsize-label{font-family:"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:.72rem;color:rgba(80,56,5,.85);min-width:30px}.canvas-node-marker-fontsize-input{width:54px;padding:4px 6px;border:1px solid rgba(214,214,214,.9);border-radius:6px;background:rgba(171,167,148,.94);color:#000;font-size:.78rem;text-align:center}.canvas-node-marker-fontsize-input:focus{outline:0;box-shadow:0 0 0 2px rgba(59,130,246,.25)}.canvas-node-marker-textarea{min-height:384px;line-height:2;font-size:16px;border:1px solid rgba(214,214,214,.9);border-radius:10px;color:#000;font-family:"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;padding:10px 12px;box-shadow:0 1px 0 rgba(255,255,255,.24) inset;background:rgba(171,167,148,.94);resize:none;overflow:hidden}.canvas-node-marker-textarea:focus{outline:0;box-shadow:0 0 0 2px rgba(255,203,64,.3),0 1px 0 rgba(255,255,255,.24) inset}.canvas-node-marker-footer{display:flex;justify-content:space-between;align-items:center;margin-top:2px;color:rgba(122,88,8,.82);font-size:.72rem;font-family:"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}.canvas-node-marker-count{font-variant-numeric:tabular-nums;font-weight:600}.canvas-node-icon-marker{background:0 0;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;min-width:0;max-width:none}.canvas-node-icon-marker.selected{border:none;box-shadow:none}.canvas-node-icon-marker .canvas-node-body{padding:0;gap:0}.canvas-node.canvas-node-no-ports.canvas-node-icon-marker .canvas-node-main-content{min-width:0}.canvas-node-icon-marker .canvas-node-content{padding:0;border:none;background:0 0}.canvas-node-icon-marker .canvas-node-header{position:absolute;top:-12px;right:-12px;padding:0;border:none;background:0 0;min-height:0;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:5}.canvas-node-icon-marker.selected .canvas-node-header,.canvas-node-icon-marker:hover .canvas-node-header{opacity:1;pointer-events:auto}.canvas-node-icon-marker .canvas-node-custom-name,.canvas-node-icon-marker .canvas-node-priority-control,.canvas-node-icon-marker .canvas-node-title{display:none}.canvas-node-icon-marker .canvas-node-delete{color:rgba(255,255,255,.92);padding:3px;border-radius:999px;background:rgba(0,0,0,.38)}.canvas-node-icon-marker .canvas-node-delete:hover{background:rgba(0,0,0,.56)}.canvas-node-icon-marker-content{align-items:flex-start;gap:0}.canvas-node-icon-marker-upload{display:inline-flex;align-items:flex-start}.canvas-node-icon-preview{position:relative;width:180px;height:180px;border:1px dashed rgba(210,210,210,.58);border-radius:12px;background:rgba(255,255,255,.06);overflow:visible;cursor:default;user-select:none;transition:border-color .2s ease,background-color .2s ease}.canvas-node-icon-preview:active{cursor:default}.canvas-node-icon-preview.has-image{border:none;border-radius:0;background:0 0}.canvas-node-icon-image{width:100%;height:100%;display:none;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 8px 18px rgba(0, 0, 0, .28))}.canvas-node-icon-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.8rem;font-family:"SF Pro Text","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;text-align:center;padding:0 10px;pointer-events:none}.canvas-node-icon-resize-handle{position:absolute;right:-8px;bottom:-8px;width:14px;height:14px;border-radius:4px;background:rgba(17,24,39,.86);border:1px solid rgba(255,255,255,.72);cursor:nwse-resize;opacity:0;pointer-events:none;transition:opacity .2s ease}.canvas-node-icon-preview.has-image .canvas-node-icon-resize-handle{pointer-events:auto}.canvas-node-icon-marker.selected .canvas-node-icon-preview.has-image .canvas-node-icon-resize-handle,.canvas-node-icon-marker:hover .canvas-node-icon-preview.has-image .canvas-node-icon-resize-handle{opacity:1}.canvas-node-model-selector{display:flex;align-items:center;gap:8px;padding:6px 8px;background:rgba(0,0,0,.2);border-radius:6px;margin-bottom:4px}.canvas-node-model-selector .model-selector-label{font-size:.7rem;color:var(--text-secondary);white-space:nowrap}.canvas-node-model-toggle{display:flex;background:rgba(0,0,0,.3);border-radius:8px;padding:2px;gap:2px}.node-model-radio{display:none}.node-model-label{padding:3px 8px;font-size:.65rem;font-family:'Noto Serif SC',serif;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.node-model-radio:checked+.node-model-label{background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-weight:500}.node-model-label:hover{color:var(--text-primary)}.canvas-node-ports-output{display:flex;flex-direction:column;gap:8px;min-width:60px;max-width:80px;align-items:flex-end;flex-shrink:0}.canvas-node-generate-btn{width:auto;min-width:120px;padding:10px 24px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-primary) 0,var(--accent-secondary) 100%);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px;box-shadow:0 4px 12px var(--accent-glow);white-space:nowrap;letter-spacing:.02em;align-self:center}.canvas-node-generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow-strong)}.canvas-node-generate-btn:active{transform:translateY(0)}.canvas-node-generate-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px var(--accent-glow)}.canvas-node-generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.canvas-node-port{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-primary);font-family:'Noto Serif SC',serif;padding:4px 0;position:relative;min-height:18px}.canvas-node-port-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-primary);border:2px solid rgba(255,255,255,.3);cursor:crosshair;transition:all .3s ease;flex-shrink:0;box-shadow:0 0 8px var(--accent-glow);position:absolute;top:50%;transform:translateY(-50%);z-index:2}.canvas-node-port-dot::before{content:'';position:absolute;top:-8px;bottom:-8px}.canvas-node-port-dot:hover{transform:translateY(-50%) scale(1.2);box-shadow:0 0 12px var(--accent-glow-strong)}.canvas-node-port-dot.input{left:-23px}.canvas-node-port-dot.input::before{left:100%;width:20px}.canvas-node-port-dot.input.status-disconnected{background:var(--accent-primary);border-color:rgba(255,255,255,.35);box-shadow:0 0 10px var(--accent-glow)}.canvas-node-port-dot.input.status-valid{background:var(--success-color);border-color:rgba(255,255,255,.45);box-shadow:0 0 10px var(--success-glow)}.canvas-node-port-dot.input.status-invalid{background:var(--error-color);border-color:rgba(255,255,255,.45);box-shadow:0 0 10px var(--error-glow)}.canvas-node-port-dot.output{right:-23px;background:var(--accent-secondary);border-color:rgba(255,255,255,.3);box-shadow:0 0 8px rgba(0,201,215,.3)}.canvas-node-port-dot.output::before{right:100%;width:20px}.canvas-node-port-status{display:none!important}.canvas-node[data-collapsed=true] .canvas-node-body{display:none!important}.canvas-node[data-collapsed=true]{min-width:auto}.canvas-node-image-upload{width:100%;min-height:100px;max-height:150px;border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;margin-bottom:12px;overflow:hidden}.canvas-node-image-upload:hover{border-color:var(--accent-primary);background:var(--accent-soft)}.canvas-node-image-upload.has-image{border-style:solid;padding:8px}.canvas-node-image-upload img,.canvas-node-image-upload video{max-width:100%;max-height:134px;border-radius:6px;display:block}.canvas-node-all-frame-item img,.canvas-node-design-draft-preview img,.canvas-node-icon-image,.canvas-node-image-upload img,.canvas-node-result img,.canvas-node-result-frame img{cursor:zoom-in}.canvas-node-image-upload-text{text-align:center;color:var(--text-secondary);font-size:.85rem;font-family:'Noto Serif SC',serif}.canvas-node-image-name{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--canvas-node-inline-bg);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.8rem;margin-top:8px}.canvas-node-asset-shell{width:min(560px,92vw)}.canvas-node-asset-library{display:flex;flex-direction:column;gap:8px}.canvas-node-asset-project-row{display:flex;gap:8px;align-items:center;position:relative}.canvas-node-asset-project-row::after{content:'';position:absolute;right:90px;top:50%;width:7px;height:7px;border-right:2px solid rgba(227,236,255,.82);border-bottom:2px solid rgba(227,236,255,.82);transform:translateY(-62%) rotate(45deg);pointer-events:none}.canvas-node-asset-project-select{flex:1;min-width:0;height:34px;padding:0 34px 0 12px;border:1px solid rgba(130,152,208,.45);border-radius:8px;background:linear-gradient(180deg,rgba(17,27,54,.96),rgba(11,18,40,.96));color:#f2f6ff;font-family:'Noto Serif SC',serif;font-size:.82rem;line-height:34px;appearance:none;-webkit-appearance:none;transition:border-color .2s ease,box-shadow .2s ease}.canvas-node-asset-project-select:focus{outline:0;border-color:rgba(121,160,255,.85);box-shadow:0 0 0 2px rgba(121,160,255,.24)}.canvas-node-asset-project-select option{background:#101a37;color:#eaf1ff}.canvas-node-asset-refresh-btn{min-width:66px;height:34px;padding:0 12px;border:1px solid rgba(130,152,208,.48);border-radius:8px;background:rgba(26,40,74,.72);color:#e6eeff;font-family:'Noto Serif SC',serif;font-size:.74rem;cursor:pointer;transition:all .2s ease}.canvas-node-asset-refresh-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.canvas-node-asset-tabs{display:flex;gap:6px;flex-wrap:wrap}.canvas-node-asset-tab{padding:4px 10px;border:1px solid rgba(128,148,198,.45);border-radius:999px;background:rgba(15,23,49,.54);color:#b7c3e3;font-family:'Noto Serif SC',serif;font-size:.71rem;cursor:pointer;transition:all .2s ease}.canvas-node-asset-tab.active{border-color:var(--accent-primary);background:rgba(61,102,214,.22);color:#e9f1ff}.canvas-node-asset-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-node-asset-section-head>label{margin:0}.canvas-node-asset-fetch-btn{min-width:72px;height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(128,148,198,.5);background:rgba(17,27,54,.72);color:#d9e6ff;font-family:'Noto Serif SC',serif;font-size:.68rem;cursor:pointer;transition:all .2s ease}.canvas-node-asset-fetch-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.canvas-node-asset-fetch-btn.ready{border-color:rgba(99,212,165,.8);color:#b4ffde}.canvas-node-asset-fetch-btn:disabled{opacity:.45;cursor:not-allowed}.canvas-node-asset-panel{border:1px solid rgba(119,141,193,.5);border-radius:10px;background:linear-gradient(180deg,rgba(13,20,44,.86),rgba(8,14,32,.88));box-shadow:inset 0 0 0 1px rgba(76,100,156,.24);padding:10px;min-height:124px}.canvas-node-asset-panel-ref{max-height:286px}.canvas-node-asset-panel-active{min-height:192px;max-height:408px}.canvas-node-asset-active-grid,.canvas-node-asset-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:2px;align-content:start}.canvas-node-asset-reference-grid{max-height:266px}.canvas-node-asset-active-grid{max-height:388px}.canvas-node-asset-item{min-width:0;border:1px solid rgba(116,136,186,.42);border-radius:8px;background:rgba(10,17,38,.58);padding:2px;display:grid;grid-template-rows:92px auto;gap:2px;transition:border-color .2s ease,box-shadow .2s ease}.canvas-node-asset-item:hover{border-color:rgba(119,156,255,.68)}.canvas-node-asset-item.is-active{border-color:rgba(106,212,171,.88);box-shadow:inset 0 0 0 1px rgba(106,212,171,.35)}.canvas-node-asset-active-thumb-btn,.canvas-node-asset-thumb-btn{width:100%;height:92px;border:1px solid rgba(102,124,178,.36);border-radius:6px;background:rgba(4,9,24,.74);overflow:hidden;cursor:zoom-in;padding:0;transition:border-color .2s ease}.canvas-node-asset-active-thumb-btn:hover,.canvas-node-asset-thumb-btn:hover{border-color:rgba(120,164,255,.78)}.canvas-node-asset-active-thumb-btn img,.canvas-node-asset-thumb-btn img{width:100%;height:100%;object-fit:cover;display:block}.canvas-node-asset-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9cb2e3;font-size:.62rem;line-height:1.2}.canvas-node-asset-meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:end}.canvas-node-asset-active-name,.canvas-node-asset-name{min-width:0;color:#eef3ff;font-size:.75rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:clip;display:block}.canvas-node-asset-active-name.is-wrapped,.canvas-node-asset-name.is-wrapped{white-space:normal;overflow:visible;text-overflow:initial;overflow-wrap:anywhere;word-break:break-word;display:block}.canvas-node-asset-toggle-btn{flex-shrink:0;padding:1px 6px;border:1px solid rgba(129,151,203,.52);border-radius:999px;background:rgba(18,31,65,.68);color:#d8e6ff;font-family:'Noto Serif SC',serif;font-size:.58rem;line-height:1.5;cursor:pointer;transition:all .2s ease}.canvas-node-asset-toggle-btn.active{border-color:rgba(99,212,165,.88);color:#c9ffe8;background:rgba(25,64,54,.5)}.canvas-node-asset-active-item{min-width:0;border:1px solid rgba(116,136,186,.42);border-radius:8px;background:rgba(10,17,38,.58);padding:2px;display:grid;grid-template-rows:92px auto auto auto;gap:2px;align-content:start;transition:border-color .2s ease}.canvas-node-asset-active-item:hover{border-color:rgba(119,156,255,.68)}.canvas-node-asset-type-badge{width:fit-content;padding:1px 6px;border-radius:999px;border:1px solid rgba(115,156,255,.72);color:#cfe0ff;font-size:.58rem;line-height:1.35}.canvas-node-asset-remove-btn{width:100%;padding:2px 6px;border-radius:6px;border:1px solid rgba(196,130,130,.72);background:rgba(76,26,26,.44);color:#ffd8d8;font-family:'Noto Serif SC',serif;font-size:.6rem;line-height:1.45;cursor:pointer;transition:all .2s ease}.canvas-node-asset-remove-btn:hover{border-color:rgba(248,146,146,.96);color:#fff0f0}.canvas-node-asset-output-hint{font-size:.7rem;color:#b8c5e7}.canvas-node-asset-empty{grid-column:1/-1;width:100%;min-height:96px;padding:12px 10px;border-radius:8px;border:1px dashed rgba(118,139,192,.45);background:rgba(9,15,33,.56);color:#aebcdd;font-size:.7rem;text-align:center;line-height:1.45;display:flex;align-items:center;justify-content:center}.canvas-node-director-view{display:grid;gap:8px}.canvas-node-director-upload{min-height:124px;max-height:176px;margin-bottom:4px;background:linear-gradient(180deg,rgba(13,20,39,.82),rgba(7,12,26,.82))}.canvas-node-director-upload.has-image{border-style:solid;padding:8px}.canvas-node-director-controls{display:grid;gap:6px}.canvas-node-director-control{display:grid;grid-template-columns:58px 1fr 60px;gap:8px;align-items:center}.canvas-node-director-control label{color:#d4e2ff;font-size:.72rem}.canvas-node-director-control input[type=range]{width:100%}.canvas-node-director-control input[type=number]{width:100%;height:28px;border:1px solid rgba(96,124,182,.52);border-radius:6px;background:rgba(9,16,35,.72);color:#e6f0ff;text-align:center;font-size:.74rem}.canvas-node-result{overflow:hidden!important;max-height:200px!important;position:relative;box-sizing:border-box;transition:box-shadow .2s ease}.canvas-node-result.review-default{border:none;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(100,149,237,.7)}.canvas-node-result.review-generating{border:none;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(255,193,7,.9),0 0 8px rgba(255,193,7,.3)}.canvas-node-result.review-pending{border:none;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(220,53,69,.9),0 0 8px rgba(220,53,69,.25)}.canvas-node-result.review-approved{border:none;border-radius:6px;box-shadow:inset 0 0 0 2px rgba(40,167,69,.9),0 0 8px rgba(40,167,69,.25)}.canvas-node-review-approve-btn{position:absolute;left:4px;bottom:4px;z-index:20;pointer-events:auto;padding:4px 10px;font-size:.75rem;font-family:'Noto Serif SC',serif;border:none;border-radius:4px;background:rgba(0,0,0,.75);color:#fff;cursor:pointer;transition:background .2s ease}.canvas-node-review-approve-btn:hover:not(:disabled){background:rgba(40,167,69,.9)}.canvas-node-review-approve-btn:disabled{cursor:default;background:rgba(40,167,69,.6);color:rgba(255,255,255,.9)}.canvas-node-result.review-default .canvas-node-review-approve-btn,.canvas-node-result.review-generating .canvas-node-review-approve-btn{display:none}.canvas-node-result.review-approved .canvas-node-review-approve-btn,.canvas-node-result.review-pending .canvas-node-review-approve-btn{display:block}.media-review-container{position:relative;box-sizing:border-box;transition:box-shadow .2s ease;border-radius:6px}.media-review-container.review-default{border:none;box-shadow:inset 0 0 0 2px rgba(100,149,237,.7)}.media-review-container.review-generating{border:none;box-shadow:inset 0 0 0 2px rgba(255,193,7,.9),0 0 8px rgba(255,193,7,.3)}.media-review-container.review-pending{border:none;box-shadow:inset 0 0 0 2px rgba(220,53,69,.9),0 0 8px rgba(220,53,69,.25)}.media-review-container.review-approved{border:none;box-shadow:inset 0 0 0 2px rgba(40,167,69,.9),0 0 8px rgba(40,167,69,.25)}.review-approve-btn{position:absolute;left:4px;bottom:4px;z-index:20;pointer-events:auto;padding:4px 10px;font-size:.75rem;font-family:'Noto Serif SC',serif;border:none;border-radius:4px;background:rgba(0,0,0,.75);color:#fff;cursor:pointer;transition:background .2s ease}.review-approve-btn:hover:not(:disabled){background:rgba(40,167,69,.9)}.review-approve-btn:disabled{cursor:default;background:rgba(40,167,69,.6);color:rgba(255,255,255,.9)}.media-review-container.review-default .review-approve-btn,.media-review-container.review-generating .review-approve-btn{display:none}.media-review-container.review-approved .review-approve-btn,.media-review-container.review-pending .review-approve-btn{display:block}.canvas-node-result-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:200px;overflow:auto;padding:6px}.canvas-node-result-item{position:relative;width:100%;aspect-ratio:1/1;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(0,0,0,.25);overflow:hidden;cursor:pointer;padding:0}.canvas-node-result-item.active{border-color:var(--accent-glow-strong);box-shadow:0 0 0 1px var(--accent-glow-strong),0 6px 16px rgba(0,0,0,.35)}.canvas-node-result-item img,.canvas-node-result-item video{width:100%;height:100%;object-fit:cover;display:block}.canvas-node-result-play-icon{position:absolute;bottom:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);color:#fff;border-radius:4px;font-size:10px;pointer-events:none}.canvas-node-result-unknown{display:inline-flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.75rem}.canvas-node-result img,.canvas-node-result video{max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important}.canvas-node-result-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.canvas-node-action-btn{flex:1;padding:6px 12px;border:none;border-radius:4px;background:var(--accent-mid);color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.75rem;cursor:pointer;transition:all .3s ease}.canvas-node-action-btn:hover{background:var(--accent-glow-strong);transform:translateY(-1px)}.canvas-node-result-frame{overflow:hidden!important;max-height:80px!important}.canvas-node-result-frame img{max-width:100%!important;max-height:100%!important;object-fit:contain!important;display:block!important}.canvas-node-all-frames{margin-top:10px;display:flex;flex-direction:column;gap:6px}.canvas-node-all-frames-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-secondary);font-size:.75rem}.canvas-node-all-frames-count{padding:2px 6px;border-radius:10px;background:var(--accent-mid);color:var(--text-primary);font-size:.7rem}.canvas-node-all-frames-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:150px;overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(0,0,0,.2)}.canvas-node-all-frames-placeholder{color:var(--text-secondary);font-size:.75rem}.canvas-node-all-frame-item{position:relative;width:100%;aspect-ratio:1/1;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.canvas-node-all-frame-item img{width:100%;height:100%;object-fit:cover;display:block}.canvas-node-all-frame-index{position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;font-size:.6rem;padding:1px 4px;border-radius:4px}.canvas-connection-line-visible{stroke:var(--accent-primary);z-index:1;stroke-width:2;fill:none;filter:drop-shadow(0 0 3px var(--accent-glow-strong));transition:all .3s ease;pointer-events:none}.canvas-connection-line-visible.hover{stroke:#ff4444;stroke-width:3;filter:drop-shadow(0 0 8px rgba(255, 68, 68, .6));animation:lineFlow 1s linear infinite}.canvas-connection-line-hit{stroke:transparent;z-index:2;stroke-width:12;fill:none;pointer-events:stroke;cursor:pointer}.canvas-connection-line-hit:hover{stroke:transparent}.canvas-connection-line-temp{stroke:var(--accent-secondary);z-index:3;stroke-width:2;fill:none;stroke-dasharray:5,5;filter:drop-shadow(0 0 3px var(--secondary-glow));pointer-events:none;transition:all .2s ease}.canvas-connection-line-temp.connection-allowed{stroke:#4ade80;stroke-width:2;stroke-dasharray:8,8;filter:drop-shadow(0 0 6px rgba(74, 222, 128, .6));animation:lineFlowForward .5s linear infinite}.canvas-connection-line-temp.connection-forbidden{stroke:var(--error-color);stroke-width:2;stroke-dasharray:8,8;filter:drop-shadow(0 0 6px var(--error-glow));animation:lineFlowBackward .5s linear infinite}@keyframes lineFlow{0%{stroke-dasharray:8,8;stroke-dashoffset:0}100%{stroke-dasharray:8,8;stroke-dashoffset:16}}@keyframes lineFlowForward{0%{stroke-dasharray:8,8;stroke-dashoffset:0}100%{stroke-dasharray:8,8;stroke-dashoffset:-16}}@keyframes lineFlowBackward{0%{stroke-dasharray:8,8;stroke-dashoffset:0}100%{stroke-dasharray:8,8;stroke-dashoffset:16}}.function-buttons-card{position:fixed;top:clamp(88px,13vh,170px);right:0;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:clamp(10px,1.1vw,18px);display:flex;flex-direction:column;align-items:center;padding:clamp(8px,1.4vw,28px);gap:clamp(8px,1.1vw,22px);box-shadow:0 10px 40px rgba(0,0,0,.3);z-index:999;transition:top .28s cubic-bezier(.4, 0, .2, 1)}.function-button-container{position:relative;width:clamp(40px,3.1vw,64px);height:clamp(40px,3.1vw,64px);background:var(--bg-secondary);border-radius:clamp(9px,.8vw,14px);display:flex;align-items:center;justify-content:center;overflow:visible;transition:all .3s cubic-bezier(.4, 0, .2, 1);border:1px solid var(--border-color)}.function-btn-label{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(6px);height:auto;width:max-content;padding:7px 14px;box-sizing:border-box;font-family:'Noto Serif SC',serif;font-size:.8rem;font-weight:500;color:var(--text-primary);white-space:nowrap;opacity:0;border-radius:8px;border:1px solid var(--border-color);border-left:2px solid var(--accent-primary);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 4px 20px rgba(0,0,0,.35);transition:opacity .22s ease,transform .22s cubic-bezier(.4, 0, .2, 1);pointer-events:none;z-index:0}.function-button-container:hover .function-btn-label{opacity:1;transform:translateY(-50%) translateX(0)}.container-zero:hover .function-btn-label{border-left-color:var(--func-zero-end)}.container-one:hover .function-btn-label{border-left-color:var(--func-one-end)}.container-two:hover .function-btn-label{border-left-color:var(--func-two-end)}.container-three:hover .function-btn-label{border-left-color:var(--func-three-end)}.container-four:hover .function-btn-label{border-left-color:var(--func-four-end)}.container-six:hover .function-btn-label{border-left-color:var(--func-six-end)}.function-btn{position:relative;z-index:2;width:100%;height:100%;border:none;border-radius:12px;background:0 0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}a.function-btn.function-btn-link{text-decoration:none;color:inherit}.function-icon{width:clamp(18px,1.5vw,28px);height:clamp(18px,1.5vw,28px);stroke:var(--text-secondary);stroke-width:2;transition:all .3s ease}.container-zero:hover{border-color:var(--func-zero-end);box-shadow:0 0 18px var(--func-zero-glow);transform:scale(1.08)}.container-zero:hover .function-icon{stroke:var(--func-zero-end)}.container-one:hover{border-color:var(--func-one-end);box-shadow:0 0 18px rgba(184,184,184,.25);transform:scale(1.08)}.container-one:hover .function-icon{stroke:var(--func-one-end)}.container-two:hover{border-color:var(--func-two-end);box-shadow:0 0 18px rgba(34,197,94,.3);transform:scale(1.08)}.container-two:hover .function-icon{stroke:var(--func-two-end)}.container-three:hover{border-color:var(--func-three-end);box-shadow:0 0 18px var(--func-three-glow);transform:scale(1.08)}.container-three:hover .function-icon{stroke:var(--func-three-end)}.container-four:hover{border-color:var(--func-four-end);box-shadow:0 0 18px var(--func-four-glow);transform:scale(1.08)}.container-four:hover .function-icon{stroke:var(--func-four-end)}.container-five:hover{border-color:var(--func-five-end);box-shadow:0 0 18px var(--func-five-glow);transform:scale(1.08)}.container-five:hover .function-icon{stroke:var(--func-five-end)}.container-five:hover .function-btn-label{border-left-color:var(--func-five-end)}.container-six:hover{border-color:var(--func-six-end);box-shadow:0 0 18px var(--func-six-glow);transform:scale(1.08)}.container-six:hover .function-icon{stroke:var(--func-six-end)}.container-six:hover .function-btn-label{border-left-color:var(--func-six-end)}.function-button-container:active{transform:scale(.95)}.function-buttons-card:hover .function-button-container:not(:hover){opacity:.4;transform:scale(.95)}.subtitle-script-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:10000;padding:20px;box-sizing:border-box}.subtitle-script-overlay.active{display:flex}.subtitle-script-modal{width:560px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}.subtitle-script-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.subtitle-script-header h3{margin:0;font-family:'Noto Serif SC',serif;font-size:1rem;font-weight:600;color:var(--text-primary)}.subtitle-script-close{background:0 0;border:none;color:var(--text-secondary);font-size:1.4rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s}.subtitle-script-close:hover{color:var(--error-color)}.subtitle-script-body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.subtitle-script-label{font-family:'Noto Serif SC',serif;font-size:.78rem;font-weight:500;color:var(--text-secondary)}.subtitle-script-hint{margin:0;font-size:.72rem;color:var(--text-secondary);opacity:.85;line-height:1.45}.subtitle-script-path-setting{margin-top:10px;border-top:1px solid var(--border-color);padding-top:10px}.subtitle-script-path-row{display:flex;gap:6px;align-items:center}.subtitle-script-path-input{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:.82rem;background:var(--bg-primary);color:var(--text-primary)}.subtitle-script-path-btn{padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;font-size:.82rem;white-space:nowrap}.subtitle-script-path-btn:hover{background:var(--accent-color);color:#fff}.subtitle-script-input,.subtitle-script-output{width:100%;box-sizing:border-box;padding:12px;background:var(--bg-deep);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:'Noto Serif SC',serif;font-size:.85rem;line-height:1.6;resize:vertical;transition:border-color .2s}.subtitle-script-input:focus,.subtitle-script-output:focus{outline:0;border-color:var(--accent-primary)}.subtitle-script-output{background:rgba(0,0,0,.25)}.subtitle-script-actions{display:flex;justify-content:flex-end;gap:10px}.subtitle-script-convert-btn,.subtitle-script-copy-btn,.subtitle-script-import-jianying-btn{padding:8px 20px;border:1px solid var(--func-five-end);border-radius:8px;background:0 0;color:var(--func-five-end);font-family:'Noto Serif SC',serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s ease}.subtitle-script-convert-btn:hover,.subtitle-script-copy-btn:hover,.subtitle-script-import-jianying-btn:hover{background:rgba(20,184,166,.12);box-shadow:0 0 12px var(--func-five-glow)}.subtitle-script-copy-btn,.subtitle-script-import-jianying-btn{border-color:var(--border-color);color:var(--text-secondary)}.subtitle-script-copy-btn:hover,.subtitle-script-import-jianying-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--accent-soft);box-shadow:0 0 12px var(--accent-glow)}:root{--commander-accent:var(--accent-primary)}.commander-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.6);z-index:10000;padding:20px;box-sizing:border-box}.commander-overlay.active{display:flex}.commander-modal{display:flex;flex-direction:column;width:90%;max-width:1400px;height:90vh;max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.5);position:relative;overflow:hidden}.commander-modal-header{display:flex;justify-content:space-between;align-items:center;height:68px;box-sizing:border-box;padding:10px 20px 8px;border-bottom:1px solid var(--border-color);background:linear-gradient(180deg,rgba(249,115,22,.08) 0,transparent 100%)}.commander-modal-header h2{font-family:Cinzel,serif;font-size:1.4rem;color:var(--text-primary);letter-spacing:.15em}.commander-header-title-wrap{display:flex;align-items:center;gap:0;transform:none}.commander-header-title-wrap h2{margin:0}.commander-header-title-row{display:flex;align-items:center;gap:10px}.commander-voice-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.commander-voice-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.commander-voice-toggle-track{width:40px;height:22px;border-radius:999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--glass-bg) 70%,transparent);position:relative;transition:border-color .2s ease,background .2s ease}.commander-voice-toggle-track::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--text-secondary) 90%,#fff);transition:transform .2s ease,background .2s ease}.commander-voice-toggle input:checked+.commander-voice-toggle-track{border-color:color-mix(in srgb,var(--commander-accent) 72%,var(--border-color));background:color-mix(in srgb,var(--commander-accent) 34%,transparent)}.commander-voice-toggle input:checked+.commander-voice-toggle-track::after{transform:translateX(18px);background:var(--commander-accent)}.commander-voice-toggle input:focus-visible+.commander-voice-toggle-track{box-shadow:0 0 0 2px color-mix(in srgb,var(--commander-accent) 30%,transparent)}.commander-voice-toggle-text{font-size:12px;color:var(--text-secondary);letter-spacing:.06em}.commander-voice-toggle input:checked~.commander-voice-toggle-text{color:var(--commander-accent)}.commander-header-actions{display:flex;align-items:center;gap:10px;position:relative;padding-top:2px}.commander-pet-panel-toggle{height:30px;padding:0 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--commander-accent) 42%,var(--border-color));background:color-mix(in srgb,var(--commander-accent) 16%,transparent);color:var(--text-primary);font-size:12px;display:inline-flex;align-items:center;gap:8px;max-width:180px;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commander-pet-panel-toggle .pet-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 0 rgba(148,163,184,.22)}.commander-pet-panel-toggle.is-enabled .pet-dot{background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.55);animation:commander-pet-dot-pulse 1.8s ease-out infinite}.commander-pet-panel-toggle:hover{border-color:color-mix(in srgb,var(--commander-accent) 72%,transparent);background:color-mix(in srgb,var(--commander-accent) 24%,transparent);transform:translateY(-1px)}.commander-pet-panel-toggle.is-active{border-color:color-mix(in srgb,var(--commander-accent) 86%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--commander-accent) 32%,transparent),color-mix(in srgb,#22c55e 20%,transparent));box-shadow:0 10px 24px rgba(0,0,0,.3)}.commander-pet-settings{position:absolute;top:88px;left:20px;right:auto;width:min(390px,calc(100% - 40px));display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--commander-accent) 24%,var(--border-color));background:linear-gradient(160deg,color-mix(in srgb,var(--bg-secondary) 96%,transparent) 0,color-mix(in srgb,var(--commander-accent) 8%,var(--bg-secondary)) 100%);box-shadow:0 14px 32px rgba(0,0,0,.35);backdrop-filter:blur(8px);z-index:6;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.98);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}.commander-pet-settings.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.commander-pet-settings-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--commander-accent) 20%,var(--border-color))}.commander-pet-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary);font-size:12px;letter-spacing:.04em;white-space:nowrap;user-select:none;min-height:28px}.commander-pet-toggle input{width:15px;height:15px;accent-color:var(--commander-accent)}.commander-pet-tag{padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--commander-accent) 38%,transparent);background:color-mix(in srgb,var(--commander-accent) 16%,transparent);color:color-mix(in srgb,var(--commander-accent) 68%,#fff 32%);font-size:11px;letter-spacing:.05em}.commander-pet-avatar-label{color:var(--text-secondary);font-size:12px;letter-spacing:.08em;padding-top:2px}.commander-pet-avatar-grid{display:grid;gap:8px}.commander-pet-avatar-card{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;width:100%;border-radius:11px;border:1px solid color-mix(in srgb,var(--commander-accent) 26%,var(--border-color));background:color-mix(in srgb,var(--bg-deep) 84%,transparent);padding:8px;cursor:pointer;text-align:left;transition:all .2s ease}.commander-pet-avatar-card:hover{border-color:color-mix(in srgb,var(--commander-accent) 62%,transparent);background:color-mix(in srgb,var(--commander-accent) 16%,var(--bg-deep))}.commander-pet-avatar-card.is-selected{border-color:color-mix(in srgb,var(--commander-accent) 78%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--commander-accent) 26%,transparent)}.commander-pet-avatar-card:disabled{opacity:.6;cursor:not-allowed}.commander-pet-avatar-preview{width:62px;height:62px;border-radius:10px;border:1px solid color-mix(in srgb,#f4b278 55%,var(--border-color));background:radial-gradient(circle at 30% 20%,rgba(255,245,230,.7) 0,rgba(255,245,230,0) 58%),linear-gradient(165deg,rgba(248,190,136,.48) 0,rgba(176,105,64,.36) 100%);display:flex;align-items:center;justify-content:center}.commander-pet-avatar-card-svg{width:50px;height:50px;filter:drop-shadow(0 2px 6px rgba(0, 0, 0, .35))}.commander-pet-avatar-meta{display:grid;gap:2px}.commander-pet-avatar-meta strong{color:var(--text-primary);font-size:14px;letter-spacing:.03em}.commander-pet-avatar-meta em{font-style:normal;color:var(--text-secondary);font-size:11px;letter-spacing:.04em}.commander-pet-hint{color:var(--text-secondary);font-size:12px;line-height:1.55;min-height:18px}.commander-pet-mobile-notice{color:#fbbf24;font-size:12px}.commander-forget-btn,.commander-secret-btn{height:36px;padding:0 14px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .2s ease}.commander-secret-btn{border:1px solid color-mix(in srgb,var(--commander-accent) 52%,var(--border-color));background:color-mix(in srgb,var(--commander-accent) 18%,transparent);color:color-mix(in srgb,var(--commander-accent) 70%,#fff 30%)}.commander-secret-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--commander-accent) 28%,transparent);border-color:color-mix(in srgb,var(--commander-accent) 85%,transparent)}.commander-secret-btn.is-active{border-color:color-mix(in srgb,#f97316 70%,var(--commander-accent));background:linear-gradient(135deg,color-mix(in srgb,var(--commander-accent) 45%,transparent),color-mix(in srgb,#f97316 36%,transparent));color:#fde68a;box-shadow:0 0 0 1px color-mix(in srgb,#f97316 35%,transparent),0 10px 26px rgba(0,0,0,.32)}.commander-forget-btn{border:1px solid color-mix(in srgb,#ef4444 45%,var(--border-color));background:color-mix(in srgb,#ef4444 16%,transparent);color:#fca5a5}.commander-forget-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,#ef4444 24%,transparent);border-color:#ef4444}.commander-close-btn{width:36px;height:36px;border:1px solid var(--border-color);border-radius:10px;background:var(--glass-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.commander-close-btn svg{width:18px;height:18px}.commander-chat-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.commander-msg{max-width:85%;padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.6}.commander-msg.assistant{align-self:flex-start;background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.25);color:var(--text-primary);position:relative}.commander-msg.user{align-self:flex-end;background:var(--accent-mid);border:1px solid var(--accent-glow);color:var(--text-primary)}.commander-msg .prefix{color:var(--commander-accent);font-weight:600;margin-bottom:4px}.commander-msg-row{display:flex;align-items:flex-start;gap:12px;max-width:90%}.commander-msg-row.user{align-self:flex-end;flex-direction:row-reverse}.commander-avatar{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.commander-avatar-machine{width:48px;height:auto;min-height:48px}.commander-overlay #svg-global,.commander-overlay .commander-avatar-machine svg{width:48px;height:auto;display:block;zoom:1.2;overflow:visible}.commander-overlay .commander-avatar-user #ghost{transform:scale(.28);transform-origin:center}.commander-overlay #svg-global .particle,.commander-overlay .commander-avatar-machine svg .particle{animation:commander-floatUp linear infinite}.commander-overlay #svg-global #particles,.commander-overlay .commander-avatar-machine svg #particles,.commander-overlay .commander-avatar-machine svg [id*=particles]{animation:commander-fade-particles 5s infinite alternate}.commander-overlay #svg-global #line-v1,.commander-overlay #svg-global #line-v2,.commander-overlay #svg-global #node-server,.commander-overlay #svg-global #panel-rigth,.commander-overlay #svg-global #particles,.commander-overlay #svg-global #reflectores,.commander-overlay .commander-avatar-machine svg #line-v1,.commander-overlay .commander-avatar-machine svg #line-v2,.commander-overlay .commander-avatar-machine svg #node-server,.commander-overlay .commander-avatar-machine svg #panel-rigth,.commander-overlay .commander-avatar-machine svg #particles,.commander-overlay .commander-avatar-machine svg #reflectores,.commander-overlay .commander-avatar-machine svg [id*=line-v1],.commander-overlay .commander-avatar-machine svg [id*=line-v2],.commander-overlay .commander-avatar-machine svg [id*=node-server],.commander-overlay .commander-avatar-machine svg [id*=panel-rigth],.commander-overlay .commander-avatar-machine svg [id*=particles],.commander-overlay .commander-avatar-machine svg [id*=reflectores]{animation:commander-bounce-lines 3s ease-in-out infinite alternate}.commander-overlay #svg-global #line-v2,.commander-overlay .commander-avatar-machine svg #line-v2,.commander-overlay .commander-avatar-machine svg [id*=line-v2]{animation-delay:.2s}.commander-overlay #svg-global #node-server,.commander-overlay #svg-global #panel-rigth,.commander-overlay #svg-global #particles,.commander-overlay #svg-global #reflectores,.commander-overlay .commander-avatar-machine svg #node-server,.commander-overlay .commander-avatar-machine svg #panel-rigth,.commander-overlay .commander-avatar-machine svg #particles,.commander-overlay .commander-avatar-machine svg #reflectores,.commander-overlay .commander-avatar-machine svg [id*=node-server],.commander-overlay .commander-avatar-machine svg [id*=panel-rigth],.commander-overlay .commander-avatar-machine svg [id*=particles],.commander-overlay .commander-avatar-machine svg [id*=reflectores]{animation-delay:.4s}@keyframes commander-fade-particles{0%,100%{opacity:1}50%{opacity:.5}}@keyframes commander-floatUp{0%{transform:translateY(0);opacity:0}10%{opacity:1}100%{transform:translateY(-40px);opacity:0}}@keyframes commander-bounce-lines{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.commander-overlay .p1{animation-duration:2.2s;animation-delay:0s}.commander-overlay .p2{animation-duration:2.5s;animation-delay:.3s}.commander-overlay .p3{animation-duration:2s;animation-delay:.6s}.commander-overlay .p4{animation-duration:2.8s;animation-delay:.2s}.commander-overlay .p5{animation-duration:2.3s;animation-delay:.4s}.commander-overlay .p6{animation-duration:3s;animation-delay:.1s}.commander-overlay .p7{animation-duration:2.1s;animation-delay:.5s}.commander-overlay .p8{animation-duration:2.6s;animation-delay:.2s}.commander-overlay .p9{animation-duration:2.4s;animation-delay:.3s}.commander-overlay #ghost{position:relative;scale:0.8}.commander-overlay #red{animation:commander-upNDown infinite .5s;position:relative;width:140px;height:140px;display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(14,1fr);grid-column-gap:0;grid-row-gap:0;grid-template-areas:"a1  a2  a3  a4  a5  top0  top0  top0  top0  a10 a11 a12 a13 a14" "b1  b2  b3  top1 top1 top1 top1 top1 top1 top1 top1 b12 b13 b14" "c1 c2 top2 top2 top2 top2 top2 top2 top2 top2 top2 top2 c13 c14" "d1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 d14" "e1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 e14" "f1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 f14" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "st0 st0 an4 st1 an7 st2 an10 an10 st3 an13 st4 an16 st5 st5" "an1 an2 an3 an5 an6 an8 an9 an9 an11 an12 an14 an15 an17 an18"}@keyframes commander-upNDown{0%,49%{transform:translateY(0)}100%,50%{transform:translateY(-10px)}}.commander-overlay #st0,.commander-overlay #st1,.commander-overlay #st2,.commander-overlay #st3,.commander-overlay #st4,.commander-overlay #st5,.commander-overlay #top0,.commander-overlay #top1,.commander-overlay #top2,.commander-overlay #top3,.commander-overlay #top4{background-color:red}.commander-overlay #top0{grid-area:top0}.commander-overlay #top1{grid-area:top1}.commander-overlay #top2{grid-area:top2}.commander-overlay #top3{grid-area:top3}.commander-overlay #top4{grid-area:top4}.commander-overlay #st0{grid-area:st0}.commander-overlay #st1{grid-area:st1}.commander-overlay #st2{grid-area:st2}.commander-overlay #st3{grid-area:st3}.commander-overlay #st4{grid-area:st4}.commander-overlay #st5{grid-area:st5}.commander-overlay #an1,.commander-overlay #an18{grid-area:an1;animation:commander-flicker0 infinite .5s}.commander-overlay #an1{grid-area:an1}.commander-overlay #an18{grid-area:an18}.commander-overlay #an2{grid-area:an2;animation:commander-flicker1 infinite .5s}.commander-overlay #an17{grid-area:an17}.commander-overlay #an3{grid-area:an3}.commander-overlay #an4{grid-area:an4}.commander-overlay #an15{grid-area:an15}.commander-overlay #an6{grid-area:an6}.commander-overlay #an12{grid-area:an12}.commander-overlay #an7{grid-area:an7}.commander-overlay #an9{grid-area:an9}.commander-overlay #an10{grid-area:an10}.commander-overlay #an8{grid-area:an8}.commander-overlay #an11{grid-area:an11}@keyframes commander-flicker0{0%,49%{background-color:red}100%,50%{background-color:transparent}}@keyframes commander-flicker1{0%,49%{background-color:transparent}100%,50%{background-color:red}}.commander-overlay #eye,.commander-overlay #eye1{width:40px;height:50px;position:absolute;top:30px}.commander-overlay #eye{left:10px}.commander-overlay #eye1{right:30px}.commander-overlay #eye1::before,.commander-overlay #eye::before{content:"";background-color:#fff;width:20px;height:50px;transform:translateX(10px);display:block;position:absolute}.commander-overlay #eye1::after,.commander-overlay #eye::after{content:"";background-color:#fff;width:40px;height:30px;transform:translateY(10px);display:block;position:absolute}.commander-overlay #pupil,.commander-overlay #pupil1{width:20px;height:20px;background-color:#00f;position:absolute;top:50px;z-index:1;animation:commander-eyesMovement infinite 3s}.commander-overlay #pupil{left:10px}.commander-overlay #pupil1{right:50px}@keyframes commander-eyesMovement{0%,49%{transform:translateX(0)}50%,99%{transform:translateX(10px)}100%{transform:translateX(0)}}.commander-overlay #shadow{background-color:#000;width:140px;height:140px;position:absolute;border-radius:50%;transform:rotateX(80deg);filter:blur(20px);top:80%;animation:commander-shadowMovement infinite .5s}@keyframes commander-shadowMovement{0%,49%{opacity:.5}100%,50%{opacity:.2}}.commander-overlay .commander-avatar-user .commander-ghost-wrap{position:relative;transform:scale(.28);transform-origin:center}.commander-overlay .commander-avatar-user .commander-ghost-red{animation:commander-upNDown infinite .5s;position:relative;width:140px;height:140px;display:grid;grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(14,1fr);grid-column-gap:0;grid-row-gap:0;grid-template-areas:"a1  a2  a3  a4  a5  top0  top0  top0  top0  a10 a11 a12 a13 a14" "b1  b2  b3  top1 top1 top1 top1 top1 top1 top1 top1 b12 b13 b14" "c1 c2 top2 top2 top2 top2 top2 top2 top2 top2 top2 top2 c13 c14" "d1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 d14" "e1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 e14" "f1 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 top3 f14" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4 top4" "st0 st0 an4 st1 an7 st2 an10 an10 st3 an13 st4 an16 st5 st5" "an1 an2 an3 an5 an6 an8 an9 an9 an11 an12 an14 an15 an17 an18"}.commander-overlay .commander-avatar-user .cg-st0,.commander-overlay .commander-avatar-user .cg-st1,.commander-overlay .commander-avatar-user .cg-st2,.commander-overlay .commander-avatar-user .cg-st3,.commander-overlay .commander-avatar-user .cg-st4,.commander-overlay .commander-avatar-user .cg-st5,.commander-overlay .commander-avatar-user .cg-top0,.commander-overlay .commander-avatar-user .cg-top1,.commander-overlay .commander-avatar-user .cg-top2,.commander-overlay .commander-avatar-user .cg-top3,.commander-overlay .commander-avatar-user .cg-top4{background-color:red}.commander-overlay .commander-avatar-user .cg-top0{grid-area:top0}.commander-overlay .commander-avatar-user .cg-top1{grid-area:top1}.commander-overlay .commander-avatar-user .cg-top2{grid-area:top2}.commander-overlay .commander-avatar-user .cg-top3{grid-area:top3}.commander-overlay .commander-avatar-user .cg-top4{grid-area:top4}.commander-overlay .commander-avatar-user .cg-st0{grid-area:st0}.commander-overlay .commander-avatar-user .cg-st1{grid-area:st1}.commander-overlay .commander-avatar-user .cg-st2{grid-area:st2}.commander-overlay .commander-avatar-user .cg-st3{grid-area:st3}.commander-overlay .commander-avatar-user .cg-st4{grid-area:st4}.commander-overlay .commander-avatar-user .cg-st5{grid-area:st5}.commander-overlay .commander-avatar-user .cg-an1{grid-area:an1;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an18{grid-area:an18;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an2{grid-area:an2;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an17{grid-area:an17;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an3{grid-area:an3;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an16{grid-area:an16;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an4{grid-area:an4;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an15{grid-area:an15;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an5{grid-area:an5}.commander-overlay .commander-avatar-user .cg-an14{grid-area:an14}.commander-overlay .commander-avatar-user .cg-an6{grid-area:an6;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an12{grid-area:an12;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an7{grid-area:an7;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an13{grid-area:an13;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an9{grid-area:an9;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an10{grid-area:an10;animation:commander-flicker1 infinite .5s}.commander-overlay .commander-avatar-user .cg-an8{grid-area:an8;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-an11{grid-area:an11;animation:commander-flicker0 infinite .5s}.commander-overlay .commander-avatar-user .cg-eye,.commander-overlay .commander-avatar-user .cg-eye1{width:40px;height:50px;position:absolute;top:30px}.commander-overlay .commander-avatar-user .cg-eye{left:10px}.commander-overlay .commander-avatar-user .cg-eye1{right:30px}.commander-overlay .commander-avatar-user .cg-eye1::before,.commander-overlay .commander-avatar-user .cg-eye::before{content:"";background-color:#fff;width:20px;height:50px;transform:translateX(10px);display:block;position:absolute}.commander-overlay .commander-avatar-user .cg-eye1::after,.commander-overlay .commander-avatar-user .cg-eye::after{content:"";background-color:#fff;width:40px;height:30px;transform:translateY(10px);display:block;position:absolute}.commander-overlay .commander-avatar-user .cg-pupil,.commander-overlay .commander-avatar-user .cg-pupil1{width:20px;height:20px;background-color:#00f;position:absolute;top:50px;z-index:1;animation:commander-eyesMovement infinite 3s}.commander-overlay .commander-avatar-user .cg-pupil{left:10px}.commander-overlay .commander-avatar-user .cg-pupil1{right:50px}.commander-overlay .commander-avatar-user .cg-shadow{background-color:#000;width:140px;height:140px;position:absolute;border-radius:50%;transform:rotateX(80deg);filter:blur(20px);top:80%;animation:commander-shadowMovement infinite .5s}.commander-toolbar{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--border-color);background:rgba(0,0,0,.2);flex-wrap:wrap}.commander-tool-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--commander-accent) 40%,transparent);background:color-mix(in srgb,var(--commander-accent) 12%,transparent);color:var(--commander-accent);font-family:inherit;font-size:14px;cursor:pointer;transition:all .2s ease}.commander-tool-btn:hover{background:color-mix(in srgb,var(--commander-accent) 22%,transparent);border-color:var(--commander-accent);transform:translateY(-1px)}.commander-tool-btn svg{width:18px;height:18px;flex-shrink:0}.commander-input-wrap{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--glass-bg);display:flex;gap:12px;align-items:flex-end}.commander-input-wrap.is-dragover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--commander-accent) 55%,transparent);background:color-mix(in srgb,var(--commander-accent) 12%,var(--glass-bg))}.commander-input-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.commander-input{flex:1;min-height:88px;padding:12px 16px;border-radius:12px;border:1px solid var(--border-color);background:var(--bg-deep);color:var(--text-primary);font-family:inherit;font-size:15px;line-height:1.5;resize:none;outline:0}.commander-input::placeholder{color:var(--text-secondary);opacity:.7}.commander-input:focus{border-color:var(--commander-accent)}.commander-attachment-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.commander-attach-btn{padding:6px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--commander-accent) 45%,transparent);background:color-mix(in srgb,var(--commander-accent) 15%,transparent);color:var(--commander-accent);font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s ease}.commander-attach-btn:hover{background:color-mix(in srgb,var(--commander-accent) 28%,transparent);border-color:var(--commander-accent)}.commander-attachment-preview{display:grid;grid-template-columns:repeat(auto-fill,76px);gap:8px;justify-content:flex-start;align-items:start}.commander-attachment-card{position:relative;width:76px;height:76px;border-radius:12px;border:1px solid color-mix(in srgb,var(--commander-accent) 40%,var(--border-color));background:color-mix(in srgb,var(--commander-accent) 10%,var(--bg-deep));overflow:hidden;cursor:zoom-in}.commander-attachment-card img{width:100%;height:100%;object-fit:cover;display:block;background:rgba(0,0,0,.25)}.commander-attachment-remove-btn{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(10,16,30,.75);color:#fff;font-family:inherit;font-size:14px;line-height:1;padding:0;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;z-index:1}.commander-attachment-remove-btn:hover{color:#ffd5d5;border-color:rgba(255,146,146,.62);background:rgba(157,42,42,.82)}.commander-msg.user .commander-msg-text{white-space:pre-wrap;word-break:break-word}.commander-msg.assistant .commander-msg-text{white-space:pre-wrap;word-break:break-word;padding-bottom:28px}.commander-msg-copy-btn{position:absolute;right:10px;bottom:8px;border:1px solid color-mix(in srgb,var(--commander-accent) 58%,transparent);background:color-mix(in srgb,var(--commander-accent) 18%,transparent);color:var(--commander-accent);border-radius:8px;font-size:12px;line-height:1;font-family:inherit;padding:6px 10px;cursor:pointer;transition:all .2s ease}.commander-msg-copy-btn:hover{background:color-mix(in srgb,var(--commander-accent) 30%,transparent);border-color:color-mix(in srgb,var(--commander-accent) 80%,transparent)}.commander-msg-copy-btn:disabled{opacity:.7;cursor:default}.commander-msg-attachments{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.commander-msg-attachment{margin-top:0}.commander-msg-attachment img{display:block;width:96px;height:96px;border-radius:10px;border:1px solid var(--border-color);object-fit:cover;cursor:zoom-in}.commander-send-btn{padding:12px 24px;border-radius:12px;border:1px solid color-mix(in srgb,var(--commander-accent) 50%,transparent);background:color-mix(in srgb,var(--commander-accent) 20%,transparent);color:var(--commander-accent);font-family:inherit;font-size:15px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.commander-send-btn:hover{background:color-mix(in srgb,var(--commander-accent) 35%,transparent);border-color:var(--commander-accent)}.commander-send-btn:disabled{opacity:.6;cursor:not-allowed}.commander-send-area{display:flex;flex-direction:column;align-items:center;gap:8px}.commander-loader-wrap{display:none;justify-content:center;align-items:center;min-height:0}.commander-loader-wrap.is-active{display:flex}.commander-loader{scale:1.5;height:50px;width:40px}.commander-loader .loader-box{position:relative;opacity:0;left:10px}.commander-loader .side-left{position:absolute;background-color:#286cb5;width:19px;height:5px;transform:skew(0deg,-25deg);top:14px;left:10px}.commander-loader .side-right{position:absolute;background-color:#2f85e0;width:19px;height:5px;transform:skew(0deg,25deg);top:14px;left:-9px}.commander-loader .side-top{position:absolute;background-color:#5fa8f5;width:20px;height:20px;rotate:45deg;transform:skew(-20deg,-20deg)}.commander-loader .loader-box-1{animation:commander-from-left 4s infinite}.commander-loader .loader-box-2{animation:commander-from-right 4s infinite;animation-delay:1s}.commander-loader .loader-box-3{animation:commander-from-left 4s infinite;animation-delay:2s}.commander-loader .loader-box-4{animation:commander-from-right 4s infinite;animation-delay:3s}@keyframes commander-from-left{0%{z-index:20;opacity:0;translate:-20px -6px}20%{z-index:10;opacity:1;translate:0px 0px}40%{z-index:9;translate:0px 4px}60%{z-index:8;translate:0px 8px}80%{z-index:7;opacity:1;translate:0px 12px}100%{z-index:5;translate:0px 30px;opacity:0}}@keyframes commander-from-right{0%{z-index:20;opacity:0;translate:20px -6px}20%{z-index:10;opacity:1;translate:0px 0px}40%{z-index:9;translate:0px 4px}60%{z-index:8;translate:0px 8px}80%{z-index:7;opacity:1;translate:0px 12px}100%{z-index:5;translate:0px 30px;opacity:0}}#commanderPetLayer{position:fixed;inset:0;pointer-events:none;z-index:9800;display:none}.commander-pet{position:absolute;left:0;top:0;width:94px;min-height:118px;display:grid;grid-template-rows:auto auto auto;justify-items:center;gap:6px;pointer-events:auto;cursor:grab;user-select:none;touch-action:none;transform:translate3d(0,0,0)}.commander-pet:active{cursor:grabbing}.commander-pet-status{width:88px;display:grid;gap:3px;padding:4px 6px;border-radius:10px;border:1px solid color-mix(in srgb,var(--commander-accent) 35%,var(--border-color));background:color-mix(in srgb,var(--bg-deep) 82%,transparent);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.commander-pet.is-hover .commander-pet-status{opacity:1;visibility:visible;transform:translateY(0)}.commander-pet-status .bar{display:block;height:4px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.12)}.commander-pet-status .bar i{display:block;width:50%;height:100%;border-radius:inherit;transition:width .2s ease}.commander-pet-status .bar.mood i{background:linear-gradient(90deg,#34d399 0,#22d3ee 100%)}.commander-pet-status .bar.hunger i{background:linear-gradient(90deg,#fb923c 0,#f97316 100%)}.commander-pet-status .bar.energy i{background:linear-gradient(90deg,#60a5fa 0,#3b82f6 100%)}.commander-pet-sprite{width:76px;height:76px;border-radius:20px;border:1px solid color-mix(in srgb,var(--commander-accent) 58%,transparent);background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.45) 0,rgba(255,255,255,0) 58%),linear-gradient(145deg,color-mix(in srgb,var(--commander-accent) 35%,#0b1120) 0,#070b16 100%);box-shadow:0 10px 24px rgba(0,0,0,.34);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.commander-pet-sprite::after{content:'';position:absolute;inset:6px;border-radius:16px;border:1px solid rgba(255,255,255,.12);pointer-events:none}.commander-pet-svg{width:66px;height:66px;filter:drop-shadow(0 3px 8px rgba(0, 0, 0, .38))}.commander-pet-svg .eye-blink{transform-origin:center;transform-box:fill-box;animation:commander-pet-eye-blink 4.6s ease-in-out infinite}.commander-pet-svg .pulse{transform-origin:center;transform-box:fill-box;animation:commander-pet-pulse 2.3s ease-in-out infinite}.commander-pet-svg .tail-sway{transform-origin:center;transform-box:fill-box;animation:commander-pet-tail-sway 1.4s ease-in-out infinite}.commander-pet[data-avatar=dog-god] .commander-pet-sprite{background:radial-gradient(circle at 28% 20%,rgba(255,242,224,.68) 0,rgba(255,242,224,0) 58%),linear-gradient(156deg,rgba(247,187,132,.88) 0,rgba(170,98,61,.84) 100%)}.commander-pet-state{max-width:92px;text-align:center;font-size:11px;line-height:1.4;color:var(--text-secondary);text-shadow:0 0 8px rgba(0,0,0,.5)}.commander-pet.is-moving .commander-pet-sprite{animation:commander-pet-bob .85s ease-in-out infinite alternate}.commander-pet.is-paused .commander-pet-sprite{filter:saturate(.75) brightness(.92)}.commander-pet.is-sad .commander-pet-sprite{filter:saturate(.65) contrast(.92)}.commander-pet.is-reacting .commander-pet-sprite{box-shadow:0 0 0 1px color-mix(in srgb,var(--commander-accent) 38%,transparent),0 14px 28px rgba(0,0,0,.42)}.commander-pet-menu{position:absolute;left:calc(100% + 8px);top:34px;width:92px;display:none;pointer-events:auto;padding:6px;border-radius:10px;border:1px solid color-mix(in srgb,var(--commander-accent) 45%,var(--border-color));background:color-mix(in srgb,var(--bg-deep) 90%,transparent);box-shadow:0 10px 26px rgba(0,0,0,.4)}.commander-pet-menu.is-open{display:grid;gap:5px}.commander-pet-menu.is-left{left:auto;right:calc(100% + 8px)}.commander-pet-menu button{height:28px;border-radius:7px;border:1px solid color-mix(in srgb,var(--commander-accent) 35%,transparent);background:color-mix(in srgb,var(--commander-accent) 14%,transparent);color:var(--text-primary);font-size:12px;cursor:pointer}.commander-pet-menu button:hover{border-color:var(--commander-accent);background:color-mix(in srgb,var(--commander-accent) 28%,transparent)}@keyframes commander-pet-bob{0%{transform:translateY(0)}100%{transform:translateY(-5px)}}@keyframes commander-pet-eye-blink{0%,100%,46%,50%{transform:scaleY(1)}48%{transform:scaleY(.12)}}@keyframes commander-pet-pulse{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes commander-pet-tail-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes commander-pet-dot-pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}100%{box-shadow:0 0 0 8px rgba(34,197,94,0)}}.commander-submodal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.58);z-index:10010;padding:16px;box-sizing:border-box}.commander-submodal-overlay.active{display:flex}.commander-submodal{width:min(92vw,640px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:18px}.commander-submodal-title{color:var(--text-primary);font-size:18px;line-height:1.5;font-weight:600;margin-bottom:14px}.commander-submodal-desc{margin:0 0 14px;color:var(--text-secondary);font-size:14px;line-height:1.7}.commander-secret-modal strong{color:var(--commander-accent)}.commander-submodal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.commander-submodal-btn{height:40px;border-radius:10px;border:1px solid var(--border-color);font-size:14px;cursor:pointer;transition:all .2s ease}.commander-submodal-btn-primary{border-color:color-mix(in srgb,var(--commander-accent) 50%,transparent);background:color-mix(in srgb,var(--commander-accent) 18%,transparent);color:var(--commander-accent)}.commander-submodal-btn-primary:hover{background:color-mix(in srgb,var(--commander-accent) 30%,transparent)}.commander-submodal-btn-secondary{background:var(--glass-bg);color:var(--text-primary)}.commander-submodal-btn-secondary:hover{background:color-mix(in srgb,var(--text-secondary) 16%,transparent)}.commander-rewrite-form{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.commander-rewrite-form label{color:var(--text-secondary);font-size:13px}.commander-rewrite-input,.commander-rewrite-textarea{width:100%;box-sizing:border-box;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-deep);color:var(--text-primary);padding:10px 12px;outline:0;font-family:inherit;font-size:14px;line-height:1.5}.commander-rewrite-input:focus,.commander-rewrite-textarea:focus{border-color:var(--commander-accent)}.commander-rewrite-textarea{resize:vertical;min-height:180px;max-height:60vh}@media (max-width:768px){.commander-modal-header{height:62px;padding:8px 12px 8px}.commander-pet-settings{left:12px;right:12px;top:60px;width:auto;grid-template-columns:1fr;gap:8px;padding:10px 12px}.commander-pet-panel-toggle span:last-child{display:none}.commander-pet-avatar-card,.commander-pet-toggle{width:100%}.commander-pet-avatar-card{grid-template-columns:56px 1fr}.commander-pet-avatar-preview{width:56px;height:56px}.commander-header-title-wrap{gap:5px}.commander-header-title-row{gap:8px}.commander-header-actions{gap:8px;padding-top:0}.commander-voice-toggle-text{display:none}.commander-forget-btn,.commander-secret-btn{padding:0 12px}.commander-submodal{width:calc(100vw - 20px);padding:14px}.commander-input-wrap{padding:12px;gap:10px}.commander-input{min-height:72px;padding:10px 12px}.commander-send-btn{padding:10px 18px}}@media (max-width:768px){#commanderPetLayer{display:none!important}}.commander-overlay.secret-mode{background:radial-gradient(120% 120% at 12% 6%,rgba(var(--theme-accent-rgb,96,165,250),.42) 0,rgba(var(--theme-accent-rgb,96,165,250),0) 58%),radial-gradient(120% 130% at 88% 92%,rgba(var(--theme-secondary-rgb,124,58,237),.3) 0,rgba(var(--theme-secondary-rgb,124,58,237),0) 63%),linear-gradient(145deg,color-mix(in srgb,var(--accent-primary) 64%,#04070f) 0,color-mix(in srgb,var(--accent-secondary) 52%,#050a12) 56%,#02040b 100%)!important}.commander-overlay.secret-mode .commander-modal{border-color:color-mix(in srgb,var(--commander-accent) 36%,var(--border-color));box-shadow:0 32px 80px rgba(0,0,0,.56),inset 0 1px 0 rgba(255,255,255,.06)}.commander-avatar-machine-simple,.commander-avatar-user-simple{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-primary)}.commander-avatar-user-simple{background:var(--accent-glow-strong);border:1px solid var(--accent-glow-strong)}.commander-avatar-machine-simple{background:rgba(249,115,22,.25);border:1px solid rgba(249,115,22,.4)}body[data-ui-theme=light] .config-buttons-group,body[data-ui-theme=light] .function-buttons-card,body[data-ui-theme=light] .sidebar,body[data-ui-theme=warm] .config-buttons-group,body[data-ui-theme=warm] .function-buttons-card,body[data-ui-theme=warm] .sidebar{box-shadow:0 12px 30px rgba(var(--theme-shadow-rgb,63,93,153),.24)}body[data-ui-theme=light] .aspect-ratio-modal,body[data-ui-theme=light] .commander-overlay,body[data-ui-theme=light] .commander-submodal-overlay,body[data-ui-theme=light] .config-modal,body[data-ui-theme=light] .consistency-modal,body[data-ui-theme=light] .director-modal,body[data-ui-theme=light] .history-modal,body[data-ui-theme=light] .modal-overlay,body[data-ui-theme=light] .script-modal,body[data-ui-theme=light] .subtitle-script-overlay,body[data-ui-theme=warm] .aspect-ratio-modal,body[data-ui-theme=warm] .commander-overlay,body[data-ui-theme=warm] .commander-submodal-overlay,body[data-ui-theme=warm] .config-modal,body[data-ui-theme=warm] .consistency-modal,body[data-ui-theme=warm] .director-modal,body[data-ui-theme=warm] .history-modal,body[data-ui-theme=warm] .modal-overlay,body[data-ui-theme=warm] .script-modal,body[data-ui-theme=warm] .subtitle-script-overlay{background:var(--ui-overlay-bg)}body[data-ui-theme=light] .consistency-preview-modal,body[data-ui-theme=light] .image-preview-modal,body[data-ui-theme=warm] .consistency-preview-modal,body[data-ui-theme=warm] .image-preview-modal{background:var(--ui-overlay-bg-strong)}body[data-ui-theme=light] .dynamic-canvas-modal,body[data-ui-theme=warm] .dynamic-canvas-modal{background:linear-gradient(180deg,rgba(var(--theme-surface-1-rgb,247,250,255),.98) 0,rgba(var(--theme-surface-5-rgb,236,242,253),.97) 100%)}body[data-ui-theme=light] .aspect-ratio-modal-content,body[data-ui-theme=light] .commander-modal,body[data-ui-theme=light] .commander-submodal,body[data-ui-theme=light] .config-modal-content,body[data-ui-theme=light] .consistency-modal-content,body[data-ui-theme=light] .director-modal-content,body[data-ui-theme=light] .history-modal-content,body[data-ui-theme=light] .modal-content,body[data-ui-theme=light] .script-modal-content,body[data-ui-theme=light] .subtitle-script-modal,body[data-ui-theme=warm] .aspect-ratio-modal-content,body[data-ui-theme=warm] .commander-modal,body[data-ui-theme=warm] .commander-submodal,body[data-ui-theme=warm] .config-modal-content,body[data-ui-theme=warm] .consistency-modal-content,body[data-ui-theme=warm] .director-modal-content,body[data-ui-theme=warm] .history-modal-content,body[data-ui-theme=warm] .modal-content,body[data-ui-theme=warm] .script-modal-content,body[data-ui-theme=warm] .subtitle-script-modal{box-shadow:var(--ui-surface-shadow-strong)}body[data-ui-theme=light] .aspect-ratio-input-image-remove,body[data-ui-theme=light] .aspect-ratio-output-download-btn,body[data-ui-theme=light] .director-remove-btn,body[data-ui-theme=light] .remove-btn,body[data-ui-theme=light] .shot-image-remove,body[data-ui-theme=light] .sora-image-remove,body[data-ui-theme=light] .veo-shot-image-remove,body[data-ui-theme=warm] .aspect-ratio-input-image-remove,body[data-ui-theme=warm] .aspect-ratio-output-download-btn,body[data-ui-theme=warm] .director-remove-btn,body[data-ui-theme=warm] .remove-btn,body[data-ui-theme=warm] .shot-image-remove,body[data-ui-theme=warm] .sora-image-remove,body[data-ui-theme=warm] .veo-shot-image-remove{background:rgba(255,255,255,.9);border-color:rgba(220,38,38,.36);color:var(--error-color);box-shadow:0 6px 14px rgba(120,56,84,.18)}body[data-ui-theme=light] .aspect-ratio-input-image-remove:hover,body[data-ui-theme=light] .aspect-ratio-output-download-btn:hover,body[data-ui-theme=light] .director-remove-btn:hover,body[data-ui-theme=light] .remove-btn:hover,body[data-ui-theme=light] .shot-image-remove:hover,body[data-ui-theme=light] .sora-image-remove:hover,body[data-ui-theme=light] .veo-shot-image-remove:hover,body[data-ui-theme=warm] .aspect-ratio-input-image-remove:hover,body[data-ui-theme=warm] .aspect-ratio-output-download-btn:hover,body[data-ui-theme=warm] .director-remove-btn:hover,body[data-ui-theme=warm] .remove-btn:hover,body[data-ui-theme=warm] .shot-image-remove:hover,body[data-ui-theme=warm] .sora-image-remove:hover,body[data-ui-theme=warm] .veo-shot-image-remove:hover{background:var(--error-soft);border-color:var(--error-color);color:var(--error-color)}body[data-ui-theme=light] .shot-video-download-btn,body[data-ui-theme=warm] .shot-video-download-btn{background:rgba(255,255,255,.88);color:var(--text-primary);border:1px solid rgba(var(--theme-accent-rgb,37,99,235),.24);box-shadow:0 4px 12px rgba(var(--theme-shadow-rgb,63,93,153),.16)}body[data-ui-theme=light] .shot-video-download-btn:hover,body[data-ui-theme=warm] .shot-video-download-btn:hover{border-color:rgba(var(--theme-accent-rgb,37,99,235),.4);background:rgba(var(--theme-accent-rgb,37,99,235),.1)}body[data-ui-theme=light] .dynamic-canvas-header,body[data-ui-theme=light] .dynamic-canvas-toolbar,body[data-ui-theme=warm] .dynamic-canvas-header,body[data-ui-theme=warm] .dynamic-canvas-toolbar{background:rgba(255,255,255,.86);border-bottom-color:rgba(var(--theme-accent-rgb,37,99,235),.2)}body[data-ui-theme=light] .canvas-component-group,body[data-ui-theme=warm] .canvas-component-group{background:rgba(255,255,255,.92);border-color:rgba(var(--theme-accent-rgb,37,99,235),.25)}body[data-ui-theme=light] .canvas-group-header,body[data-ui-theme=warm] .canvas-group-header{background:rgba(var(--theme-accent-rgb,37,99,235),.08)}body[data-ui-theme=light] .canvas-group-content,body[data-ui-theme=warm] .canvas-group-content{background:rgba(255,255,255,.95);border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);box-shadow:0 10px 26px rgba(var(--theme-shadow-rgb,63,93,153),.22)}body[data-ui-theme=light] .canvas-tool-item,body[data-ui-theme=warm] .canvas-tool-item{border-color:rgba(var(--theme-accent-rgb,37,99,235),.18);box-shadow:inset 0 0 0 1px rgba(var(--theme-accent-rgb,37,99,235),.05)}body[data-ui-theme=light] .canvas-background-radio-group,body[data-ui-theme=warm] .canvas-background-radio-group{background:rgba(255,255,255,.84);border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);box-shadow:0 8px 24px rgba(var(--theme-shadow-rgb,63,93,153),.18),inset 0 1px 0 rgba(255,255,255,.72)}body[data-ui-theme=light] .canvas-background-radio-label,body[data-ui-theme=warm] .canvas-background-radio-label{color:color-mix(in srgb,var(--text-primary) 78%,transparent)}body[data-ui-theme=light] .canvas-background-radio-label:hover,body[data-ui-theme=warm] .canvas-background-radio-label:hover{color:var(--text-primary)}body[data-ui-theme=light] .canvas-background-radio-label::before,body[data-ui-theme=warm] .canvas-background-radio-label::before{background:rgba(var(--theme-accent-rgb,37,99,235),.08)}body[data-ui-theme=light] .canvas-clear-btn,body[data-ui-theme=warm] .canvas-clear-btn{box-shadow:0 8px 18px rgba(var(--theme-shadow-rgb,63,93,153),.2)}body[data-ui-theme=light] .canvas-node,body[data-ui-theme=warm] .canvas-node{border-color:rgba(var(--theme-accent-rgb,37,99,235),.26);box-shadow:0 10px 28px rgba(var(--theme-shadow-rgb,63,93,153),.22)}body[data-ui-theme=light] .canvas-node-header,body[data-ui-theme=warm] .canvas-node-header{background:rgba(var(--theme-accent-rgb,37,99,235),.1);border-bottom-color:rgba(var(--theme-accent-rgb,37,99,235),.24)}body[data-ui-theme=light] .canvas-node-content input,body[data-ui-theme=light] .canvas-node-content textarea,body[data-ui-theme=light] .canvas-node-image-name,body[data-ui-theme=warm] .canvas-node-content input,body[data-ui-theme=warm] .canvas-node-content textarea,body[data-ui-theme=warm] .canvas-node-image-name{border-color:rgba(var(--theme-accent-rgb,37,99,235),.22)}body[data-ui-theme=light] .canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-btn,body[data-ui-theme=light] .canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-input,body[data-ui-theme=light] .canvas-node-style-era-content .canvas-node-style-era-select .config-select-btn,body[data-ui-theme=light] .canvas-node-style-era-content .canvas-node-style-era-select .config-select-input,body[data-ui-theme=warm] .canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-btn,body[data-ui-theme=warm] .canvas-node-design-draft .canvas-node-design-draft-project-select .config-select-input,body[data-ui-theme=warm] .canvas-node-style-era-content .canvas-node-style-era-select .config-select-btn,body[data-ui-theme=warm] .canvas-node-style-era-content .canvas-node-style-era-select .config-select-input{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24)}body[data-ui-theme=light] .canvas-node-asset-project-row::after,body[data-ui-theme=warm] .canvas-node-asset-project-row::after{border-right-color:rgba(var(--theme-accent-strong-rgb,52,93,183),.72);border-bottom-color:rgba(var(--theme-accent-strong-rgb,52,93,183),.72)}body[data-ui-theme=light] .canvas-node-asset-project-select,body[data-ui-theme=warm] .canvas-node-asset-project-select{border-color:rgba(var(--theme-accent-rgb,37,99,235),.3);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(var(--theme-surface-2-rgb,242,247,255),.94));color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-asset-project-select option,body[data-ui-theme=warm] .canvas-node-asset-project-select option{background:#fff;color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-asset-fetch-btn,body[data-ui-theme=light] .canvas-node-asset-refresh-btn,body[data-ui-theme=light] .canvas-node-asset-toggle-btn,body[data-ui-theme=warm] .canvas-node-asset-fetch-btn,body[data-ui-theme=warm] .canvas-node-asset-refresh-btn,body[data-ui-theme=warm] .canvas-node-asset-toggle-btn{border-color:rgba(var(--theme-accent-rgb,37,99,235),.28);background:rgba(255,255,255,.88);color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-asset-tab,body[data-ui-theme=warm] .canvas-node-asset-tab{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:rgba(var(--theme-accent-rgb,37,99,235),.06);color:var(--text-secondary)}body[data-ui-theme=light] .canvas-node-asset-tab.active,body[data-ui-theme=warm] .canvas-node-asset-tab.active{border-color:rgba(var(--theme-accent-rgb,37,99,235),.46);background:rgba(var(--theme-accent-rgb,37,99,235),.14);color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-asset-panel,body[data-ui-theme=warm] .canvas-node-asset-panel{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(var(--theme-surface-2-rgb,242,247,255),.94));box-shadow:inset 0 0 0 1px rgba(var(--theme-accent-rgb,37,99,235),.08)}body[data-ui-theme=light] .canvas-node-asset-active-item,body[data-ui-theme=light] .canvas-node-asset-item,body[data-ui-theme=warm] .canvas-node-asset-active-item,body[data-ui-theme=warm] .canvas-node-asset-item{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:rgba(255,255,255,.88)}body[data-ui-theme=light] .canvas-node-asset-active-thumb-btn,body[data-ui-theme=light] .canvas-node-asset-thumb-btn,body[data-ui-theme=warm] .canvas-node-asset-active-thumb-btn,body[data-ui-theme=warm] .canvas-node-asset-thumb-btn{border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);background:rgba(255,255,255,.96)}body[data-ui-theme=light] .canvas-node-asset-active-name,body[data-ui-theme=light] .canvas-node-asset-name,body[data-ui-theme=light] .canvas-node-asset-output-hint,body[data-ui-theme=warm] .canvas-node-asset-active-name,body[data-ui-theme=warm] .canvas-node-asset-name,body[data-ui-theme=warm] .canvas-node-asset-output-hint{color:var(--text-secondary)}body[data-ui-theme=light] .canvas-node-asset-type-badge,body[data-ui-theme=warm] .canvas-node-asset-type-badge{border-color:rgba(var(--theme-accent-rgb,37,99,235),.36);color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-asset-empty,body[data-ui-theme=warm] .canvas-node-asset-empty{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:rgba(var(--theme-accent-rgb,37,99,235),.05);color:var(--text-secondary)}body[data-ui-theme=light] .canvas-node-asset-remove-btn,body[data-ui-theme=warm] .canvas-node-asset-remove-btn{border-color:rgba(220,38,38,.34);background:rgba(220,38,38,.08);color:var(--error-color)}body[data-ui-theme=light] .canvas-node-director-upload,body[data-ui-theme=warm] .canvas-node-director-upload{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(var(--theme-surface-2-rgb,242,247,255),.92))}body[data-ui-theme=light] .canvas-node-director-control label,body[data-ui-theme=warm] .canvas-node-director-control label{color:var(--text-secondary)}body[data-ui-theme=light] .canvas-node-director-control input[type=number],body[data-ui-theme=warm] .canvas-node-director-control input[type=number]{border-color:rgba(var(--theme-accent-rgb,37,99,235),.26);background:rgba(255,255,255,.92);color:var(--text-primary)}body[data-ui-theme=light] .canvas-node-result-item,body[data-ui-theme=warm] .canvas-node-result-item{border-color:rgba(var(--theme-accent-rgb,37,99,235),.2);background:rgba(255,255,255,.9)}body[data-ui-theme=light] .canvas-node-result-item.active,body[data-ui-theme=warm] .canvas-node-result-item.active{box-shadow:0 0 0 1px var(--accent-primary),0 8px 20px rgba(var(--theme-shadow-rgb,63,93,153),.24)}body[data-ui-theme=light] .canvas-node-all-frame-index,body[data-ui-theme=light] .canvas-node-result-play-icon,body[data-ui-theme=light] .canvas-node-review-approve-btn,body[data-ui-theme=light] .review-approve-btn,body[data-ui-theme=warm] .canvas-node-all-frame-index,body[data-ui-theme=warm] .canvas-node-result-play-icon,body[data-ui-theme=warm] .canvas-node-review-approve-btn,body[data-ui-theme=warm] .review-approve-btn{background:rgba(30,41,59,.82);color:#f8fafc}body[data-ui-theme=light] .canvas-node-all-frames-list,body[data-ui-theme=warm] .canvas-node-all-frames-list{border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);background:rgba(255,255,255,.88)}body[data-ui-theme=light] .canvas-node-all-frame-item,body[data-ui-theme=warm] .canvas-node-all-frame-item{border-color:rgba(var(--theme-accent-rgb,37,99,235),.2)}body[data-ui-theme=light] .project-main::before,body[data-ui-theme=warm] .project-main::before{background:radial-gradient(circle,rgba(var(--theme-accent-rgb,37,99,235),.22) 0,rgba(var(--theme-accent-rgb,37,99,235),0) 72%)}body[data-ui-theme=light] .project-main::after,body[data-ui-theme=warm] .project-main::after{background:radial-gradient(circle,rgba(var(--theme-secondary-rgb,79,70,229),.16) 0,rgba(var(--theme-secondary-rgb,79,70,229),0) 74%)}body[data-ui-theme=light] .model-status-board,body[data-ui-theme=light] .notice-board,body[data-ui-theme=light] .today-consume-board,body[data-ui-theme=warm] .model-status-board,body[data-ui-theme=warm] .notice-board,body[data-ui-theme=warm] .today-consume-board{border-color:rgba(var(--theme-accent-rgb,37,99,235),.28);background:linear-gradient(165deg,rgba(255,255,255,.95) 0,rgba(var(--theme-surface-4-rgb,243,248,255),.94) 52%,rgba(var(--theme-surface-5-rgb,234,242,253),.94) 100%),radial-gradient(120% 90% at 15% -10%,rgba(var(--theme-accent-sky-rgb,77,148,255),.14) 0,rgba(var(--theme-accent-sky-rgb,77,148,255),0) 58%);box-shadow:0 20px 44px rgba(var(--theme-shadow-rgb,63,93,153),.24),inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(var(--theme-accent-soft-rgb,95,139,213),.16)}body[data-ui-theme=light] .model-status-board::before,body[data-ui-theme=light] .notice-board::before,body[data-ui-theme=light] .today-consume-board::before,body[data-ui-theme=warm] .model-status-board::before,body[data-ui-theme=warm] .notice-board::before,body[data-ui-theme=warm] .today-consume-board::before{background:linear-gradient(180deg,rgba(var(--theme-accent-rgb,37,99,235),.09) 0,rgba(var(--theme-accent-rgb,37,99,235),0) 34%)}body[data-ui-theme=light] .model-status-board::after,body[data-ui-theme=light] .notice-board::after,body[data-ui-theme=light] .today-consume-board::after,body[data-ui-theme=warm] .model-status-board::after,body[data-ui-theme=warm] .notice-board::after,body[data-ui-theme=warm] .today-consume-board::after{background:radial-gradient(circle,rgba(var(--theme-secondary-rgb,79,70,229),.12) 0,rgba(var(--theme-secondary-rgb,79,70,229),0) 72%)}body[data-ui-theme=light] .today-consume-panel,body[data-ui-theme=warm] .today-consume-panel{border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.88)}body[data-ui-theme=light] .today-consume-panel--today,body[data-ui-theme=warm] .today-consume-panel--today{background:linear-gradient(165deg,rgba(var(--theme-surface-6-rgb,232,243,255),.95) 0,rgba(var(--theme-surface-7-rgb,218,235,255),.94) 100%)}body[data-ui-theme=light] .today-consume-panel--today::before,body[data-ui-theme=warm] .today-consume-panel--today::before{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24)}body[data-ui-theme=light] .today-consume-panel--stats,body[data-ui-theme=warm] .today-consume-panel--stats{background:linear-gradient(165deg,rgba(var(--theme-surface-8-rgb,236,245,255),.94) 0,rgba(var(--theme-surface-9-rgb,223,238,255),.93) 100%)}body[data-ui-theme=light] .today-consume-panel--chart,body[data-ui-theme=warm] .today-consume-panel--chart{background:linear-gradient(165deg,rgba(var(--theme-surface-10-rgb,230,242,255),.95) 0,rgba(var(--theme-surface-11-rgb,216,234,255),.94) 100%)}body[data-ui-theme=light] .today-consume-bar-name,body[data-ui-theme=light] .today-consume-chart-title,body[data-ui-theme=light] .today-consume-empty,body[data-ui-theme=light] .today-consume-label,body[data-ui-theme=light] .today-consume-y-axis,body[data-ui-theme=warm] .today-consume-bar-name,body[data-ui-theme=warm] .today-consume-chart-title,body[data-ui-theme=warm] .today-consume-empty,body[data-ui-theme=warm] .today-consume-label,body[data-ui-theme=warm] .today-consume-y-axis{color:var(--text-secondary)}body[data-ui-theme=light] .today-consume-value,body[data-ui-theme=warm] .today-consume-value{color:#b45309;text-shadow:0 0 10px rgba(245,158,11,.24)}body[data-ui-theme=light] .today-consume-icon,body[data-ui-theme=warm] .today-consume-icon{filter:drop-shadow(0 2px 6px rgba(245, 158, 11, .28))}body[data-ui-theme=light] .today-consume-stats,body[data-ui-theme=warm] .today-consume-stats{color:var(--text-secondary)}body[data-ui-theme=light] .today-consume-total,body[data-ui-theme=warm] .today-consume-total{color:var(--accent-primary)}body[data-ui-theme=light] .today-consume-plot,body[data-ui-theme=warm] .today-consume-plot{border-color:rgba(var(--theme-accent-rgb,37,99,235),.22);background:repeating-linear-gradient(to top,rgba(var(--theme-accent-rgb,37,99,235),.14) 0,rgba(var(--theme-accent-rgb,37,99,235),.14) 1px,transparent 1px,transparent 20%),linear-gradient(180deg,rgba(255,255,255,.88) 0,rgba(var(--theme-surface-3-rgb,239,247,255),.92) 100%)}body[data-ui-theme=light] .today-consume-bar-value,body[data-ui-theme=warm] .today-consume-bar-value{color:#334155}body[data-ui-theme=light] .today-consume-bar,body[data-ui-theme=warm] .today-consume-bar{background:linear-gradient(180deg,var(--theme-bar-start,#6fb6ff) 0,var(--theme-bar-end,#3b82f6) 100%);box-shadow:0 6px 14px rgba(var(--theme-accent-bar-rgb,59,130,246),.32)}body[data-ui-theme=light] .today-consume-bar.is-self,body[data-ui-theme=warm] .today-consume-bar.is-self{background:linear-gradient(180deg,#fcd34d 0,#f59e0b 100%);box-shadow:0 6px 14px rgba(245,158,11,.3)}body[data-ui-theme=light] .model-status-title,body[data-ui-theme=warm] .model-status-title{color:var(--text-primary)}body[data-ui-theme=light] .model-status-table td,body[data-ui-theme=light] .model-status-table th,body[data-ui-theme=warm] .model-status-table td,body[data-ui-theme=warm] .model-status-table th{border-bottom-color:rgba(var(--theme-accent-rgb,37,99,235),.18);color:#334155}body[data-ui-theme=light] .model-status-table th,body[data-ui-theme=warm] .model-status-table th{color:#475569;text-shadow:none}body[data-ui-theme=light] .model-status-table td:not(:last-child)::after,body[data-ui-theme=light] .model-status-table th:not(:last-child)::after,body[data-ui-theme=warm] .model-status-table td:not(:last-child)::after,body[data-ui-theme=warm] .model-status-table th:not(:last-child)::after{color:rgba(71,85,105,.5)}body[data-ui-theme=light] .model-status-value--unknown,body[data-ui-theme=warm] .model-status-value--unknown{color:#64748b!important}body[data-ui-theme=light] .notice-icon,body[data-ui-theme=warm] .notice-icon{filter:drop-shadow(0 0 8px rgba(var(--theme-accent-rgb, 37, 99, 235), .2))}body[data-ui-theme=light] .notice-content,body[data-ui-theme=warm] .notice-content{text-shadow:none}body[data-ui-theme=light] .project-stats-panel,body[data-ui-theme=warm] .project-stats-panel{background:rgba(255,255,255,.88);border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);box-shadow:0 14px 30px rgba(var(--theme-shadow-rgb,63,93,153),.2)}body[data-ui-theme=light] .layout-switch-toggle,body[data-ui-theme=light] .model-toggle,body[data-ui-theme=warm] .layout-switch-toggle,body[data-ui-theme=warm] .model-toggle{background:rgba(var(--theme-accent-rgb,37,99,235),.08);border:1px solid rgba(var(--theme-accent-rgb,37,99,235),.2)}body[data-ui-theme=light] .sidebar-context-menu,body[data-ui-theme=warm] .sidebar-context-menu{background:rgba(255,255,255,.96);border-color:rgba(var(--theme-accent-rgb,37,99,235),.26);box-shadow:0 10px 24px rgba(var(--theme-shadow-rgb,63,93,153),.2)}body[data-ui-theme=light] .sidebar-context-menu-btn,body[data-ui-theme=warm] .sidebar-context-menu-btn{border-color:rgba(var(--theme-accent-rgb,37,99,235),.2);color:var(--text-primary)}body[data-ui-theme=light] .sidebar-context-menu-btn:hover,body[data-ui-theme=warm] .sidebar-context-menu-btn:hover{border-color:rgba(var(--theme-accent-rgb,37,99,235),.36);background:rgba(var(--theme-accent-rgb,37,99,235),.1)}body[data-ui-theme=light] .sidebar-context-menu-btn.danger,body[data-ui-theme=warm] .sidebar-context-menu-btn.danger{color:var(--error-color)}body[data-ui-theme=light] .sidebar-context-menu-btn.danger:hover,body[data-ui-theme=warm] .sidebar-context-menu-btn.danger:hover{border-color:rgba(220,38,38,.36);background:rgba(220,38,38,.1)}body[data-ui-theme=light] .project-drag-handle-dots span,body[data-ui-theme=warm] .project-drag-handle-dots span{background:rgba(var(--theme-accent-bar-rgb,59,130,246),.55)}body[data-ui-theme=light] .project-folder,body[data-ui-theme=warm] .project-folder{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:linear-gradient(180deg,rgba(var(--theme-surface-3-rgb,239,247,255),.9) 0,rgba(var(--theme-surface-4-rgb,243,248,255),.88) 100%)}body[data-ui-theme=light] .project-folder-header:hover,body[data-ui-theme=warm] .project-folder-header:hover{background:rgba(var(--theme-accent-rgb,37,99,235),.1)}body[data-ui-theme=light] .project-folder-count,body[data-ui-theme=warm] .project-folder-count{background:rgba(var(--theme-accent-rgb,37,99,235),.12);border-color:rgba(var(--theme-accent-rgb,37,99,235),.26);color:#334155}body[data-ui-theme=light] .project-folder .project-item,body[data-ui-theme=warm] .project-folder .project-item{background:rgba(255,255,255,.84)}body[data-ui-theme=light] .project-folder-list-empty,body[data-ui-theme=warm] .project-folder-list-empty{border-color:rgba(var(--theme-accent-rgb,37,99,235),.24);background:rgba(var(--theme-accent-rgb,37,99,235),.04);color:var(--text-secondary)}body[data-ui-theme=light] .peek-ban-input,body[data-ui-theme=light] .peek-ban-select,body[data-ui-theme=light] .peek-ban-user-select,body[data-ui-theme=warm] .peek-ban-input,body[data-ui-theme=warm] .peek-ban-select,body[data-ui-theme=warm] .peek-ban-user-select{background:rgba(255,255,255,.92);color:var(--text-primary);border-color:rgba(var(--theme-accent-rgb,37,99,235),.24)}body[data-ui-theme=light] .peek-ban-select option,body[data-ui-theme=light] .peek-ban-user-select option,body[data-ui-theme=warm] .peek-ban-select option,body[data-ui-theme=warm] .peek-ban-user-select option{background-color:#fff;color:var(--text-primary)}body[data-ui-theme=light] [style*="background: rgba(0, 0, 0, 0.3)"],body[data-ui-theme=light] [style*="background: rgba(0,0,0,0.3)"],body[data-ui-theme=light] [style*="background:rgba(0,0,0,0.3)"],body[data-ui-theme=warm] [style*="background: rgba(0, 0, 0, 0.3)"],body[data-ui-theme=warm] [style*="background: rgba(0,0,0,0.3)"],body[data-ui-theme=warm] [style*="background:rgba(0,0,0,0.3)"]{background:var(--canvas-node-inline-bg)!important}body[data-ui-theme=warm] .project-stats-panel{background:linear-gradient(165deg,rgba(var(--theme-surface-1-rgb,255,249,241),.95) 0,rgba(var(--theme-surface-4-rgb,251,243,234),.93) 100%),radial-gradient(120% 90% at 14% -12%,rgba(var(--theme-accent-sky-rgb,214,171,132),.14) 0,rgba(var(--theme-accent-sky-rgb,214,171,132),0) 62%);border-color:rgba(var(--theme-accent-rgb,184,125,95),.3);box-shadow:0 16px 36px rgba(var(--theme-shadow-rgb,117,87,67),.26),inset 0 1px 0 rgba(255,255,255,.84)}body[data-ui-theme=warm] .project-stats-title{color:var(--accent-primary);text-shadow:0 0 12px rgba(var(--theme-accent-rgb,184,125,95),.2)}body[data-ui-theme=warm] .project-stats-group{border-top-color:rgba(var(--theme-accent-rgb,184,125,95),.2)}body[data-ui-theme=warm] .project-stats-label{color:color-mix(in srgb,var(--text-secondary) 82%,#6a4d39 18%)}body[data-ui-theme=warm] .project-stats-value{color:color-mix(in srgb,var(--text-primary) 88%,#5c4434 12%)}body[data-ui-theme=warm] .model-status-board,body[data-ui-theme=warm] .notice-board,body[data-ui-theme=warm] .today-consume-board{box-shadow:0 20px 42px rgba(var(--theme-shadow-rgb,117,87,67),.24),inset 0 1px 0 rgba(255,255,255,.86),inset 0 -1px 0 rgba(var(--theme-accent-soft-rgb,186,149,120),.18)}body[data-ui-theme=warm] .model-status-table th,body[data-ui-theme=warm] .today-consume-bar-name,body[data-ui-theme=warm] .today-consume-chart-title,body[data-ui-theme=warm] .today-consume-empty,body[data-ui-theme=warm] .today-consume-label,body[data-ui-theme=warm] .today-consume-y-axis{color:var(--text-secondary)}body[data-ui-theme=warm] .model-status-table td,body[data-ui-theme=warm] .today-consume-bar-value{color:color-mix(in srgb,var(--text-primary) 90%,#5a4333 10%)}body[data-ui-theme=warm] .model-status-table td:not(:last-child)::after,body[data-ui-theme=warm] .model-status-table th:not(:last-child)::after{color:rgba(var(--theme-accent-rgb,184,125,95),.42)}body:not([data-ui-theme]) #modelStatusBoard,body:not([data-ui-theme]) #noticeBoard,body:not([data-ui-theme]) #todayConsumeBoard,body[data-ui-theme=dark] #modelStatusBoard,body[data-ui-theme=dark] #noticeBoard,body[data-ui-theme=dark] #todayConsumeBoard{--panel-fixed-text-primary:#f5f9ff;--panel-fixed-text-secondary:rgba(245, 249, 255, 0.92);--panel-fixed-divider:rgba(214, 230, 247, 0.66)}body[data-ui-theme=light] #modelStatusBoard,body[data-ui-theme=light] #noticeBoard,body[data-ui-theme=light] #todayConsumeBoard,body[data-ui-theme=warm] #modelStatusBoard,body[data-ui-theme=warm] #noticeBoard,body[data-ui-theme=warm] #todayConsumeBoard{--panel-fixed-text-primary:#0f172a;--panel-fixed-text-secondary:rgba(15, 23, 42, 0.9);--panel-fixed-divider:rgba(15, 23, 42, 0.42)}#todayConsumeBoard .today-consume-bar-name,#todayConsumeBoard .today-consume-chart-title,#todayConsumeBoard .today-consume-empty,#todayConsumeBoard .today-consume-label,#todayConsumeBoard .today-consume-stats,#todayConsumeBoard .today-consume-y-axis{color:var(--panel-fixed-text-secondary)!important}#modelStatusBoard .model-status-table td:not(.model-status-value),#modelStatusBoard .model-status-table th,#modelStatusBoard .model-status-title,#noticeBoard .notice-content,#todayConsumeBoard .today-consume-bar-value,#todayConsumeBoard .today-consume-total,#todayConsumeBoard .today-consume-value{color:var(--panel-fixed-text-primary)!important}#modelStatusBoard .model-status-table td:not(:last-child)::after,#modelStatusBoard .model-status-table th:not(:last-child)::after{color:var(--panel-fixed-divider)!important}#modelStatusBoard .model-status-table th,#todayConsumeBoard .today-consume-value{text-shadow:none!important}#modelStatusBoard .model-status-table td.model-status-value--running{color:#22c55e!important}#modelStatusBoard .model-status-table td.model-status-value--free{color:#f59e0b!important}#modelStatusBoard .model-status-table td.model-status-value--lost{color:#ef4444!important}