*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%;overflow:hidden;font-family:Arial,sans-serif}body{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6ec4,#7873f5)}form{background:rgba(255,255,255,.97);padding:30px;border-radius:22px;box-shadow:0 12px 40px rgba(0,0,0,.2);width:92%;max-width:430px;max-height:94vh;overflow-y:auto;display:flex;flex-direction:column;gap:18px;text-align:center;transition:.4s;z-index:100}form.hidden{opacity:0;transform:scale(.8);pointer-events:none}h2{margin-bottom:2px}input[type=text],select{width:100%;padding:12px;border-radius:12px;border:2px solid #ddd;font-size:14px;outline:0;text-align:center;background:#fff;transition:.2s}input[type=text]:focus,select:focus{border-color:#7873f5}input[type=color]{width:100%;height:44px;border:none;border-radius:10px;padding:3px;cursor:pointer;background:#f5f5f5}label{font-size:12px;font-weight:700;color:#555;margin-bottom:-10px}.section-label{font-size:12px;font-weight:700;color:#555;margin-top:2px;margin-bottom:-8px;text-transform:uppercase;letter-spacing:.5px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.preset{border:2px solid #eee;background:#fafafa;border-radius:11px;padding:11px 5px;cursor:pointer;font-size:11px;transition:.2s}.preset:hover{transform:translateY(-2px)}.preset.active{border-color:#7873f5;background:#f2efff}.size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.size-button{border:2px solid #eee;background:#fafafa;border-radius:10px;padding:10px 5px;cursor:pointer;font-size:12px;transition:.2s}.size-button:hover{background:#f5f5f5}.size-button.active{border-color:#7873f5;background:#f2efff}.effect-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.effect{border:2px solid #eee;background:#fafafa;border-radius:10px;padding:10px 3px;cursor:pointer;font-size:11px;transition:.2s}.effect:hover{transform:translateY(-2px)}.effect.active{border-color:#7873f5;background:#f2efff}.color-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-group{display:flex;flex-direction:column;gap:7px}.color-group label{margin:0;font-size:11px;text-align:left}.primary-button{border:none;padding:14px;border-radius:13px;cursor:pointer;background:linear-gradient(90deg,#ff6ec4,#7873f5);color:#fff;font-size:16px;font-weight:700;margin-top:2px;transition:.2s}.primary-button:hover{transform:scale(1.03)}.marquee-container{position:fixed;inset:0;width:100vw;height:100vh;display:none;align-items:center;overflow:hidden;background:#fff;z-index:20;transform-origin:center center;transition:width .4s ease,height .4s ease,transform .4s ease}.marquee-wrapper{display:flex;white-space:nowrap;animation-name:marqueeAnimation;animation-timing-function:linear;animation-iteration-count:infinite}.marquee-text{white-space:nowrap;font-size:10em;font-weight:700;color:#000;margin-right:100px}@keyframes marqueeAnimation{0%{transform:translateX(100vw)}100%{transform:translateX(-100%)}}.top-button{position:absolute;top:20px;width:48px;height:48px;border:none;border-radius:50%;background:rgba(0,0,0,.75);color:#fff;cursor:pointer;z-index:50;display:flex;align-items:center;justify-content:center;transition:.2s}.top-button:hover{transform:scale(1.1);background:#000}.share-button{right:140px;font-size:20px}.rotate-button{right:80px;font-size:22px}.edit-button{right:20px;font-size:21px}.share-panel{position:absolute;top:80px;right:20px;width:240px;background:rgba(255,255,255,.97);border-radius:16px;padding:15px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:60;display:none;flex-direction:column;gap:10px}.share-panel.show{display:flex}.share-title{font-weight:700;font-size:15px}.share-option{width:100%;border:none;border-radius:10px;padding:11px;background:#f1f1f1;cursor:pointer;font-size:14px;text-align:left}.share-option:hover{background:#e5e5e5}.effect-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:10}.sparkle{position:absolute;font-size:25px;animation:sparkleFloat 2s linear infinite}@keyframes sparkleFloat{0%{transform:translateY(30px) rotate(0);opacity:0}30%{opacity:1}100%{transform:translateY(-100px) rotate(180deg);opacity:0}}.confetti{position:absolute;width:8px;height:14px;background:#ff6ec4;animation:confettiFall 3s linear infinite}@keyframes confettiFall{0%{transform:translateY(-30px) rotate(0)}100%{transform:translateY(110vh) rotate(720deg)}}.heart{position:absolute;font-size:22px;animation:heartFloat 3s linear infinite}@keyframes heartFloat{0%{transform:translateY(100vh) scale(.6);opacity:0}20%{opacity:1}100%{transform:translateY(-100px) scale(1.3);opacity:0}}.glow-effect{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px rgba(255,255,255,.45);animation:glowPulse 2s ease-in-out infinite}@keyframes glowPulse{0%{opacity:.3}50%{opacity:1}100%{opacity:.3}}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(0,0,0,.85);color:#fff;padding:12px 18px;border-radius:30px;font-size:14px;opacity:0;pointer-events:none;transition:.3s;z-index:200}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}#exportCanvas{display:none}@media (max-width:600px){form{padding:24px;gap:16px;max-height:92vh}.preset{font-size:10px;padding:10px 3px}.effect{padding:9px 2px}.color-row{gap:8px}.top-button{width:42px;height:42px;top:15px}.share-button{right:121px}.rotate-button{right:68px}.edit-button{right:15px}.share-panel{top:68px;right:15px}}.fullscreen-button{right:200px;font-size:22px}@media (max-width:600px){.fullscreen-button{right:174px}}.marquee-container.rotated{width:100vh;height:100vw;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%) rotate(90deg)}.marquee-container.rotated .marquee-wrapper{animation-name:marqueeAnimationRotated}@keyframes marqueeAnimationRotated{0%{transform:translateX(100vh)}100%{transform:translateX(-100%)}} 
