@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";.card-canvas .card-texture{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.06'/%3E%3C/svg%3E");pointer-events:none}:root{--color-bg: var(--bg-primary);--color-bg-light: var(--bg-secondary);--color-accent: var(--blood-red);--color-accent-hover: #a00000;--color-text: var(--text-primary);--color-text-muted: var(--text-muted);--color-card-bg: var(--bg-card);--color-border: var(--border-subtle);--font-main: var(--font-sans)}.app{min-height:100vh;display:flex;flex-direction:column}.header{padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border)}.logo{font-size:1.5rem;font-weight:700;color:var(--color-text);text-decoration:none}.logo span{color:var(--color-accent)}.nav-links{display:flex;gap:1.5rem}.nav-links a{color:var(--color-text-muted);text-decoration:none;font-size:.95rem;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--color-accent)}.hero{text-align:center;padding:4rem 2rem 3rem}.hero h1{font-size:clamp(2rem,6vw,3.5rem);font-weight:700;margin-bottom:1rem}.hero h1 span{color:var(--color-accent)}.hero p{font-size:1.2rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.filters{padding:0 2rem 2rem;max-width:1200px;margin:0 auto;width:100%}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.filters-header h2{font-size:1rem;color:var(--color-text-muted);font-weight:500}.reset-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.9rem;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.reset-btn:hover{background:#ff4d941a}.reset-btn:disabled{color:var(--color-text-muted);cursor:default}.reset-btn:disabled:hover{background:none}.filter-chips{display:flex;flex-wrap:wrap;gap:.75rem}.filter-chip{padding:.6rem 1.25rem;border-radius:50px;border:2px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;font-size:.95rem;transition:all .2s;display:flex;align-items:center;gap:.5rem}.filter-chip:hover{border-color:var(--color-accent);background:#ff4d941a}.filter-chip.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.filter-chip .emoji{font-size:1.1rem}.resources{padding:2rem;max-width:1200px;margin:0 auto;width:100%;flex:1}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.resource-card{background:var(--color-card-bg);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;border:1px solid var(--color-border)}.resource-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.resource-card.featured{border-color:var(--color-accent);border-width:2px;grid-column:1 / -1}.resource-card.featured a{display:grid;grid-template-columns:250px 1fr}.resource-card.featured .resource-image{height:100%;min-height:180px}.resource-card.featured .resource-content{display:flex;flex-direction:column;justify-content:center;padding:1.5rem 2rem}.resource-card.featured h3{font-size:1.5rem}.resource-card.featured p{font-size:1rem}@media (max-width: 700px){.resource-card.featured a{grid-template-columns:1fr}.resource-card.featured .resource-image{height:150px}}.featured-badge{display:inline-block;background:var(--color-accent);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.resource-card a{text-decoration:none;color:inherit;display:block}.resource-image{width:100%;height:180px;object-fit:cover;background:var(--color-bg-light)}.resource-content{padding:1.25rem}.resource-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.resource-tag{font-size:.75rem;padding:.25rem .6rem;background:#ff4d9426;color:var(--color-accent);border-radius:20px}.resource-content h3{font-size:1.2rem;margin-bottom:.5rem;color:var(--color-text)}.resource-content p{font-size:.9rem;color:var(--color-text-muted);line-height:1.5}.resource-type{margin-top:1rem;font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.no-results{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.no-results h3{font-size:1.5rem;margin-bottom:.5rem;color:var(--color-text)}.footer{padding:2rem;text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9rem;margin-top:auto}@media (max-width: 600px){.header{padding:1rem;flex-direction:column;gap:1rem}.hero{padding:2rem 1rem 1.5rem}.filters{padding:0 1rem 1.5rem}.filter-chips{gap:.5rem}.filter-chip{padding:.5rem 1rem;font-size:.85rem}.resources{padding:1rem}.resources-grid{grid-template-columns:1fr}}.survey-page{min-height:100vh;display:flex;flex-direction:column}.survey-container{max-width:700px;margin:0 auto;padding:3rem 2rem;flex:1}.survey-container h1{font-size:2.5rem;margin-bottom:.5rem}.survey-container h1 span{color:var(--color-accent)}.survey-container .subtitle{color:var(--color-text-muted);margin-bottom:2rem}.survey-form{background:var(--color-card-bg);border-radius:12px;padding:2rem;border:1px solid var(--color-border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-row{display:flex;align-items:center;gap:.75rem}.option-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;border-radius:50%;font-size:.85rem;font-weight:600;flex-shrink:0}.option-row input{flex:1;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem}.option-row input:focus{outline:none;border-color:var(--color-accent)}.remove-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:1.2rem;transition:all .2s}.remove-btn:hover:not(:disabled){border-color:#ef4444;color:#ef4444}.remove-btn:disabled{opacity:.3;cursor:not-allowed}.add-option-btn{margin-top:1rem;padding:.5rem 1rem;background:transparent;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-size:.9rem;transition:all .2s}.add-option-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.form-actions{display:flex;gap:1rem;margin-top:2rem}.preview-btn,.generate-btn{flex:1;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.preview-btn{background:transparent;border:2px solid var(--color-border);color:var(--color-text)}.preview-btn:hover:not(:disabled){border-color:var(--color-text)}.generate-btn{background:var(--color-accent);border:none;color:#fff}.generate-btn:hover:not(:disabled){background:var(--color-accent-hover)}.preview-btn:disabled,.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generated-link{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.generated-link label{display:block;margin-bottom:.5rem;font-weight:500}.link-box{display:flex;gap:.5rem}.link-box input{flex:1;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem}.link-box button{padding:.75rem 1.5rem;background:var(--color-accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.link-box button:hover{background:var(--color-accent-hover)}.survey-container.preview{max-width:600px}.back-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.95rem;margin-bottom:1.5rem;padding:0}.back-btn:hover{text-decoration:underline}.vote-card{background:var(--color-card-bg);border-radius:12px;padding:2rem;border:1px solid var(--color-border)}.vote-card h1{font-size:1.75rem;margin-bottom:.5rem}.vote-description{color:var(--color-text-muted);margin-bottom:1.5rem}.instructions{font-size:.9rem;color:var(--color-text-muted);margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.vote-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.vote-option{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg);border-radius:8px}.vote-option select{width:60px;padding:.5rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:1rem;cursor:pointer}.vote-option-text{flex:1}.submit-vote-btn{width:100%;padding:1rem;background:var(--color-accent);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.submit-vote-btn:disabled{opacity:.5;cursor:not-allowed}.vote-options-drag{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.vote-option-drag{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg);border-radius:8px;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s,background .15s}.vote-option-drag:hover{background:var(--color-bg-light)}.vote-option-drag:active,.vote-option-drag.dragging{cursor:grabbing;transform:scale(1.02);box-shadow:0 8px 24px #0000004d;background:var(--color-card-bg);z-index:10}.rank-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:#fff;border-radius:50%;font-weight:700;font-size:1rem;flex-shrink:0}.drag-handle{color:var(--color-text-muted);font-size:1.2rem;letter-spacing:-2px}.vote-option-drag .vote-option-text{flex:1;font-size:1.05rem}.survey-container.manage{max-width:1400px;width:100%;padding:2rem 3rem}.manage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem}@media (max-width: 1100px){.manage-grid{grid-template-columns:1fr}}@media (max-width: 768px){.survey-container.manage{padding:1.5rem 1rem}}.manage-section{background:var(--color-card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--color-border)}.manage-section h2{font-size:1.2rem;margin-bottom:.5rem;color:var(--color-text)}.section-desc{font-size:.9rem;color:var(--color-text-muted);margin-bottom:1rem}.add-voter-form{display:flex;gap:.75rem;margin-bottom:1rem}.add-voter-form input{flex:1;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem}.add-voter-form input:focus{outline:none;border-color:var(--color-accent)}.add-voter-form button{padding:.75rem 1.5rem;background:var(--color-accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.add-voter-form button:hover:not(:disabled){background:var(--color-accent-hover)}.add-voter-form button:disabled{opacity:.5;cursor:not-allowed}.voters-list{display:flex;flex-direction:column;gap:.5rem}.voter-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg);border-radius:8px}.voter-row.voted{border-left:3px solid #22c55e}.voter-name{display:flex;align-items:center;gap:.75rem}.voted-badge{font-size:.75rem;padding:.2rem .5rem;background:#22c55e;color:#fff;border-radius:4px;font-weight:600}.copy-link-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;transition:all .2s}.copy-link-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.refresh-btn{position:absolute;top:1.5rem;right:1.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;transition:all .2s}.refresh-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.results-list{display:flex;flex-direction:column;gap:.5rem}.result-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg);border-radius:8px}.result-rank{width:40px;font-size:1.2rem;font-weight:700;color:var(--color-accent)}.result-text{flex:1;font-size:1rem}.result-stats{font-size:.85rem;color:var(--color-text-muted)}.no-results{color:var(--color-text-muted);text-align:center;padding:2rem}.voter-details{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.voter-details summary{cursor:pointer;color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem}.voter-details summary:hover{color:var(--color-accent)}.voter-votes{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.voter-vote{background:var(--color-bg);padding:1rem;border-radius:8px}.voter-vote strong{display:block;margin-bottom:.5rem;color:var(--color-text)}.voter-vote ol{margin:0;padding-left:1.5rem;color:var(--color-text-muted);font-size:.9rem}.voter-vote li{margin:.25rem 0}.generated-links{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}.generated-links .generated-link{margin-top:1.5rem;padding-top:0;border-top:none}.generated-links .generated-link:first-child{margin-top:0}.irv-results{margin-top:1rem}.irv-winner{font-size:1.25rem;padding:1rem;background:linear-gradient(135deg,#ff4d9433,#ff4d941a);border:2px solid var(--color-accent);border-radius:8px;margin-bottom:1.5rem}.irv-winner strong{color:var(--color-accent)}.irv-rounds{display:flex;flex-direction:column;gap:1rem}.irv-round{background:var(--color-bg);border-radius:8px;padding:1rem}.irv-round h4{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.irv-candidates{display:flex;flex-direction:column;gap:.5rem}.irv-candidate{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:var(--color-card-bg);border-radius:6px}.irv-candidate.eliminated{opacity:.5;text-decoration:line-through}.irv-candidate-name{flex:1}.irv-candidate-votes{font-size:.9rem;color:var(--color-text-muted)}.eliminated-badge{font-size:.7rem;padding:.15rem .4rem;background:#ef4444;color:#fff;border-radius:4px;font-weight:600}.card-designer{--surface-1: var(--bg-secondary);--surface-2: var(--bg-card);--surface-3: var(--bg-card-hover);--accent: #db2777;--border: var(--border-subtle)}.card-designer{display:grid;grid-template-columns:280px 1fr 280px;gap:1rem;height:calc(100vh - 120px);padding:1rem}.card-designer-sidebar{background:var(--surface-1);border-radius:8px;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.sidebar-section{display:flex;flex-direction:column;gap:.75rem}.sidebar-section h3{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.template-option{background:var(--surface-2);border:2px solid transparent;border-radius:6px;padding:.5rem;cursor:pointer;transition:all .15s ease;text-align:center}.template-option:hover{background:var(--surface-3)}.template-option.selected{border-color:var(--accent);background:var(--surface-3)}.template-option .name{font-size:.75rem;font-weight:500;margin-bottom:.25rem}.template-option .preview{aspect-ratio:3 / 2;background:var(--surface-1);border-radius:4px;display:grid;gap:2px;padding:4px}.color-scheme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.color-scheme-option{aspect-ratio:1;border-radius:8px;cursor:pointer;position:relative;transition:transform .15s ease;border:3px solid transparent}.color-scheme-option:hover{transform:scale(1.05)}.color-scheme-option.selected{border-color:var(--accent)}.color-scheme-option .swatch{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;padding:4px;text-align:center}.size-options{display:flex;flex-direction:column;gap:.5rem}.size-option{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--surface-2);border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.size-option:hover{background:var(--surface-3)}.size-option.selected{border-color:var(--accent)}.size-option input[type=radio]{display:none}.size-option .label{font-size:.875rem}.orientation-toggle{display:flex;gap:.5rem}.orientation-btn{flex:1;padding:.5rem;background:var(--surface-2);border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .15s ease}.orientation-btn:hover{background:var(--surface-3)}.orientation-btn.selected{border-color:var(--accent);background:var(--surface-3)}.card-designer-main{display:flex;flex-direction:column;gap:1rem;min-height:0}.side-tabs{display:flex;gap:.5rem;padding:.5rem;background:var(--surface-1);border-radius:8px;width:fit-content}.side-tab{padding:.5rem 1.5rem;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all .15s ease}.side-tab:hover{background:var(--surface-2);color:var(--text-primary)}.side-tab.active{background:var(--accent);color:#fff}.canvas-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--surface-1);border-radius:8px;padding:1.5rem;overflow:hidden}.card-canvas{box-shadow:0 4px 24px #0000004d;position:relative}.card-canvas-inner{width:100%;height:100%;display:grid;overflow:hidden}.card-zone{position:relative;padding:.4em;overflow:hidden;cursor:pointer;transition:outline .15s ease;outline:2px solid transparent;outline-offset:-2px}.card-zone:hover{outline-color:#ffffff4d}.card-zone.selected{outline-color:var(--accent)}.card-zone .zone-content{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.card-zone .zone-content h1{margin:0 0 .3em;font-size:1.4em;line-height:1.05}.card-zone .zone-content h2{margin:0 0 .3em;font-size:1.15em;line-height:1.1}.card-zone .zone-content p{margin:0 0 .3em;font-size:.85em;line-height:1.25}.card-zone .zone-content ul,.card-zone .zone-content ol{margin:0;padding-left:1.2em;font-size:.9em}.card-zone.border-top{border-top:2px solid rgba(255,255,255,.3)}.card-zone.border-right{border-right:2px solid rgba(255,255,255,.3)}.card-zone.border-bottom{border-bottom:2px solid rgba(255,255,255,.3)}.card-zone.border-left{border-left:2px solid rgba(255,255,255,.3)}.card-zone .zone-label{position:absolute;top:4px;left:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#00000080;color:#fff;padding:2px 6px;border-radius:3px;opacity:0;transition:opacity .15s ease;pointer-events:none}.card-zone:hover .zone-label{opacity:1}.card-zone .zone-fit-indicator{display:none}.card-zone[data-fit-squeezed=true] .zone-fit-indicator{display:block;position:absolute;top:4px;right:4px;font-size:.5rem;font-weight:600;background:#eab308cc;color:#1a1a1a;padding:1px 5px;border-radius:3px;pointer-events:none;z-index:1}.card-zone[data-fit-squeezed=true] .zone-fit-indicator:after{content:"(tight)"}.grid-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.grid-drag-handle{position:absolute;pointer-events:auto;z-index:6;transition:background .1s ease}.grid-drag-handle:hover{background:#db27774d}.grid-drag-handle.active{background:#db277780}.grid-drag-tooltip{position:absolute;background:#000000d9;color:#fff;font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:3px;white-space:nowrap;pointer-events:none;z-index:7}[style*=col-resize]>.grid-drag-tooltip{top:50%;left:50%;transform:translate(-50%,8px)}[style*=row-resize]>.grid-drag-tooltip{left:50%;top:50%;transform:translate(8px,-50%)}.block-drag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;cursor:grabbing}.canvas-block{position:relative}.canvas-block.dragging{opacity:.3}.canvas-block-grip{display:none;position:absolute;left:-.2em;top:0;font-size:.5em;cursor:grab;color:#fff6;-webkit-user-select:none;user-select:none;z-index:2;line-height:1;padding:.1em}.canvas-block-grip:hover{color:#fffc}.canvas-block-grip:active{cursor:grabbing}.card-zone:hover .canvas-block-grip,.card-zone.selected .canvas-block-grip{display:block}.block-drop-indicator{height:2px;background:var(--accent, #db2777);border-radius:1px;margin:.1em 0;box-shadow:0 0 4px #db277780}.editor-panel{display:flex;flex-direction:column;gap:1rem}.zone-editor{flex:1;display:flex;flex-direction:column;gap:.75rem}.zone-editor-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.zone-editor textarea{flex:1;min-height:200px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.75rem;font-family:Monaco,Menlo,monospace;font-size:.75rem;color:var(--text-primary);resize:none}.zone-editor textarea:focus{outline:none;border-color:var(--accent)}.fit-content-toggle{margin-top:.25rem}.fit-content-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;cursor:pointer;color:var(--text-secondary)}.fit-content-label input[type=checkbox]{accent-color:var(--accent)}.border-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.border-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--surface-2);border:2px solid transparent;border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .15s ease}.border-toggle:hover{background:var(--surface-3)}.border-toggle.active{border-color:var(--accent);background:var(--surface-3)}.export-panel{display:flex;flex-direction:column;gap:1rem}.export-options{display:flex;flex-direction:column;gap:.75rem}.export-option{display:flex;flex-direction:column;gap:.25rem}.export-option label{font-size:.75rem;color:var(--text-secondary)}.export-option select{padding:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.export-option select:focus{outline:none;border-color:var(--accent)}.checkbox-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.checkbox-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.export-btn{padding:.75rem 1rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.export-btn:hover{opacity:.9}.export-btn:disabled{opacity:.7;cursor:not-allowed}.export-btn .export-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.export-error{background:#dc262633;border:1px solid #dc2626;color:#fca5a5;padding:.5rem;border-radius:4px;font-size:.75rem}.export-render-container{position:absolute;left:-9999px;top:0;opacity:0;pointer-events:none}.qr-code-block{display:inline-block;background:#fff;padding:.3em;border-radius:.2em}.qr-code-block svg{display:block;width:var(--qr-size, 4em);height:var(--qr-size, 4em)}.empty-zone-hint{color:var(--text-muted);font-style:italic;font-size:.875rem}@media (max-width: 1200px){.card-designer{grid-template-columns:240px 1fr 240px}}@media (max-width: 900px){.card-designer{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.card-designer-sidebar{flex-direction:row;flex-wrap:wrap;overflow-x:auto;overflow-y:visible}.sidebar-section{min-width:200px}}.zone-content .accent{color:#db2777}.zone-content .muted{color:#737373;font-weight:400}.zone-content .aau-logo{font-size:.9em;font-weight:600;letter-spacing:.15em;margin-bottom:.3em}.zone-content .aau-headline{font-size:1.6em;font-weight:800;line-height:1;margin:0 0 .25em;text-transform:uppercase}.zone-content .aau-tagline{font-size:.75em;line-height:1.2;color:#a3a3a3;margin-bottom:.4em}.zone-content .aau-qr-section{display:flex;align-items:center;gap:.4em;margin-bottom:.3em}.zone-content .qr-wrapper{flex-shrink:0}.zone-content .qr-info{display:flex;flex-direction:column;gap:.15em}.zone-content .qr-label{font-size:.6em;font-weight:700;color:#db2777;text-transform:uppercase;letter-spacing:.03em}.zone-content .qr-url{font-size:.75em;font-weight:600}.zone-content .aau-qr-small{display:flex;align-items:center;gap:.3em;margin-top:.4em;font-size:.55em}.zone-content .aau-animals{font-size:1.3em;letter-spacing:.15em;margin-top:auto;padding-top:.2em}.zone-content .aau-section-title{font-size:1em;font-weight:700;margin:0 0 .3em;padding-bottom:.15em;border-bottom:2px solid rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.05em}.zone-content .aau-resource{display:flex;align-items:flex-start;gap:.25em;margin-bottom:.3em}.zone-content .resource-icon{font-size:1em;flex-shrink:0;width:1.2em;text-align:center}.zone-content .resource-text{display:flex;flex-direction:column;gap:0}.zone-content .resource-text strong{font-size:.9em;color:#db2777}.zone-content .resource-text span{font-size:.7em;color:#a3a3a3}.zone-content .aau-faq{margin-top:auto;padding-top:.3em}.zone-content .aau-faq p{font-size:.7em;color:#a3a3a3;margin-bottom:.1em}.zone-content .aau-faq strong{font-size:.85em}.zone-content .aau-subsection{font-size:.7em;font-weight:600;margin:0 0 .3em}.zone-content .daily-dozen-grid{display:grid;grid-template-columns:1fr 1fr;gap:.1em .3em}.zone-content .dd-item{display:flex;align-items:center;gap:.1em;font-size:.6em;line-height:1}.zone-content .dd-item>div{display:flex;flex-direction:column}.zone-content .dd-item strong{font-weight:600;font-size:1em}.zone-content .dd-serving{font-size:.8em;color:#a3a3a3}.zone-content .dd-icon{font-size:1.2em;flex-shrink:0}.zone-content .aau-bullet{display:flex;align-items:flex-start;gap:.15em;margin-bottom:.15em}.zone-content .bullet-check,.zone-content .bullet-check-green,.zone-content .bullet-marker-green{color:#22c55e;font-size:1.2em;font-weight:700;flex-shrink:0;line-height:1}.zone-content .bullet-marker-accent{color:var(--accent, #e91e8c);font-size:1.2em;font-weight:700;flex-shrink:0;line-height:1}.zone-content .bullet-marker-muted{color:var(--text-secondary, #999);font-size:1.2em;flex-shrink:0;line-height:1}.zone-content .aau-bullet p{font-size:.55em;line-height:1.2;margin:0}.zone-content .aau-bullet strong{color:inherit}.zone-content .aau-footer-row{display:flex;align-items:center;gap:.5em;margin-bottom:.3em}.zone-content .footer-qr{display:flex;align-items:center;gap:.3em}.zone-content .qr-text{font-size:.6em;line-height:1.3}.zone-content .qr-text strong{font-size:1.1em}.zone-content .aau-footer-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2em}.zone-content .footer-left{display:flex;align-items:center;gap:.3em}.zone-content .footer-urls{display:flex;flex-direction:column;font-size:.45em;line-height:1.2}.zone-content .footer-urls strong{font-size:1.1em}.zone-content .footer-animals{font-size:.9em;letter-spacing:.03em}.zone-content .block-row{display:flex;align-items:center;gap:.3em;justify-content:space-between}.zone-content .block-row>*{flex:1;min-width:0}.zone-content .aau-footer-text{font-size:.5em;text-align:center;margin:auto 0 0}.grid-dimension-editor{margin-bottom:1rem}.grid-dimension-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.grid-dimension-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.grid-reset-btn{font-size:.625rem!important;padding:.2rem .4rem!important}.grid-preview{background:var(--surface-2);border-radius:4px;padding:4px;min-height:30px;margin-bottom:.75rem}.grid-preview-cell{background:var(--surface-3);border-radius:2px;display:flex;align-items:center;justify-content:center;min-height:20px}.grid-preview-cell.auto{background:var(--accent);opacity:.3}.grid-preview-percent{font-size:.625rem;color:var(--text-muted);font-weight:500}.grid-sliders{display:flex;flex-direction:column;gap:.5rem}.grid-slider-row{display:flex;align-items:center;gap:.5rem}.grid-segment-label{font-size:.75rem;color:var(--text-secondary);min-width:50px}.grid-segment-value{font-size:.75rem;font-weight:600;color:var(--text-primary);min-width:35px;text-align:right}.grid-number-input{width:42px;padding:2px 4px;font-size:.75rem;font-weight:600;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;text-align:center;-moz-appearance:textfield}.grid-number-input::-webkit-outer-spin-button,.grid-number-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.grid-number-input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.grid-segment-unit{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.grid-slider{flex:1;height:20px;min-width:80px;cursor:pointer;accent-color:var(--accent);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.grid-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--surface-2)}.grid-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;margin-top:-5px}.grid-slider::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-2)}.grid-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;border:none}.grid-constraints-hint{font-size:.625rem;color:var(--text-muted);margin:.25rem 0 0;font-style:italic}.editor-mode-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}.editor-mode-tab{flex:1;padding:.5rem;background:var(--surface-2);border:none;border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.editor-mode-tab:hover{background:var(--surface-3);color:var(--text-primary)}.editor-mode-tab.active{background:var(--accent);color:#fff}.block-editor{display:flex;flex-direction:column;gap:.75rem}.block-add-container{position:relative}.block-add-btn{width:100%;font-size:.75rem}.block-add-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.25rem;z-index:10;display:flex;flex-direction:column;gap:.125rem;box-shadow:0 4px 12px #0000004d}.block-add-option{padding:.5rem .75rem;background:transparent;border:none;border-radius:4px;font-size:.75rem;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .1s ease}.block-add-option:hover{background:var(--surface-3)}.block-list{display:flex;flex-direction:column;gap:.5rem}.block-empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.75rem;font-style:italic}.block-item{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .15s ease,opacity .15s ease}.block-item.dragging{opacity:.5;border-color:var(--accent)}.block-header{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--surface-3);border-bottom:1px solid var(--border)}.block-drag-handle{cursor:grab;color:var(--text-muted);font-size:.875rem;padding:0 .25rem;-webkit-user-select:none;user-select:none}.block-drag-handle:active{cursor:grabbing}.block-type-label{flex:1;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.block-actions{display:flex;gap:.25rem}.block-move-btn,.block-delete-btn{width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.block-move-btn:hover{background:var(--surface-1);color:var(--text-primary)}.block-move-btn:disabled{opacity:.3;cursor:not-allowed}.block-delete-btn{font-size:1.25rem}.block-delete-btn:hover{background:#dc2626;color:#fff}.block-content{padding:.75rem}.block-fields{display:flex;flex-direction:column;gap:.75rem}.block-field{display:flex;flex-direction:column;gap:.25rem}.block-field label{font-size:.625rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.block-field input[type=text],.block-field input[type=url],.block-field textarea,.block-field select{padding:.5rem;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-primary)}.block-field input:focus,.block-field textarea:focus,.block-field select:focus{outline:none;border-color:var(--accent)}.block-field textarea{resize:vertical;min-height:60px}.block-field textarea.html-textarea{font-family:Monaco,Menlo,monospace;font-size:.625rem}.block-field input[type=range]{width:100%;accent-color:var(--accent)}.block-field-value{font-size:.75rem;color:var(--text-secondary);text-align:right;min-width:40px}.block-field-row{display:flex;gap:1rem;align-items:center}.block-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-primary);cursor:pointer}.block-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.block-hint{font-size:.625rem;color:var(--text-muted);margin:0}.block-list-items{display:flex;flex-direction:column;gap:.375rem}.block-list-item{display:flex;gap:.25rem}.block-list-item-fields{display:flex;gap:.25rem;flex:1}.block-list-item-fields input{padding:.375rem;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-primary)}.block-list-item-fields input:focus{outline:none;border-color:var(--accent)}.block-list-remove{width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .1s ease}.block-list-remove:hover{background:#dc2626;color:#fff}.block-list-add{font-size:.625rem!important;padding:.375rem .5rem!important;margin-top:.25rem;align-self:flex-start}.daily-dozen-items{max-height:200px;overflow-y:auto}.daily-dozen-item{display:flex;align-items:center;gap:.25rem}.daily-dozen-item input{padding:.25rem;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text-primary)}.daily-dozen-item input:focus{outline:none;border-color:var(--accent)}.block-row-link{display:flex;align-items:center;justify-content:center;padding:.125rem 0;position:relative}.block-row-link:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border)}.block-row-link.linked:before{background:var(--accent);width:2px}.block-row-link-btn{position:relative;z-index:1;padding:.15rem .5rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.625rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.block-row-link-btn:hover{background:var(--surface-3);color:var(--text-primary)}.block-row-link.linked .block-row-link-btn{border-color:var(--accent);color:var(--accent);background:#db27771a}.block-item.row-linked{border-bottom-color:var(--accent);border-bottom-style:dashed;border-bottom-left-radius:0;border-bottom-right-radius:0}.card-zone{display:flex;flex-direction:column}.save-load-panel{display:flex;flex-direction:column;gap:.75rem}.save-name-row{display:flex}.save-name-input{flex:1;padding:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;font-size:.8rem;font-weight:500;color:var(--text-primary)}.save-name-input:focus{outline:none;border-color:var(--accent)}.save-actions{display:flex;gap:.5rem}.save-btn{flex:1;padding:.5rem 1rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s ease}.save-btn:hover{opacity:.9}.saved-cards-list{display:flex;flex-direction:column;gap:.25rem;max-height:160px;overflow-y:auto}.saved-card-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;background:var(--surface-2);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .1s ease}.saved-card-item:hover{background:var(--surface-3)}.saved-card-item.active{border-color:var(--accent)}.saved-card-info{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}.saved-card-name{font-size:.75rem;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-card-date{font-size:.625rem;color:var(--text-muted)}.saved-card-delete{width:22px;height:22px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .1s ease}.saved-card-delete:hover{background:#dc2626;color:#fff}.save-io-row{display:flex;gap:.5rem}.save-io-btn{flex:1;padding:.4rem .5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .1s ease}.save-io-btn:hover{background:var(--surface-3);color:var(--text-primary)}.image-library-categories{display:flex;gap:.25rem;flex-wrap:wrap}.image-library-category{padding:.25rem .5rem;background:var(--surface-2);border:1px solid transparent;border-radius:4px;font-size:.625rem;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.image-library-category:hover{background:var(--surface-3);color:var(--text-primary)}.image-library-category.active{border-color:var(--accent);color:var(--accent);background:#db27771a}.image-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}.image-library-item{cursor:pointer;border-radius:4px;overflow:hidden;border:2px solid transparent;transition:all .15s ease;background:var(--surface-2)}.image-library-item:hover{border-color:var(--accent);transform:scale(1.02)}.image-library-item.dragging{opacity:.5}.image-library-thumb{aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--surface-3)}.image-library-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-library-thumb.image-error{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.625rem}.image-library-thumb.image-error:after{content:"No preview"}.image-library-label{display:block;text-align:center;font-size:.5625rem;color:var(--text-secondary);padding:.125rem .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-content .zone-float{box-sizing:border-box}.zone-content .zone-float img{border-radius:2px}.float-elements-list{display:flex;flex-direction:column;gap:.5rem}.float-element-item{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.float-element-header{display:flex;justify-content:space-between;align-items:center}.float-element-type{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.float-element-row{display:flex;align-items:center;gap:.5rem}.float-element-label{font-size:.625rem;color:var(--text-muted);min-width:40px;text-transform:uppercase;letter-spacing:.03em}.float-element-value{font-size:.625rem;color:var(--text-secondary);min-width:32px;text-align:right;font-weight:500}.float-slider{flex:1;height:18px;cursor:pointer;accent-color:var(--accent)}.float-position-toggle{display:flex;gap:.25rem;flex:1}.float-pos-btn{flex:1;padding:.25rem .5rem;background:var(--surface-1);border:1px solid var(--border);border-radius:4px;font-size:.625rem;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.float-pos-btn:hover{background:var(--surface-3);color:var(--text-primary)}.float-pos-btn.active{border-color:var(--accent);color:var(--accent);background:#db27771a}.float-add-buttons{display:flex;gap:.5rem;margin-top:.25rem}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-card: #1a1a1a;--bg-card-hover: #222222;--bg-selected: #1f2937;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--text-muted: #737373;--blood-red: #8B0000;--dark-crimson: #4A0000;--dried-blood: #3D0000;--grass-green: #228B22;--forest-green: #1B5E20;--fresh-leaf: #2E7D32;--deep-ocean: #0D47A1;--sea-blue: #1565C0;--soil-brown: #5D4037;--rich-earth: #3E2723;--warning-orange: #E65100;--pale-death: #F5F5F5;--accent-primary: #ffffff;--accent-secondary: #d4d4d4;--accent-green: var(--grass-green);--border-subtle: #262626;--border-medium: #404040;--border-focus: #525252;--state-selected-border: #525252;--state-hover-bg: rgba(255, 255, 255, .05);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.625;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .1em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--section-gap-mobile: var(--space-16);--section-gap-desktop: var(--space-24);--card-padding-sm: var(--space-4);--card-padding-md: var(--space-6);--card-padding-lg: var(--space-8);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--border-width: 1px;--border-width-medium: 2px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(255, 255, 255, .05);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--counter-font-size-sm: 2rem;--counter-font-size-md: 3rem;--counter-font-size-lg: 4.5rem;--counter-font-size-hero: 6rem;--counter-font-weight: 700;--counter-font-family: var(--font-mono);--counter-text: var(--text-primary);--counter-bar-bg: var(--bg-card);--counter-bar-fill: var(--blood-red);--counter-bar-fill-alt: var(--warning-orange);--counter-land: var(--blood-red);--counter-fish: var(--deep-ocean);--counter-shellfish: var(--warning-orange);--counter-total: var(--blood-red);--bar-animal: var(--blood-red);--bar-plant: var(--grass-green);--bar-neutral: #737373;--icon-chicken: #FFD54F;--icon-fish: var(--deep-ocean);--icon-pig: #F8BBD9;--icon-cow: #8D6E63;--icon-turkey: var(--warning-orange);--icon-shellfish: var(--warning-orange);--sticky-header-bg: rgba(10, 10, 10, .95);--sticky-header-height: 60px;--sticky-header-blur: 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:1000px;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 768px){.container{padding:0 var(--space-8)}}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary)}.admin-logo{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary)}.admin-logo span{color:var(--blood-red)}.admin-nav{display:flex;align-items:center;gap:var(--space-4)}.admin-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.admin-user-avatar{width:28px;height:28px;border-radius:var(--radius-full)}.admin-user-name{font-size:var(--text-sm);color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-medium);font-size:var(--text-sm);border-radius:var(--radius-md);transition:all var(--transition-fast);border:none;padding:var(--space-2) var(--space-4)}.btn-primary{background:var(--accent-primary);color:var(--bg-primary)}.btn-primary:hover{opacity:.9}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--state-hover-bg);border-color:var(--border-focus)}.btn-danger{background:transparent;color:var(--blood-red);border:1px solid var(--blood-red)}.btn-danger:hover{background:var(--blood-red);color:var(--text-primary)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;padding:var(--space-2)}.btn-ghost:hover{color:var(--text-primary);background:var(--state-hover-bg)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-fast)}.card:hover{border-color:var(--border-medium)}.card-clickable{cursor:pointer}.card-clickable:hover{background:var(--bg-card-hover)}.survey-card{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.survey-card-info h3{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.survey-card-info p{color:var(--text-muted);font-size:var(--text-sm)}.survey-card-actions{display:flex;gap:var(--space-2)}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn-icon:hover{background:var(--bg-card-hover);border-color:var(--border-medium);color:var(--text-primary)}.survey-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (max-width: 900px){.survey-grid{grid-template-columns:1fr}}.survey-card-expanded{display:flex;flex-direction:column;gap:var(--space-3)}.survey-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.survey-card-stats{display:flex;align-items:flex-start;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.survey-stat{display:flex;flex-direction:column;align-items:center;min-width:50px}.survey-stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono);line-height:1}.survey-stat-label{font-size:var(--text-sm);color:var(--text-muted)}.survey-rankings{flex:1;display:flex;align-items:center;gap:var(--space-3)}.survey-rankings-label{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.survey-rankings-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.survey-ranking-item{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-secondary)}.ranking-position{color:var(--blood-red);font-weight:var(--font-semibold)}.survey-ranking-more{font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-1) var(--space-2)}.survey-chart{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.chart-row{display:flex;align-items:center;gap:var(--space-2);height:20px}.chart-rank{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#6366f1;min-width:22px;flex-shrink:0}.chart-label{width:80px;font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.survey-chart.large{gap:var(--space-2)}.survey-chart.large .chart-row{height:28px}.survey-chart.large .chart-rank{font-size:var(--text-sm);min-width:28px}.survey-chart.large .chart-label{width:120px;font-size:var(--text-sm)}.survey-chart.large .chart-bar-container{height:12px}.survey-chart.large .chart-value{width:32px;font-size:var(--text-sm)}.chart-bar-container{flex:1;height:8px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden;min-width:60px}.chart-bar{height:100%;background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:var(--radius-full);min-width:2px;transition:width var(--transition-normal)}.chart-value{width:24px;font-size:var(--text-xs);color:var(--text-muted);text-align:right;font-family:var(--font-mono);flex-shrink:0}.empty-state{text-align:center;padding:var(--space-16);background:var(--bg-card);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg)}.empty-state h2{color:var(--text-secondary);font-size:var(--text-xl);margin-bottom:var(--space-2)}.empty-state p{color:var(--text-muted)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-6)}input[type=text],input[type=email],textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-base);font-family:inherit;transition:border-color var(--transition-fast)}input[type=text]:focus,input[type=email]:focus,textarea:focus{outline:none;border-color:var(--border-focus)}input[type=text]::placeholder,textarea::placeholder{color:var(--text-muted)}.alert{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.alert-error{background:var(--dark-crimson);color:#fecaca;border:1px solid var(--blood-red)}.alert-warning{background:#78350f;color:#fde68a;border:1px solid var(--warning-orange)}.manage-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media (min-width: 1100px){.manage-grid{grid-template-columns:repeat(2,1fr)}}.manage-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6)}.manage-section h2{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.manage-section .section-desc{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.link-box{display:flex;gap:var(--space-2)}.link-box input{flex:1;background:var(--bg-secondary)}.voters-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.voter-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.voter-row.voted{border-color:#4ade8066}.voted-badge{font-size:var(--text-xs);color:#86efac;background:#22c55e26;padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--space-2)}.voter-name{display:flex;align-items:center}.copy-link-btn{font-size:var(--text-xs);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.copy-link-btn:hover{border-color:var(--border-medium);color:var(--text-primary);background:var(--bg-card-hover)}.irv-winner{background:#22c55e26;color:#86efac;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid rgba(74,222,128,.3);margin-bottom:var(--space-4);font-size:var(--text-lg)}.irv-winner strong{color:#4ade80}.irv-results{margin-top:var(--space-4)}.irv-rounds{display:flex;flex-direction:column;gap:var(--space-3)}.irv-candidates{margin-top:var(--space-2)}.irv-round{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-md)}.irv-round h4{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2)}.irv-candidate{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.irv-candidate:last-child{border-bottom:none}.irv-candidate-name{font-size:var(--text-sm);color:var(--text-primary)}.irv-candidate-votes{font-size:var(--text-sm);color:var(--text-muted);font-family:var(--font-mono)}.irv-candidate.eliminated{opacity:.6}.irv-candidate.eliminated .irv-candidate-name{text-decoration:line-through;color:var(--text-muted)}.eliminated-badge{font-size:var(--text-xs);color:#fca5a5;background:#ef444426;padding:2px 6px;border-radius:var(--radius-sm);margin-left:var(--space-2)}.add-voter-form{display:flex;gap:var(--space-2)}.add-voter-form input{flex:1}.results-list{display:flex;flex-direction:column;gap:var(--space-2)}.result-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.result-rank{font-weight:var(--font-bold);color:var(--text-muted);min-width:30px}.result-text{flex:1}.result-stats{font-size:var(--text-sm);color:var(--text-muted)}.voter-details{margin-top:var(--space-4)}.voter-details summary{cursor:pointer;color:var(--text-secondary);font-size:var(--text-sm)}.voter-votes{margin-top:var(--space-3);display:grid;gap:var(--space-3)}.voter-vote{background:var(--bg-secondary);padding:var(--space-3);border-radius:var(--radius-md)}.voter-vote ol{margin-top:var(--space-2);padding-left:var(--space-6);color:var(--text-secondary);font-size:var(--text-sm)}.no-results{color:var(--text-muted);font-style:italic}.refresh-btn{float:right;margin-top:calc(-1 * var(--space-8))}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-12);max-width:400px;width:90%;text-align:center}.login-logo{font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-6);color:var(--text-primary)}.login-logo span{color:var(--blood-red)}.login-card h1{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.login-subtitle{color:var(--text-muted);margin-bottom:var(--space-8)}.login-btn{background:var(--blood-red);color:var(--text-primary);border:none;padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;transition:background var(--transition-fast)}.login-btn:hover{background:var(--dark-crimson)}.login-footer{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-8)}.loading-text{color:var(--text-muted)}.settings-group{margin-bottom:var(--space-4)}.settings-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.settings-options{display:flex;flex-direction:column;gap:var(--space-2)}.settings-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.settings-option:hover{border-color:var(--border-medium)}.settings-option.active{border-color:#6366f1;background:#6366f11a}.settings-option input[type=radio]{margin-top:2px;accent-color:#6366f1}.settings-option .option-title{display:block;font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm)}.settings-option .option-desc{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.settings-checkbox{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.settings-checkbox:hover{border-color:var(--border-medium)}.settings-checkbox input[type=checkbox]{margin-top:2px;accent-color:#6366f1}.settings-checkbox strong{display:block;font-weight:var(--font-medium);color:var(--text-primary);font-size:var(--text-sm)}.settings-checkbox .option-desc{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.survey-container.manage{max-width:1400px;width:100%;margin:0 auto;padding:var(--space-8) var(--space-6)}@media (max-width: 768px){.survey-container.manage{padding:var(--space-4) var(--space-3)}}.survey-container.results-page{max-width:800px}.results-section-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);margin-bottom:var(--space-4)}.results-section-card h2{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.status-toggle{display:flex;gap:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-subtle);width:fit-content}.status-btn{padding:var(--space-2) var(--space-5);background:var(--bg-secondary);border:none;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.status-btn:first-child{border-right:1px solid var(--border-subtle)}.status-btn:hover{background:var(--bg-card-hover)}.status-btn.open{background:#22c55e26;color:#4ade80}.status-btn.closed{background:#ef444426;color:#f87171}.status-note{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-2);font-style:italic}.schedule-inputs{display:flex;flex-direction:column;gap:var(--space-3)}.schedule-row{display:flex;align-items:center;gap:var(--space-3)}.schedule-row span{font-size:var(--text-sm);color:var(--text-secondary);min-width:50px}.schedule-row input[type=datetime-local]{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:var(--text-sm);font-family:inherit}.schedule-row input[type=datetime-local]:focus{outline:none;border-color:var(--border-focus)}.clear-btn{padding:var(--space-1) var(--space-2);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.clear-btn:hover{border-color:var(--border-medium);color:var(--text-secondary)}.manage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.manage-header-info h1{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.manage-header-info .subtitle{color:var(--text-muted);margin-bottom:var(--space-2)}.manage-header-actions{display:flex;gap:var(--space-2)}.status-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:2px 8px;border-radius:var(--radius-full);text-transform:capitalize}.status-badge.open{background:#22c55e26;color:#4ade80}.status-badge.closed{background:#ef444426;color:#f87171}.status-badge.scheduled{background:#eab30826;color:#facc15}.status-badge.draft{background:#94a3b826;color:#94a3b8}.flyout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:100}.flyout-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:90vw;background:var(--bg-card);border-left:1px solid var(--border-subtle);z-index:101;display:flex;flex-direction:column;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.flyout-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.flyout-header h2{font-size:var(--text-lg);font-weight:var(--font-semibold)}.flyout-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.flyout-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.flyout-content{flex:1;overflow-y:auto;padding:var(--space-5)}.flyout-content .settings-group{margin-bottom:var(--space-5)}.flyout-divider{height:1px;background:var(--border-subtle);margin:var(--space-5) 0}.settings-desc{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.flyout-content .voters-list{margin-top:var(--space-3);max-height:200px;overflow-y:auto}.flyout-content .voter-row{padding:var(--space-2) var(--space-3)}.flyout-content .add-voter-form{margin-bottom:0}.results-section{position:relative}.results-section .refresh-btn{position:absolute;top:var(--space-6);right:var(--space-6);margin-top:0}.card-designer-v2{display:flex;gap:var(--space-6);max-width:1600px;margin:0 auto;padding:var(--space-6);min-height:calc(100vh - 60px)}.designer-sidebar{width:300px;flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);height:fit-content;position:sticky;top:var(--space-6)}.designer-sidebar h2{font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-5)}.sidebar-section{margin-bottom:var(--space-5)}.sidebar-section>label{display:block;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.side-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:3px}.side-toggle button{flex:1;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.side-toggle button.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 3px #0003}.orientation-toggle{display:flex;gap:var(--space-2)}.orientation-toggle button{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.orientation-toggle button svg{width:16px;height:16px}.orientation-toggle button:hover{border-color:var(--border-medium)}.orientation-toggle button.active{background:#db277726;border-color:#db2777;color:#f472b6}.layout-options{display:flex;gap:var(--space-2)}.layout-btn{flex:1;aspect-ratio:1;max-width:48px;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.layout-btn svg{width:100%;height:100%}.layout-btn:hover{border-color:var(--border-medium)}.layout-btn.active{background:#db277726;border-color:#db2777;color:#f472b6}.format-toolbar{display:flex;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-md);padding:3px}.format-toolbar button{padding:var(--space-2);min-width:32px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.format-toolbar button:hover{background:var(--bg-card);color:var(--text-primary)}.format-toolbar .accent-btn{color:#db2777}.toolbar-divider{width:1px;background:var(--border-subtle);margin:4px}.insert-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2)}.insert-buttons button{padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.insert-buttons button:hover{border-color:var(--border-medium);color:var(--text-primary)}.layout-templates{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.layout-template-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.layout-template-btn span{font-size:9px;color:var(--text-tertiary)}.layout-template-btn:hover{border-color:var(--border-medium)}.layout-template-btn.active{background:#db277726;border-color:#db2777}.layout-template-btn.active span{color:#f472b6}.layout-preview{width:36px;height:28px;display:grid;gap:2px;background:var(--bg-tertiary);border-radius:2px;padding:2px}.layout-preview.layout-single{grid-template-columns:1fr}.layout-preview.layout-two-column{grid-template-columns:1fr 1fr}.layout-preview.layout-header-two-col{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}.layout-preview.layout-header-two-col .zone-header{grid-column:1 / -1}.layout-preview.layout-header-two-col-footer{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto}.layout-preview.layout-header-two-col-footer .zone-header,.layout-preview.layout-header-two-col-footer .zone-footer{grid-column:1 / -1}.preview-zone{background:var(--text-tertiary);border-radius:1px;opacity:.4}.layout-template-btn.active .preview-zone{background:#db2777;opacity:.6}.size-sliders{display:flex;flex-direction:column;gap:var(--space-3)}.size-slider{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:center}.size-slider>span:first-child{font-size:var(--text-xs);color:var(--text-secondary);grid-column:1 / -1}.size-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;cursor:pointer}.size-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#db2777;border-radius:50%;cursor:grab;transition:transform .15s ease}.size-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.size-slider input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}.size-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#db2777;border:none;border-radius:50%;cursor:grab}.size-value{font-size:var(--text-xs);color:var(--text-muted);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.zone-options{display:flex;flex-direction:column;gap:var(--space-2)}.border-toggles{display:flex;align-items:center;gap:var(--space-2)}.border-toggles>span{font-size:var(--text-xs);color:var(--text-secondary)}.border-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;cursor:pointer;transition:all var(--transition-fast)}.border-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.border-btn.active{background:#db277733;border-color:#db2777;color:#db2777}.zone-selector{display:flex;flex-wrap:wrap;gap:var(--space-2)}.zone-btn{padding:var(--space-1) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);text-transform:capitalize;cursor:pointer;transition:all var(--transition-fast)}.zone-btn:hover{border-color:var(--border-medium)}.zone-btn.active{background:#db277726;border-color:#db2777;color:#f472b6}.option-toggles{display:flex;flex-direction:column;gap:var(--space-2)}.toggle-option{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary)}.toggle-option input{accent-color:#db2777}.qr-url-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.export-section{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.export-btn{width:100%;padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.export-btn:hover{border-color:var(--border-medium);color:var(--text-primary)}.export-btn.primary{background:#db2777;border-color:#db2777;color:#fff;font-weight:var(--font-medium);margin-bottom:var(--space-2)}.export-btn.primary:hover{background:#be185d}.export-row{display:flex;gap:var(--space-2)}.export-row .export-btn{flex:1}.designer-preview{flex:1;display:flex;flex-direction:column;gap:var(--space-6)}.preview-cards{display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:center;padding:var(--space-6);background:linear-gradient(135deg,#3d3d3d,#2a2a2a);border-radius:var(--radius-lg)}.preview-card-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.card-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#ffffff80;letter-spacing:2px}.card-canvas{padding:24px;background:#1a1a1a;color:#e5e5e5;font-family:Inter,-apple-system,sans-serif;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;border-radius:4px;box-shadow:0 20px 60px #00000080;cursor:pointer;transition:outline var(--transition-fast)}.card-canvas.vertical{width:336px;height:504px;flex-shrink:0}.card-canvas.horizontal{width:576px;height:384px;flex-shrink:0}.card-logo{font-size:11px;font-weight:600;letter-spacing:2px;color:#777}.card-canvas .card-logo{position:relative;z-index:1;margin-bottom:8px}.card-canvas .card-qr{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.card-canvas .card-qr svg{border-radius:4px;flex-shrink:0}.card-canvas .qr-info{display:flex;flex-direction:column;gap:2px}.card-canvas .qr-info span{font-size:9px;color:#db2777;font-weight:600;letter-spacing:.5px}.card-canvas .qr-info strong{font-size:12px;color:#ccc;font-weight:500}.card-canvas .card-animals{font-size:18px;letter-spacing:2px;text-align:center;position:relative;z-index:1}.card-grid{flex:1;display:grid;gap:12px;position:relative;z-index:1;min-height:0;overflow:hidden}.card-grid.layout-single{grid-template-columns:1fr}.card-grid.layout-two-column{grid-template-columns:1fr 1fr}.card-grid.layout-header-two-col{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}.card-grid.layout-header-two-col .zone-header{grid-column:1 / -1}.card-grid.layout-header-two-col-footer{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto}.card-grid.layout-header-two-col-footer .zone-header,.card-grid.layout-header-two-col-footer .zone-footer{grid-column:1 / -1}.card-zone{position:relative;cursor:pointer;transition:outline var(--transition-fast);overflow:hidden;min-height:0}.card-zone.active{outline:2px dashed rgba(219,39,119,.5);outline-offset:2px}.card-zone.border-top{border-top:1px solid rgba(255,255,255,.15);padding-top:8px}.card-zone.border-right{border-right:1px solid rgba(255,255,255,.15);padding-right:12px}.card-zone.border-bottom{border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:8px}.card-zone.border-left{border-left:1px solid rgba(255,255,255,.15);padding-left:12px}.card-zone .qr-block{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px}.card-zone .qr-block.small{margin-top:8px}.card-zone .qr-block.small .qr-code{width:48px;height:48px}.card-zone .qr-code{width:56px;height:56px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:2px}.card-zone .qr-code svg{width:100%;height:100%}.card-zone .qr-text{display:flex;flex-direction:column;gap:1px}.card-zone .qr-text span{font-size:9px;color:#db2777;font-weight:500}.card-zone .qr-text strong{font-size:12px;color:#ccc;font-weight:500}.card-zone .grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.card-zone .grid-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px 8px}.card-zone .animals-row{font-size:16px;letter-spacing:4px;margin:auto 0 0;text-align:center}.card-zone h1{font-size:28px;font-weight:800;line-height:1.1;margin:0}.card-zone.zone-header h1{font-size:32px;font-weight:700;text-align:center}.card-zone h2{font-size:16px;font-weight:700;margin:0 0 12px;padding:8px 12px;background:#ffffff14;border-radius:4px;display:inline-block}.card-zone h3{font-size:14px;font-weight:600;margin:0 0 10px;color:#db2777}.card-zone h3 span{color:#888;font-weight:400}.card-zone .tagline{font-size:13px;color:#888;margin:8px 0 0}.card-zone .resource{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.card-zone .resource>span{font-size:18px}.card-zone .resource div{font-size:11px;color:#888;line-height:1.4}.card-zone .resource strong{font-size:13px;color:#db2777;display:block}.card-zone .bullet{display:flex;gap:8px;margin-bottom:10px}.card-zone .bullet .check{color:#4ade80;font-size:16px;font-weight:700;flex-shrink:0}.card-zone .bullet p{font-size:11px;line-height:1.4;margin:0;color:#ccc}.card-zone .bullet strong{color:#fff}.card-zone .checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.card-zone .check-item{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.3}.card-zone .check-item br{display:block;content:""}.card-zone .check-item span{font-size:14px}.card-zone .check-item strong{color:#db2777}.card-zone .faq{margin-top:auto;font-size:12px;color:#777;line-height:1.5}.card-zone .faq strong{color:#ddd}.card-zone .footer-text{font-size:12px;text-align:center;color:#888;margin:0}.card-zone .footer-row{display:flex;align-items:center;gap:16px;margin-bottom:8px}.card-zone .footer-qr{width:56px;height:56px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px;color:#333}.card-zone .footer-qr svg{width:100%;height:100%}.card-zone .footer-center{display:flex;flex-direction:column;gap:2px}.card-zone .footer-center span{font-size:10px;color:#888}.card-zone .footer-center strong{font-size:14px;color:#fff}.card-zone .footer-animals{margin-left:auto;font-size:18px;letter-spacing:2px}.card-zone .footer-tagline{font-size:11px;text-align:center;color:#888;margin:8px 0 0}.card-zone .footer-tagline .accent{color:#db2777;font-weight:600}.card-zone .check-pink{color:#db2777;font-size:16px}.resize-handle{position:absolute;z-index:10;background:transparent;transition:background .15s ease}.resize-handle:hover,.resize-handle:active{background:#db27774d}.resize-handle-col{top:0;bottom:0;width:8px;margin-left:-4px;cursor:col-resize}.resize-handle-col:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;background:#db277780;border-radius:1px;opacity:0;transition:opacity .15s ease}.resize-handle-col:hover:after,.resize-handle-col:active:after{opacity:1}.resize-handle-row{left:0;right:0;height:8px;margin-top:-4px;cursor:row-resize}.resize-handle-row:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:2px;background:#db277780;border-radius:1px;opacity:0;transition:opacity .15s ease}.resize-handle-row:hover:after,.resize-handle-row:active:after{opacity:1}.card-canvas.resizing{-webkit-user-select:none;user-select:none}.card-canvas.resizing .card-zone{pointer-events:none}.card-canvas .card-texture{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.06'/%3E%3C/svg%3E");pointer-events:none}.card-canvas.centered{text-align:center;align-items:center}.card-canvas.left{text-align:left;align-items:flex-start}.card-canvas.split .card-content{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-logo{font-size:11px;font-weight:600;letter-spacing:2px;color:#777;position:relative;z-index:1}.card-logo span{color:#db2777}.card-content{flex:1;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.card-content h1{font-size:32px;font-weight:800;line-height:1.1;margin:0}.card-content h2{font-size:18px;font-weight:700;margin:0;padding:8px 12px;background:#ffffff14;border-radius:4px}.card-content h1.accent,.card-content .accent{color:#db2777}.card-content .tagline{font-size:13px;color:#888;margin:8px 0}.card-content .resource{display:flex;align-items:flex-start;gap:10px;text-align:left}.card-content .resource>span{font-size:20px}.card-content .resource div{display:flex;flex-direction:column;gap:2px}.card-content .resource strong{font-size:13px;color:#db2777}.card-content .resource div{font-size:11px;color:#888;line-height:1.4}.card-content .faq{margin-top:auto;font-size:12px;color:#777;line-height:1.5}.card-content .faq strong{color:#ddd}.card-qr{display:flex;align-items:center;gap:12px;margin-top:auto;position:relative;z-index:1}.card-qr svg{border-radius:4px}.qr-info{display:flex;flex-direction:column;gap:2px;text-align:left}.qr-info span{font-size:9px;color:#db2777;font-weight:600;letter-spacing:.5px}.qr-info strong{font-size:12px;color:#ccc;font-weight:500}.content-editor{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.editor-header{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center}.editor-header .save-btn{padding:4px 12px;background:#db2777;border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:500;cursor:pointer}.editor-header .save-btn:hover{background:#be185d}.editor-area{padding:var(--space-4);min-height:200px;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);line-height:1.6;color:var(--text-primary);outline:none}.editor-area:focus{background:var(--bg-secondary)}.editor-textarea{width:100%;flex:1;padding:var(--space-3);background:var(--bg-primary);border:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.5;color:var(--text-primary);resize:none;outline:none}.editor-textarea:focus{background:var(--bg-secondary)}@media (max-width: 1200px){.preview-cards{flex-direction:column;align-items:center}}@media (max-width: 900px){.card-designer-v2{flex-direction:column}.card-canvas.horizontal{width:480px;height:320px;padding:20px}.card-canvas.vertical{width:280px;height:420px;padding:20px}.designer-sidebar{width:100%;position:static}.print-card{width:100%;max-width:360px}}
