.header-brand-wrap{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px}.header-brand-side-logo-wrap{position:relative;width:44px;height:44px;flex-shrink:0;align-self:flex-end;margin-bottom:2px}.header-brand-side-logo-shadow{position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(33,150,243,.4) 0%,rgba(33,150,243,.2) 35%,rgba(33,150,243,.08) 60%,transparent 75%);z-index:0}.header-brand-side-logo{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.header-brand{display:flex;flex-direction:column;align-items:center;gap:4px}.brand-row{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.brand-letter{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:.8rem;font-weight:950;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);position:relative;background-color:var(--brand-bg, #2196f3);background-image:linear-gradient(180deg,#ffffff80,#ffffff26 45%,#0000000d 55%,#0006);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 8px #0000004d;transition:transform .1s}@media (min-width: 400px){.brand-letter{width:24px;height:24px;font-size:.8rem}}.header{background:#fff;padding:2px 16px;border-bottom:2px solid #eee}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;gap:8px;position:relative}.header-center{position:absolute;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;min-width:0;max-width:100%}.header-center-url{width:100%;max-width:320px;font-size:1.1rem;font-weight:900;color:#222;text-align:center;border:none;border-radius:4px;padding:4px 8px;background:transparent;font-family:inherit}.header-center-url:focus{outline:1px solid rgba(0,0,0,.2);background:#00000008}.logo{display:flex;align-items:center;gap:6px}.logo-icon-wrap{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px;padding:2px}.logo-icon-wrap:hover{background:#0000000f}.logo-icon-wrap--empty{min-width:56px;min-height:36px;border:1px dashed rgba(0,0,0,.25);background:#0000000a}.logo-upload-hint{font-size:.7rem;color:#00000080;font-weight:600}.logo-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.logo-icon{font-size:1.5rem;filter:grayscale(.2)}.logo-img{width:40px;height:40px;object-fit:contain;object-position:center;display:block;flex-shrink:0}@media (max-width: 480px){.logo-img{width:32px;height:32px}.header-center-url{font-size:.9rem}}.title-block{display:flex;align-items:center;justify-content:center;gap:8px}.main-title{font-size:1.3rem;font-weight:800;color:#222;text-align:center}.header-copy-btn{background:transparent;border:none;cursor:pointer;font-size:1rem;padding:4px;border-radius:4px;transition:background .2s;display:flex;align-items:center;justify-content:center;opacity:.6}.header-copy-btn:hover{background:#0000000d;opacity:1}.ballot-icon{font-size:1.5rem}.banner{background:red;color:#fff;padding:12px 0;font-weight:800;font-size:1.6rem;position:relative;display:flex;justify-content:center;align-items:center;width:100%;min-height:64px;box-sizing:border-box}.banner-display{width:100%;text-align:center;font-family:var(--font-nepali);text-shadow:0 2px 4px rgba(0,0,0,.2);line-height:1.2}.banner-copy-btn{position:absolute;right:10px;background:#ffffff1a;border:none;cursor:pointer;font-size:1rem;padding:6px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}.banner-copy-btn:hover{background:#ffffff40}.banner-input{width:100%;display:block;margin:0;padding:0;box-sizing:border-box;background:transparent;border:none;color:#fff;font-weight:800;font-size:1.6rem;text-align:center;font-family:var(--font-nepali);outline:none;text-shadow:0 2px 4px rgba(0,0,0,.2)}.banner-input::placeholder{color:#ffffffb3}.banner-input:focus{outline:none}.banner.winner-banner{background:linear-gradient(90deg,#d32f2f,#ff8f00,#d32f2f);border-bottom:2px solid #ffd700;box-shadow:0 4px 15px #ff8f0066}.banner.winner-banner:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:banner-shine 3s infinite}@keyframes banner-shine{0%{left:-100%}20%{left:100%}to{left:100%}}.candidate-card{border-radius:12px;padding:0 0 24px;position:relative;min-height:220px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 15px #0000000d;border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.candidate-card.is-leading{box-shadow:0 0 20px #ffd7004d;z-index:2}.delete-card-btn{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:none;background:#fff;color:red;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;box-shadow:0 2px 6px #0003;padding:4px}.delete-card-btn svg{width:100%;height:100%}.delete-card-btn:hover{transform:scale(1.15);background:#fff;box-shadow:0 3px 8px #ff00004d}.gradient-blue{background:#1e88e540;border:1px solid rgba(30,136,229,.6);border-top:5px solid var(--blue-primary)}.gradient-green{background:#43a04740;border:1px solid rgba(67,160,71,.6);border-top:5px solid var(--green-primary)}.gradient-red{background:#e5393540;border:1px solid rgba(229,57,53,.6);border-top:5px solid var(--red-primary)}.gradient-maroon{background:#8e24aa40;border:1px solid rgba(142,36,170,.6);border-top:5px solid var(--maroon-primary)}.gradient-orange{background:#fb8c0040;border:1px solid rgba(251,140,0,.6);border-top:5px solid var(--orange-primary)}.gradient-pink{background:#d81b6040;border:1px solid rgba(216,27,96,.6);border-top:5px solid var(--pink-primary)}.photo-wrap{position:relative;width:100%;margin-bottom:8px}.photo-box{width:100%;aspect-ratio:9/13;min-height:160px;overflow:hidden;background:#ffffff80;border-bottom:3px solid rgba(255,255,255,.5);border-radius:11px 11px 0 0}.candidate-photo-div{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;display:block}.zoom-control{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#ffffffe6;padding:4px 10px;border-radius:20px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 15px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40}.zoom-icon{font-size:.9rem;opacity:.7}.zoom-slider{width:70px;height:4px;cursor:pointer;accent-color:var(--blue-primary)}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#0000004d;background:#00000008}.placeholder-icon{font-size:2.22rem}.placeholder-text{font-weight:600}.name-wrap{width:100%;display:flex;justify-content:center;align-items:center;padding:0 4px;margin-bottom:4px;text-align:center}.candidate-name-input{font-size:1rem;font-weight:950;text-align:center!important;color:#111;border:none;background:transparent;width:100%;padding:4px;font-family:var(--font-nepali)}.candidate-name-input:focus{outline:1px solid rgba(0,0,0,.2);background:#fff}.candidate-name-capture{font-size:1rem;font-weight:950;text-align:center;line-height:1.2;min-height:1.5em;text-shadow:0 1px 1px rgba(255,255,255,.5);border:none;border-radius:8px;padding:2px 6px;background:#ffffffd9;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.votes-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin-top:4px}.votes-label{font-size:.8rem;font-weight:600}.votes-input{font-size:1.8rem;font-weight:900;width:100%;max-width:100px;min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center;border:none;border-radius:10px;padding:0 4px;background:red;color:#fff;box-shadow:0 4px 10px #f003}.votes-input:focus{outline:none;border-color:#0006}.symbol-wrap{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;background:#fff;width:36px;height:36px;border-radius:50%;box-shadow:0 4px 10px #00000040,inset 0 1px 1px #fffc,inset 0 -1px 2px #0000000d;border:1px solid rgba(0,0,0,.08);z-index:5}.symbol-img{width:30px;height:30px;object-fit:contain;object-position:center;display:block;flex-shrink:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.symbol,.symbol-fallback{font-size:1.5rem;opacity:1;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media (max-width: 480px){.candidate-card{min-height:220px;padding-bottom:24px}.photo-box{min-height:140px}.candidate-name-input,.candidate-name-capture{font-size:.9rem;padding:2px 4px}.votes-input{font-size:1.5rem;max-width:80px;min-height:36px}.votes-label{font-size:.7rem}.symbol-wrap{width:28px;height:28px;bottom:-10px}.symbol-img{width:22px;height:22px}.blue-stripe{height:30px}.red-stripe{height:36px}.congrats-cursive{font-size:1.8rem;top:-15px}.winner-name-display{font-size:1.1rem;padding-top:4px}.leading-badge{padding:2px 6px;font-size:.7rem;top:-6px;left:-4px}}.gradient-picker{margin:8px 0;display:flex;justify-content:center;align-items:center;gap:12px;background:#fff;padding:8px 12px;border-radius:25px;box-shadow:0 4px 12px #0000001a;border:1px solid #eee}.paste-icon-btn{background:#f8f9fa;border:1px solid #ddd;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px;box-shadow:0 2px 5px #0000000d}.paste-icon-btn:hover{background:#e9ecef;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.gradient-option{width:24px;height:24px;border-radius:50%;border:3px solid #fff;cursor:pointer;padding:0;box-shadow:0 2px 5px #00000026;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.gradient-option:hover{transform:scale(1.2)}.gradient-option.active{transform:scale(1.2);box-shadow:0 0 0 2px #fff,0 0 0 4px #0000001a}.gradient-option.blue{background:#1e88e5}.gradient-option.green{background:#43a047}.gradient-option.red{background:#e53935}.gradient-option.maroon{background:#8e24aa}.gradient-option.orange{background:#fb8c00}.gradient-option.pink{background:#d81b60}.custom-color-wrap{width:32px;height:32px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 3px 8px #0000001f;border:1px solid #eee}.custom-color-wrap:hover{transform:scale(1.15);box-shadow:0 5px 12px #0000002e}.picker-icon{font-size:18px;pointer-events:none}.custom-color-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}.leading-badge{position:absolute;top:-10px;left:-8px;background:linear-gradient(135deg,gold,#ff8c00);color:#000;padding:4px 10px;border-radius:8px;display:flex;align-items:center;gap:4px;font-family:var(--font-nepali);font-weight:800;font-size:.85rem;z-index:20;box-shadow:0 4px 12px #0003;border:2px solid #fff;animation:pulse-gold 2s infinite}.trophy{font-size:1rem}.leading-text{text-shadow:0 1px 0 rgba(255,255,255,.5)}@keyframes pulse-gold{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.is-leading{border:2px solid #ffd700}.leading-badge.winner-badge{background:linear-gradient(135deg,gold,#ffa000);border-color:#fff;box-shadow:0 0 15px #ffa00066}.winner-announcement{position:absolute;bottom:0%;left:0;right:0;z-index:30;display:flex;flex-direction:column;pointer-events:none}.blue-stripe{background:#0d47a1;width:100%;height:50px;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:0 4px 10px #0000004d}.red-stripe{background:#c62828;width:100%;height:60px;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 15px #0006}.congrats-cursive{font-family:Pacifico,cursive;font-size:3rem;color:#fff;position:absolute;top:-25px;left:50%;transform:translate(-50%) rotate(-2deg);text-shadow:3px 3px 6px rgba(0,0,0,.5);z-index:35;white-space:nowrap}.winner-name-display{font-family:var(--font-nepali);font-size:2rem;font-weight:1000;color:#fff;text-transform:uppercase;letter-spacing:1px;text-align:center;line-height:1;padding:8px 10px 0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.candidate-card.is-leading.winner-mode{border-color:gold;background:#ffd7001a}.footer{margin-top:20px;padding:0 40px 30px;background:#fff;border-top:none;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.footer-brand-section{width:100%;display:flex;justify-content:center;transform:scale(1.8);margin-top:20px;margin-bottom:30px}.footer-url-section{width:100%;text-align:center}.footer-center-url{font-size:1.6rem;font-weight:900;color:#111;font-family:Outfit,sans-serif;letter-spacing:-.5px}.logo-upload-hint{font-size:.7rem;color:#999}.logo-file-input{display:none}.app{min-height:100vh;display:flex;flex-direction:column}.capture-wrapper{background:#fff;width:1080px;height:1080px;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;margin:0 auto;transform-origin:top center}@media (max-width: 1120px){.app{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#f0f2f5}.capture-wrapper{margin:20px;width:1080px;min-width:1080px;box-shadow:0 10px 40px #00000026;background:#fff;border-radius:8px}.controls-section{position:sticky;left:0;width:100vw;box-sizing:border-box;background:#f0f2f5;padding:20px;z-index:100}}.candidate-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:15px;row-gap:30px;padding:20px;flex:1;align-content:center}.controls-section{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 10px}.logo-toggles{display:flex;gap:8px;margin:0;flex-wrap:wrap;justify-content:center}.logo-toggle-btn{padding:8px 16px;border-radius:8px;border:1px solid rgba(0,0,0,.2);background:#fff;color:#333;font-size:.85rem;cursor:pointer;box-shadow:0 2px 4px #0000000d}.logo-toggle-btn:hover{background:#f5f5f5}.action-buttons{display:flex;gap:12px;margin:10px auto;justify-content:center;width:100%;max-width:400px}.add-button,.export-button{flex:1;padding:12px 20px;min-width:140px;border-radius:999px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-align:center}.add-button{border:2px dashed #0d47a1;background:transparent;color:#0d47a1}.export-button{border:none;background:linear-gradient(90deg,#0d47a1,#c62828);color:#fff;box-shadow:0 4px 12px #0003}@media (max-width: 480px){.mode-btn{padding:6px 12px;font-size:.8rem}.action-buttons{flex-direction:column;padding:0 20px}.add-button,.export-button{width:100%;min-width:unset}}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.preview-content{background:#fff;padding:24px;border-radius:20px;max-width:95%;max-height:90vh;overflow-y:auto;position:relative;text-align:center;box-shadow:0 10px 40px #00000080}.close-preview{position:absolute;top:12px;right:12px;background:#eee;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-content h3{margin:0 0 10px;color:#333}.mobile-hint{font-size:.9rem;color:#666;margin-bottom:16px;line-height:1.4}.produced-image{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block}.modal-actions{margin-top:20px}.modal-btn{padding:10px 24px;background:#333;color:#fff;border:none;border-radius:999px;font-weight:600;cursor:pointer}.mode-toggle-wrap{margin:16px 0;display:flex;justify-content:center}.mode-switch{display:flex;background:#e0e0e0;padding:4px;border-radius:30px;box-shadow:inset 0 2px 4px #0000001a}.mode-btn{padding:8px 20px;border:none;border-radius:25px;background:transparent;color:#666;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px}.mode-btn.active{background:#fff;color:#0d47a1;box-shadow:0 4px 10px #00000026}.mode-btn.active:nth-child(2){color:#c62828}.mode-btn:hover:not(.active){background:#ffffff80}*{box-sizing:border-box;margin:0;padding:0}:root{--header-red: #d32f2f;--banner-red: #ff0000;--banner-pink: #ff0000;--blue-primary: #1e88e5;--green-primary: #43a047;--red-primary: #e53935;--maroon-primary: #8e24aa;--orange-primary: #fb8c00;--pink-primary: #d81b60;--font-nepali: "Mukta Vaani", sans-serif}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-nepali);background:#f5f5f5;min-height:100vh;color:#1a1a1a;overflow-x:hidden}#root{min-height:100vh;max-width:480px;margin:0 auto;background:#fff;box-shadow:0 0 24px #00000014}button,input,label{font-family:var(--font-nepali)}input[type=file].hidden-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
