:root{--ink:#2e514d;--muted:#71827d;--paper:#fffdf8;--cream:#fff3d7;--line:#ddd3b6;--green:#419a77;--green-dark:#2b755b;--coral:#ec776f;--yellow:#f2c34f;--blue:#64abc9;--violet:#8a76b4;--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 7% 12%,rgba(242,195,79,.23) 0 110px,transparent 111px),radial-gradient(circle at 96% 27%,rgba(100,171,201,.17) 0 135px,transparent 136px),linear-gradient(135deg,#fff8e9,#f5efe3 57%,#edf3ea);font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif}button,input,textarea,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:320px;place-items:center;align-content:center;gap:9px;background:var(--paper);border:2px solid var(--line);border-radius:34px;box-shadow:var(--shadow)}.loading-card span{font-size:58px}.loading-card p{margin:0;font-weight:900}
.topbar,.brand,.top-actions,.hero-actions,.section-heading,.editor-head,.name-row,.panel-head,.history-actions,.tabs,.feedback,.card-tools,.sticker-tools,.save-row,.result-actions,.gallery-meta,.gallery-actions{display:flex;align-items:center}.topbar{min-height:70px;justify-content:space-between;gap:16px;padding:10px 14px;background:rgba(255,253,248,.96);border:2px solid var(--line);border-radius:23px;box-shadow:0 10px 27px 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:#f6c85b;border:2px solid #d5aa43;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:900;letter-spacing:.15em;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,textarea:focus-visible,select:focus-visible{outline:4px solid rgba(100,171,201,.34);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(#50ad89,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:#715923;background:#fff0b6;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:#638078;font-family:Georgia,serif;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.hero{position:relative;display:grid;grid-template-columns:.96fr 1.04fr;min-height:455px;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 50%;content:"";background:linear-gradient(145deg,#f6dfdb,#e5e5f2 56%,#dbeceb);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.hero-copy{position:relative;z-index:2;align-self:center;padding:52px 16px 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:470px;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-art{position:relative;z-index:1;display:grid;min-width:0;place-items:center;padding:32px 38px 32px 12px}.sample-card{position:relative;width:min(455px,96%);aspect-ratio:7/5;padding:20px;overflow:hidden;background:linear-gradient(145deg,#fff6d2,#f7cfc8);border:7px solid #fffdf7;border-radius:16px;box-shadow:0 24px 40px rgba(55,68,65,.22);transform:rotate(3deg)}.sample-card:before,.sample-card:after{position:absolute;content:"";border-radius:50%}.sample-card:before{width:160px;height:160px;right:-50px;bottom:-55px;background:rgba(114,184,170,.42)}.sample-card:after{width:110px;height:110px;top:-50px;left:-40px;background:rgba(242,195,79,.44)}.sample-flower{position:absolute;top:26%;left:50%;font-size:88px;filter:drop-shadow(0 8px 5px rgba(54,74,67,.16));transform:translateX(-50%)}.sample-card strong{position:absolute;z-index:2;right:0;bottom:12%;left:0;color:#bd5956;font-family:Georgia,serif;font-size:29px;text-align:center}.sample-sticker{position:absolute;z-index:2;font-size:35px}.sample-sticker.one{top:14%;right:12%;transform:rotate(16deg)}.sample-sticker.two{bottom:17%;left:11%;transform:rotate(-18deg)}.pencil{position:absolute;right:8%;bottom:12%;width:155px;height:20px;background:#f1bf4c;border:3px solid #6f5b3f;border-radius:7px;box-shadow:0 10px 15px rgba(42,59,54,.13);transform:rotate(-31deg)}.pencil:after{position:absolute;right:-22px;top:-3px;width:0;height:0;content:"";border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:24px solid #d5b58d}
.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:420px;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:125px}.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,248,.97);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}.name-row{gap:8px}.name-row label{font-size:12px;font-weight:900}.name-row input{width:235px;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.27fr) minmax(330px,.73fr);gap:18px;align-items:start}.card-panel{min-width:0;padding:13px;background:#31554f;border:2px solid #25453f;border-radius:27px;box-shadow:0 15px 28px rgba(37,53,49,.2)}.card-stage{position:relative;overflow:hidden;background:#fff;border:8px solid #fff7df;border-radius:16px;cursor:crosshair;touch-action:none}.card-svg{display:block;width:100%;height:auto;aspect-ratio:7/5}.card-tip{display:flex;justify-content:space-between;gap:12px;padding:10px 4px 0;color:#eee8d8;font-size:10px;font-weight:900}.card-tools{justify-content:center;flex-wrap:wrap;gap:9px;margin-top:12px}.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:44px;min-width:44px;height:44px;min-height:44px}.tabs{gap:6px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:thin}.tab-button{min-width:74px;min-height:44px;padding:5px 9px;background:#eee8dc;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:68px;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:#fff0bc;border-color:#d3a42d;box-shadow:0 0 0 3px rgba(242,195,79,.2)}.message-input{width:100%;min-height:76px;padding:10px 12px;resize:vertical;color:var(--ink);background:#fff;border:2px solid #ddd4b8;border-radius:13px;font-weight:800;line-height:1.35}.preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.preset-button{min-height:44px;padding:6px;background:#fff;border:2px solid #ddd4b8;border-radius:12px;font-size:10px;font-weight:900;cursor:pointer}.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:9px}.color-button{min-width:44px;min-height:44px;padding:0;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #cfc5aa;cursor:pointer}.color-button[aria-pressed="true"]{box-shadow:0 0 0 4px #3f9475}.brush-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.brush-button{min-height:44px;background:#fff;border:2px solid #ddd4b8;border-radius:12px;font-size:10px;font-weight:900;cursor:pointer}.brush-button[aria-pressed="true"]{background:#e8f4ed;border-color:#4c997c}.sticker-tools{justify-content:center;gap:7px;margin-top:10px}.sticker-tools .icon-button{width:auto;min-width:44px;padding:0 12px;font-size:13px}.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:#984c48;background:#fff0ed;border-color:#efb4ae}.feedback.is-success{color:#2c765c;background:#eaf6ed;border-color:#add6bd}.save-row{justify-content:flex-end;gap:10px;margin-top:17px}
.result-shell{display:grid;grid-template-columns:1.05fr .95fr;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:#31554f;border-radius:27px;box-shadow:0 18px 30px rgba(39,55,51,.2)}.result-preview .card-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:#31554f}.gallery-preview .card-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-art{padding:25px 34px 40px}.sample-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-art{padding:22px 16px 31px}.sample-card{width:94%}.sample-flower{font-size:64px}.sample-card strong{font-size:23px}.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}.name-row{width:100%;align-items:flex-start;flex-direction:column}.name-row input{width:100%}.card-panel{padding:7px;border-radius:20px}.card-stage{border-width:5px}.card-tip{font-size:8px}.card-tools{display:grid;grid-template-columns:1fr 1fr}.card-tools button{width:100%;padding:0 8px}.control-card{padding:13px}.options-grid{gap:5px}.option-button{min-height:66px}.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;transition-duration:.001ms!important}}
.control-panel,.control-card,.tabs,.card-tools{min-width:0}.tabs{width:100%;max-width:100%}
@media(max-width:560px){.card-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.card-tools button{min-width:0;white-space:normal}}
.print-sheet{display:none}
@media print{@page{size:A4 landscape;margin:10mm}body>*{display:none!important}body>.print-sheet{display:grid!important;width:100%;height:100%;place-items:center;align-content:center;gap:8mm;color:#2e514d;background:#fff}.print-sheet__art{width:min(250mm,100%);padding:5mm;background:#fff}.print-sheet .card-svg{display:block;width:100%;height:auto;max-height:165mm}.print-sheet h1{margin:0;font-size:18pt;text-align:center}}
