:root{--ink:#2d504d;--muted:#6f827d;--paper:#fffdf7;--cream:#fff4d8;--line:#ddd4b7;--green:#3d9875;--green-dark:#28745a;--coral:#eb756c;--yellow:#f2c34f;--blue:#67acd0;--violet:#8876b7;--shadow:0 18px 42px rgba(55,75,67,.12)}
*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--ink);background:radial-gradient(circle at 8% 9%,rgba(244,195,79,.25) 0 105px,transparent 106px),radial-gradient(circle at 96% 24%,rgba(103,172,208,.17) 0 130px,transparent 131px),linear-gradient(135deg,#fff8e7,#f5f0e5 58%,#eef3e9);font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif}button,input,select{font:inherit}button{color:inherit}.app{width:min(1120px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:22px 0 50px}.loading-card{display:grid;min-height:310px;place-items:center;align-content:center;gap:8px;background:var(--paper);border:2px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.loading-card span{font-size:54px}.loading-card p{margin:0;font-weight:900}
.topbar,.brand,.top-actions,.hero-actions,.section-heading,.editor-head,.film-title-row,.transport,.history-actions,.panel-head,.timeline-head,.timeline-actions,.feedback,.result-actions,.gallery-meta,.gallery-actions{display:flex;align-items:center}.topbar{min-height:70px;justify-content:space-between;gap:18px;padding:10px 14px;background:rgba(255,253,247,.95);border:2px solid var(--line);border-radius:23px;box-shadow:0 10px 26px rgba(56,74,66,.09)}.brand{min-height:44px;min-width:0;gap:11px;padding:0;background:none;border:0;cursor:pointer;text-align:left}.brand-mark{display:grid;width:47px;height:47px;flex:0 0 47px;place-items:center;background:#f4ca58;border:2px solid #d3ac48;border-radius:15px;font-size:25px;box-shadow:inset 0 -4px rgba(145,100,24,.12)}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:19px;line-height:1.05}.brand-copy small{margin-top:4px;color:var(--muted);font-family:Georgia,serif;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.top-actions{gap:9px}.top-button{min-height:45px;padding:0 15px;background:#f8f3e6;border:2px solid var(--line);border-radius:15px;font-size:14px;font-weight:900;cursor:pointer}.count-badge{display:inline-grid;min-width:25px;height:25px;margin-left:6px;place-items:center;color:#fff;background:var(--coral);border-radius:50%;font-size:12px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid rgba(98,170,205,.35);outline-offset:3px}.top-button:hover,.secondary-button:hover,.idea-button:hover,.gallery-card:hover{transform:translateY(-2px)}.primary-button,.secondary-button,.idea-button,.icon-button{min-height:48px;padding:0 18px;border-radius:15px;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.primary-button{color:#fff;background:linear-gradient(#4caa87,var(--green));border:2px solid var(--green-dark);box-shadow:0 7px 0 #2b755b,0 14px 22px rgba(45,112,88,.18)}.primary-button:hover{transform:translateY(-2px);box-shadow:0 9px 0 #2b755b,0 17px 24px rgba(45,112,88,.2)}.primary-button:active{transform:translateY(5px);box-shadow:0 2px 0 #2b755b}.secondary-button{background:#fffaf0;border:2px solid var(--line);box-shadow:0 5px 0 #d5ccb0}.idea-button{color:#705a24;background:#fff1b8;border:2px solid #dfc469;box-shadow:0 5px 0 #d2b65c}.icon-button{display:grid;width:46px;min-width:46px;padding:0;place-items:center;background:#fffaf0;border:2px solid var(--line);box-shadow:0 4px 0 #d6cdb2;font-size:20px}.icon-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.38;transform:none;box-shadow:none}.eyebrow{margin:0 0 7px;color:#5f7d75;font-family:Georgia,serif;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.hero{position:relative;display:grid;grid-template-columns:.95fr 1.05fr;min-height:445px;margin-top:20px;overflow:hidden;background:var(--paper);border:2px solid var(--line);border-radius:38px;box-shadow:var(--shadow)}.hero:before{position:absolute;inset:0 0 0 51%;content:"";background:linear-gradient(145deg,#e5edf6,#e9e1f1 55%,#f5dfcf);clip-path:polygon(17% 0,100% 0,100% 100%,0 100%)}.hero-copy{position:relative;z-index:2;align-self:center;padding:52px 18px 52px 52px}.hero h1,.section-heading h2,.editor-head h1,.result-copy h1,.gallery-hero h1{margin:0;letter-spacing:-.045em;line-height:.98}.hero h1{font-size:clamp(43px,5vw,65px)}.hero h1 span{color:var(--coral)}.hero-copy>p:not(.eyebrow){max-width:465px;margin:20px 0 25px;color:var(--muted);font-size:17px;font-weight:700;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:14px}.hero-projector{position:relative;z-index:1;display:grid;min-width:0;place-items:center;padding:34px 32px 30px 12px}.projector-card{position:relative;width:min(485px,100%);padding:16px;background:#283f3c;border:7px solid #365b58;border-radius:27px;box-shadow:0 22px 36px rgba(46,60,56,.25);transform:rotate(1deg)}.projector-screen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#ddecf4;border:8px solid #fff8e7;border-radius:15px}.projector-screen .hero-star{position:absolute;top:34%;left:24%;font-size:58px;filter:drop-shadow(0 7px 5px rgba(35,53,50,.2));animation:hero-move 3s steps(3,end) infinite}@keyframes hero-move{0%{left:20%;transform:rotate(-10deg)}50%{left:61%;top:22%;transform:rotate(14deg)}100%{left:20%;transform:rotate(-10deg)}}.projector-screen:before{position:absolute;inset:0;content:"";background:linear-gradient(#a9d9ef 0 65%,#86be8f 66%)}.projector-screen:after{position:absolute;left:0;right:0;bottom:23%;height:4px;content:"";background:#467c68}.film-holes{display:flex;justify-content:space-between;gap:8px;padding:8px 2px 0}.film-holes span{width:19px;height:12px;background:#fff8e7;border-radius:3px}.projector-card small{display:block;padding-top:5px;color:#e8e4d7;font-size:10px;font-weight:900;text-align:center}
.how-section,.features-section,.gallery-section{margin-top:48px}.section-heading{justify-content:space-between;gap:24px;margin-bottom:18px}.section-heading h2{font-size:clamp(32px,4vw,43px)}.section-heading>p{max-width:410px;margin:0;color:var(--muted);font-weight:700;line-height:1.5;text-align:right}.steps-grid,.features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.step-card,.feature-card{padding:20px;background:var(--paper);border:2px solid var(--line);border-radius:24px;box-shadow:0 12px 25px rgba(57,76,68,.08)}.step-card{display:grid;grid-template-columns:54px 1fr;gap:13px;min-height:127px}.step-number{display:grid;width:50px;height:50px;place-items:center;color:#fff;background:var(--coral);border-radius:17px;font-family:Georgia,serif;font-size:25px;font-weight:900}.step-card:nth-child(2) .step-number{background:var(--blue)}.step-card:nth-child(3) .step-number{background:var(--violet)}.step-card strong,.step-card small{display:block}.step-card strong{margin-top:3px;font-size:18px}.step-card small{margin-top:7px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.42}.feature-card span{font-size:38px}.feature-card h3{margin:12px 0 7px;font-size:20px}.feature-card p{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.45}.adult-note{display:flex;gap:13px;margin-top:18px;padding:16px 19px;color:#65756f;background:#edf4e7;border:2px solid #cadbc3;border-radius:20px;font-size:13px;font-weight:700;line-height:1.45}.adult-note span{font-size:24px}.adult-note p{margin:0}
.editor-shell{margin-top:20px;padding:25px;background:rgba(255,253,247,.96);border:2px solid var(--line);border-radius:36px;box-shadow:var(--shadow)}.editor-head{justify-content:space-between;gap:22px;margin-bottom:18px}.editor-head h1{font-size:clamp(34px,4vw,48px)}.editor-head>div>p:not(.eyebrow){margin:9px 0 0;color:var(--muted);font-weight:700}.film-title-row{gap:8px}.film-title-row label{font-size:12px;font-weight:900}.film-title-row input{width:220px;min-height:46px;padding:0 13px;color:var(--ink);background:#fffaf0;border:2px solid var(--line);border-radius:14px;font-weight:800}.editor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(325px,.75fr);gap:18px;align-items:start}.stage-panel{min-width:0;padding:13px;background:#263d3a;border:2px solid #1f3532;border-radius:27px;box-shadow:0 15px 28px rgba(37,53,49,.2)}.stage-wrap{position:relative;overflow:hidden;background:#dcecf4;border:8px solid #fff7df;border-radius:16px;cursor:crosshair;touch-action:manipulation}.scene-svg{display:block;width:100%;height:auto;aspect-ratio:16/10}.stage-tip{display:flex;justify-content:space-between;gap:12px;padding:10px 4px 0;color:#e8e2d1;font-size:10px;font-weight:900}.transport{justify-content:center;gap:9px;margin-top:12px}.play-button{min-width:128px}.speed-select{min-height:46px;padding:0 10px;color:var(--ink);background:#fffaf0;border:2px solid #b9ad8f;border-radius:13px;font-size:12px;font-weight:900}.control-panel{display:grid;gap:13px}.control-card{padding:15px;background:#fffaf0;border:2px solid var(--line);border-radius:22px}.panel-head{justify-content:space-between;gap:10px;margin-bottom:12px}.panel-head h2{margin:0;font-size:21px}.history-actions{gap:7px}.history-actions .icon-button{width:42px;min-width:42px;min-height:42px;height:42px}.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.tab-button{min-height:44px;padding:5px;background:#f1ebdd;border:2px solid transparent;border-radius:12px;font-size:10px;font-weight:900;cursor:pointer}.tab-button[aria-selected="true"]{background:#fff;border-color:#4d9a7e;box-shadow:0 3px 0 #b9d8ca}.options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.option-button{display:grid;min-height:69px;place-items:center;align-content:center;gap:3px;padding:5px;background:#fff;border:2px solid #ddd4b8;border-radius:13px;font-size:10px;font-weight:900;cursor:pointer}.option-button span:first-child{font-size:25px}.option-button[aria-pressed="true"]{background:#fff1bd;border-color:#d2a22b;box-shadow:0 0 0 3px rgba(242,195,79,.2)}.motion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.motion-button{min-height:44px;padding:0;background:#fff;border:2px solid #ddd4b8;border-radius:12px;font-size:20px;font-weight:900;cursor:pointer}.motion-button.wide{grid-column:span 2;font-size:11px}.feedback{min-height:52px;gap:10px;padding:11px 13px;background:#eff3eb;border:2px solid #d3dccd;border-radius:17px;color:#66766f;font-size:12px;font-weight:800;line-height:1.35}.feedback-icon{display:grid;width:31px;height:31px;flex:0 0 31px;place-items:center;background:#fff;border-radius:10px;font-weight:900}.feedback.is-error{color:#9a4d49;background:#fff0ed;border-color:#efb4ae}.feedback.is-success{color:#2c765c;background:#eaf6ed;border-color:#add6bd}
.timeline-card{margin-top:18px;padding:16px;background:#f8f1e4;border:2px solid var(--line);border-radius:25px}.timeline-head{justify-content:space-between;gap:15px;margin-bottom:12px}.timeline-head h2{margin:0;font-size:22px}.timeline-actions{gap:7px}.timeline-actions button{min-height:44px;padding:0 12px;font-size:11px}.timeline-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:132px;gap:9px;overflow-x:auto;padding:3px 2px 12px;scrollbar-color:#b7aa8b transparent}.frame-card{position:relative;min-height:110px;padding:6px;background:#fff;border:3px solid #d8ceb1;border-radius:15px;cursor:pointer}.frame-card[aria-pressed="true"]{border-color:var(--coral);box-shadow:0 0 0 4px rgba(235,117,108,.19)}.frame-card .scene-svg{border-radius:8px}.frame-number{position:absolute;top:4px;left:4px;display:grid;min-width:25px;height:25px;place-items:center;color:#fff;background:#315951;border-radius:8px;font-size:10px;font-weight:900}.frame-card small{display:block;margin-top:5px;color:var(--muted);font-size:9px;font-weight:900;text-align:center}.save-row{display:flex;justify-content:flex-end;gap:10px;margin-top:17px}
.result-shell{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin-top:20px;padding:35px;background:var(--paper);border:2px solid var(--line);border-radius:38px;box-shadow:var(--shadow)}.result-preview{padding:14px;background:#263d3a;border-radius:27px;box-shadow:0 18px 30px rgba(39,55,51,.2)}.result-preview .scene-svg{border:7px solid #fff6dc;border-radius:15px}.result-copy h1{font-size:clamp(43px,5vw,63px)}.result-copy h1 span{display:block;color:var(--coral)}.result-copy>p:not(.eyebrow){margin:18px 0;color:var(--muted);font-size:16px;font-weight:700;line-height:1.5}.result-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.result-stat{padding:14px;background:#f7f1e4;border:2px solid var(--line);border-radius:17px}.result-stat strong,.result-stat small{display:block}.result-stat strong{font-size:23px}.result-stat small{margin-top:3px;color:var(--muted);font-size:11px;font-weight:900}.result-actions{flex-wrap:wrap;gap:10px}
.gallery-hero{margin-top:20px;padding:34px;background:var(--paper);border:2px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.gallery-hero h1{font-size:clamp(40px,5vw,58px)}.gallery-hero p{max-width:700px;margin:15px 0 0;color:var(--muted);font-weight:700;line-height:1.5}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.gallery-card{overflow:hidden;background:var(--paper);border:2px solid var(--line);border-radius:27px;box-shadow:0 13px 27px rgba(57,77,68,.09);transition:transform .18s ease}.gallery-preview{padding:12px;background:#263d3a}.gallery-preview .scene-svg{border:5px solid #fff6df;border-radius:12px}.gallery-meta{justify-content:space-between;gap:12px;padding:14px}.gallery-meta strong,.gallery-meta small{display:block}.gallery-meta strong{font-size:18px}.gallery-meta small{margin-top:4px;color:var(--muted);font-size:10px;font-weight:900}.gallery-actions{gap:7px}.empty-gallery{grid-column:1/-1;padding:45px 24px;background:var(--paper);border:3px dashed var(--line);border-radius:29px;text-align:center}.empty-gallery span{font-size:58px}.empty-gallery h2{margin:10px 0 8px;font-size:30px}.empty-gallery p{max-width:520px;margin:0 auto 19px;color:var(--muted);font-weight:700;line-height:1.5}.toast{position:fixed;z-index:50;right:18px;bottom:18px;max-width:min(390px,calc(100% - 36px));padding:13px 17px;color:#fff;background:#315a52;border-radius:16px;box-shadow:0 13px 30px rgba(39,65,58,.23);font-size:13px;font-weight:900;opacity:0;pointer-events:none;transform:translateY(15px);transition:.2s}.toast.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1024px){.hero-copy{padding-left:36px}.editor-grid{grid-template-columns:1fr}.control-panel{grid-template-columns:1fr 1fr}.feedback{grid-column:1/-1}.result-shell{gap:22px;padding:25px}}
@media(max-width:820px){.app{width:min(100% - 22px,1120px);padding-top:11px}.brand-copy small{display:none}.hero{grid-template-columns:1fr}.hero:before{inset:48% 0 0;clip-path:polygon(0 14%,100% 0,100% 100%,0 100%)}.hero-copy{padding:43px 32px 20px}.hero-projector{padding:25px 34px 38px}.projector-card{width:min(500px,84%)}.steps-grid,.features-grid{grid-template-columns:1fr}.step-card{min-height:104px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading>p{text-align:left}.control-panel{grid-template-columns:1fr}.result-shell{grid-template-columns:1fr}.result-preview{width:min(600px,100%);margin:auto}}
@media(max-width:560px){.app{width:min(100% - 18px,1120px);padding-bottom:32px}.topbar{padding:8px;border-radius:19px}.brand{gap:7px}.brand-mark{width:42px;height:42px;flex-basis:42px;font-size:22px}.brand-copy strong{max-width:130px;font-size:14px}.top-button{min-width:45px;padding:0 9px}.top-button .button-label{display:none}.hero{margin-top:12px;border-radius:28px}.hero-copy{padding:34px 23px 18px}.hero h1{font-size:43px}.hero-copy>p:not(.eyebrow){margin:16px 0 21px;font-size:15px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions button{width:100%}.hero-projector{padding:22px 16px 28px}.projector-card{width:94%}.how-section,.features-section,.gallery-section{margin-top:37px}.section-heading h2{font-size:32px}.editor-shell{margin-top:12px;padding:13px;border-radius:28px}.editor-head{align-items:flex-start;flex-direction:column}.editor-head h1{font-size:34px}.film-title-row{width:100%;align-items:flex-start;flex-direction:column}.film-title-row input{width:100%}.stage-panel{padding:7px;border-radius:20px}.stage-wrap{border-width:5px}.stage-tip{font-size:8px}.transport{display:grid;grid-template-columns:1fr 1fr}.transport .play-button{grid-column:1/-1;width:100%}.speed-select{width:100%}.control-card{padding:13px}.options-grid{gap:5px}.option-button{min-height:66px}.timeline-card{padding:12px}.timeline-head{align-items:flex-start;flex-direction:column}.timeline-actions{display:grid;width:100%;grid-template-columns:repeat(3,1fr)}.timeline-actions button{width:100%;padding:0 5px}.timeline-scroll{grid-auto-columns:116px}.save-row{display:grid;grid-template-columns:1fr}.save-row button{width:100%}.result-shell{margin-top:12px;padding:16px;border-radius:28px}.result-copy h1{font-size:43px}.result-actions{align-items:stretch;flex-direction:column}.result-actions button{width:100%}.gallery-hero{margin-top:12px;padding:25px 20px;border-radius:28px}.gallery-grid{grid-template-columns:1fr}.gallery-meta{align-items:flex-start;flex-direction:column}.gallery-actions{width:100%}.gallery-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
.history-actions .icon-button{width:44px;min-width:44px;min-height:44px;height:44px}
@media(max-width:560px){.timeline-actions{grid-template-columns:repeat(2,1fr)}}
