@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Lora:ital,wght@0,400;0,600;1,400;1,600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&family=Fredoka:wght@400;500;600;700&display=swap);@tailwind base;@tailwind components;@tailwind utilities;.story-progress-modal-overlay{align-items:center;animation:fadeIn .24s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1e1b4bb3;display:flex;inset:0;justify-content:center;padding:var(--s-6);position:fixed;z-index:250}.story-progress-modal{animation:slideUp .38s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:var(--r-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;position:relative;width:100%}.story-progress-header{align-items:center;background:var(--grad-primary);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--s-5) var(--s-6)}.story-progress-header h3{align-items:center;color:#fff;display:flex;font-weight:900;gap:var(--s-2)}.error-icon,.generating-icon,.story-progress-header h3,.success-icon{font-size:var(--text-base)}.story-progress-header .close-button{background:#fff3;color:#fff;font-size:1rem;height:32px;position:static;width:32px}.story-progress-header .close-button:hover{background:#ffffff59;color:#fff}.story-progress-content{display:flex;flex-direction:column;gap:var(--s-5);overflow-y:auto;padding:var(--s-6);scrollbar-color:var(--clr-border) #0000;scrollbar-width:thin}.progress-section{display:flex;flex-direction:column;gap:var(--s-2)}.progress-bar{height:10px}.progress-fill{box-shadow:0 0 12px #7c3aed66;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-text{color:var(--clr-text-2);font-size:var(--text-sm);font-weight:600}.progress-percentage{-webkit-text-fill-color:#0000;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;font-size:var(--text-2xl);font-weight:900;text-align:center}.failed-text{color:var(--clr-error)}.time-estimate{align-items:center;background:var(--clr-accent-xlight);color:#92400e;display:flex;font-weight:600;gap:var(--s-2)}.current-status,.time-estimate{border-radius:var(--r-md);font-size:var(--text-sm);padding:var(--s-3) var(--s-4)}.current-status{background:var(--clr-primary-2xlight);color:var(--clr-primary);font-weight:700}.current-status p{align-items:center;display:flex;gap:var(--s-2)}.partial-story-preview h4{color:var(--clr-text);font-size:var(--text-sm);font-weight:900;letter-spacing:.06em;margin-bottom:var(--s-3);text-transform:uppercase}.preview-pages{display:flex;flex-direction:column;gap:var(--s-2)}.preview-page{align-items:flex-start;background:var(--clr-bg);border:1.5px solid var(--clr-border-light);border-radius:var(--r-md);display:flex;gap:var(--s-3);padding:var(--s-3) var(--s-4)}.preview-page.more-pages{justify-content:center}.page-number{color:var(--clr-primary);font-size:var(--text-xs);font-weight:800;white-space:nowrap}.page-content{color:var(--clr-text-2);flex:1 1;font-size:var(--text-xs);line-height:1.5}.page-status{flex-shrink:0;font-size:var(--text-xs);font-weight:700}.status-complete{color:var(--clr-success)}.more-text,.status-pending{color:var(--clr-text-muted)}.more-text{font-size:var(--text-xs);font-style:italic;font-weight:600}.background-info{background:var(--clr-border-light);border-radius:var(--r-md);padding:var(--s-3) var(--s-4)}.info-message{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:600;line-height:1.6}.story-progress-modal--credits .story-progress-header{background:linear-gradient(135deg,#f472b6,#c084fc)}.credits-icon{align-items:center;display:flex;gap:var(--s-2)}.credit-issue-section{align-items:stretch;display:flex;flex-direction:column;gap:var(--s-4)}.credit-issue-lede{color:var(--clr-text);font-size:var(--text-base);font-weight:700;text-align:center}.credit-compare{background:var(--clr-bg);border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);gap:var(--s-4);justify-content:center;padding:var(--s-5) var(--s-4)}.credit-compare,.credit-stat{align-items:center;display:flex}.credit-stat{flex-direction:column;gap:var(--s-1);min-width:84px}.credit-stat-value{color:var(--clr-text-2);font-size:var(--text-3xl);font-weight:900;line-height:1}.credit-stat--needed .credit-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f472b6,#c084fc);-webkit-background-clip:text;background-clip:text}.credit-stat-label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.credit-compare-arrow,.credit-stat-label{color:var(--clr-text-muted);font-weight:700}.credit-compare-arrow{font-size:var(--text-xl)}.credit-issue-hint{color:var(--clr-text-2);font-size:var(--text-sm);line-height:1.6;text-align:center}.buy-credits-button{background:linear-gradient(135deg,#f472b6,#c084fc);border:none;border-radius:var(--r-lg);box-shadow:0 8px 24px #c084fc59;color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:900;padding:var(--s-4);transition:all var(--t-base);width:100%}.buy-credits-button:hover{box-shadow:0 12px 32px #c084fc73;transform:translateY(-1px)}.error-section{display:flex;flex-direction:column;gap:var(--s-4)}.error-section .error-message{border-radius:var(--r-md);padding:var(--s-4)}.error-section .resume-section{background:var(--clr-accent-xlight);border:1.5px solid var(--clr-accent-light);border-radius:var(--r-md);display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-4)}.error-section .resume-section p{color:#92400e;font-size:var(--text-sm);font-weight:600}.action-buttons{display:flex;flex-direction:column;gap:var(--s-3)}.complete-button{background:var(--grad-primary);border:none;border-radius:var(--r-lg);box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:900;padding:var(--s-4);transition:all var(--t-base);width:100%}.complete-button:hover{box-shadow:0 12px 36px #7c3aed59;transform:translateY(-1px)}.minimize-button{background:#fff;border:1.5px solid var(--clr-border);border-radius:var(--r-md);color:var(--clr-text-2);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-3);transition:all var(--t-base);width:100%}.minimize-button:hover{background:var(--clr-border-light);border-color:var(--clr-text-muted)}.resume-button{background:var(--clr-accent-xlight);border:1.5px solid var(--clr-accent-light);border-radius:var(--r-md);color:#92400e;cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-3);transition:all var(--t-base);width:100%}.resume-button:hover{background:var(--clr-accent-light)}.cancel-button{background:#fff;border:1.5px solid #fca5a5;border-radius:var(--r-md);color:var(--clr-error);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-3);transition:all var(--t-base);width:100%}.cancel-button:hover{background:var(--clr-error-light)}.debug-info{border-top:1px solid var(--clr-border-light);padding:var(--s-3) var(--s-6)}.debug-info summary{cursor:pointer;font-weight:600}.debug-info pre,.debug-info summary{color:var(--clr-text-muted);font-size:var(--text-xs)}.debug-info pre{margin-top:var(--s-2);overflow:auto}@media (max-width:480px){.story-progress-content,.story-progress-header{padding:var(--s-4)}}.drw-overlay{align-items:center;animation:drwFade .2s ease;background:#0f0a1eb8;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1200}@keyframes drwFade{0%{opacity:0}to{opacity:1}}.drw-modal{background:#fff;border-radius:16px;box-shadow:0 24px 60px #0006;display:flex;flex-direction:column;max-height:92vh;max-width:680px;overflow:hidden;width:100%}.drw-header{align-items:flex-start;display:flex;justify-content:space-between;padding:20px 24px 12px}.drw-header h2{color:#2b1f45;font-size:1.4rem;margin:0}.drw-sub{color:#8a7bad;font-size:13px;margin:4px 0 0}.drw-close{background:none;border:none;color:#b0a4c8;cursor:pointer;font-size:28px;line-height:1}.drw-steps{display:flex;gap:8px;padding:4px 24px 16px}.drw-step{align-items:center;background:#f4f0fb;border-radius:10px;color:#9c8ec2;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;padding:8px 10px}.drw-step.active{background:linear-gradient(135deg,#7c5fd3,#a986e6);color:#fff}.drw-step.done{background:#eae2fb;color:#7c5fd3}.drw-step-num{align-items:center;background:#ffffff80;border-radius:50%;display:inline-flex;font-size:12px;font-weight:800;height:20px;justify-content:center;width:20px}.drw-step.active .drw-step-num{background:#ffffff4d}.drw-body{flex:1 1;overflow-y:auto;padding:8px 24px 16px}.drw-section{display:flex;flex-direction:column;gap:12px}.drw-hint{background:#f8f5ff;border-radius:10px;color:#6b6285;font-size:13px;margin:0 0 4px;padding:10px 12px}.drw-empty{color:#999;font-style:italic}.drw-char{background:#fcfaff;border:1px solid #ece5fa;border-radius:12px;flex-direction:column;padding:12px}.drw-char,.drw-char-row{display:flex;gap:8px}.drw-char-name{flex:1.2 1}.drw-char-type{flex:1 1}.drw-char-field,.drw-char-row input{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:13px;padding:8px 10px}.drw-char-field{box-sizing:border-box;width:100%}.drw-char-remove{background:#fff;border:1px solid #ffd4d4;border-radius:8px;color:#e05555;cursor:pointer;padding:0 10px}.drw-add{align-self:flex-start;background:#f0ebff;border:1px dashed #b9a5ec;border-radius:999px;color:#6b4ea8;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.drw-page{background:#fcfaff;border:1px solid #ece5fa;border-radius:12px;padding:10px 12px}.drw-page-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.drw-page-num{color:#9c8ec2;font-size:12px;font-weight:700}.drw-rewrite{background:#fff;border:1px solid #d7c9f2;border-radius:999px;color:#6b4ea8;cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px}.drw-rewrite:disabled{cursor:default;opacity:.6}.drw-page-text{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;line-height:1.5;padding:8px 10px;resize:vertical;width:100%}.drw-label{color:#8a7bad;font-size:12px;font-weight:700;margin-top:6px}.drw-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:9px 11px;width:100%}.drw-char-field:focus,.drw-char-row input:focus,.drw-input:focus,.drw-page-text:focus{border-color:#a986e6;box-shadow:0 0 0 3px #a986e626;outline:none}.drw-error{color:#c62828;font-size:13px;margin:0 24px}.drw-footer{background:#fafafa;border-top:1px solid #eee;justify-content:space-between;padding:14px 24px}.drw-footer,.drw-footer-right{align-items:center;display:flex}.drw-footer-right{gap:12px}.drw-saving{color:#9c8ec2;font-size:12px}.drw-btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;padding:10px 20px}.drw-btn.ghost{background:#fff;border:1px solid #ddd;color:#666}.drw-btn.primary{background:linear-gradient(135deg,#7c5fd3,#a986e6);color:#fff}.drw-btn.generate{background:linear-gradient(135deg,#4caf50,#66bb6a);box-shadow:0 4px 14px #4caf5059;color:#fff}.drw-btn:disabled{cursor:default;opacity:.6}@media (max-width:560px){.drw-step-label{display:none}.drw-char-row{flex-wrap:wrap}}.character-form-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.character-form-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.form-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px;position:sticky;top:0;z-index:1}.form-header h2{font-size:1.5rem;margin:0}.form-header .close-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.form-header .close-button:hover{background:#fff3}.character-form{padding:24px}.error-message{border-radius:6px;color:#c62828;margin-bottom:20px}.form-section{margin-bottom:32px}.form-section h3{border-bottom:2px solid #e0e0e0;color:#333;font-size:1.1rem;padding-bottom:8px}.form-group label{color:#555;font-weight:500}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.field-hint{color:#888;font-size:12px;margin:6px 0 0}.form-group textarea{min-height:80px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.photo-upload{align-items:center;display:flex;flex-direction:column;gap:16px}.photo-preview{border:2px solid #e0e0e0;border-radius:12px;height:150px;overflow:hidden;width:150px}.photo-preview img{height:100%;object-fit:cover;width:100%}.photo-upload input[type=file]{display:none}.photo-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.photo-button:hover{background:#5568d3}.tag-input{display:flex;gap:8px;margin-bottom:12px}.tag-input input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.tag-input button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.tag-input button:hover{background:#5568d3}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#e3f2fd;border-radius:16px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.tag,.tag button{align-items:center;color:#1976d2}.tag button{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:16px;justify-content:center;line-height:1;padding:0;transition:background .2s;width:16px}.tag button:hover{background:#0000001a}.form-actions{background:#fff;border-top:1px solid #e0e0e0;bottom:0;display:flex;gap:12px;justify-content:flex-end;margin:0 -24px -24px;padding:20px 24px;position:sticky}.cancel-button,.save-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.cancel-button{background:#f5f5f5;color:#666}.cancel-button:hover{background:#e0e0e0;color:#333}.save-button{background:#4caf50;color:#fff}.save-button:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.save-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.character-form-modal{max-height:95vh;width:95%}.form-row{grid-template-columns:1fr}.character-form{padding:16px}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{width:100%}}.character-library-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.character-library-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;width:95%}.library-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.library-header h2{font-size:1.5rem;margin:0}.library-header .close-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.library-header .close-button:hover{background:#fff3}.library-toolbar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;display:flex;gap:12px;padding:20px 24px}.search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-family:inherit;font-size:14px;padding:10px 16px;transition:border-color .2s}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-button{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;white-space:nowrap}.create-button:hover{background:#45a049;transform:translateY(-1px)}.library-content{flex:1 1;overflow-y:auto;padding:24px}.loading-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{animation:spin 1s linear infinite;color:#667eea;font-size:48px;margin-bottom:16px}.error-state{align-items:center;color:#c62828;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.error-state button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;padding:10px 20px;transition:background .2s}.error-state button:hover{background:#5568d3}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.3}.empty-state h3{color:#333;margin:0 0 12px}.empty-state p{font-size:14px;margin:0 0 24px}.create-button-large{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 32px;transition:all .2s}.create-button-large:hover{background:#45a049;box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.character-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.character-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.character-card:hover{border-color:#667eea;box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.character-card.is-pending{border-color:#667eea;box-shadow:0 0 0 2px #667eea4d}.character-card.is-in-story{border-color:#4caf50;box-shadow:0 0 0 2px #4caf504d}.card-image{background:#f5f5f5;height:200px;overflow:hidden;position:relative;width:100%}.card-image,.card-selected-badge{align-items:center;display:flex;justify-content:center}.card-selected-badge{background:#667eea;border-radius:50%;box-shadow:0 2px 6px #00000040;color:#fff;font-size:14px;font-weight:700;height:26px;position:absolute;right:8px;top:8px;width:26px}.character-card.is-in-story .card-selected-badge{background:#4caf50}.card-image img{height:100%;object-fit:cover;width:100%}.card-image--split{gap:2px}.card-image-half{flex:1 1;height:100%;overflow:hidden;position:relative}.card-image-half img{display:block;height:100%;object-fit:cover;width:100%}.card-image-label{background:#00000080;bottom:0;color:#fff;font-size:10px;font-weight:700;left:0;letter-spacing:.5px;padding:3px 0;position:absolute;right:0;text-align:center;text-transform:uppercase}.placeholder-image{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100%;justify-content:center;width:100%}.placeholder-image span{color:#fff;font-size:64px;font-weight:700}.card-content{flex:1 1;padding:16px}.character-name{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 8px}.appearance-summary{color:#666;font-size:13px;line-height:1.5;margin:0 0 8px}.age-range{color:#888;font-size:12px;font-weight:500;margin:0 0 12px}.character-stats{display:flex;gap:12px;margin-bottom:12px}.stat{align-items:center;color:#666;display:flex;font-size:12px;gap:4px}.traits-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.trait-tag{background:#e3f2fd;border-radius:12px;color:#1976d2;display:inline-block;font-size:11px;font-weight:500;padding:4px 10px}.library-footer{align-items:center;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -4px 12px #0000000f;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:14px 24px}.library-footer-count{color:#444;font-size:14px;font-weight:600}.add-selected-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:10px 24px;transition:all .2s}.add-selected-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.card-actions{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.action-btn{border:1px solid #ddd;border-radius:4px;color:#666;flex:1 1;font-size:12px;font-weight:500;min-width:70px;overflow:hidden;padding:8px 10px;text-overflow:ellipsis;transition:all .2s}.action-btn:disabled{cursor:default;opacity:.6}.action-btn:hover{background:#f5f7ff;border-color:#667eea;color:#667eea}.action-btn.primary{background:#667eea;border-color:#667eea}.action-btn.primary:hover{background:#5568d3;border-color:#5568d3;color:#fff}.action-btn.primary.is-selected{background:#4caf50;border-color:#4caf50}.action-btn.primary.is-selected:hover{background:#43a047;border-color:#43a047}.action-btn.primary:disabled{background:#a5d6a7;border-color:#a5d6a7;cursor:default;opacity:.85}.action-btn.danger{border-color:#ffcdd2;color:#f44336}.action-btn.danger:hover{background:#ffebee;border-color:#f44336;color:#c62828}@media (max-width:768px){.character-library-modal{border-radius:0;height:100%;max-height:100%;max-width:100%;width:100%}.library-header{border-radius:0}.library-toolbar{flex-direction:column}.search-input{width:100%}.character-grid{grid-template-columns:1fr}.card-actions{flex-direction:column}.action-btn{min-width:auto;width:100%}}@media (max-width:480px){.library-content{padding:16px}.character-grid{gap:16px}.library-toolbar{padding:16px}}.creator-wrap{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-2xl);box-shadow:var(--shadow-lg);overflow:hidden}.creator-header{background:linear-gradient(145deg,#fff9f0,#fff3e6 45%,#ffe5cc);border-bottom:1.5px solid var(--clr-border-light);overflow:hidden;padding:var(--s-8) var(--s-8) var(--s-7);position:relative;text-align:center}.creator-header-deco{inset:0;pointer-events:none;position:absolute}.deco-star{animation:floatStar 4s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(255,159,67,.4));font-size:1.4rem;opacity:.6;position:absolute}.deco-star.s1{animation-delay:0s;font-size:1.1rem;left:5%;top:14%}.deco-star.s2{animation-delay:.7s;font-size:1.5rem;left:92%;top:22%}.deco-star.s3{animation-delay:1.4s;font-size:1.3rem;left:3%;top:55%}.deco-star.s4{animation-delay:2.1s;font-size:1rem;left:90%;top:65%}.deco-star.s5{animation-delay:1.8s;font-size:1.2rem;left:48%;top:10%}@keyframes floatStar{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(12deg)}}.creator-title{-webkit-text-fill-color:#0000;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.2;margin:0 0 var(--s-2);position:relative}.creator-subtitle{color:var(--clr-text-muted);font-size:var(--text-sm);font-weight:600;margin:0;position:relative}.mode-toggle{background:#fff9;border-radius:var(--r-full);display:inline-flex;gap:var(--s-1);margin-top:var(--s-4);padding:4px;position:relative}.mode-toggle-btn{background:#0000;border:none;border-radius:var(--r-full);color:var(--clr-text-muted);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-2) var(--s-4);transition:all .2s}.mode-toggle-btn:hover{color:var(--clr-text)}.mode-toggle-btn.active{background:var(--grad-primary);box-shadow:var(--shadow-sm);color:#fff}.creator-body{display:grid;grid-template-columns:340px 1fr;min-height:600px}.ingredients-panel{background:#fafbff;border-right:1.5px solid var(--clr-border-light);display:flex;flex-direction:column;gap:var(--s-4);max-height:700px;overflow-y:auto;padding:var(--s-5);scrollbar-color:var(--clr-border) #0000;scrollbar-width:thin}.ingredients-panel::-webkit-scrollbar{width:4px}.ingredients-panel::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:2px}.cat-tabs{grid-gap:var(--s-2);background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--s-2);grid-template-columns:repeat(3,1fr);padding:var(--s-1h)}.cat-tab{align-items:center;background:#0000;border:none;border-radius:var(--r-md);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font);gap:3px;padding:var(--s-2h) var(--s-2);position:relative;transition:all .2s}.cat-tab-icon{font-size:1.3rem;line-height:1}.cat-tab-label{color:var(--clr-text-muted);font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}.cat-badge{align-items:center;background:var(--clr-secondary);border-radius:var(--r-full);color:#fff;display:flex;font-size:.55rem;font-weight:900;height:14px;justify-content:center;line-height:1;min-width:14px;padding:0 3px;position:absolute;right:4px;top:4px}.cat-tab--characters.active{background:#ede9fe}.cat-tab--characters.active .cat-tab-label{color:var(--clr-primary)}.cat-tab--characters.active .cat-tab-icon{filter:drop-shadow(0 0 6px rgba(124,58,237,.4))}.cat-tab--settings.active{background:#d1fae5}.cat-tab--settings.active .cat-tab-label{color:#059669}.cat-tab--settings.active .cat-tab-icon{filter:drop-shadow(0 0 6px rgba(16,185,129,.4))}.cat-tab--themes.active{background:#fce7f3}.cat-tab--themes.active .cat-tab-label{color:var(--clr-secondary)}.cat-tab--themes.active .cat-tab-icon{filter:drop-shadow(0 0 6px rgba(236,72,153,.4))}.elements-grid{grid-gap:var(--s-2h);display:grid;gap:var(--s-2h);grid-template-columns:repeat(2,1fr)}.element-card{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid;border-color:var(--clr-border-light);border-radius:var(--r-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--s-1h);overflow:hidden;padding:var(--s-4) var(--s-2);position:relative;text-align:center;transition:all .18s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.element-card:before{background:#ede9fe;background:var(--item-hue,#ede9fe);border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity .18s}.element-card:hover{border-color:var(--item-hue,var(--clr-primary));box-shadow:0 6px 20px #7c3aed2e;transform:translateY(-3px) scale(1.02)}.element-card:hover:before{opacity:.12}.element-card.selected{background:#fff;border-color:var(--item-hue,var(--clr-primary))}.element-card.selected:before{opacity:.18}.element-card.selected .ec-name{color:var(--clr-text)}.ec-emoji{display:block;font-size:2rem;line-height:1;position:relative;transition:transform .18s cubic-bezier(.34,1.56,.64,1)}.element-card:hover .ec-emoji{transform:scale(1.15)}.element-card.selected .ec-emoji{transform:scale(1.1)}.ec-name{color:var(--clr-text-2);font-size:.68rem;font-weight:800;line-height:1.2;position:relative}.ec-check{align-items:center;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:var(--r-full);box-shadow:0 1px 4px #0000001f;color:var(--clr-primary);display:flex;font-size:.75rem;font-weight:900;height:18px;justify-content:center;position:absolute;right:8px;top:6px;width:18px}.library-zone{border-top:1.5px dashed var(--clr-border);display:flex;flex-direction:column;gap:var(--s-3);padding-top:var(--s-4)}.library-btn{align-items:center;background:var(--clr-primary-2xlight);border:2px dashed var(--clr-primary);border-radius:var(--r-md);color:var(--clr-primary);cursor:pointer;display:flex;font-family:var(--font);font-size:var(--text-sm);font-weight:800;gap:var(--s-2);justify-content:center;padding:var(--s-2h) var(--s-3);transition:all .18s;width:100%}.library-btn:hover{background:var(--clr-primary-xlight);border-style:solid;transform:translateY(-1px)}.library-btn-icon{font-size:1.1rem}.library-chars{gap:var(--s-2)}.lib-char-chip,.library-chars{display:flex;flex-direction:column}.lib-char-chip{background:#fff;border:1.5px solid var(--clr-primary-xlight);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);gap:var(--s-1);padding:var(--s-2) var(--s-3);position:relative;transition:all .2s}.lib-char-chip.primary{background:linear-gradient(135deg,#f5f3ff,#fdf4ff);border-color:var(--clr-primary);box-shadow:0 4px 12px #7c3aed26}.lib-char-chip-row{align-items:center;display:flex;gap:var(--s-2);min-width:0}.lib-char-badge{background:var(--grad-primary);border-radius:var(--r-full);color:#fff;flex-shrink:0;font-size:.65rem;font-weight:800;letter-spacing:.5px;margin-left:auto;padding:2px 6px;text-transform:uppercase}.lib-char-badge.supporting{background:var(--clr-border);color:var(--clr-text-muted)}.lib-char-avatar{align-items:center;background:var(--clr-primary-xlight);border-radius:var(--r-full);display:flex;flex-shrink:0;height:28px;justify-content:center;overflow:hidden;width:28px}.lib-char-avatar img{height:100%;object-fit:cover;width:100%}.lib-char-avatar span{color:var(--clr-primary);font-size:.75rem;font-weight:900}.lib-char-name{color:var(--clr-text);flex:1 1;font-size:var(--text-sm);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-char-remove{background:none;border:none;border-radius:var(--r-sm);color:var(--clr-text-muted);cursor:pointer;flex-shrink:0;font-family:var(--font);font-size:1rem;line-height:1;padding:2px 4px;transition:all .15s}.lib-char-remove:hover{background:var(--clr-error-light);color:var(--clr-error)}.lib-char-star{background:none;border:none;border-radius:var(--r-sm);cursor:pointer;flex-shrink:0;font-size:.9rem;line-height:1;opacity:.55;padding:2px 4px;transition:all .15s}.lib-char-star:hover{background:var(--clr-primary-xlight);opacity:1;transform:scale(1.15)}.recipe-panel{background:#fff;gap:var(--s-5);padding:var(--s-6)}.recipe-panel,.story-cauldron{display:flex;flex-direction:column}.story-cauldron{background:var(--clr-bg);border:2px dashed var(--clr-border);border-radius:var(--r-xl);gap:var(--s-3);min-height:160px;padding:var(--s-4);transition:all .2s}.story-cauldron.has-ingredients{background:var(--clr-primary-2xlight);border-color:var(--clr-primary-light);border-style:solid}.story-cauldron:hover{border-color:var(--clr-primary)}.cauldron-header{align-items:center;display:flex;flex-shrink:0;gap:var(--s-2)}.cauldron-icon{font-size:1.2rem}.cauldron-title{color:var(--clr-text);flex:1 1;font-size:var(--text-sm);font-weight:900;margin:0}.cauldron-count{background:var(--clr-primary);border-radius:var(--r-full);color:#fff;font-size:var(--text-xs);font-weight:800;padding:2px 10px}.cauldron-empty{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:var(--s-2);justify-content:center;padding:var(--s-4) 0;text-align:center}.cauldron-empty-art{animation:wandFloat 3s ease-in-out infinite;display:block;font-size:3rem}@keyframes wandFloat{0%,to{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-6px)}}.cauldron-empty-title{color:var(--clr-text);font-size:var(--text-base);font-weight:900;margin:0}.cauldron-empty-hint{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:600;line-height:1.5;margin:0;max-width:260px}.cauldron-ingredients{display:flex;flex-direction:column;gap:var(--s-2h)}.ingredient-row{display:flex;flex-direction:column;gap:var(--s-1h)}.ingredient-label{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ingredient-tags{display:flex;flex-wrap:wrap;gap:var(--s-1h)}.ing-tag{align-items:center;animation:tagSlideIn .2s cubic-bezier(.34,1.56,.64,1);border-radius:var(--r-full);display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:var(--s-1);padding:var(--s-1) var(--s-2h)}@keyframes tagSlideIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.ing-tag button{background:none;border:none;color:inherit;cursor:pointer;font-family:var(--font);font-size:.85rem;line-height:1;opacity:.6;padding:0;transition:opacity .15s}.ing-tag button:hover{opacity:1}.ing-tag--characters{background:#ede9fe;color:#5b21b6}.ing-tag--settings{background:#d1fae5;color:#065f46}.ing-tag--themes{background:#fce7f3;color:#9d174d}.ing-tag--custom{background:#fef3c7;color:#92400e}.custom-section{display:flex;flex-direction:column;gap:var(--s-2)}.custom-label{align-items:center;display:flex;font-weight:800;gap:var(--s-1h)}.custom-label,.custom-textarea{color:var(--clr-text);font-size:var(--text-sm)}.custom-textarea{background:var(--clr-bg);background-image:repeating-linear-gradient(#0000,#0000 27px,#7c3aed0f 0,#7c3aed0f 28px);border:2px solid var(--clr-border);border-radius:var(--r-lg);font-family:var(--font);font-weight:500;line-height:1.7;padding:var(--s-3) var(--s-4);resize:vertical;transition:border-color .15s,box-shadow .15s;width:100%}.custom-textarea:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #7c3aed1a;outline:none}.custom-textarea::placeholder{color:var(--clr-text-muted);font-weight:500}.settings-quad{grid-gap:var(--s-3);display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.sq-block{background:var(--clr-bg);border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);display:flex;flex-direction:column;gap:var(--s-1h);padding:var(--s-3);transition:border-color .15s}.sq-block:focus-within{border-color:var(--clr-primary)}.sq-icon{font-size:1.3rem;line-height:1}.sq-label{color:var(--clr-text-muted);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sq-label,.sq-select{font-size:var(--text-xs)}.sq-select{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:1em;border:1.5px solid var(--clr-border);border-radius:var(--r-sm);color:var(--clr-text);cursor:pointer;font-family:var(--font);font-weight:700;padding:var(--s-1h) var(--s-2);padding-right:1.6rem;transition:border-color .15s}.sq-select:focus{border-color:var(--clr-primary);outline:none}.sq-select:disabled{cursor:not-allowed;opacity:.5}.sq-toggle-row{align-items:center;cursor:pointer;display:flex;gap:var(--s-1h)}.sq-toggle-row input[type=checkbox]{accent-color:var(--clr-primary);cursor:pointer;flex-shrink:0;height:15px;width:15px}.sq-toggle-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.sq-toggle-row--sub{margin-top:var(--s-1h)}.sq-toggle-row--sub .sq-label{font-size:.68rem}.magic-button{align-items:center;background:var(--grad-primary);border:none;border-radius:var(--r-xl);box-shadow:0 6px 28px #7c3aed59,0 2px 8px #ec489933;color:#fff;cursor:pointer;display:flex;font-family:var(--font);font-size:var(--text-lg);font-weight:900;gap:var(--s-3);justify-content:center;letter-spacing:.01em;overflow:hidden;padding:var(--s-4) var(--s-6);position:relative;transition:all .2s;width:100%}.magic-button:before{background:linear-gradient(135deg,#ffffff26,#0000 60%);border-radius:inherit;content:"";inset:0;position:absolute}.magic-button:after{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:200%;left:-75%;position:absolute;top:-50%;transform:skewX(-15deg);width:50%}@keyframes shimmer{0%{left:-75%}60%{left:125%}to{left:125%}}.magic-button:hover:not(:disabled){box-shadow:0 10px 36px #7c3aed66,0 4px 12px #ec489940;transform:translateY(-3px) scale(1.01)}.magic-button:active:not(:disabled){transform:translateY(0) scale(.99)}.magic-button.idle{box-shadow:none;cursor:not-allowed;opacity:.45}.magic-button.idle:after{display:none}.magic-button.brewing{animation:brewPulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#5b21b6,#7c3aed 50%,#9d174d);cursor:wait}@keyframes brewPulse{0%,to{box-shadow:0 6px 28px #7c3aed59}50%{box-shadow:0 6px 40px #7c3aed8c,0 0 0 6px #7c3aed1a}}.magic-sparkle{animation:sparkleFloat 2s ease-in-out infinite;font-size:1.3rem}.magic-sparkle:last-child{animation-delay:.6s}@keyframes sparkleFloat{0%,to{transform:rotate(-10deg) scale(1)}50%{transform:rotate(10deg) scale(1.15)}}.magic-spinner{animation:spinBtn .8s linear infinite;border:3px solid #ffffff4d;border-radius:var(--r-full);border-top-color:#fff;flex-shrink:0;height:20px;width:20px}@keyframes spinBtn{to{transform:rotate(1turn)}}.brew-status{align-items:center;background:var(--clr-primary-2xlight);border:1.5px solid var(--clr-primary-xlight);border-radius:var(--r-md);display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between;padding:var(--s-2h) var(--s-4)}.brew-text{color:var(--clr-primary);font-size:var(--text-sm);font-weight:700}.brew-time{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:600}.resume-banner{align-items:center;background:#fffbeb;border:1.5px solid #fde68a;border-radius:var(--r-md);color:#78350f;display:flex;font-size:var(--text-sm);font-weight:700;gap:var(--s-3);justify-content:space-between;padding:var(--s-3) var(--s-4)}.resume-btn{background:var(--clr-accent);border:none;border-radius:var(--r-full);box-shadow:0 2px 8px #f59e0b59;color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-xs);font-weight:900;padding:var(--s-1h) var(--s-4);transition:all .15s;white-space:nowrap}.resume-btn:hover{background:#d97706;transform:translateY(-1px)}@media (max-width:960px){.creator-body{grid-template-columns:1fr}.ingredients-panel{border-bottom:1.5px solid var(--clr-border-light);border-right:none;max-height:none;overflow-y:visible}.elements-grid{grid-template-columns:repeat(4,1fr)}.settings-quad{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.creator-header{padding:var(--s-6) var(--s-5)}.ingredients-panel,.recipe-panel{padding:var(--s-4)}.elements-grid{gap:var(--s-2);grid-template-columns:repeat(4,1fr)}.ec-emoji{font-size:1.6rem}.ec-name{font-size:.55rem}.element-card{padding:var(--s-2h) var(--s-1h)}.settings-quad{grid-template-columns:1fr 1fr}.magic-button{font-size:var(--text-base);padding:var(--s-3h) var(--s-5)}.cat-tabs{gap:var(--s-1)}}@media (max-width:400px){.elements-grid{grid-template-columns:repeat(2,1fr)}}.sb-page{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:16px;width:100%}.sb-page--cover{background:#0000}.sb-cover-card{aspect-ratio:3/4;border-radius:18px;box-shadow:0 20px 60px #0000008c,0 6px 20px #0000004d,inset 0 0 0 3px #ffffff1f;overflow:hidden;position:relative;width:min(480px,88vw)}.sb-cover-image{display:block;height:100%;object-fit:cover;width:100%}.sb-cover-placeholder{align-items:center;background:linear-gradient(135deg,#3b1f6a,#7c3aed 50%,#a855f7);display:flex;font-size:6rem;height:100%;justify-content:center;width:100%}.sb-cover-overlay{align-items:center;background:linear-gradient(0deg,#0a061ee0 0,#0a061e99 50%,#0000);bottom:0;display:flex;flex-direction:column;gap:8px;left:0;padding:40px 28px 28px;position:absolute;right:0}.sb-cover-title{color:#fff;font-family:Lora,Georgia,serif;font-size:clamp(1.2rem,4vw,1.9rem);font-style:italic;font-weight:700;letter-spacing:.01em;line-height:1.3;margin:0;text-align:center;text-shadow:0 2px 12px #000c,0 1px 4px #0009}.sb-cover-stars{color:#ffdc78d9;font-size:.85rem;letter-spacing:6px;text-shadow:0 0 8px #ffc83c99}.sb-page--end,.sb-page--story{background:#0000}.sb-story-card{background:#fffdf7;border-radius:18px;box-shadow:0 20px 60px #00000073,0 6px 20px #00000040,inset 0 0 0 2px #b48c502e;display:flex;flex-direction:column;overflow:hidden;width:min(480px,88vw)}.sb-story-image-wrap{aspect-ratio:4/3;flex:0 0 auto;overflow:hidden;position:relative;width:100%}.sb-story-image{display:block;height:100%;-webkit-mask-image:linear-gradient(180deg,#000 75%,#0000);mask-image:linear-gradient(180deg,#000 75%,#0000);object-fit:cover;width:100%}.sb-story-card--fullbleed{width:min(560px,92vw)}.sb-story-image--fullbleed{aspect-ratio:1/1;display:block;height:auto;-webkit-mask-image:none;mask-image:none;object-fit:cover;width:100%}.sb-story-image-placeholder{align-items:center;aspect-ratio:4/3;background:linear-gradient(145deg,#f5f3ff,#fdf4ff);display:flex;justify-content:center;width:100%}.sb-placeholder-icon{animation:bookPulse 2s ease-in-out infinite;font-size:4rem;opacity:.35}.sb-divider{align-items:center;background:#fffdf7;display:flex;flex:0 0 auto;justify-content:center;margin-top:-6px;padding:0 28px;position:relative;z-index:1}.sb-divider:after,.sb-divider:before{background:linear-gradient(90deg,#0000,#a0642866);content:"";flex:1 1;height:1.5px}.sb-divider:after{background:linear-gradient(270deg,#0000,#a0642866)}.sb-divider-ornament{color:#a06428b3;flex:0 0 auto;font-size:1.1rem;line-height:1;padding:0 10px}.sb-story-text-panel{align-items:center;background:#fffdf7;display:flex;flex:0 0 auto;flex-direction:column;gap:10px;justify-content:center;padding:14px 28px 20px}.sb-story-paragraph{color:#2c1a0e;font-family:Lora,Georgia,serif;font-size:clamp(.9rem,2.2vw,1.05rem);font-weight:400;-webkit-hyphens:auto;hyphens:auto;line-height:1.75;margin:0;text-align:center}.sb-story-paragraph:first-letter{color:#8b4513;float:left;font-size:1.8em;font-style:italic;font-weight:700;line-height:.8;margin-right:4px;margin-top:4px}.sb-story-paragraph--loading{font-style:italic;opacity:.45}.sb-page-number{color:#8b5a288c;flex:0 0 auto;font-family:Nunito,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase}.sb-end-panel{padding-top:18px}.sb-end-title{color:#5b2d8e;font-family:Lora,Georgia,serif;font-size:clamp(1.1rem,3.5vw,1.5rem);font-style:italic;font-weight:700;letter-spacing:.03em;text-align:center}@keyframes bookPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.55;transform:scale(1.1)}}@media (max-width:600px){.sb-page{padding:8px}.sb-cover-card,.sb-story-card{border-radius:12px;width:min(360px,96vw)}.sb-story-card{max-height:calc(100vh - 140px)}.sb-story-text-panel{padding:10px 16px 12px}.sb-story-paragraph{font-size:.88rem;line-height:1.65}.sb-cover-title{font-size:clamp(1rem,5vw,1.5rem)}}@media (min-width:900px){.sb-cover-card,.sb-story-card{width:min(520px,60vw)}}.bk{--page:min(calc(50vw - 80px),calc(100vh - 240px),640px);--turn:900ms;--paper:#fbf6ec;--board:#3a2457;--board-edge:#24163a;height:var(--page);margin:0 auto;perspective:calc(var(--page)*5);width:calc(var(--page)*2)}.bk,.bk-book{position:relative}.bk-book{display:flex;height:100%;transform-style:preserve-3d;transition:transform var(--turn) cubic-bezier(.45,.05,.25,1);width:100%}.bk--closed .bk-book{transform:translateX(-25%)}.bk-boards{background:linear-gradient(90deg,#0000 49.2%,#00000059 50%,#0000 50.8%),linear-gradient(160deg,var(--board) 0,var(--board-edge) 100%);border-radius:8px;box-shadow:0 30px 60px #0000008c,inset 0 0 0 1px #ffffff0f;inset:-10px -12px;position:absolute;transform:translateZ(-2px);transition:left var(--turn) cubic-bezier(.45,.05,.25,1);z-index:0}.bk--closed .bk-boards{left:calc(50% - 6px)}.bk-shadow{background:radial-gradient(ellipse at center,#00000080,#0000 70%);bottom:-28px;filter:blur(6px);height:28px;left:6%;pointer-events:none;position:absolute;right:6%}.bk-half{height:100%;position:relative;width:50%;z-index:1}.bk-half--empty{background:#0000}.bk-paper{background:var(--paper);overflow:hidden}.bk-half--left.bk-paper{border-radius:4px 0 0 4px;box-shadow:-1px 1px 0 #ece4d3,-2px 2px 0 #e2d8c4,-3px 3px 0 #d8ccb5,-4px 4px 0 #cdbfa6,-6px 6px 10px #00000040}.bk-half--right.bk-paper{border-radius:0 4px 4px 0;box-shadow:1px 1px 0 #ece4d3,2px 2px 0 #e2d8c4,3px 3px 0 #d8ccb5,4px 4px 0 #cdbfa6,6px 6px 10px #00000040}.bk-gutter,.bk-page-content{inset:0;position:absolute}.bk-gutter{pointer-events:none}.bk-half--left .bk-gutter,.bk-leaf--left .bk-leaf-face--front .bk-gutter,.bk-leaf--right .bk-leaf-face--back .bk-gutter{background:linear-gradient(270deg,#0000004d 0,#0000001a 4%,#0000 11%),linear-gradient(90deg,#ffffff1a,#0000 6%)}.bk-half--right .bk-gutter,.bk-leaf--left .bk-leaf-face--back .bk-gutter,.bk-leaf--right .bk-leaf-face--front .bk-gutter{background:linear-gradient(90deg,#0000004d 0,#0000001a 4%,#0000 11%),linear-gradient(270deg,#ffffff1a,#0000 6%)}.bk-endpaper{align-items:center;background:radial-gradient(circle at 50% 50%,#a0825a0f,#0000 60%),var(--paper);display:flex;inset:0;justify-content:center;position:absolute}.bk-endpaper-ornament{color:#785a3c40;font-size:calc(var(--page)*.08)}.bk .sb-page{height:100%;padding:0;width:100%}.bk .sb-cover-card,.bk .sb-story-card,.bk .sb-story-card--fullbleed{aspect-ratio:auto;border:none;border-radius:0;box-shadow:none;height:100%;margin:0;max-width:none;width:100%!important}.bk .sb-cover-image,.bk .sb-story-image--fullbleed{height:100%;object-fit:cover;width:100%}.bk .sb-story-card:not(.sb-story-card--fullbleed){display:flex;flex-direction:column}.bk .sb-story-card:not(.sb-story-card--fullbleed) .sb-story-image-wrap{aspect-ratio:auto;flex:1 1 auto;min-height:0}.bk .sb-story-card:not(.sb-story-card--fullbleed) .sb-story-image{height:100%;object-fit:cover}.bk-leaf{animation-duration:var(--turn);animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.45,.05,.25,1);height:100%;position:absolute;top:0;transform-style:preserve-3d;width:50%;z-index:3}.bk-leaf--right{animation-name:bk-turn-forward;left:50%;transform-origin:left center}.bk-leaf--left{animation-name:bk-turn-back;left:0;transform-origin:right center}@keyframes bk-turn-forward{0%{transform:translateZ(1px) rotateY(0deg)}to{transform:translateZ(1px) rotateY(-180deg)}}@keyframes bk-turn-back{0%{transform:translateZ(1px) rotateY(0deg)}to{transform:translateZ(1px) rotateY(180deg)}}.bk-leaf-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;inset:0;position:absolute}.bk-leaf-face--back{transform:rotateY(180deg)}.bk-leaf-shade{animation:bk-shade var(--turn) ease-in-out forwards;background:linear-gradient(90deg,#00000059,#0000000d);inset:0;opacity:0;pointer-events:none;position:absolute}.bk-leaf-face--back .bk-leaf-shade{animation-name:bk-shade-back}@keyframes bk-shade{0%{opacity:0}50%{opacity:.9}to{opacity:.9}}@keyframes bk-shade-back{0%{opacity:.9}50%{opacity:.9}to{opacity:0}}.bk-fix-pill{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140c28b8;border:1px solid #fff9;border-radius:999px;bottom:12px;color:#fff;cursor:pointer;font:700 12px/1 system-ui;font:700 12px/1 var(--font,system-ui);opacity:0;padding:6px 12px;position:absolute;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;z-index:2}.bk-half--left .bk-fix-pill{left:14px}.bk-half--right .bk-fix-pill{right:14px}.bk-fix-pill:focus-visible,.bk-half:hover .bk-fix-pill{opacity:1;transform:none}.bk-fix-pill:focus-visible{outline:3px solid #b794f4;outline-offset:2px}@media (hover:none){.bk-fix-pill{opacity:.9;transform:none}}@media (prefers-reduced-motion:reduce){.bk{--turn:1ms}.bk-boards,.bk-book{transition:none}}.audio-player{background:var(--clr-surface);border:2px solid var(--clr-border);border-radius:var(--r-2xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:600px;padding:var(--s-4)}.audio-player-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--s-3)}.audio-player-title{align-items:center;color:var(--clr-text-primary);display:flex;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;gap:var(--s-2)}.audio-voice-emoji{font-size:var(--text-2xl)}.audio-close-btn{background:#0000;border:none;border-radius:var(--r-md);color:var(--clr-text-secondary);cursor:pointer;font-size:var(--text-xl);padding:var(--s-1);transition:all .2s ease}.audio-close-btn:hover{background:var(--clr-danger-light);color:var(--clr-danger);transform:scale(1.1)}.audio-loading{align-items:center;color:var(--clr-text-secondary);display:flex;flex-direction:column;gap:var(--s-2);justify-content:center;padding:var(--s-8) 0}.audio-spinner{animation:audioSpin 2s linear infinite;font-size:var(--text-3xl)}@keyframes audioSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.audio-waveform{align-items:center;display:flex;gap:2px;height:80px;justify-content:space-between;margin-bottom:var(--s-3);padding:var(--s-2) 0}.wave-bar{background:linear-gradient(to top,var(--clr-primary),var(--clr-secondary));border-radius:var(--r-full);flex:1 1;height:30%;height:var(--height,30%);opacity:.4;transition:all .3s ease}.wave-bar.playing{animation:wavePulse 1s ease-in-out infinite;animation-delay:var(--delay);opacity:.8}@keyframes wavePulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.5)}}.audio-progress-container{cursor:pointer;margin-bottom:var(--s-2);padding:var(--s-2) 0}.audio-progress-bar{background:var(--clr-border);border-radius:var(--r-full);height:8px;overflow:hidden;position:relative}.audio-progress-fill{background:linear-gradient(90deg,var(--clr-primary),var(--clr-secondary));border-radius:var(--r-full);height:100%;left:0;position:absolute;top:0;transition:width .1s linear}.audio-progress-thumb{background:#fff;border:2px solid var(--clr-primary);border-radius:var(--r-full);box-shadow:var(--shadow-md);cursor:grab;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .1s linear;width:16px}.audio-progress-thumb:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2)}.audio-time{color:var(--clr-text-secondary);display:flex;font-family:monospace;font-family:var(--font-mono,monospace);font-size:var(--text-sm);justify-content:space-between;margin-bottom:var(--s-3)}.audio-controls{align-items:center;border-top:1px solid var(--clr-border);display:flex;gap:var(--s-4);padding-top:var(--s-3)}.audio-btn{background:var(--clr-primary);border:none;border-radius:var(--r-full);color:#fff;cursor:pointer;font-size:var(--text-lg);transition:all .2s ease}.audio-btn:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.audio-btn:active{transform:scale(.95)}.audio-play-btn{background:linear-gradient(135deg,var(--clr-primary),var(--clr-secondary));box-shadow:var(--shadow-lg);font-size:var(--text-2xl);height:56px;width:56px}.audio-play-btn:hover{transform:scale(1.1)}.audio-speed-control{align-items:center;display:flex;flex:1 1;gap:var(--s-2)}.audio-control-label{color:var(--clr-text-secondary);font-size:var(--text-sm);font-weight:600}.audio-speed-buttons{display:flex;gap:var(--s-1)}.audio-speed-btn{background:var(--clr-surface);border:2px solid var(--clr-border);border-radius:var(--r-md);color:var(--clr-text-secondary);cursor:pointer;font-size:var(--text-xs);font-weight:600;padding:var(--s-1) var(--s-2);transition:all .2s ease}.audio-speed-btn:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.audio-speed-btn.active{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.audio-volume-control{align-items:center;display:flex;gap:var(--s-2)}.audio-volume-btn{background:var(--clr-surface);border:2px solid var(--clr-border);color:var(--clr-text-primary);height:40px;width:40px}.audio-volume-btn:hover{border-color:var(--clr-primary)}.audio-volume-slider{-webkit-appearance:none;background:var(--clr-border);border-radius:var(--r-full);height:6px;outline:none;width:80px}.audio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--clr-primary);border-radius:var(--r-full);cursor:pointer;height:14px;-webkit-transition:all .2s ease;transition:all .2s ease;width:14px}.audio-volume-slider::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--clr-primary-light);transform:scale(1.2)}.audio-volume-slider::-moz-range-thumb{background:var(--clr-primary);border:none;border-radius:var(--r-full);cursor:pointer;height:14px;-moz-transition:all .2s ease;transition:all .2s ease;width:14px}.audio-volume-slider::-moz-range-thumb:hover{box-shadow:0 0 0 4px var(--clr-primary-light);transform:scale(1.2)}@media (max-width:768px){.audio-player{padding:var(--s-3)}.audio-waveform{height:60px}.audio-controls{flex-wrap:wrap;gap:var(--s-2)}.audio-speed-control{flex-basis:100%;justify-content:center;order:3}.audio-volume-control{order:2}.audio-volume-slider{width:60px}.audio-play-btn{height:48px;width:48px}}@media (max-width:480px){.audio-waveform{height:50px}.audio-player-title{font-size:var(--text-base)}.audio-speed-btn{font-size:var(--text-2xs);padding:var(--s-0h) var(--s-1h)}}.publish-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--s-4);position:fixed;right:0;top:0;z-index:1000}.publish-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:var(--r-2xl);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;padding:var(--s-8);position:relative;width:100%}.publish-close{align-items:center;background:var(--clr-bg-light);border:none;border-radius:var(--r-full);color:var(--clr-text-muted);cursor:pointer;display:flex;font-family:var(--font);font-size:24px;height:36px;justify-content:center;position:absolute;right:var(--s-4);top:var(--s-4);transition:all var(--t-base);width:36px}.publish-close:hover{background:var(--clr-error-light);color:var(--clr-error);transform:rotate(90deg)}.publish-modal h2{color:var(--clr-text);font-size:var(--text-2xl);font-weight:900;margin-bottom:var(--s-2);text-align:center}.publish-subtitle{color:var(--clr-text-muted);font-size:var(--text-base);margin-bottom:var(--s-6);text-align:center}.publish-error{background:var(--clr-error-light);border:1.5px solid var(--clr-error);border-radius:var(--r-lg);color:var(--clr-error);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--s-4);padding:var(--s-3) var(--s-4);text-align:center}.publish-form{gap:var(--s-5)}.publish-field,.publish-form{display:flex;flex-direction:column}.publish-field{gap:var(--s-2)}.publish-field label{color:var(--clr-text);font-size:var(--text-sm);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.publish-input,.publish-select{background:#fff;border:2px solid var(--clr-border);border-radius:var(--r-lg);color:var(--clr-text);font-family:var(--font);font-size:var(--text-base);font-weight:600;padding:var(--s-3) var(--s-4);transition:all var(--t-base)}.publish-input:focus,.publish-select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-xlight);outline:none}.publish-input:disabled,.publish-select:disabled{background:var(--clr-bg-light);cursor:not-allowed;opacity:.6}.publish-hint{color:var(--clr-text-muted);font-size:var(--text-xs);font-style:italic;font-weight:600}.publish-preview{background:var(--clr-bg-light);border:1.5px dashed var(--clr-border);border-radius:var(--r-lg);padding:var(--s-4)}.publish-preview-label{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.1em;margin-bottom:var(--s-3);text-transform:uppercase}.publish-preview-card{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--s-4);overflow:hidden;transition:all var(--t-base)}.publish-preview-card:hover{border-color:var(--clr-primary-xlight);box-shadow:var(--shadow-md)}.publish-preview-image{align-items:center;background:var(--clr-bg-light);display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;width:120px}.publish-preview-image img{height:100%;object-fit:cover;width:100%}.publish-preview-placeholder{font-size:3rem;opacity:.3}.publish-preview-content{display:flex;flex:1 1;flex-direction:column;gap:var(--s-2);justify-content:center;padding:var(--s-3)}.publish-preview-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--clr-text);display:-webkit-box;font-size:var(--text-lg);font-weight:800;line-height:1.3;overflow:hidden}.publish-preview-tags{display:flex;flex-wrap:wrap;gap:var(--s-2)}.publish-tag{border-radius:var(--r-full);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;padding:var(--s-1) var(--s-3);text-transform:uppercase}.publish-tag-age{background:var(--clr-secondary-xlight);color:var(--clr-secondary)}.publish-tag-topic{background:var(--clr-primary-xlight);color:var(--clr-primary)}.publish-actions{display:flex;gap:var(--s-3);margin-top:var(--s-2)}.publish-btn{border:none;border-radius:var(--r-full);cursor:pointer;flex:1 1;font-family:var(--font);font-size:var(--text-base);font-weight:700;letter-spacing:.05em;padding:var(--s-3h) var(--s-6);text-transform:uppercase;transition:all var(--t-base)}.publish-btn:disabled{cursor:not-allowed;opacity:.5}.publish-btn-primary{background:var(--grad-primary);box-shadow:var(--shadow-primary);color:#fff}.publish-btn-primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.publish-btn-primary:active:not(:disabled){transform:translateY(0)}.publish-btn-secondary{background:#fff;border:2px solid var(--clr-border);color:var(--clr-text)}.publish-btn-secondary:hover:not(:disabled){background:var(--clr-bg-light);border-color:var(--clr-text-muted)}.publish-btn-danger{background:var(--clr-error);box-shadow:0 4px 12px #ef44444d;color:#fff}.publish-btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 16px #ef444466;transform:translateY(-2px)}@media (max-width:640px){.publish-modal{max-height:95vh;padding:var(--s-6)}.publish-modal h2{font-size:var(--text-xl)}.publish-preview-card{flex-direction:column}.publish-preview-image{height:200px;width:100%}.publish-actions{flex-direction:column}.publish-btn{width:100%}}.pem-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:300}.pem-modal{background:#fff;background:var(--clr-surface,#fff);border-radius:24px;border-radius:var(--r-2xl,24px);box-shadow:0 20px 60px #0000004d;color:#5d4e37;color:var(--clr-text,#5d4e37);max-height:88vh;max-width:640px;overflow-y:auto;padding:24px;width:100%}.pem-header{display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.pem-header h2{font-size:1.35rem;margin:0 0 4px}.pem-sub{font-size:.9rem;line-height:1.5;margin:0}.pem-close,.pem-sub{color:#8a7a66;color:var(--clr-text-muted,#8a7a66)}.pem-close{align-self:flex-start;background:none;border:none;cursor:pointer;font-size:1.75rem;line-height:1}.pem-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.pem-option{align-items:center;border:2px solid #ffe5cc;border:2px solid var(--clr-border,#ffe5cc);border-radius:14px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:border-color .15s,background .15s}.pem-option:hover{border-color:#ffb870;border-color:var(--clr-primary-light,#ffb870)}.pem-option.selected{background:#fff3e6;background:var(--clr-primary-xlight,#fff3e6);border-color:#ff9f43;border-color:var(--clr-primary,#ff9f43)}.pem-option input{opacity:0;pointer-events:none;position:absolute}.pem-option:has(input:focus-visible){outline:3px solid #4fc3f7;outline:3px solid var(--clr-secondary,#4fc3f7);outline-offset:2px}.pem-shape{border:2px solid;border-radius:3px;flex:0 0 auto;max-height:40px;opacity:.6;width:34px}.pem-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pem-option-text strong{font-size:.95rem}.pem-option-text small{color:#8a7a66;color:var(--clr-text-muted,#8a7a66);font-size:.78rem;line-height:1.35}.pem-dpi{display:flex;gap:10px;margin-top:14px}.pem-dpi-option{align-items:center;border:2px solid #ffe5cc;border:2px solid var(--clr-border,#ffe5cc);border-radius:14px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:10px}.pem-dpi-option.selected{background:#fff3e6;background:var(--clr-primary-xlight,#fff3e6);border-color:#ff9f43;border-color:var(--clr-primary,#ff9f43)}.pem-dpi-option input{opacity:0;pointer-events:none;position:absolute}.pem-dpi-option:has(input:focus-visible){outline:3px solid #4fc3f7;outline:3px solid var(--clr-secondary,#4fc3f7);outline-offset:2px}.pem-dpi-option small{font-size:.78rem}.pem-dpi-option small,.pem-spec{color:#8a7a66;color:var(--clr-text-muted,#8a7a66)}.pem-spec{font-size:.82rem;margin:14px 0 0}.pem-primary{background:#ff9f43;background:var(--clr-primary,#ff9f43);border:none;border-radius:999px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:800;margin-top:16px;padding:14px;width:100%}.pem-primary:hover:not(:disabled){background:#ff8c1a;background:var(--clr-primary-hover,#ff8c1a)}.pem-primary:disabled{cursor:default;opacity:.6}.pem-link{background:none;border:none;color:#8a7a66;color:var(--clr-text-muted,#8a7a66);cursor:pointer;display:block;margin:10px auto 0;text-decoration:underline}.pem-progress p{font-weight:700;margin:10px 0 4px}.pem-progress small{color:#8a7a66;color:var(--clr-text-muted,#8a7a66)}.pem-bar{background:#fff3e6;background:var(--clr-border-light,#fff3e6);border-radius:999px;height:12px;overflow:hidden}.pem-bar-fill{background:#ff9f43;background:var(--clr-primary,#ff9f43);height:100%;transition:width .4s ease}.pem-done{font-weight:700;margin:0}.pem-warn{color:#9a6400;font-size:.85rem;margin:8px 0 0}.pem-error{color:#ef5350;color:var(--clr-error,#ef5350);font-weight:600;margin:14px 0 0}@media (max-width:480px){.pem-modal{padding:16px}.pem-grid{grid-template-columns:1fr}}.story-viewer-fullscreen{background:#0f0a1e;display:flex;flex-direction:column;inset:0;overflow:hidden;position:fixed;z-index:150}.story-viewer-header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f0a1ef2;border-bottom:1px solid #ffffff14;gap:var(--s-4);height:64px;justify-content:space-between;padding:0 var(--s-8);z-index:10}.story-viewer-header,.story-viewer-nav{align-items:center;display:flex;flex-shrink:0}.story-viewer-nav{gap:var(--s-3)}.nav-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:var(--r-md);color:#ffffffbf;cursor:pointer;display:inline-flex;font-family:var(--font);font-size:var(--text-sm);font-weight:700;gap:var(--s-2);padding:var(--s-2) var(--s-4);transition:all var(--t-base);white-space:nowrap}.nav-btn:hover{background:#ffffff24;border-color:#ffffff40;color:#fff}.nav-btn.secondary{background:#0000;border-color:#ffffff14}.story-title-section{flex:1 1;min-width:0;text-align:center}.story-viewer-title{color:#fff;font-size:var(--text-lg);font-weight:900;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-counter{color:#ffffff73;font-size:var(--text-xs);font-weight:600;margin-top:2px}.sv-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--s-2h);justify-content:flex-end}.action-btn{border-radius:var(--r-md);display:inline-flex;font-family:var(--font);font-size:var(--text-sm);font-weight:700;gap:var(--s-2);padding:var(--s-2) var(--s-4);transition:all var(--t-base);white-space:nowrap}.action-btn.primary{background:var(--grad-primary);box-shadow:var(--shadow-primary);color:#fff}.action-btn.primary:hover{box-shadow:0 8px 28px #7c3aed73;transform:translateY(-1px)}.action-btn.secondary{background:#ffffff14;border:1px solid #ffffff26;color:#fffc}.action-btn.secondary:hover{background:#ffffff24;color:#fff}.story-viewer-content{align-items:center;background:radial-gradient(ellipse at 50% 0,#1c1035 0,#0f0a1e 70%);display:flex;flex:1 1;justify-content:center;overflow-x:hidden;overflow-y:auto;padding:var(--s-5) var(--s-8);position:relative}.story-viewer-footer{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f0a1ef2;border-top:1px solid #ffffff14;display:flex;flex-shrink:0;height:72px;padding:0 var(--s-8)}.page-navigation{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:600px;width:100%}.page-nav-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:var(--r-md);color:#fffc;cursor:pointer;display:inline-flex;font-family:var(--font);font-size:var(--text-sm);font-weight:800;gap:var(--s-2);padding:var(--s-2h) var(--s-5);transition:all var(--t-base)}.page-nav-btn:hover:not(:disabled){background:var(--grad-primary);border-color:#0000;box-shadow:var(--shadow-primary);color:#fff}.page-nav-btn:disabled{cursor:not-allowed;opacity:.25}.page-indicator{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-1h);justify-content:center;max-width:280px}.page-dot{background:#ffffff40;border-radius:var(--r-full);height:8px;transition:all var(--t-base);width:8px}.page-dot.active{background:var(--clr-primary-light);box-shadow:0 0 8px #8b5cf699;width:24px}.empty-story-message{color:#ffffff80;font-size:var(--text-lg);font-weight:600;text-align:center}.sv-page-wrap{align-items:center;display:flex;justify-content:center;position:relative;width:100%}@keyframes kindleExitLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-30px)}}@keyframes kindleEnterRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes kindleExitRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(30px)}}@keyframes kindleEnterLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.sv-page-wrap--exit-left>*{animation:kindleExitLeft .4s cubic-bezier(.4,0,.2,1) both}.sv-page-wrap--enter-right>*{animation:kindleEnterRight .4s cubic-bezier(0,0,.2,1) both}.sv-page-wrap--exit-right>*{animation:kindleExitRight .4s cubic-bezier(.4,0,.2,1) both}.sv-page-wrap--enter-left>*{animation:kindleEnterLeft .4s cubic-bezier(0,0,.2,1) both}.audio-player-container{animation:slideDown .3s ease-out;left:50%;max-width:600px;position:fixed;top:80px;transform:translateX(-50%);width:calc(100% - var(--s-8));z-index:200}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.action-btn.audio-toggle{background:linear-gradient(135deg,#8b5cf6,#c084fc);border-color:#8b5cf6;color:#fff}.action-btn.audio-toggle:hover{background:linear-gradient(135deg,#7c3aed,#a855f7);border-color:#7c3aed}.action-btn.audio-generate{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;color:#fff}.action-btn.audio-generate:hover{background:linear-gradient(135deg,#059669,#10b981);border-color:#059669}.action-btn.audio-regenerate{background:linear-gradient(135deg,#f59e0b,#fbbf24);border-color:#f59e0b;color:#fff}.action-btn.audio-regenerate:hover{background:linear-gradient(135deg,#d97706,#f59e0b);border-color:#d97706}.action-btn.engagement{background:#ffffff14;border:1px solid #ffffff26;color:#fffc}.action-btn.engagement:hover{background:#ffffff24;color:#fff;transform:scale(1.05)}.action-btn.engagement.active{background:linear-gradient(135deg,#ec4899,#f472b6);border-color:#ec4899;box-shadow:0 4px 12px #ec489966;color:#fff}.action-btn.engagement.active:hover{background:linear-gradient(135deg,#db2777,#ec4899);box-shadow:0 6px 16px #ec489980}.action-btn.publish{background:linear-gradient(135deg,#3b82f6,#60a5fa);border-color:#3b82f6;color:#fff}.action-btn.publish:hover{background:linear-gradient(135deg,#2563eb,#3b82f6);border-color:#2563eb;box-shadow:0 4px 12px #3b82f666}.action-btn.published{background:linear-gradient(135deg,#10b981,#34d399);border-color:#10b981;box-shadow:0 4px 12px #10b9814d;color:#fff}.action-btn.published:hover{background:linear-gradient(135deg,#059669,#10b981);border-color:#059669;box-shadow:0 6px 16px #10b98166}.voice-selector-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}.voice-selector-modal{animation:slideUp .3s ease-out;background:var(--clr-surface);border-radius:var(--r-2xl);box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:600px;overflow-y:auto;padding:var(--s-6);width:calc(100% - var(--s-8))}.voice-selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--s-4)}.voice-selector-header h3{color:var(--clr-text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin:0}.voice-close-btn{background:#0000;border:none;border-radius:var(--r-md);color:var(--clr-text-secondary);cursor:pointer;font-size:var(--text-xl);padding:var(--s-1);transition:all .2s ease}.voice-close-btn:hover{background:var(--clr-danger-light);color:var(--clr-danger);transform:scale(1.1)}.voice-selector-content{display:flex;flex-direction:column;gap:var(--s-4)}.voice-error{background:#ef44441a;border:2px solid #ef44444d;border-radius:var(--r-lg);color:#dc2626;font-weight:600;padding:var(--s-3);text-align:center}.voice-options-grid{grid-gap:var(--s-3);display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.voice-option{align-items:center;background:var(--clr-bg);border:2px solid var(--clr-border);border-radius:var(--r-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);text-align:center;transition:all .2s ease}.voice-option:hover{border-color:var(--clr-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.voice-option.selected{background:var(--clr-primary-x-light);border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-light)}.voice-emoji{font-size:3rem;line-height:1}.voice-name{color:var(--clr-text-primary);font-family:var(--font-heading);font-size:var(--text-base);font-weight:700}.voice-description{color:var(--clr-text-secondary);font-size:var(--text-xs);margin:0}.voice-selector-actions{border-top:1px solid var(--clr-border);display:flex;gap:var(--s-3);padding-top:var(--s-3)}.voice-btn{align-items:center;border:2px solid;border-radius:var(--r-lg);cursor:pointer;display:flex;flex:1 1;font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;gap:var(--s-2);justify-content:center;padding:var(--s-3) var(--s-4);transition:all .2s ease}.voice-btn.cancel{background:#0000;border-color:var(--clr-border);color:var(--clr-text-secondary)}.voice-btn.cancel:hover{background:var(--clr-border);color:var(--clr-text-primary)}.voice-btn.generate{background:linear-gradient(135deg,var(--clr-primary),var(--clr-secondary));border-color:var(--clr-primary);color:#fff}.voice-btn.generate:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.voice-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.voice-btn .spinner{animation:audioSpin 2s linear infinite}@media (max-width:768px){.story-viewer-header{gap:var(--s-2);height:56px;padding:0 var(--s-4)}.story-viewer-footer{height:64px;padding:0 var(--s-4)}.story-viewer-content{padding:var(--s-4)}.story-viewer-title{font-size:var(--text-base)}.audio-player-container{top:70px;width:calc(100% - var(--s-4))}.voice-selector-modal{padding:var(--s-4);width:calc(100% - var(--s-4))}.voice-options-grid{grid-template-columns:repeat(2,1fr)}.voice-emoji{font-size:2.5rem}}@media (max-width:480px){.story-viewer-header{flex-wrap:wrap;height:auto;padding:var(--s-3) var(--s-4)}.story-title-section{order:-1;width:100%}.page-indicator{max-width:140px}.voice-options-grid{grid-template-columns:1fr}.voice-selector-actions{flex-direction:column}.action-btn span:last-child{display:none}}.sv-fix{margin:12px auto 0;max-width:min(560px,92vw);text-align:center}.sv-fix-btn{background:#fff;border:1px solid #d7c9f2;border-radius:999px;color:#6b4ea8;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.sv-fix-btn:hover:not(:disabled){background:#f5f0ff;border-color:#a986e6}.sv-fix-btn:disabled{cursor:default;opacity:.6}.sv-fix-box{background:#faf7ff;border:1px solid #e6dcfa;border-radius:12px;padding:12px;text-align:left}.sv-fix-input{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:13px;padding:8px 10px;resize:vertical;width:100%}.sv-fix-input:focus{border-color:#a986e6;box-shadow:0 0 0 3px #a986e626;outline:none}.sv-fix-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.sv-fix-cancel{background:#fff;border:1px solid #ddd;border-radius:8px;color:#666;padding:7px 14px}.sv-fix-cancel,.sv-fix-go{cursor:pointer;font-size:13px}.sv-fix-go{background:linear-gradient(135deg,#7c5fd3,#a986e6);border:none;border-radius:8px;color:#fff;font-weight:700;padding:7px 16px}.sv-fix-cancel:disabled,.sv-fix-go:disabled{cursor:default;opacity:.6}.sv-fix-hint{color:#8a7bad;font-size:11px;margin:8px 0 0}.sv-fix-error{color:#c62828;font-size:12px;margin:8px 0 0}.sv-fix-triggers{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.sv-fix-title{color:#6b4ea8;font-size:13px;font-weight:700;margin-bottom:8px}.story-viewer-content--book{background:radial-gradient(ellipse 60% 55% at 50% 48%,#ffd6961a,#0000 70%),radial-gradient(ellipse at 50% 0,#1c1035 0,#0f0a1e 70%)}.bk-stage{align-items:center;display:flex;flex-direction:column;gap:40px;padding:24px 0 8px;width:100%}.bk-stage .sv-fix{width:min(560px,100%)}.sv-fix-switch{background:#efe8fb;border-radius:999px;display:inline-flex;gap:4px;margin:6px 0 8px;padding:3px}.sv-fix-switch button{background:#0000;border:none;border-radius:999px;color:#5b4a86;cursor:pointer;font:700 13px/1 var(--font);padding:6px 12px}.sv-fix-switch button.on{background:#fff;box-shadow:0 1px 3px #00000026;color:#3b2a6b}.sv-fix-switch button:focus-visible{outline:2px solid #8b5cf6;outline-offset:1px}button.page-dot{border:none;cursor:pointer;padding:0}button.page-dot:hover:not(.active){background:#ffffff80}button.page-dot:focus-visible{outline:2px solid var(--clr-primary-light);outline-offset:2px}button.page-dot:disabled{cursor:default}.story-viewer-header .sv-actions{flex-wrap:nowrap;gap:8px}.story-viewer-header .sv-actions .action-btn{align-items:center;border-radius:999px;display:inline-flex;flex:0 0 auto;flex-direction:row;font-size:13px;font-weight:700;gap:6px;height:36px;line-height:1;min-width:0;overflow:visible;padding:0 14px;white-space:nowrap}.story-viewer-header .sv-actions .action-btn span{display:inline}.story-viewer-header .sv-actions .action-btn:focus-visible{outline:2px solid #c4b5fd;outline-offset:2px}@media (max-width:1440px){.story-viewer-header .sv-actions .action-btn{justify-content:center;padding:0;width:36px}.story-viewer-header .sv-actions .action-btn span:last-child{display:none}}.sv-page-wrap{flex-direction:column}@media (max-width:899px){.story-viewer-header{flex-wrap:wrap;gap:8px;height:auto;padding:10px 12px}.story-viewer-header .sv-actions{flex-wrap:wrap;justify-content:center;width:100%}.story-title-section{flex:1 1 100%;order:-1}.story-viewer-nav{flex:1 1 100%;justify-content:center}.story-viewer-content{padding:16px}}.fairy-loader-container{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--gradient-card);border:1px solid #ffffff4d;border-radius:var(--radius-xl);box-shadow:var(--shadow-magical);display:flex;flex-direction:column;justify-content:center;min-height:500px;overflow:hidden;padding:var(--space-xl);position:relative}.fairy-loader-container:before{background:var(--gradient-rainbow);border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.magical-scene{height:200px;margin-bottom:var(--space-xl);position:relative;width:200px}.fairy-main{animation:fairyFloat 3s ease-in-out infinite;height:80px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60px;z-index:10}.fairy-body{height:100%;position:relative;width:100%}.fairy-head{background:linear-gradient(145deg,#ffe4e1,pink);box-shadow:0 2px 4px #0000001a;height:20px;left:50%;top:0;transform:translateX(-50%);width:20px}.fairy-head,.fairy-head:before{border-radius:50%;position:absolute}.fairy-head:before{background:#8b4513;content:"";height:8px;left:6px;top:6px;width:8px}.fairy-dress{background:linear-gradient(145deg,plum,#ba55d3);border-radius:50% 50% 20px 20px;box-shadow:0 2px 4px #0000001a;height:40px;width:30px}.fairy-dress,.fairy-wings{left:50%;position:absolute;top:15px;transform:translateX(-50%)}.fairy-wings{height:30px;width:50px}.wing{animation:wingFlutter .8s ease-in-out infinite alternate;background:linear-gradient(145deg,#fffc,#add8e699);border-radius:70% 30% 70% 30%;height:25px;position:absolute;width:20px}.wing-left{left:-5px;transform:rotate(-15deg)}.wing-right{right:-5px;transform:rotate(15deg) scaleX(-1)}.fairy-wand{background:#8b4513;border-radius:2px;height:20px;position:absolute;right:-15px;top:25px;transform:rotate(-30deg);width:2px}.fairy-wand:before{animation:wandGlow 1.5s ease-in-out infinite;content:"⭐";font-size:12px;left:-6px;position:absolute;top:-8px}.magic-particles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.particle{animation:particleFloat 4s ease-in-out infinite;font-size:16px;opacity:.8;position:absolute}.particle-1{animation-delay:0s;left:20%;top:20%}.particle-2{animation-delay:.8s;right:25%;top:30%}.particle-3{animation-delay:1.6s;bottom:40%;left:15%}.particle-4{animation-delay:2.4s;right:10%;top:60%}.particle-5{animation-delay:3.2s;bottom:20%;right:30%}.particle-6{animation-delay:4s;left:60%;top:10%}.floating-books{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.book{animation:bookFloat 6s ease-in-out infinite;font-size:20px;opacity:.7}.book-1{animation-duration:5s;left:80%;top:10%}.book-2{animation-delay:2s;animation-duration:7s;bottom:15%;left:10%}.book-3{animation-delay:4s;animation-duration:6s;right:85%}.magic-circle{height:180px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:180px}.circle-ring{animation:circleRotate 8s linear infinite;border:2px solid;border-radius:50%;opacity:.3;position:absolute}.ring-1{animation-duration:8s;border-color:var(--primary-purple);height:180px;width:180px}.ring-2{animation-direction:reverse;animation-duration:6s;border-color:var(--primary-pink);height:140px;left:20px;top:20px;width:140px}.ring-3{animation-duration:4s;border-color:var(--primary-blue);height:100px;left:40px;top:40px;width:100px}.loading-content{max-width:400px;text-align:center}.loading-title{-webkit-text-fill-color:#0000;animation:titlePulse 2s ease-in-out infinite;background:var(--gradient-rainbow);background-clip:text;-webkit-background-clip:text;font-family:var(--font-display);font-size:1.8rem;margin-bottom:var(--space-lg)}.loading-steps{flex-direction:column;margin-bottom:var(--space-lg)}.loading-steps,.step{display:flex;gap:var(--space-sm)}.step{align-items:center;animation:stepActivate 9s ease-in-out infinite;background:#fff9;border-radius:var(--radius-full);opacity:.6;padding:var(--space-sm) var(--space-md);transition:all .3s ease}.step-1{animation-delay:0s}.step-2{animation-delay:3s}.step-3{animation-delay:6s}.step-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:1.2rem}.step-text{color:var(--primary-purple);font-family:var(--font-ui);font-size:.9rem;font-weight:600}.progress-bar{background:#ffffff4d;box-shadow:inset 0 2px 4px #0000001a;height:8px;margin-bottom:var(--space-md);width:100%}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{animation:progressFill 8s ease-in-out infinite;background:var(--gradient-rainbow)}.loading-tip{background:#ffffff80;border-left:4px solid var(--primary-orange);border-radius:var(--radius-md);color:var(--gray-600);font-family:var(--font-body);font-size:.9rem;margin:0;padding:var(--space-sm) var(--space-md)}@keyframes fairyFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}@keyframes wingFlutter{0%{transform:rotate(-15deg) scaleY(1)}to{transform:rotate(-25deg) scaleY(.8)}}@keyframes wandGlow{0%,to{filter:drop-shadow(0 0 5px #FFD700);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #FFD700);transform:scale(1.2)}}@keyframes particleFloat{0%,to{opacity:.8;transform:translateY(0) rotate(0deg)}33%{opacity:1;transform:translateY(-15px) rotate(120deg)}66%{opacity:.9;transform:translateY(-5px) rotate(240deg)}}@keyframes bookFloat{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes circleRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes titlePulse{0%,to{filter:drop-shadow(0 0 10px rgba(107,70,193,.3))}50%{filter:drop-shadow(0 0 20px rgba(236,72,153,.4))}}@keyframes stepActivate{0%,90%,to{opacity:.6;transform:scale(1)}10%,80%{opacity:1;transform:scale(1.05)}}@keyframes progressFill{0%{width:0}to{width:100%}}@media (max-width:768px){.fairy-loader-container{min-height:400px;padding:var(--space-lg)}.magical-scene{height:150px;width:150px}.loading-title{font-size:1.5rem}.loading-steps{gap:var(--space-xs)}.step{padding:var(--space-xs) var(--space-sm)}.step-text{font-size:.8rem}}@media (max-width:480px){.magical-scene{height:120px;width:120px}.loading-title{font-size:1.3rem}.loading-content{max-width:300px}.step{flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);text-align:center}.book,.particle{font-size:14px}}:root{--clr-primary:#ff9f43;--clr-primary-hover:#ff8c1a;--clr-primary-light:#ffb870;--clr-primary-xlight:#fff3e6;--clr-primary-2xlight:#fffbf5;--clr-secondary:#4fc3f7;--clr-secondary-hover:#29b6f6;--clr-secondary-light:#81d4fa;--clr-secondary-xlight:#e1f5fe;--clr-accent:#ff6b9d;--clr-accent-light:#ffb3d1;--clr-accent-xlight:#fff0f6;--clr-success:#66bb6a;--clr-success-light:#e8f5e9;--clr-error:#ef5350;--clr-error-light:#ffebee;--grad-primary:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);--grad-secondary:linear-gradient(135deg,#81d4fa,#4fc3f7);--grad-hero:linear-gradient(160deg,#fff9f0,#fff3e6 25%,#e1f5fe 75%,#f0f9ff);--grad-cta:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff6b9d);--grad-primary-soft:linear-gradient(135deg,#fff9f0,#fff3e6 50%,#e1f5fe);--clr-bg:#fffcf7;--clr-surface:#fff;--clr-surface-2:#fff9f0;--clr-border:#ffe5cc;--clr-border-light:#fff3e6;--clr-text:#5d4e37;--clr-text-2:#8b7355;--clr-text-muted:#b8a48f;--clr-text-inverse:#fff;--font:"Nunito",sans-serif;--font-heading:"Fredoka","Nunito",sans-serif;--text-xs:0.75rem;--text-sm:0.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;--s-1:0.25rem;--s-1h:0.375rem;--s-2:0.5rem;--s-2h:0.625rem;--s-3:0.75rem;--s-3h:0.875rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-7:1.75rem;--s-8:2rem;--s-10:2.5rem;--s-12:3rem;--s-16:4rem;--s-20:5rem;--s-24:6rem;--r-sm:14px;--r-md:20px;--r-lg:26px;--r-xl:32px;--r-2xl:40px;--r-3xl:52px;--r-full:9999px;--shadow-sm:0 2px 8px #ff9f4314;--shadow-md:0 4px 16px #ff9f431f,0 2px 6px #ff9f430f;--shadow-lg:0 10px 40px #ff9f4326,0 4px 12px #ff9f4314;--shadow-xl:0 24px 64px #ff9f432e,0 8px 24px #ff9f431a;--shadow-primary:0 8px 28px #ff9f4340;--shadow-card:0 4px 24px #ff9f431a;--t-fast:150ms ease;--t-base:240ms ease;--t-slow:380ms cubic-bezier(0.34,1.56,0.64,1);--header-h:68px;--z-header:100;--z-modal:200}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#fffcf7;background:var(--clr-bg);color:#5d4e37;color:var(--clr-text);font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);line-height:1.6}a{color:inherit;text-decoration:none}button{border:none;cursor:pointer;outline:none}button,input,select,textarea{font-family:Nunito,sans-serif;font-family:var(--font)}img{display:block;max-width:100%}h1,h2,h3,h4,h5,h6{color:#5d4e37;color:var(--clr-text);font-family:Fredoka,Nunito,sans-serif;font-family:var(--font-heading);font-weight:600;line-height:1.2}.app{background:#fffcf7;background:var(--clr-bg);display:flex;flex-direction:column;min-height:100vh}.main-container{flex:1 1;margin:0 auto;max-width:1280px;padding:calc(68px + 1.5rem) 1.5rem 4rem;padding:calc(var(--header-h) + var(--s-6)) var(--s-6) var(--s-16);width:100%}.container{margin:0 auto;max-width:1160px;padding:0 2rem;padding:0 var(--s-8)}.floating-elements{display:none}.header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fffffff7;border-bottom:1px solid #fff3e6;border-bottom:1px solid var(--clr-border-light);box-shadow:0 1px 20px #7c3aed0f;height:68px;height:var(--header-h);inset:0 0 auto 0;justify-content:space-between;padding:0 2rem;padding:0 var(--s-8);position:fixed;z-index:100;z-index:var(--z-header)}.header,.header-logo{align-items:center;display:flex}.header-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-size:var(--text-xl);font-weight:900;gap:.625rem;gap:var(--s-2h);letter-spacing:-.02em;white-space:nowrap}.logo-icon{-webkit-text-fill-color:initial;font-size:1.6rem}.header-nav{flex:1 1;gap:1rem;gap:var(--s-4)}.header-nav,.main-nav{align-items:center;display:flex}.main-nav{gap:.25rem;gap:var(--s-1);margin-right:auto}.nav-link{align-items:center;background:#0000;border:none;border-radius:26px;border-radius:var(--r-lg);color:var(--clr-text-secondary);cursor:pointer;display:flex;font-family:Fredoka,Nunito,sans-serif;font-family:var(--font-heading);font-size:.875rem;font-size:var(--text-sm);font-weight:600;gap:.375rem;gap:var(--s-1h);padding:.375rem .5rem;padding:var(--s-1h) var(--s-2);position:relative;transition:all .2s ease}.nav-link:hover{background:#fff9f0;background:var(--clr-surface-2);transform:translateY(-1px)}.nav-link.active,.nav-link:hover{color:#ff9f43;color:var(--clr-primary)}.nav-link.active{background:var(--clr-primary-x-light);font-weight:700}.nav-link.active:after{background:#ff9f43;background:var(--clr-primary);border-radius:9999px;border-radius:var(--r-full);bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:30px}.nav-link span{font-size:1.1em}.header-actions{align-items:center;display:flex;gap:.625rem;gap:var(--s-2h)}.user-info{align-items:center;gap:.75rem;gap:var(--s-3);margin-right:.5rem;margin-right:var(--s-2)}.credits-badge{align-items:center;background:#fff3e6;background:var(--clr-primary-xlight);border:1.5px solid #7c3aed2e;border-radius:9999px;border-radius:var(--r-full);color:#ff9f43;color:var(--clr-primary);display:inline-flex;font-weight:800;gap:.375rem;gap:var(--s-1h);padding:.375rem .75rem;padding:var(--s-1h) var(--s-3)}.credits-badge,.user-name{font-size:.875rem;font-size:var(--text-sm)}.user-name{color:#8b7355;color:var(--clr-text-2);font-weight:700}.nav-button{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:2px solid #0000;border-radius:20px;border-radius:var(--r-md);color:#fff;display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.5rem;gap:var(--s-2);padding:.5rem 1rem;padding:var(--s-2) var(--s-4);transition:all .24s ease;transition:all var(--t-base);white-space:nowrap}.nav-button:hover{box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.nav-button:active{transform:translateY(0)}.nav-button.secondary{background:#0000;border-color:#ffe5cc;border-color:var(--clr-border);color:#8b7355;color:var(--clr-text-2)}.nav-button.secondary:hover{border-color:#ff9f43;border-color:var(--clr-primary);box-shadow:none}.nav-button.active,.nav-button.secondary:hover{background:#fff3e6;background:var(--clr-primary-xlight);color:#ff9f43;color:var(--clr-primary)}.nav-button.active{border-color:#fff3e6;border-color:var(--clr-primary-xlight)}.mobile-menu-btn{display:none!important}.btn-primary{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border-radius:20px;border-radius:var(--r-md);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:var(--text-base);font-weight:900;gap:.5rem;gap:var(--s-2);justify-content:center;padding:.75rem 1.5rem;padding:var(--s-3) var(--s-6);transition:all .24s ease;transition:all var(--t-base)}.btn-primary:hover{box-shadow:0 12px 36px #7c3aed59;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{box-shadow:none;opacity:.55;transform:none}.btn-secondary{align-items:center;background:#0000;border:2px solid #ff9f43;border:2px solid var(--clr-primary);border-radius:20px;border-radius:var(--r-md);color:#ff9f43;color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);font-weight:700;gap:.5rem;gap:var(--s-2);padding:.75rem 1.5rem;padding:var(--s-3) var(--s-6);transition:all .24s ease;transition:all var(--t-base)}.btn-secondary:hover{background:#fff3e6;background:var(--clr-primary-xlight)}.landing-page{background:#fff;background:var(--clr-surface);overflow-x:hidden;padding-top:68px;padding-top:var(--header-h)}.hero{align-items:center;background:linear-gradient(160deg,#fff9f0,#fff3e6 25%,#e1f5fe 75%,#f0f9ff);background:var(--grad-hero);display:flex;min-height:calc(90vh - 68px);min-height:calc(90vh - var(--header-h));overflow:hidden;padding:3rem 2rem;padding:var(--s-12) var(--s-8);position:relative}.hero:before{background:radial-gradient(circle,#7c3aed1a 0,#0000 68%);height:520px;right:-160px;top:-160px;width:520px}.hero:after,.hero:before{content:"";pointer-events:none;position:absolute}.hero:after{background:radial-gradient(circle,#ec489914 0,#0000 68%);bottom:-120px;height:460px;left:-120px;width:460px}.hero-inner{grid-gap:4rem;grid-gap:var(--s-16);align-items:center;display:grid;gap:4rem;gap:var(--s-16);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1160px;width:100%}.hero-text{z-index:1}.hero-badge{align-items:center;background:#fff3e6;background:var(--clr-primary-xlight);border:1.5px solid #7c3aed33;border-radius:9999px;border-radius:var(--r-full);color:#ff9f43;color:var(--clr-primary);display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.5rem;gap:var(--s-2);padding:.375rem 1rem;padding:var(--s-1h) var(--s-4)}.hero-badge,.hero-title{margin-bottom:1.25rem;margin-bottom:var(--s-5)}.hero-title{color:#5d4e37;color:var(--clr-text);font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:900;letter-spacing:-.03em;line-height:1.1}.hero-title-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:#8b7355;color:var(--clr-text-2);font-size:1.125rem;font-size:var(--text-lg);line-height:1.75;max-width:480px}.hero-ctas,.hero-subtitle{margin-bottom:2rem;margin-bottom:var(--s-8)}.hero-ctas{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;gap:var(--s-4)}.hero-btn-primary{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:32px;border-radius:var(--r-xl);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1.125rem;font-size:var(--text-lg);font-weight:900;gap:.5rem;gap:var(--s-2);padding:1rem 2rem;padding:var(--s-4) var(--s-8);transition:all .24s ease;transition:all var(--t-base)}.hero-btn-primary:hover{box-shadow:0 16px 48px #7c3aed66;transform:translateY(-2px)}.hero-btn-secondary{align-items:center;background:#fff;border:2px solid #ff9f43;border:2px solid var(--clr-primary);border-radius:32px;border-radius:var(--r-xl);color:#ff9f43;color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1.125rem;font-size:var(--text-lg);font-weight:800;gap:.5rem;gap:var(--s-2);padding:1rem 2rem;padding:var(--s-4) var(--s-8);transition:all .24s ease;transition:all var(--t-base)}.hero-btn-secondary:hover{background:#fff3e6;background:var(--clr-primary-xlight);transform:translateY(-2px)}.hero-trust{flex-wrap:wrap;gap:1.25rem;gap:var(--s-5)}.hero-trust,.hero-trust-item{align-items:center;display:flex}.hero-trust-item{color:#b8a48f;color:var(--clr-text-muted);font-size:.875rem;font-size:var(--text-sm);font-weight:600;gap:.5rem;gap:var(--s-2)}.hero-visual{align-items:center;display:flex;justify-content:center;z-index:1}.hero-illustration{animation:heroFloat 5s ease-in-out infinite;filter:drop-shadow(0 24px 48px rgba(124,58,237,.18));max-width:480px;width:100%}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.stats-bar{background:#fff;border-bottom:1px solid #fff3e6;border-bottom:1px solid var(--clr-border-light);border-top:1px solid #fff3e6;border-top:1px solid var(--clr-border-light);padding:2.5rem 0;padding:var(--s-10) 0}.stats-inner{grid-gap:1.5rem;grid-gap:var(--s-6);display:grid;gap:1.5rem;gap:var(--s-6);grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1160px;padding:0 2rem;padding:0 var(--s-8);text-align:center}.stat-item{align-items:center;gap:.5rem;gap:var(--s-2)}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;font-size:1.875rem;font-size:var(--text-3xl);font-weight:900;line-height:1}.stat-label{color:#b8a48f;color:var(--clr-text-muted);font-size:.875rem;font-size:var(--text-sm);font-weight:600}.section{padding:5rem 0;padding:var(--s-20) 0}.section-inner{margin:0 auto;max-width:1160px;padding:0 2rem;padding:0 var(--s-8)}.section-header{margin-bottom:3rem;margin-bottom:var(--s-12);text-align:center}.section-badge{align-items:center;background:#fff3e6;background:var(--clr-primary-xlight);border-radius:9999px;border-radius:var(--r-full);color:#ff9f43;color:var(--clr-primary);display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.5rem;gap:var(--s-2);padding:.375rem 1rem;padding:var(--s-1h) var(--s-4)}.section-badge,.section-title{margin-bottom:1rem;margin-bottom:var(--s-4)}.section-title{color:#5d4e37;color:var(--clr-text);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.2}.section-subtitle{color:#8b7355;color:var(--clr-text-2);font-size:1.125rem;font-size:var(--text-lg);line-height:1.75;margin:0 auto;max-width:540px}.how-section{background:#fffcf7;background:var(--clr-bg)}.steps-grid{grid-gap:2rem;grid-gap:var(--s-8);display:grid;gap:2rem;gap:var(--s-8);grid-template-columns:repeat(3,1fr);position:relative}.steps-grid:before{background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);content:"";height:2px;left:20%;opacity:.15;position:absolute;right:20%;top:50px}.step-card{background:#fff;border:1.5px solid #fff3e6;border:1.5px solid var(--clr-border-light);border-radius:32px;border-radius:var(--r-xl);box-shadow:0 4px 24px #ff9f431a;box-shadow:var(--shadow-card);padding:2rem 1.5rem;padding:var(--s-8) var(--s-6);text-align:center;transition:transform .24s ease,box-shadow .24s ease;transition:transform var(--t-base),box-shadow var(--t-base)}.step-card:hover{box-shadow:0 10px 40px #ff9f4326,0 4px 12px #ff9f4314;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.step-circle{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border-radius:9999px;border-radius:var(--r-full);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);color:#fff;display:flex;font-size:1.25rem;font-size:var(--text-xl);font-weight:900;height:56px;justify-content:center;margin:0 auto 1.25rem;margin:0 auto var(--s-5);width:56px}.step-emoji{display:block;font-size:2.2rem;margin-bottom:1rem;margin-bottom:var(--s-4)}.step-title{color:#5d4e37;color:var(--clr-text);font-size:1.25rem;font-size:var(--text-xl);font-weight:800;margin-bottom:.75rem;margin-bottom:var(--s-3)}.step-desc{color:#8b7355;color:var(--clr-text-2);font-size:1rem;font-size:var(--text-base);line-height:1.75}.features-section{background:#fff}.features-grid{grid-gap:1.25rem;grid-gap:var(--s-5);display:grid;gap:1.25rem;gap:var(--s-5);grid-template-columns:repeat(3,1fr)}.feature-card{background:#fffcf7;background:var(--clr-bg);border:1.5px solid #fff3e6;border:1.5px solid var(--clr-border-light);border-radius:32px;border-radius:var(--r-xl);padding:1.75rem;padding:var(--s-7);transition:all .24s ease;transition:all var(--t-base)}.feature-card:hover{background:#fff;border-color:#fff3e6;border-color:var(--clr-primary-xlight);box-shadow:0 4px 24px #ff9f431a;box-shadow:var(--shadow-card);transform:translateY(-4px)}.feature-icon-box{align-items:center;border-radius:26px;border-radius:var(--r-lg);display:flex;font-size:1.6rem;height:52px;justify-content:center;margin-bottom:1.25rem;margin-bottom:var(--s-5);width:52px}.bg-purple{background:#fff3e6;background:var(--clr-primary-xlight)}.bg-pink{background:#e1f5fe;background:var(--clr-secondary-xlight)}.bg-yellow{background:#fff0f6;background:var(--clr-accent-xlight)}.bg-green{background:#e8f5e9;background:var(--clr-success-light)}.bg-blue{background:#eff6ff}.bg-orange{background:#fff7ed}.feature-title{color:#5d4e37;color:var(--clr-text);font-size:1.125rem;font-size:var(--text-lg);font-weight:800;margin-bottom:.625rem;margin-bottom:var(--s-2h)}.feature-desc{color:#8b7355;color:var(--clr-text-2);font-size:.875rem;font-size:var(--text-sm);line-height:1.75}.testi-section{background:#fffcf7;background:var(--clr-bg)}.testi-grid{grid-gap:1.5rem;grid-gap:var(--s-6);display:grid;gap:1.5rem;gap:var(--s-6);grid-template-columns:repeat(3,1fr)}.testi-card{background:#fff;border:1.5px solid #fff3e6;border:1.5px solid var(--clr-border-light);border-radius:32px;border-radius:var(--r-xl);box-shadow:0 4px 24px #ff9f431a;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1.25rem;gap:var(--s-5);padding:2rem 1.5rem;padding:var(--s-8) var(--s-6)}.testi-stars{color:#ff6b9d;color:var(--clr-accent);letter-spacing:2px}.testi-quote,.testi-stars{font-size:1rem;font-size:var(--text-base)}.testi-quote{color:#8b7355;color:var(--clr-text-2);flex:1 1;font-style:italic;line-height:1.75}.testi-author{gap:.75rem;gap:var(--s-3)}.author-avatar,.testi-author{align-items:center;display:flex}.author-avatar{background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border-radius:9999px;border-radius:var(--r-full);color:#fff;flex-shrink:0;font-size:1.125rem;font-size:var(--text-lg);font-weight:900;height:44px;justify-content:center;width:44px}.author-name{color:#5d4e37;color:var(--clr-text);font-size:1rem;font-size:var(--text-base);font-weight:700}.author-role{color:#b8a48f;color:var(--clr-text-muted);font-size:.75rem;font-size:var(--text-xs)}.cta-section{background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff6b9d);background:var(--grad-cta);overflow:hidden;padding:5rem 2rem;padding:var(--s-20) var(--s-8);position:relative;text-align:center}.cta-section:before{background-image:radial-gradient(circle at 20% 50%,#ffffff0f 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff0a 0,#0000 40%);content:"";inset:0;pointer-events:none;position:absolute}.cta-inner{position:relative;z-index:1}.cta-title{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.15;margin-bottom:1rem;margin-bottom:var(--s-4)}.cta-subtitle{color:#ffffffd1;margin-bottom:2rem;margin-bottom:var(--s-8);margin-left:auto;margin-right:auto;max-width:540px}.cta-btn,.cta-subtitle{font-size:1.25rem;font-size:var(--text-xl)}.cta-btn{align-items:center;background:#fff;border:none;border-radius:32px;border-radius:var(--r-xl);box-shadow:0 8px 40px #00000038;color:#ff9f43;color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-weight:900;gap:.75rem;gap:var(--s-3);padding:1rem 2.5rem;padding:var(--s-4) var(--s-10);transition:all .24s ease;transition:all var(--t-base)}.cta-btn:hover{box-shadow:0 16px 56px #00000052;transform:translateY(-3px)}.cta-note{color:#ffffffa6;font-size:.875rem;font-size:var(--text-sm);margin-top:1rem;margin-top:var(--s-4)}.landing-footer{background:#1e1b4b;padding:3rem 0 2rem;padding:var(--s-12) 0 var(--s-8)}.landing-footer .container{align-items:center;display:flex;flex-direction:column;gap:1.25rem;gap:var(--s-5);text-align:center}.footer-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-size:var(--text-2xl);font-weight:900}.footer-tagline{color:#ffffff8c;font-size:.875rem;font-size:var(--text-sm);line-height:1.75;max-width:360px}.footer-divider{background:#ffffff14;height:1px;width:100%}.footer-copyright{color:#ffffff59;font-size:.75rem;font-size:var(--text-xs)}.auth-overlay{align-items:center;animation:fadeIn .24s ease;animation:fadeIn var(--t-base);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1e1b4ba6;display:flex;inset:0;justify-content:center;padding:1.5rem;padding:var(--s-6);position:fixed;z-index:200;z-index:var(--z-modal)}.auth-modal{animation:slideUp .38s cubic-bezier(.34,1.56,.64,1);animation:slideUp var(--t-slow);background:#fff;border-radius:40px;border-radius:var(--r-2xl);box-shadow:0 24px 64px #ff9f432e,0 8px 24px #ff9f431a;box-shadow:var(--shadow-xl);max-width:440px;padding:2.5rem 2rem;padding:var(--s-10) var(--s-8);position:relative;width:100%}.auth-close{align-items:center;background:#fff3e6;background:var(--clr-border-light);border:none;border-radius:9999px;border-radius:var(--r-full);color:#b8a48f;color:var(--clr-text-muted);cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1.1rem;height:36px;justify-content:center;line-height:1;position:absolute;right:1rem;right:var(--s-4);top:1rem;top:var(--s-4);transition:all .15s ease;transition:all var(--t-fast);width:36px}.auth-close:hover{background:#ffebee;background:var(--clr-error-light);color:#ef5350;color:var(--clr-error)}.auth-form{gap:1rem;gap:var(--s-4)}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem;gap:var(--s-2)}.form-group label{align-items:center;color:#5d4e37;color:var(--clr-text);display:flex;font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.375rem;gap:var(--s-1h)}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #ffe5cc;border:2px solid var(--clr-border);border-radius:20px;border-radius:var(--r-md);color:#5d4e37;color:var(--clr-text);font-size:1rem;font-size:var(--text-base);padding:.75rem 1rem;padding:var(--s-3) var(--s-4);transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--t-fast),box-shadow var(--t-fast);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ff9f43;border-color:var(--clr-primary);box-shadow:0 0 0 3px #7c3aed1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#b8a48f;color:var(--clr-text-muted)}.form-group select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.2em;padding-right:2.5rem}.auth-submit-btn{background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:20px;border-radius:var(--r-md);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);font-weight:900;padding:.875rem 1rem;padding:var(--s-3h) var(--s-4);transition:all .24s ease;transition:all var(--t-base);width:100%}.auth-submit-btn:hover{box-shadow:0 12px 32px #7c3aed59;transform:translateY(-1px)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-toggle{color:#b8a48f;color:var(--clr-text-muted);margin-top:.5rem;margin-top:var(--s-2);text-align:center}.auth-toggle,.auth-toggle-link{font-size:.875rem;font-size:var(--text-sm)}.auth-toggle-link{background:none;border:none;color:#ff9f43;color:var(--clr-primary);cursor:pointer;font-family:Nunito,sans-serif;font-family:var(--font);font-weight:800;margin-left:.25rem;margin-left:var(--s-1)}.auth-toggle-link:hover{text-decoration:underline}.error-message{background:#ffebee;background:var(--clr-error-light);border:1px solid #fca5a5;border-radius:20px;border-radius:var(--r-md);color:#ef5350;color:var(--clr-error)}.error-message,.success-message{font-size:.875rem;font-size:var(--text-sm);font-weight:600;padding:.75rem 1rem;padding:var(--s-3) var(--s-4)}.success-message{background:#e8f5e9;background:var(--clr-success-light);border:1px solid #6ee7b7;border-radius:20px;border-radius:var(--r-md);color:#66bb6a;color:var(--clr-success)}.main-content{padding-top:1.5rem;padding-top:var(--s-6)}.welcome-section{padding:2.5rem 0 1.5rem;padding:var(--s-10) 0 var(--s-6);text-align:center}.welcome-content{margin:0 auto;max-width:600px}.welcome-title{color:#5d4e37;color:var(--clr-text);font-size:1.875rem;font-size:var(--text-3xl);font-weight:900;letter-spacing:-.025em;margin-bottom:.75rem;margin-bottom:var(--s-3)}.welcome-text{color:#8b7355;color:var(--clr-text-2);font-size:1.125rem;font-size:var(--text-lg);line-height:1.75;margin-bottom:1.5rem;margin-bottom:var(--s-6)}.welcome-features{display:flex;flex-wrap:wrap;gap:1.5rem;gap:var(--s-6);justify-content:center}.feature{align-items:center;color:#8b7355;color:var(--clr-text-2);display:flex;font-size:.875rem;font-size:var(--text-sm);font-weight:700;gap:.5rem;gap:var(--s-2)}.feature-icon{font-size:1.1rem}.story-input-section{margin-bottom:1.5rem;margin-bottom:var(--s-6)}.quick-actions{display:none}.loading{align-items:center;color:#b8a48f;color:var(--clr-text-muted);display:flex;font-size:1.125rem;font-size:var(--text-lg);font-weight:700;gap:.75rem;gap:var(--s-3);justify-content:center;padding:3rem;padding:var(--s-12)}.error{background:#ffebee;background:var(--clr-error-light);color:#ef5350;color:var(--clr-error);font-weight:600;padding:1rem 1.25rem;padding:var(--s-4) var(--s-5)}.back-home-btn,.error{border-radius:20px;border-radius:var(--r-md)}.back-home-btn{align-items:center;background:#7c3aed1a;border:1px solid #7c3aed40;color:#ff9f43;color:var(--clr-primary);cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:.875rem;font-size:var(--text-sm);font-weight:700;gap:.5rem;gap:var(--s-2);margin-bottom:1rem;margin-bottom:var(--s-4);padding:.5rem 1rem;padding:var(--s-2) var(--s-4);transition:all .24s ease;transition:all var(--t-base)}.back-home-btn:hover{background:#7c3aed2e;border-color:#7c3aed73;transform:translateX(-2px)}.story-list{padding:1.5rem 0;padding:var(--s-6) 0}.story-list-header{margin-bottom:2rem;margin-bottom:var(--s-8);text-align:center}.story-list-header h2{color:#5d4e37;color:var(--clr-text);font-size:1.875rem;font-size:var(--text-3xl);font-weight:900;margin-bottom:.5rem;margin-bottom:var(--s-2)}.story-list-subtitle{color:#b8a48f;color:var(--clr-text-muted);font-size:1rem;font-size:var(--text-base)}.stories-grid{grid-gap:1.5rem;grid-gap:var(--s-6);display:grid;gap:1.5rem;gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.load-more-container{align-items:center;display:flex;justify-content:center;margin-bottom:1.5rem;margin-bottom:var(--s-6);margin-top:2rem;margin-top:var(--s-8)}.load-more-btn{background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:9999px;border-radius:var(--r-full);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);font-weight:700;padding:1rem 2rem;padding:var(--s-4) var(--s-8);transition:all .24s ease;transition:all var(--t-base)}.load-more-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff6b9d);background:var(--grad-cta);box-shadow:0 10px 40px #ff9f4326,0 4px 12px #ff9f4314;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.load-more-btn:active:not(:disabled){transform:translateY(0)}.load-more-btn:disabled{cursor:not-allowed;opacity:.6}.story-card{border:1.5px solid #fff3e6;border:1.5px solid var(--clr-border-light);border-radius:32px;border-radius:var(--r-xl);box-shadow:0 4px 24px #ff9f431a;box-shadow:var(--shadow-card);display:flex;flex-direction:column;transition:all .24s ease;transition:all var(--t-base)}.story-card:hover{border-color:#fff3e6;border-color:var(--clr-primary-xlight);box-shadow:0 10px 40px #ff9f4326,0 4px 12px #ff9f4314;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.story-thumbnail{align-items:center;aspect-ratio:16/9;background:linear-gradient(135deg,#fff9f0,#fff3e6 50%,#e1f5fe);background:var(--grad-primary-soft);display:flex;justify-content:center;position:relative}.story-thumbnail img{transition:transform .38s cubic-bezier(.34,1.56,.64,1);transition:transform var(--t-slow)}.story-card:hover .story-thumbnail img{transform:scale(1.05)}.story-thumbnail-placeholder{font-size:4rem;opacity:.45}.story-thumbnail img.story-thumbnail-lqip{filter:blur(10px);transform:scale(1.08)}.story-thumbnail img.story-thumbnail-hd{inset:0;opacity:0;position:absolute;transition:opacity .35s ease,transform .38s cubic-bezier(.34,1.56,.64,1);transition:opacity .35s ease,transform var(--t-slow)}.story-thumbnail img.story-thumbnail-hd.loaded{opacity:1}.story-info{flex:1 1;padding:1.25rem;padding:var(--s-5)}.story-info h3{color:#5d4e37;color:var(--clr-text);font-size:1.125rem;font-size:var(--text-lg);font-weight:800;line-height:1.3;margin-bottom:.5rem;margin-bottom:var(--s-2)}.story-info h3,.story-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.story-info p{color:#b8a48f;color:var(--clr-text-muted);font-size:.875rem;font-size:var(--text-sm);line-height:1.6}.story-meta{align-items:center;border-top:1px solid #fff3e6;border-top:1px solid var(--clr-border-light);display:flex;justify-content:space-between;margin-top:.75rem;margin-top:var(--s-3);padding-top:.75rem;padding-top:var(--s-3)}.page-count{background:#fff3e6;background:var(--clr-primary-xlight);border-radius:9999px;border-radius:var(--r-full);color:#ff9f43;color:var(--clr-primary);font-weight:800;padding:.25rem .625rem;padding:var(--s-1) var(--s-2h)}.created-date,.page-count{font-size:.75rem;font-size:var(--text-xs)}.created-date{color:#b8a48f;color:var(--clr-text-muted);font-weight:600}.story-actions{background:#fffcf7;background:var(--clr-bg);border-top:1px solid #fff3e6;border-top:1px solid var(--clr-border-light);padding:1rem 1.25rem;padding:var(--s-4) var(--s-5)}.story-actions,.view-btn{display:flex;gap:.5rem;gap:var(--s-2)}.view-btn{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:20px;border-radius:var(--r-md);color:#fff;cursor:pointer;flex:1 1;font-family:Nunito,sans-serif;font-family:var(--font);font-size:.875rem;font-size:var(--text-sm);font-weight:800;justify-content:center;padding:.625rem 1rem;padding:var(--s-2h) var(--s-4);transition:all .24s ease;transition:all var(--t-base)}.view-btn:hover{box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.delete-btn{align-items:center;background:#fff;border:1.5px solid #fca5a5;border-radius:20px;border-radius:var(--r-md);color:#ef5350;color:var(--clr-error);cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.5rem;gap:var(--s-2);justify-content:center;padding:.625rem 1rem;padding:var(--s-2h) var(--s-4);transition:all .24s ease;transition:all var(--t-base)}.delete-btn:hover{background:#ffebee;background:var(--clr-error-light)}.empty-state{padding:5rem 2rem;padding:var(--s-20) var(--s-8)}.empty-icon{display:block;font-size:4rem;margin-bottom:1rem;margin-bottom:var(--s-4)}.empty-state h3{color:#5d4e37;color:var(--clr-text);font-size:1.5rem;font-size:var(--text-2xl);font-weight:800;margin-bottom:.75rem;margin-bottom:var(--s-3)}.empty-state p{color:#b8a48f;color:var(--clr-text-muted);font-size:1rem;font-size:var(--text-base)}.profiles-container{padding:1.5rem 0;padding:var(--s-6) 0}.profiles-header{margin-bottom:2rem;margin-bottom:var(--s-8);text-align:center}.profiles-header h2{color:#5d4e37;color:var(--clr-text);font-size:1.875rem;font-size:var(--text-3xl);font-weight:900;margin-bottom:.75rem;margin-bottom:var(--s-3)}.profiles-header p{color:#b8a48f;color:var(--clr-text-muted);font-size:1.125rem;font-size:var(--text-lg);margin-bottom:1.5rem;margin-bottom:var(--s-6)}.add-profile-btn{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:26px;border-radius:var(--r-lg);box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);font-weight:800;gap:.5rem;gap:var(--s-2);padding:.75rem 1.5rem;padding:var(--s-3) var(--s-6);transition:all .24s ease;transition:all var(--t-base)}.add-profile-btn:hover{box-shadow:0 12px 36px #7c3aed59;transform:translateY(-2px)}.profiles-grid{grid-gap:1.25rem;grid-gap:var(--s-5);display:grid;gap:1.25rem;gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.profile-card{align-items:center;background:#fff;border:2px solid #fff3e6;border:2px solid var(--clr-border-light);border-radius:32px;border-radius:var(--r-xl);box-shadow:0 4px 24px #ff9f431a;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.5rem;gap:var(--s-2);padding:1.5rem;padding:var(--s-6);text-align:center;transition:all .24s ease;transition:all var(--t-base)}.profile-card:hover{border-color:#fff3e6;border-color:var(--clr-primary-xlight);box-shadow:0 10px 40px #ff9f4326,0 4px 12px #ff9f4314;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.profile-avatar{align-items:center;background:linear-gradient(135deg,#fff9f0,#fff3e6 50%,#e1f5fe);background:var(--grad-primary-soft);border:3px solid #fff;border-radius:9999px;border-radius:var(--r-full);box-shadow:0 4px 16px #7c3aed2e;display:flex;font-size:2.25rem;height:72px;justify-content:center;margin-bottom:.5rem;margin-bottom:var(--s-2);width:72px}.profile-name{color:#5d4e37;color:var(--clr-text);font-size:1.25rem;font-size:var(--text-xl);font-weight:900}.profile-age{color:#b8a48f;color:var(--clr-text-muted);font-size:.875rem;font-size:var(--text-sm);font-weight:600}.profile-nature{align-items:center;background:#fff3e6;background:var(--clr-primary-xlight);border-radius:9999px;border-radius:var(--r-full);color:#ff9f43;color:var(--clr-primary);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:800;margin-bottom:.5rem;margin-bottom:var(--s-2);padding:.25rem .75rem;padding:var(--s-1) var(--s-3);text-transform:capitalize}.profile-actions{display:flex;flex-wrap:wrap;gap:.5rem;gap:var(--s-2);justify-content:center;width:100%}.magical-btn{align-items:center;background:linear-gradient(135deg,#ffb366,#ff9f43 50%,#ff8c1a);background:var(--grad-primary);border:none;border-radius:20px;border-radius:var(--r-md);color:#fff;cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.375rem;gap:var(--s-1h);padding:.5rem .875rem;padding:var(--s-2) var(--s-3h);transition:all .24s ease;transition:all var(--t-base)}.magical-btn:hover{box-shadow:0 8px 28px #ff9f4340;box-shadow:var(--shadow-primary);transform:translateY(-1px)}.edit-btn{align-items:center;background:#fff;border:1.5px solid #ffe5cc;border:1.5px solid var(--clr-border);border-radius:20px;border-radius:var(--r-md);color:#8b7355;color:var(--clr-text-2);cursor:pointer;display:inline-flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:.875rem;font-size:var(--text-sm);font-weight:800;gap:.375rem;gap:var(--s-1h);padding:.5rem .875rem;padding:var(--s-2) var(--s-3h);transition:all .24s ease;transition:all var(--t-base)}.edit-btn:hover{background:#fff3e6;background:var(--clr-primary-xlight);border-color:#ff9f43;border-color:var(--clr-primary);color:#ff9f43;color:var(--clr-primary)}.payment-modal-overlay{align-items:center;animation:fadeIn .24s ease;animation:fadeIn var(--t-base);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1e1b4ba6;display:flex;inset:0;justify-content:center;padding:1.5rem;padding:var(--s-6);position:fixed;z-index:200;z-index:var(--z-modal)}.payment-modal{animation:slideUp .38s cubic-bezier(.34,1.56,.64,1);animation:slideUp var(--t-slow);background:#fff;border-radius:40px;border-radius:var(--r-2xl);box-shadow:0 24px 64px #ff9f432e,0 8px 24px #ff9f431a;box-shadow:var(--shadow-xl);max-height:90vh;max-width:480px;overflow-y:auto;padding:2.5rem 2rem;padding:var(--s-10) var(--s-8);position:relative;width:100%}.payment-modal h2{color:#5d4e37;color:var(--clr-text);font-size:1.5rem;font-size:var(--text-2xl);font-weight:900;margin-bottom:1.5rem;margin-bottom:var(--s-6);text-align:center}.close-button,.magical-close{align-items:center;background:#fff3e6;background:var(--clr-border-light);border:none;border-radius:9999px;border-radius:var(--r-full);color:#b8a48f;color:var(--clr-text-muted);cursor:pointer;display:flex;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1.1rem;height:36px;justify-content:center;line-height:1;position:absolute;right:1rem;right:var(--s-4);top:1rem;top:var(--s-4);transition:all .15s ease;transition:all var(--t-fast);width:36px}.close-button:hover,.magical-close:hover{background:#ffebee;background:var(--clr-error-light);color:#ef5350;color:var(--clr-error)}.credits-display{background:#fff3e6;background:var(--clr-primary-xlight);border-radius:26px;border-radius:var(--r-lg);margin-bottom:1.25rem;margin-bottom:var(--s-5);padding:1rem 1.25rem;padding:var(--s-4) var(--s-5)}.current-credits{align-items:center;color:#ff9f43;color:var(--clr-primary);display:flex;font-size:1rem;font-size:var(--text-base);font-weight:700;gap:.75rem;gap:var(--s-3)}.credits-icon{font-size:1.4rem}.form-hint{color:#b8a48f;color:var(--clr-text-muted);font-size:.75rem;font-size:var(--text-xs);margin-top:.25rem;margin-top:var(--s-1)}.button-group{display:flex;gap:.75rem;gap:var(--s-3)}.secondary-btn{align-items:center;background:#fff;border:1.5px solid #ffe5cc;border:1.5px solid var(--clr-border);border-radius:20px;border-radius:var(--r-md);color:#8b7355;color:var(--clr-text-2);cursor:pointer;display:flex;flex:1 1;font-family:Nunito,sans-serif;font-family:var(--font);font-size:1rem;font-size:var(--text-base);font-weight:700;gap:.5rem;gap:var(--s-2);justify-content:center;padding:.75rem 1rem;padding:var(--s-3) var(--s-4);transition:all .24s ease;transition:all var(--t-base)}.secondary-btn:hover{background:#fff3e6;background:var(--clr-border-light);border-color:#b8a48f;border-color:var(--clr-text-muted)}.loading-spinner{animation:spin .7s linear infinite;border:2.5px solid #ffffff59;border-top-color:#fff;display:inline-block;height:18px;width:18px}@media (max-width:1024px){.hero-inner{gap:2.5rem;gap:var(--s-10);grid-template-columns:1fr;text-align:center}.hero-visual{order:-1}.hero-illustration{max-width:340px}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-ctas,.hero-trust{justify-content:center}.stats-inner{grid-template-columns:repeat(2,1fr)}.steps-grid:before{display:none}.steps-grid{grid-template-columns:1fr;margin:0 auto;max-width:480px}.features-grid,.testi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--header-h:62px}.header{padding:0 1.25rem;padding:0 var(--s-5)}.header-nav{display:none}.header-nav.mobile-open{background:#fff;border-bottom:1px solid #fff3e6;border-bottom:1px solid var(--clr-border-light);box-shadow:0 4px 16px #ff9f431f,0 2px 6px #ff9f430f;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.75rem;gap:var(--s-3);left:0;padding:1.5rem;padding:var(--s-6);position:fixed;right:0;top:68px;top:var(--header-h);z-index:99}.mobile-menu-btn{display:flex!important}.main-nav{border-bottom:1px solid #fff3e6;border-bottom:1px solid var(--clr-border-light);flex-direction:column;gap:.5rem;gap:var(--s-2);margin-bottom:.75rem;margin-bottom:var(--s-3);margin-right:0;padding-bottom:.75rem;padding-bottom:var(--s-3);width:100%}.nav-link{justify-content:center;width:100%}.header-actions{flex-direction:column;gap:.75rem;gap:var(--s-3);width:100%}.header-actions .nav-button{justify-content:center;width:100%}.user-info{flex-direction:column;gap:.5rem;gap:var(--s-2);margin-right:0;width:100%}.hero{min-height:auto;padding:2.5rem 1.25rem;padding:var(--s-10) var(--s-5)}.features-grid,.testi-grid{grid-template-columns:1fr}.main-container{padding-left:1rem;padding-left:var(--s-4);padding-right:1rem;padding-right:var(--s-4)}}@media (max-width:480px){.hero-title{font-size:2rem}.hero-ctas{flex-direction:column}.hero-btn-primary,.hero-btn-secondary{justify-content:center;width:100%}.stats-inner{gap:1.25rem;gap:var(--s-5);grid-template-columns:repeat(2,1fr)}.auth-modal,.payment-modal{padding:2rem 1.25rem;padding:var(--s-8) var(--s-5)}.section{padding:3rem 0;padding:var(--s-12) 0}}.app-loading{align-items:center;background:linear-gradient(160deg,#f5f3ff,#fdf2f8 55%,#f0f9ff);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.story-card.opening{cursor:progress}.story-card.opening .story-thumbnail img{opacity:.7}.view-btn:disabled{cursor:progress;opacity:.75}.view-btn-spinner{animation:view-btn-spin .7s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;display:inline-block;height:.9em;margin-right:6px;vertical-align:-.1em;width:.9em}@keyframes view-btn-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.view-btn-spinner{animation-duration:2s}}.transaction-history{margin:0 auto;max-width:900px;padding:var(--s-6) 0}.th-header{margin-bottom:var(--s-8);text-align:center}.th-header h2{color:var(--clr-text);font-size:var(--text-3xl);font-weight:900;margin-bottom:var(--s-2)}.th-subtitle{color:var(--clr-text-muted);font-size:var(--text-base)}.th-stats{grid-gap:var(--s-4);display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--s-8)}.th-stat-card{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:var(--s-5);text-align:center;transition:all var(--t-base)}.th-stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.th-stat-icon{font-size:2rem;margin-bottom:var(--s-2)}.th-stat-value{color:var(--clr-primary);font-size:var(--text-2xl);font-weight:900;margin-bottom:var(--s-1)}.th-stat-label{color:var(--clr-text-muted);font-size:var(--text-sm);font-weight:600;text-transform:capitalize}.th-filters{display:flex;flex-wrap:wrap;gap:var(--s-2);justify-content:center;margin-bottom:var(--s-6)}.th-filter-btn{background:#fff;border:2px solid var(--clr-border);border-radius:var(--r-full);color:var(--clr-text-2);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-2h) var(--s-4);transition:all var(--t-base)}.th-filter-btn:hover{background:var(--clr-primary-xlight);border-color:var(--clr-primary)}.th-filter-btn.active{background:var(--grad-primary);border-color:var(--clr-primary);color:#fff}.th-list{display:flex;flex-direction:column;gap:var(--s-3)}.th-item{align-items:center;background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--s-4);padding:var(--s-4);transition:all var(--t-base)}.th-item:hover{border-color:var(--clr-primary-xlight);box-shadow:var(--shadow-md)}.th-item-icon{align-items:center;background:var(--clr-primary-xlight);border-radius:var(--r-md);display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.th-item-content{flex:1 1;min-width:0}.th-item-title{color:var(--clr-text);font-size:var(--text-base);font-weight:700;margin-bottom:var(--s-1);text-transform:capitalize}.th-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-3)}.th-item-date{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:600}.th-item-status{border-radius:var(--r-full);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;padding:var(--s-1) var(--s-2h);text-transform:uppercase}.th-item-status[data-status=completed]{background:var(--clr-success-light);color:var(--clr-success)}.th-item-status[data-status=pending]{background:var(--clr-secondary-xlight);color:var(--clr-secondary)}.th-item-status[data-status=failed]{background:var(--clr-error-light);color:var(--clr-error)}.th-item-admin,.th-item-story{color:var(--clr-text-muted);font-size:var(--text-xs);margin-top:var(--s-1)}.th-item-credits{flex-shrink:0;font-size:var(--text-2xl);font-weight:900}.th-load-more{display:flex;justify-content:center;margin-top:var(--s-6)}.th-load-more-btn{background:var(--grad-primary);border:none;border-radius:var(--r-full);box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:700;padding:var(--s-3) var(--s-6);transition:all var(--t-base)}.th-load-more-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.th-load-more-btn:disabled{cursor:not-allowed;opacity:.6}.th-empty{padding:var(--s-12) var(--s-6);text-align:center}.th-empty-icon{display:block;font-size:4rem;margin-bottom:var(--s-4);opacity:.3}.th-empty h3{color:var(--clr-text);font-size:var(--text-xl);font-weight:800;margin-bottom:var(--s-2)}.th-empty p{color:var(--clr-text-muted);font-size:var(--text-base)}.th-error,.th-loading{color:var(--clr-text-muted);font-size:var(--text-lg);padding:var(--s-12) var(--s-6);text-align:center}.th-error{color:var(--clr-error)}@media (max-width:768px){.transaction-history{padding:var(--s-4) var(--s-2)}.th-stats{grid-template-columns:repeat(2,1fr)}.th-item{align-items:flex-start;flex-direction:column}.th-item-credits{align-self:flex-end}}.public-stories{margin:0 auto;max-width:1400px;padding:var(--s-6) var(--s-4)}.ps-header{margin-bottom:var(--s-8);text-align:center}.ps-header h1{-webkit-text-fill-color:#0000;background:var(--grad-cta);-webkit-background-clip:text;background-clip:text;color:var(--clr-text);font-size:var(--text-4xl);font-weight:900;margin-bottom:var(--s-2)}.ps-subtitle{color:var(--clr-text-muted);font-size:var(--text-lg)}.ps-trending{margin-bottom:var(--s-10)}.ps-trending h2{color:var(--clr-text);font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--s-4)}.ps-trending-scroll{display:flex;gap:var(--s-4);overflow-x:auto;padding-bottom:var(--s-4);scrollbar-color:var(--clr-primary) var(--clr-border-light);scrollbar-width:thin}.ps-trending-scroll::-webkit-scrollbar{height:8px}.ps-trending-scroll::-webkit-scrollbar-track{background:var(--clr-border-light);border-radius:var(--r-full)}.ps-trending-scroll::-webkit-scrollbar-thumb{background:var(--clr-primary);border-radius:var(--r-full)}.ps-trending-card{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-card);cursor:pointer;flex-shrink:0;overflow:hidden;transition:all var(--t-base);width:200px}.ps-trending-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.ps-trending-card img{height:150px;object-fit:cover;width:100%}.ps-trending-placeholder{align-items:center;background:var(--grad-primary-soft);display:flex;font-size:3rem;height:150px;justify-content:center;opacity:.6;width:100%}.ps-trending-info{padding:var(--s-3)}.ps-trending-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--clr-text);display:-webkit-box;font-size:var(--text-sm);font-weight:700;margin-bottom:var(--s-1);overflow:hidden}.ps-trending-stats{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:600}.ps-filters{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-xl);box-shadow:var(--shadow-card);margin-bottom:var(--s-8);padding:var(--s-5)}.ps-search-form{display:flex;gap:var(--s-2);margin-bottom:var(--s-4)}.ps-search-input{border:2px solid var(--clr-border);border-radius:var(--r-md);flex:1 1;font-family:var(--font);font-size:var(--text-base);padding:var(--s-3) var(--s-4);transition:all var(--t-base)}.ps-search-input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-xlight);outline:none}.ps-search-btn{background:var(--grad-primary);border:none;border-radius:var(--r-md);color:#fff;cursor:pointer;font-size:var(--text-lg);padding:var(--s-3) var(--s-5);transition:all var(--t-base)}.ps-search-btn:hover{box-shadow:var(--shadow-primary);transform:translateY(-2px)}.ps-filter-row{display:flex;flex-wrap:wrap;gap:var(--s-3)}.ps-filter-select{background:#fff;border:2px solid var(--clr-border);border-radius:var(--r-md);color:var(--clr-text);cursor:pointer;flex:1 1;font-family:var(--font);font-size:var(--text-sm);font-weight:600;min-width:150px;padding:var(--s-2h) var(--s-3);transition:all var(--t-base)}.ps-filter-select:focus,.ps-filter-select:hover{border-color:var(--clr-primary)}.ps-filter-select:focus{box-shadow:0 0 0 3px var(--clr-primary-xlight);outline:none}.ps-clear-btn{background:var(--clr-error-light);border:none;border-radius:var(--r-md);color:var(--clr-error);cursor:pointer;font-family:var(--font);font-size:var(--text-sm);font-weight:700;padding:var(--s-2h) var(--s-4);transition:all var(--t-base)}.ps-clear-btn:hover{background:var(--clr-error);color:#fff}.ps-clear-btn-large{background:var(--grad-primary);border:none;border-radius:var(--r-full);color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:700;margin-top:var(--s-4);padding:var(--s-3) var(--s-6);transition:all var(--t-base)}.ps-clear-btn-large:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ps-grid{grid-gap:var(--s-6);display:grid;gap:var(--s-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:var(--s-8)}.ps-card{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-xl);box-shadow:var(--shadow-card);cursor:pointer;overflow:hidden;transition:all var(--t-base)}.ps-card:hover{border-color:var(--clr-primary-xlight);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.ps-card-image{aspect-ratio:16/10;background:var(--grad-primary-soft);overflow:hidden;width:100%}.ps-card-image img{height:100%;object-fit:cover;transition:transform var(--t-slow);width:100%}.ps-card:hover .ps-card-image img{transform:scale(1.05)}.ps-card-placeholder{font-size:4rem;height:100%;opacity:.4;width:100%}.ps-card-overlay,.ps-card-placeholder{align-items:center;display:flex;justify-content:center}.ps-card-overlay{background:#000000b3;inset:0;opacity:0;position:absolute;transition:opacity var(--t-base)}.ps-card:hover .ps-card-overlay{opacity:1}.ps-read-btn{background:#fff;border:none;border-radius:var(--r-full);color:var(--clr-primary);cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:700;padding:var(--s-3) var(--s-5);transition:all var(--t-base)}.ps-read-btn:hover{background:var(--clr-primary);color:#fff;transform:scale(1.05)}.ps-card-content{padding:var(--s-5)}.ps-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--clr-text);display:-webkit-box;font-size:var(--text-lg);font-weight:800;line-height:1.3;margin-bottom:var(--s-1);overflow:hidden}.ps-card-author{color:var(--clr-text-muted);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--s-3)}.ps-card-stats{border-top:1px solid var(--clr-border-light);display:flex;gap:var(--s-4);margin-bottom:var(--s-3);padding-top:var(--s-3)}.ps-card-stats span{color:var(--clr-text-2);font-size:var(--text-sm);font-weight:700}.ps-card-tags{display:flex;flex-wrap:wrap;gap:var(--s-2)}.ps-tag{border-radius:var(--r-full);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;padding:var(--s-1) var(--s-2h);text-transform:uppercase}.ps-tag-age{background:var(--clr-secondary-xlight);color:var(--clr-secondary)}.ps-tag-topic{background:var(--clr-primary-xlight);color:var(--clr-primary)}.ps-load-more{display:flex;justify-content:center;margin-top:var(--s-6)}.ps-load-more-btn{background:var(--grad-primary);border:none;border-radius:var(--r-full);box-shadow:var(--shadow-primary);color:#fff;cursor:pointer;font-family:var(--font);font-size:var(--text-base);font-weight:700;padding:var(--s-4) var(--s-8);transition:all var(--t-base)}.ps-load-more-btn:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ps-load-more-btn:disabled{cursor:not-allowed;opacity:.6}.ps-empty{padding:var(--s-16) var(--s-6);text-align:center}.ps-empty-icon{display:block;font-size:5rem;margin-bottom:var(--s-4);opacity:.3}.ps-empty h3{color:var(--clr-text);font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--s-2)}.ps-empty p{color:var(--clr-text-muted);font-size:var(--text-base);margin-bottom:var(--s-4)}.ps-error,.ps-loading{color:var(--clr-text-muted);font-size:var(--text-xl);padding:var(--s-16) var(--s-6);text-align:center}.ps-error{color:var(--clr-error)}@media (max-width:768px){.public-stories{padding:var(--s-4) var(--s-2)}.ps-header h1{font-size:var(--text-3xl)}.ps-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.ps-filter-row{flex-direction:column}.ps-filter-select{width:100%}.ps-trending-card{width:180px}}.ps-cover-frame{height:150px;overflow:hidden}.ps-card-image,.ps-cover-frame{position:relative}img.ps-cover-lqip{filter:blur(10px);transform:scale(1.08)}img.ps-cover-hd{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transition:opacity .35s ease;width:100%}img.ps-cover-hd.loaded{opacity:1}.theme-switcher{position:relative}.theme-toggle-btn{align-items:center;background:var(--clr-surface);border:2px solid var(--clr-border);border-radius:var(--r-full);box-shadow:var(--shadow-sm);color:var(--clr-text);cursor:pointer;display:flex;font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.theme-toggle-btn:hover{border-color:var(--clr-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-icon{animation:gentleBounce 2s ease-in-out infinite;font-size:1.25rem;line-height:1}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.theme-toggle-text{font-size:.875rem}.theme-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;inset:0;position:fixed;z-index:999}.theme-picker{animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:var(--clr-surface);border-radius:var(--r-2xl);box-shadow:0 24px 64px #0003;left:50%;max-height:calc(100vh - 4rem);max-width:600px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:calc(100% - 2rem);z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}.theme-picker-header{align-items:center;background:var(--clr-surface-2);background:var(--grad-primary-soft,var(--clr-surface-2));border-bottom:2px solid var(--clr-border-light);display:flex;justify-content:space-between;padding:1.5rem 2rem}.theme-picker-header h3{color:var(--clr-text);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;margin:0}.theme-close{align-items:center;background:var(--clr-surface);border:2px solid var(--clr-border);border-radius:var(--r-full);color:var(--clr-text-muted);cursor:pointer;display:flex;font-size:1.5rem;font-weight:300;height:2rem;justify-content:center;line-height:1;transition:all .2s;width:2rem}.theme-close:hover{background:#fee;background:var(--clr-error-light,#fee);border-color:#f44;border-color:var(--clr-error,#f44);color:#f44;color:var(--clr-error,#f44);transform:rotate(90deg)}.theme-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-height:calc(100vh - 12rem);overflow-y:auto;padding:1.5rem}.theme-card{border:3px solid #0000;border-radius:var(--r-xl);cursor:pointer;overflow:hidden;padding:1.5rem 1rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.theme-card:hover{box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.theme-card.active{border-color:currentColor;box-shadow:0 8px 24px #0003}.theme-card-emoji{animation:gentleBounce 2s ease-in-out infinite;font-size:2.5rem;line-height:1;margin-bottom:.5rem}.theme-card:nth-child(2) .theme-card-emoji{animation-delay:.2s}.theme-card:nth-child(3) .theme-card-emoji{animation-delay:.4s}.theme-card:nth-child(4) .theme-card-emoji{animation-delay:.6s}.theme-card:nth-child(5) .theme-card-emoji{animation-delay:.8s}.theme-card-name{color:#333;color:var(--clr-text,#333);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;margin-bottom:.25rem}.theme-card-desc{color:#666;color:var(--clr-text-secondary,#666);font-size:var(--text-xs);margin-bottom:.75rem}.theme-card-check{align-items:center;animation:popIn .3s cubic-bezier(.34,1.56,.64,1);background:#4caf50;background:var(--clr-success,#4caf50);border-radius:var(--r-full);color:#fff;display:flex;font-size:.875rem;font-weight:700;height:1.5rem;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:1.5rem}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.theme-card-preview{border-radius:0 0 var(--r-xl) var(--r-xl);bottom:0;height:4px;left:0;position:absolute;right:0}@media (max-width:600px){.theme-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);padding:1rem}.theme-card{padding:1rem .75rem}.theme-card-emoji{font-size:2rem}.theme-picker-header{padding:1rem 1.5rem}}.notification-bell-container{display:inline-block;position:relative}.notification-bell-button{background:none;border:none;color:#333;cursor:pointer;font-size:24px;padding:8px;position:relative;transition:transform .2s}.notification-bell-button:hover{transform:scale(1.1)}.bell-icon{display:inline-block}.unread-badge{background:#ff4757;border-radius:10px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;position:absolute;right:2px;text-align:center;top:2px}.notification-dropdown{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;margin-top:8px;max-height:500px;max-width:90vw;position:absolute;right:0;top:100%;width:380px;z-index:1000}.notification-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.mark-all-read-btn{background:none;border:none;border-radius:4px;color:#8b5cf6;cursor:pointer;font-size:13px;padding:4px 8px;transition:background .2s}.mark-all-read-btn:hover{background:#f3f0ff}.notification-list{flex:1 1;max-height:400px;overflow-y:auto}.notification-empty,.notification-loading{color:#999;font-size:14px;padding:40px 20px;text-align:center}.notification-item{align-items:flex-start;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;padding:12px 20px;transition:background .2s}.notification-item:hover{background:#f9f9f9}.notification-item.unread{background:#f3f0ff}.notification-item.unread:hover{background:#ebe5ff}.notification-icon{flex-shrink:0;font-size:24px;margin-right:12px}.notification-content{flex:1 1;min-width:0}.notification-title{color:#333;font-size:14px;font-weight:600;margin-bottom:4px}.notification-message{color:#666;font-size:13px;line-height:1.4;margin-bottom:4px}.notification-timestamp{color:#999;font-size:12px}.notification-actions{display:flex;flex-shrink:0;gap:4px;margin-left:8px}.notification-action-btn{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .2s;width:28px}.notification-action-btn:hover{background:#f0f0f0;color:#333}.notification-action-btn.delete:hover{background:#fee;color:#f44}.notification-footer{border-top:1px solid #e5e5e5;padding:12px 20px;text-align:center}.view-all-link{color:#8b5cf6;font-size:14px;font-weight:500;text-decoration:none}.view-all-link:hover{text-decoration:underline}@media (max-width:768px){.notification-dropdown{right:-80px;width:320px}}.background-task-badge{align-items:center;background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-full);bottom:24px;box-shadow:var(--shadow-lg);cursor:pointer;display:flex;gap:10px;padding:10px 18px;position:fixed;right:24px;transition:all var(--t-base);z-index:1000}.background-task-badge:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.badge-icon{align-items:center;display:flex;font-size:20px;height:24px;justify-content:center;width:24px}.spinner-icon{animation:spin 1s linear infinite;color:var(--clr-primary)}.checkmark-icon{color:var(--clr-success);font-weight:700}.badge-count{align-items:center;background:var(--clr-secondary);border-radius:var(--r-full);color:#fff;display:flex;font-size:11px;font-weight:800;height:20px;justify-content:center;width:20px}.badge-text{color:var(--clr-text);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.drawer-overlay{animation:fadeIn .24s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#1e1b4b80;inset:0;position:fixed;z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.background-task-drawer{animation:slideIn .3s ease;background:var(--clr-bg);bottom:0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-width:90vw;position:fixed;right:0;top:0;width:420px;z-index:1002}.drawer-header{align-items:center;background:#fff;border-bottom:1px solid var(--clr-border-light);display:flex;justify-content:space-between;padding:var(--s-5) var(--s-6)}.drawer-header h3{color:var(--clr-text);font-size:var(--text-lg);font-weight:900;margin:0}.close-button{align-items:center;background:var(--clr-border-light);border:none;border-radius:var(--r-full);color:var(--clr-text-muted);cursor:pointer;display:flex;font-family:var(--font);font-size:1.1rem;height:34px;justify-content:center;transition:all var(--t-fast);width:34px}.close-button:hover{background:var(--clr-error-light);color:var(--clr-error)}.drawer-content{flex:1 1;overflow-y:auto;padding:var(--s-5)}.task-section{margin-bottom:var(--s-6)}.task-section h4{color:var(--clr-text-muted);font-size:var(--text-xs);font-weight:900;letter-spacing:.07em;margin:0 0 var(--s-3) 0;text-transform:uppercase}.task-card{background:#fff;border:1.5px solid var(--clr-border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--s-3);padding:var(--s-4);transition:all var(--t-base)}.task-card:hover{border-color:var(--clr-primary-xlight);box-shadow:var(--shadow-card)}.task-card.active{border-left:4px solid var(--clr-primary)}.task-card.completed{border-left:4px solid var(--clr-success);opacity:.85}.task-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--s-3)}.task-title{color:var(--clr-text);flex:1 1;font-size:var(--text-sm);font-weight:700;line-height:1.4;margin-right:var(--s-3)}.task-status{font-size:var(--text-xs);font-weight:800;white-space:nowrap}.task-status.complete{color:var(--clr-success)}.task-progress{margin-bottom:var(--s-3)}.progress-bar{background:var(--clr-border-light);border-radius:var(--r-full);height:6px;margin-bottom:6px;overflow:hidden}.progress-fill{background:var(--grad-primary);border-radius:var(--r-full);height:100%;transition:width .5s ease}.progress-text{align-items:center;display:flex;font-size:var(--text-xs);gap:var(--s-1)}.progress-text,.time-remaining{color:var(--clr-text-muted)}.task-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-2)}.task-style{background:var(--clr-border-light);border-radius:var(--r-sm);color:var(--clr-text-muted);font-size:var(--text-xs);padding:var(--s-1) var(--s-2);text-transform:capitalize}.action-button{border:none;border-radius:var(--r-sm);cursor:pointer;font-family:var(--font);font-size:var(--text-xs);font-weight:700;padding:var(--s-1h) var(--s-3);transition:all var(--t-fast)}.action-button.resume{background:var(--clr-success);color:#fff}.action-button.resume:hover{background:#059669}.action-button.cancel{background:var(--clr-error);color:#fff}.action-button.cancel:hover{background:#dc2626}.action-button.remove{background:var(--clr-border-light);color:var(--clr-text-2)}.action-button.remove:hover{background:var(--clr-border);color:var(--clr-text)}.empty-state{color:var(--clr-text-muted);padding:var(--s-10) var(--s-5)}.empty-state p{font-size:var(--text-sm);margin:0}@media (max-width:768px){.background-task-drawer{max-width:100vw;width:100vw}.background-task-badge{bottom:16px;right:16px}}.magical-bg{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.cloud{animation:floatCloud 25s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(168,213,255,.3));font-size:2.5rem;opacity:.6;position:absolute}.cloud-1{animation-delay:0s;animation-duration:30s;left:-5%;top:10%}.cloud-2{animation-delay:5s;animation-duration:35s;font-size:3rem;left:-8%;top:40%}.cloud-3{animation-delay:10s;animation-duration:28s;font-size:2rem;left:-6%;top:70%}@keyframes floatCloud{0%{transform:translateX(0) translateY(0)}50%{transform:translateX(110vw) translateY(-15px)}to{transform:translateX(120vw) translateY(0)}}.unicorn{animation:flyUnicorn 20s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(229,128,255,.5));font-size:3rem;position:absolute}.unicorn-1{animation-delay:0s;animation-duration:22s;left:-10%;top:25%}.unicorn-2{animation-delay:8s;animation-duration:26s;font-size:2.5rem;left:-12%;top:60%}@keyframes flyUnicorn{0%{opacity:0;transform:translateX(0) translateY(0) rotate(-5deg)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateX(110vw) translateY(-30px) rotate(5deg)}}.rainbow-trail{animation:rainbowFloat 18s linear infinite;filter:drop-shadow(0 3px 10px rgba(255,110,199,.4));font-size:2rem;opacity:.7;position:absolute}.trail-1{animation-delay:2s;animation-duration:20s;left:-8%;top:30%}.trail-2{animation-delay:12s;animation-duration:24s;left:-10%;top:65%}@keyframes rainbowFloat{0%{transform:translateX(0) rotate(0deg)}to{transform:translateX(110vw) rotate(1turn)}}.star{animation:twinkle 3s ease-in-out infinite;font-size:1.2rem;position:absolute}.star-1{animation-delay:0s;right:10%;top:15%}.star-2{animation-delay:.5s;right:30%;top:25%}.star-3{animation-delay:1s;font-size:.9rem;right:15%;top:45%}.star-4{animation-delay:1.5s;right:40%;top:60%}.star-5{animation-delay:2s;font-size:1.5rem;right:20%;top:80%}.star-6{animation-delay:2.5s;font-size:.8rem;right:50%;top:35%}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}}.bubble{animation:floatBubble 12s ease-in-out infinite;background:radial-gradient(circle at 30% 30%,#ffffffe6 0,#ffffff80 40%,#a8d5ff4d 100%);border-radius:50%;box-shadow:inset 0 0 15px #fff9,0 4px 15px #a8d5ff4d;position:absolute}.bubble-1{animation-delay:0s;animation-duration:15s;bottom:-100px;height:60px;left:15%;width:60px}.bubble-2{animation-delay:3s;animation-duration:18s;bottom:-80px;height:40px;left:45%;width:40px}.bubble-3{animation-delay:6s;animation-duration:20s;bottom:-120px;height:80px;left:70%;width:80px}.bubble-4{animation-delay:9s;animation-duration:16s;bottom:-90px;height:50px;left:25%;width:50px}.bubble-5{animation-delay:12s;animation-duration:14s;bottom:-70px;height:35px;left:85%;width:35px}@keyframes floatBubble{0%{opacity:0;transform:translateY(0) translateX(0) scale(1)}10%{opacity:.8}90%{opacity:.4}to{opacity:0;transform:translateY(-100vh) translateX(50px) scale(1.2)}}.sparkle{-webkit-text-fill-color:#0000;animation:sparkleShine 4s ease-in-out infinite;background:linear-gradient(45deg,#ff9ecd,#a8d5ff,#ffe082);background:var(--grad-rainbow,linear-gradient(45deg,#ff9ecd,#a8d5ff,#ffe082));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;position:absolute}.sparkle-1{animation-delay:0s;left:8%;top:20%}.sparkle-2{animation-delay:1s;font-size:1.2rem;left:12%;top:55%}.sparkle-3{animation-delay:2s;left:5%;top:75%}.sparkle-4{animation-delay:3s;font-size:1rem;left:15%;top:35%}@keyframes sparkleShine{0%,to{opacity:.2;transform:scale(.8) rotate(0deg)}50%{opacity:1;transform:scale(1.4) rotate(180deg)}}.leaf{animation:fallLeaf 15s ease-in-out infinite;font-size:2rem;opacity:.8;position:absolute}.leaf-1{animation-delay:0s;animation-duration:18s;left:10%;top:-10%}.leaf-2{animation-delay:3s;animation-duration:20s;font-size:1.5rem;left:30%;top:-10%}.leaf-3{animation-delay:6s;animation-duration:16s;left:60%;top:-10%}.leaf-4{animation-delay:9s;animation-duration:22s;font-size:1.8rem;left:80%;top:-10%}.leaf-5{animation-delay:12s;animation-duration:19s;left:45%;top:-10%}@keyframes fallLeaf{0%{opacity:0;transform:translateY(0) translateX(0) rotate(0deg)}10%{opacity:.8}90%{opacity:.6}to{opacity:0;transform:translateY(110vh) translateX(100px) rotate(2turn)}}.creature{animation:peekCreature 20s ease-in-out infinite;font-size:2.5rem;position:absolute}.creature-1{animation-delay:0s;animation-duration:25s;bottom:10%;left:-10%}.creature-2{animation-delay:8s;animation-duration:30s;font-size:2rem;right:-10%;top:20%}.creature-3{animation-delay:15s;animation-duration:22s;bottom:30%;font-size:2rem;left:-8%}@keyframes peekCreature{0%,to{opacity:0;transform:translateX(0)}10%{opacity:1;transform:translateX(120px)}90%{opacity:1;transform:translateX(120px)}}.firefly{animation:glowFloat 4s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,255,150,.8));font-size:.8rem;position:absolute}.firefly-1{animation-delay:0s;left:15%;top:20%}.firefly-2{animation-delay:1s;left:70%;top:50%}.firefly-3{animation-delay:2s;left:40%;top:70%}.firefly-4{animation-delay:3s;left:85%;top:35%}@keyframes glowFloat{0%,to{opacity:.3;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-20px) scale(1.5)}}.mushroom{animation:grow 6s ease-in-out infinite;bottom:5%;font-size:2rem;position:absolute}.mushroom-1{animation-delay:0s;left:20%}.mushroom-2{animation-delay:3s;font-size:1.5rem;right:25%}@keyframes grow{0%,to{transform:scale(.9)}50%{transform:scale(1.1)}}.wave{animation:waveRoll 8s linear infinite;bottom:0;font-size:4rem;opacity:.6;position:absolute}.wave-1{animation-delay:0s;animation-duration:10s;left:-10%}.wave-2{animation-delay:2s;animation-duration:12s;bottom:5%;font-size:3.5rem;left:-15%}@keyframes waveRoll{0%{transform:translateX(0)}to{transform:translateX(120vw)}}.fish{animation:swim 18s linear infinite;font-size:2rem;position:absolute}.fish-1{animation-delay:0s;animation-duration:20s;left:-10%;top:25%}.fish-2{animation-delay:5s;animation-duration:24s;font-size:1.8rem;left:-12%;top:50%}.fish-3{animation-delay:10s;animation-duration:22s;font-size:2.2rem;left:-8%;top:70%}@keyframes swim{0%{opacity:0;transform:translateX(0) translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateX(110vw) translateY(30px)}}.dolphin{animation:dive 25s ease-in-out infinite;font-size:2.5rem;position:absolute}.dolphin-1{animation-delay:0s;left:-15%;top:40%}@keyframes dive{0%,to{opacity:0;transform:translateX(0) translateY(0) rotate(0deg)}10%{opacity:1}25%{transform:translateX(25vw) translateY(-50px) rotate(-15deg)}50%{transform:translateX(50vw) translateY(0) rotate(0deg)}75%{transform:translateX(75vw) translateY(-50px) rotate(-15deg)}90%{opacity:1}to{opacity:0;transform:translateX(110vw) translateY(0) rotate(0deg)}}.shell{animation:shellRock 5s ease-in-out infinite;bottom:8%;font-size:1.5rem;position:absolute}.shell-1{animation-delay:0s;left:15%}.shell-2{animation-delay:2.5s;right:20%}@keyframes shellRock{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.jellyfish{animation:jellyFloat 8s ease-in-out infinite;font-size:2rem;position:absolute;right:10%;top:15%}@keyframes jellyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(40px)}}.planet{animation:orbit 30s linear infinite;font-size:3rem;position:absolute}.planet-1{animation-duration:40s;left:10%;top:15%}.planet-2{animation-delay:5s;animation-duration:35s;right:15%;top:60%}@keyframes orbit{0%{transform:rotate(0deg) translateX(20px) rotate(0deg)}to{transform:rotate(1turn) translateX(20px) rotate(-1turn)}}.shooting-star{animation:shoot 3s linear infinite;font-size:1.5rem;position:absolute}.shooting-1{animation-delay:0s;right:10%;top:10%}.shooting-2{animation-delay:1.5s;right:30%;top:40%}@keyframes shoot{0%{opacity:0;transform:translateX(0) translateY(0) rotate(-45deg)}10%{opacity:1}90%{opacity:.5}to{opacity:0;transform:translateX(-200px) translateY(200px) rotate(-45deg)}}.flower{animation:sway 4s ease-in-out infinite;bottom:5%;font-size:2.5rem;position:absolute}.flower-1{animation-delay:0s;left:10%}.flower-2{animation-delay:1s;font-size:2rem;left:50%}.flower-3{animation-delay:2s;font-size:2.2rem;right:15%}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.butterfly{animation:flutter 15s ease-in-out infinite;font-size:2rem;position:absolute}.butterfly-1{animation-delay:0s;animation-duration:18s;left:-10%;top:20%}.butterfly-2{animation-delay:6s;animation-duration:20s;left:-12%;top:50%}.butterfly-3{animation-delay:12s;animation-duration:16s;font-size:1.8rem;left:-8%;top:70%}@keyframes flutter{0%,to{opacity:0;transform:translateX(0) translateY(0)}10%{opacity:1}25%{transform:translateX(25vw) translateY(-30px)}50%{transform:translateX(50vw) translateY(20px)}75%{transform:translateX(75vw) translateY(-40px)}90%{opacity:1}to{opacity:0;transform:translateX(110vw) translateY(0)}}.bee{animation:buzzAround 12s linear infinite;font-size:1.5rem;position:absolute}.bee-1{animation-delay:0s;animation-duration:14s;left:-8%;top:30%}.bee-2{animation-delay:7s;animation-duration:16s;left:-10%;top:60%}@keyframes buzzAround{0%,to{opacity:0;transform:translateX(0) translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateX(110vw) translateY(50px)}}.sun-ray{animation:shine 5s ease-in-out infinite;font-size:3rem;position:absolute;right:5%;top:5%}@keyframes shine{0%,to{opacity:.6;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(90deg)}}.book{animation:floatBook 20s ease-in-out infinite;font-size:2rem;position:absolute}.book-1{animation-delay:0s;animation-duration:22s;left:10%;top:20%}.book-2{animation-delay:7s;animation-duration:25s;font-size:2.2rem;right:15%;top:50%}.book-3{animation-delay:14s;animation-duration:20s;font-size:1.8rem;left:20%;top:70%}@keyframes floatBook{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-30px) rotate(5deg)}}.quill{animation:quillFloat 15s ease-in-out infinite;font-size:1.8rem;position:absolute}.quill-1{animation-delay:0s;right:25%;top:35%}.quill-2{animation-delay:7.5s;bottom:30%;left:30%}@keyframes quillFloat{0%,to{opacity:.5;transform:translateY(0) rotate(0deg)}50%{opacity:.8;transform:translateY(-25px) rotate(180deg)}}.candle{animation:flicker 3s ease-in-out infinite;bottom:15%;font-size:1.5rem;position:absolute}.candle-1{animation-delay:0s;left:15%}.candle-2{animation-delay:1.5s;right:20%}@keyframes flicker{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.beverage{animation:steam 4s ease-in-out infinite;bottom:10%;font-size:2rem;position:absolute;right:40%}@keyframes steam{0%,to{opacity:.9;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}@media (max-width:768px){.book,.butterfly,.cloud,.creature,.dolphin,.fish,.flower,.unicorn{font-size:1.8rem}.bubble{transform:scale(.7)}.bee,.firefly,.star{font-size:1rem}.sparkle{font-size:1.2rem}.wave{font-size:3rem}.planet,.sun-ray{font-size:2rem}}@media (prefers-reduced-motion:reduce){.bee,.beverage,.book,.bubble,.butterfly,.candle,.cloud,.creature,.dolphin,.firefly,.fish,.flower,.jellyfish,.leaf,.mushroom,.planet,.quill,.rainbow-trail,.shell,.shooting-star,.sparkle,.star,.sun-ray,.unicorn,.wave{animation:none;opacity:.3}}.admin-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.admin-header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.admin-header-content h1{color:#333;font-size:2rem;margin:0}.admin-header-content p{color:#666;font-size:1rem;margin:.5rem 0 0}.btn-home{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-home:hover{background:#5568d3;transform:translateY(-2px)}.admin-error,.admin-loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.admin-loading .spinner{animation:spin 2s linear infinite;font-size:4rem}.admin-error{background:#fff;border-radius:15px;color:#333;margin:2rem;padding:2rem}.admin-error button{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:1rem;padding:.75rem 1.5rem}.analytics-section{margin-bottom:2rem}.analytics-section h2{color:#fff;font-size:1.5rem;margin-bottom:1rem}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.analytics-card{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:1.5rem;transition:all .3s ease}.analytics-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-5px)}.analytics-card.highlight{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border:2px solid #fdcb6e}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.card-header h3{color:#333;font-size:1.1rem;margin:0}.card-icon{font-size:2rem;opacity:.3}.stat-number{color:#667eea;font-size:3rem;font-weight:700;margin:.5rem 0}.stat-number.urgent{animation:pulse 2s infinite;color:#e17055}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stat-details{margin-top:1rem}.stat-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.stat-row:last-child{border-bottom:none}.stat-label{font-size:.9rem}.stat-value{color:#333}.stat-value.pending{color:#fdcb6e}.stat-value.banned{color:#d63031}.card-description{color:#555;font-size:.95rem;margin:1rem 0}.btn-primary{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem;transition:all .3s ease;width:100%}.btn-primary:hover:not(:disabled){transform:scale(1.02)}.btn-primary:disabled{background:#95a5a6;cursor:not-allowed}.quick-actions-section{margin-top:2rem}.quick-actions-section h2{color:#fff;font-size:1.5rem;margin-bottom:1rem}.action-buttons{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-btn{align-items:center;background:#fff;border:none;border-radius:12px;box-shadow:0 2px 10px #0000001a;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;transition:all .3s ease}.action-btn:hover:not(:disabled){box-shadow:0 4px 15px #00000026;transform:translateY(-5px)}.action-btn:disabled{cursor:not-allowed;opacity:.5}.action-icon{font-size:2.5rem}.action-text{color:#333;font-size:1rem;font-weight:600;position:relative}.action-text .badge{align-items:center;background:#e17055;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;position:absolute;right:-25px;top:-10px;width:24px}.users-btn:hover{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff}.pending-btn:hover{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.notifications-btn:hover{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff}.stories-btn:hover{background:linear-gradient(135deg,#fab1a0,#e17055);color:#fff}.activity-btn:hover{background:linear-gradient(135deg,#dfe6e9,#b2bec3)}@media (max-width:768px){.admin-dashboard{padding:1rem}.admin-header{flex-direction:column;gap:1rem}.action-buttons,.analytics-grid{grid-template-columns:1fr}.stat-number{font-size:2.5rem}}.admin-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;gap:18px;max-width:720px;padding:24px}.admin-card,.admin-field{display:flex;flex-direction:column}.admin-field{gap:6px}.admin-label{color:#333;font-size:.95rem;font-weight:700}.admin-hint{color:#6b6b7b;font-size:.82rem}.admin-ok{color:#1d7a46;font-weight:600;margin:0}.admin-error{color:#c0392b;font-weight:600;margin:0 0 12px}.admin-segment{background:#eef0f6;border-radius:999px;display:inline-flex;gap:4px;padding:4px;width:fit-content}.admin-segment button{background:#0000;border:none;border-radius:999px;color:#4a4f63;cursor:pointer;font-weight:700;padding:8px 16px}.admin-segment button.on{background:#fff;box-shadow:0 1px 3px #00000026;color:#3b2a6b}.admin-segment button:focus-visible{outline:2px solid #667eea;outline-offset:1px}.admin-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-chip{align-items:center;background:#ede7fb;border-radius:999px;color:#3b2a6b;display:inline-flex;font-size:.9rem;gap:6px;padding:4px 6px 4px 12px}.admin-chip small{color:#6b5aa0}.admin-chip button{background:#00000014;border:none;border-radius:50%;cursor:pointer;height:22px;width:22px}.admin-typeahead{position:relative}.admin-typeahead-list{background:#fff;border-radius:10px;box-shadow:0 8px 24px #00000026;left:0;list-style:none;margin:0;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:5}.admin-typeahead-list button{background:none;border:none;border-radius:8px;cursor:pointer;padding:8px 10px;text-align:left;width:100%}.admin-typeahead-list button:focus-visible,.admin-typeahead-list button:hover{background:#f3effc;outline:none}.admin-typeahead-list small{color:#6b6b7b;margin-left:6px}.admin-toggle{align-items:center;color:#444;cursor:pointer;display:inline-flex;font-weight:600;gap:8px}.admin-story-cell{align-items:center;display:flex;gap:12px;min-width:220px}.admin-story-cell img,.admin-story-placeholder{align-items:center;background:#f1eef8;border-radius:8px;display:inline-flex;flex:0 0 auto;font-size:1.4rem;height:48px;justify-content:center;object-fit:cover;width:48px}.admin-story-cell strong{display:block}.admin-story-cell small{color:#6b6b7b}.admin-pager{align-items:center;display:flex;gap:16px;justify-content:center;margin:20px 0}.credits-cell{align-items:center;display:inline-flex;font-weight:700;gap:4px}.user-management{background:linear-gradient(135deg,#667eea,#764ba2);margin:0 auto;max-width:1600px;min-height:100vh;padding:2rem}.management-header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.management-header h1{color:#333;font-size:2rem;margin:0}.management-header p{color:#666;margin:.5rem 0 0}.btn-back{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-back:hover{background:#5568d3;transform:translateX(-3px)}.filters-section{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.search-input{flex:2 1;min-width:250px}.filter-select,.search-input{border:none;border-radius:8px;box-shadow:0 2px 10px #0000001a;font-size:1rem;padding:.75rem 1rem}.filter-select{flex:1 1;min-width:150px}.btn-refresh,.filter-select{background:#fff;cursor:pointer}.btn-refresh{border:2px solid #667eea;border-radius:8px;color:#667eea;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:all .3s ease}.btn-refresh:hover{background:#667eea;color:#fff}.empty-state,.loading-state{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;padding:3rem;text-align:center}.loading-state .spinner{animation:spin 2s linear infinite;font-size:4rem;margin-bottom:1rem}.empty-state p{color:#666;font-size:1.1rem}.table-container{background:#fff;border-radius:15px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.users-table th{font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.users-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.users-table tbody tr:hover{background:#f8f9fa}.users-table td{padding:1rem;vertical-align:middle}.user-info{display:flex;flex-direction:column;gap:.3rem}.role-badge{background:#667eea;border-radius:4px;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .5rem;text-transform:uppercase;width:fit-content}.badge,.role-badge{display:inline-block}.badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.4rem .8rem;text-transform:capitalize}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-default{background:#e2e3e5;color:#383d41}.token-count{color:#667eea;font-weight:600}.action-buttons-cell{display:flex;flex-wrap:wrap;gap:.5rem}.btn-action{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-action:hover{transform:scale(1.1)}.btn-action.btn-success{background:#28a745;color:#fff}.btn-action.btn-success:hover{background:#218838}.btn-action.btn-danger{background:#dc3545;color:#fff}.btn-action.btn-danger:hover{background:#c82333}.btn-action.btn-warning{background:#ffc107;color:#333}.btn-action.btn-warning:hover{background:#e0a800}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:15px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e0e0e0;padding:1.5rem}.modal-header h2{color:#333;font-size:1.5rem}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:1.5rem}.user-details{background:#f8f9fa;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.user-details p{color:#333;margin:.5rem 0}.form-group{margin-bottom:1.5rem}.form-group label{margin-bottom:.5rem}.form-input,.form-textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#667eea;outline:none}.form-group small{color:#666;display:block;font-size:.875rem;margin-top:.5rem}.modal-footer{border-top:1px solid #e0e0e0;gap:1rem;padding:1.5rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.75rem;transition:all .3s ease}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-primary.loading{position:relative}.btn-primary.loading:after{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;content:"";height:16px;position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:16px}@media (max-width:1024px){.users-table{font-size:.9rem}.users-table td,.users-table th{padding:.75rem .5rem}}@media (max-width:768px){.user-management{padding:1rem}.management-header{gap:1rem;text-align:center}.filters-section,.management-header{flex-direction:column}.filter-select,.search-input{width:100%}.table-container{overflow-x:auto}.users-table{min-width:800px}}.role-badge.role-user{background:#eef0f4;color:#4a5263}.role-badge.role-print_partner{background:#e6f6ee;color:#1d6b45}.role-badge.role-admin{background:#ede7fb;color:#5b3aa6}.role-badge.role-super_admin{background:#fde8ef;color:#9d2350}.btn-action.btn-role{background:#f3effc;color:#5b3aa6}.btn-action.btn-role:hover{background:#e6dcfa}.role-options{display:flex;flex-direction:column;gap:8px;margin-top:6px}.role-option{align-items:flex-start;border:2px solid #e5e1ef;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px}.role-option.selected{background:#f7f3ff;border-color:#8b5cf6}.role-option input{accent-color:#8b5cf6;margin-top:3px}.role-option-text{display:flex;flex-direction:column;gap:2px}.role-option-text small{color:#6b6880}.profile-edit-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.profile-edit-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#1a1a1a;font-size:24px;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;transition:all .2s;width:40px}.close-btn:hover{background:#f5f5f5;color:#333}.modal-tabs{border-bottom:1px solid #e5e5e5;display:flex;padding:0 24px}.modal-tabs .tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s}.modal-tabs .tab-btn:hover{color:#8b5cf6}.modal-tabs .tab-btn.active{border-bottom-color:#8b5cf6;color:#8b5cf6}.profile-edit-form{flex:1 1;overflow-y:auto}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:14px;margin:20px 24px 0;padding:12px}.form-section{padding:24px}.form-section h3{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 16px}.form-section h3:not(:first-child){margin-top:32px}.avatar-upload-section{border-bottom:1px solid #e5e5e5;display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px}.avatar-preview{flex-shrink:0}.avatar-preview img{object-fit:cover}.avatar-placeholder,.avatar-preview img{border:2px solid #e5e5e5;border-radius:50%;height:100px;width:100px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:40px;font-weight:700;justify-content:center}.avatar-upload-controls{display:flex;flex-direction:column;justify-content:center}.upload-btn{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:8px;padding:10px 20px;transition:all .2s}.upload-btn:hover{background:#7c3aed}.help-text{color:#999;font-size:13px;margin:0}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input[type=text],.form-group input[type=url],.form-group select,.form-group textarea{border:1px solid #e5e5e5;border-radius:8px;font-family:inherit;font-size:15px;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b5cf6;outline:none}.form-group textarea{min-height:100px;resize:vertical}.char-count{color:#999;display:block;font-size:12px;margin-top:4px;text-align:right}.form-group.checkbox{margin-bottom:12px}.form-group.checkbox label{align-items:flex-start;cursor:pointer;display:flex;font-weight:400;gap:12px}.form-group.checkbox input[type=checkbox]{cursor:pointer;height:18px;margin-top:2px;width:18px}.form-group.checkbox span{color:#333;flex:1 1;font-size:15px}.modal-footer{background:#f9f9f9;border-top:1px solid #e5e5e5;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.cancel-btn{background:#fff;border:1px solid #e5e5e5;color:#666}.cancel-btn:hover{background:#f5f5f5}.save-btn{background:#8b5cf6;color:#fff}.save-btn:hover{background:#7c3aed}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.profile-edit-modal{border-radius:0;max-height:100vh}.avatar-upload-section{align-items:center;flex-direction:column;text-align:center}.modal-footer{flex-direction:column-reverse}.cancel-btn,.save-btn{width:100%}}.user-profile-page{margin:0 auto;max-width:1200px;padding-bottom:40px}.profile-error,.profile-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#8b5cf6;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.profile-error button{background:#8b5cf6;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:20px;padding:10px 24px}.profile-header{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;overflow:hidden;position:relative}.profile-cover{background:linear-gradient(135deg,#667eea,#764ba2);height:200px}.profile-info-container{margin-top:-60px;padding:0 32px 32px;position:relative}.profile-avatar-section{margin-bottom:16px}.profile-avatar{background:#fff;object-fit:cover}.profile-avatar,.profile-avatar-placeholder{border:4px solid #fff;border-radius:50%;height:120px;width:120px}.profile-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:48px;font-weight:700;justify-content:center}.profile-main-info{margin-top:-80px;padding-left:140px}.profile-name-section{margin-bottom:12px}.profile-display-name{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 4px}.profile-username{color:#666;font-size:16px;margin:0}.profile-bio{color:#333;font-size:16px;line-height:1.6;margin:12px 0;max-width:600px}.profile-meta{color:#666;display:flex;flex-wrap:wrap;font-size:14px;gap:16px;margin:12px 0}.profile-meta-item{align-items:center;display:flex;gap:6px}.profile-website{color:#8b5cf6;text-decoration:none}.profile-website:hover{text-decoration:underline}.profile-stats{display:flex;gap:32px;margin:20px 0}.stat-item{cursor:pointer;display:flex;flex-direction:column;transition:opacity .2s}.stat-item:hover{opacity:.7}.stat-value{color:#1a1a1a;font-size:20px;font-weight:700}.stat-label{color:#666;font-size:14px;margin-top:4px}.profile-actions{margin-top:20px}.profile-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;padding:10px 24px;transition:all .2s}.profile-btn.primary{background:#8b5cf6;color:#fff}.profile-btn.primary:hover{background:#7c3aed}.profile-btn.secondary{background:#fff;border:2px solid #8b5cf6;color:#8b5cf6}.profile-btn.secondary:hover{background:#f3f0ff}.profile-btn:disabled{cursor:not-allowed;opacity:.6}.profile-content{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.profile-tabs{border-bottom:1px solid #e5e5e5;display:flex;padding:0 32px}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:600;padding:16px 24px;transition:all .2s}.tab-btn:hover{color:#8b5cf6}.tab-btn.active{border-bottom-color:#8b5cf6;color:#8b5cf6}.profile-tab-content{padding:32px}.profile-stories-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.story-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;overflow:hidden;transition:all .2s}.story-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.story-thumbnail{background:#f5f5f5;height:200px;overflow:hidden;width:100%}.story-thumbnail img{height:100%;object-fit:cover;width:100%}.story-card-content{padding:16px}.story-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0 0 8px}.story-moral,.story-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.story-moral{color:#666;font-size:14px;margin:0 0 12px}.story-stats{color:#999;display:flex;font-size:14px;gap:16px}.profile-users-list{display:flex;flex-direction:column;gap:12px}.user-list-item{align-items:center;border:1px solid #e5e5e5;border-radius:12px;cursor:pointer;display:flex;padding:12px;transition:all .2s}.user-list-item:hover{background:#f9f9f9;border-color:#8b5cf6}.user-avatar-small{object-fit:cover}.user-avatar-small,.user-avatar-small-placeholder{border-radius:50%;height:48px;margin-right:12px;width:48px}.user-avatar-small-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:20px;font-weight:700;justify-content:center}.user-info h4{color:#1a1a1a;font-size:16px;margin:0 0 4px}.user-info p{color:#666;font-size:14px;margin:0}.empty-state{padding:60px 20px}.empty-state,.loading-text{color:#999;text-align:center}.loading-text{padding:40px 20px}@media (max-width:768px){.profile-cover{height:120px}.profile-info-container{margin-top:-40px;padding:0 16px 16px}.profile-avatar,.profile-avatar-placeholder{height:80px;width:80px}.profile-avatar-placeholder{font-size:32px}.profile-main-info{margin-top:0;padding-left:0}.profile-display-name{font-size:24px}.profile-stats{gap:20px}.stat-value{font-size:18px}.profile-tab-content{padding:16px}.profile-stories-grid{grid-template-columns:1fr}}.error-boundary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-boundary-content{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;padding:60px 40px;text-align:center}.error-icon{animation:bounce 2s infinite;font-size:80px;margin-bottom:24px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.error-boundary-content h1{color:#1a1a1a;font-size:32px;font-weight:700;margin:0 0 16px}.error-message{color:#666;font-size:16px;line-height:1.6;margin:0 0 32px}.error-details{background:#f5f5f5;border:1px solid #e5e5e5;border-radius:8px;margin:24px 0;padding:16px;text-align:left}.error-details summary{color:#8b5cf6;cursor:pointer;font-weight:600;margin-bottom:12px}.error-stack{background:#fff;border-radius:4px;color:#c33;font-size:12px;margin:8px 0 0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.error-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 32px;transition:all .2s}.error-btn.primary{background:#8b5cf6;color:#fff}.error-btn.primary:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.error-btn.secondary{background:#fff;border:2px solid #8b5cf6;color:#8b5cf6}.error-btn.secondary:hover{background:#f3f0ff}.error-help{color:#999;font-size:14px;margin:0}@media (max-width:768px){.error-boundary-content{padding:40px 24px}.error-boundary-content h1{font-size:24px}.error-actions{flex-direction:column}.error-btn{width:100%}}