.hybrid-flow{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;background:var(--white);box-shadow:0 0 40px #0000001a}.send-button{background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%);color:var(--white);border:none;border-radius:16px;padding:16px 24px;cursor:pointer;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;transition:all .3s ease;box-shadow:0 4px 12px #5e17eb4d;white-space:nowrap}} .message{display:flex;margin-bottom:20px;animation:fadeIn .3s ease-in}.bubble{max-width:70%;padding:15px 20px;border-radius:20px;position:relative}.message.user .bubble{background:#5e17eb;color:#fff;border-bottom-right-radius:5px}.message.ai .bubble{background:#fff;color:#333;border-bottom-left-radius:5px;box-shadow:0 2px 10px #0000001a}.text{font-size:16px;line-height:1.4;margin-bottom:5px}.timestamp{font-size:12px;opacity:.7}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#fff;text-align:center}.loading p{margin-top:20px;font-size:18px}.swipe-container{background:#fff;border-radius:20px 20px 0 0;padding:20px;margin-top:auto;box-shadow:0 -10px 30px #0000001a}.progress-info{display:flex;justify-content:space-between;margin-bottom:20px;font-weight:600;color:#666}.swipe-progress-info{text-align:center;margin:15px 0 10px;font-weight:600;color:var(--purple);font-size:14px}.card-stack{position:relative;height:calc(100vh - 200px);min-height:500px;max-height:600px;margin-bottom:30px}.swipe-card{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .2s ease;border:3px solid transparent;will-change:transform}.swipe-card-next{transform:scale(.95) translateY(10px);opacity:.7;z-index:1;pointer-events:none;filter:blur(2px);transition:none!important}.swipe-card-current{z-index:2;transition:none!important}.swipe-card:active{cursor:grabbing}.card-image{width:100%;height:70%;object-fit:contain;border-radius:16px 16px 0 0;background:#f8f9fa;position:relative;z-index:1}.card-content{padding:20px;height:25%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;z-index:1}.card-content h2{margin:0 0 10px;color:#5e17eb;font-size:24px;font-weight:700}.card-content p{margin:0;color:#666;line-height:1.4;font-size:16px}.swipe-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:16px;pointer-events:none;transition:opacity .2s ease;z-index:100}.swipe-overlay-yes{background:#4ade8040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:3px solid rgba(74,222,128,.5)}.swipe-overlay-no{background:#f8717140;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:3px solid rgba(248,113,113,.5)}.overlay-text{font-size:48px;font-weight:900;text-transform:uppercase;letter-spacing:4px;text-shadow:0 4px 8px rgba(0,0,0,.2);padding:20px 40px;border-radius:12px;background:#fffffff2}.swipe-overlay-yes .overlay-text{color:#16a34a;border:4px solid #4ade80}.swipe-overlay-no .overlay-text{color:#dc2626;border:4px solid #f87171}.swipe-instruction{text-align:center;color:var(--text-gray);font-size:14px;margin:10px 0 20px;font-style:italic;opacity:.8;position:relative;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.swipe-actions{display:flex;gap:20px;justify-content:center}.swipe-left-btn,.swipe-right-btn{padding:15px 30px;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px}.swipe-left-btn{background:var(--purple);color:#fff}.swipe-left-btn:hover{background:#4a14c7;transform:translateY(-2px)}.swipe-right-btn{background:var(--gold);color:#333}.swipe-right-btn:hover{background:#e6c200;transform:translateY(-2px)}.battle-container{background:#fff}.battle-instruction{text-align:center;color:var(--text-gray);font-size:14px;margin:15px 0 20px;font-style:italic;opacity:.8;position:relative;display:flex;justify-content:center;align-items:center;gap:10px}.undo-button{background:none;border:1px solid var(--text-gray);color:var(--text-gray);padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease;opacity:.7}.undo-button:hover{background:var(--text-gray);color:#fff;opacity:1}.progress-bar{width:100%;height:8px;background:#e1e5e9;border-radius:4px;margin-bottom:30px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#5e17eb,#ffdd27);transition:width .3s ease}.battle-options{display:flex;flex-direction:column;gap:20px}.battle-card{background:#f8f9fa;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.battle-card:hover{border-color:#5e17eb;transform:translateY(-2px);box-shadow:0 8px 20px #5e17eb33}.battle-card img{width:100%;height:150px;object-fit:contain;border-radius:12px;margin-bottom:15px;background:#f8f9fa}.battle-card h3{margin:0 0 10px;color:#5e17eb;font-size:20px;font-weight:700}.battle-card p{margin:0;color:#666;line-height:1.4;text-align:center}.vs-divider{text-align:center;font-size:18px;font-weight:700;color:#5e17eb;margin:10px 0}.result-container{background:#fff;border-radius:20px 20px 0 0;padding:40px;margin-top:auto;box-shadow:0 -10px 30px #0000001a;text-align:center}.result-card{background:linear-gradient(135deg,#5e17eb,#ffdd27);color:#fff;border-radius:16px;padding:30px;margin-bottom:30px}.result-image{width:150px;height:150px;object-fit:contain;border-radius:50%;margin-bottom:20px;border:4px solid white;background:#ffffff1a}.result-card h2{margin:0 0 15px;font-size:24px}.result-description{margin:0;line-height:1.5;font-size:16px}.reset-button{background:#5e17eb;color:#fff;border:none;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.reset-button:hover{background:#4a14c7;transform:translateY(-2px)}.continue-button{background:#5e17eb;color:#fff;border:none;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin:10px}.continue-button:hover{background:#4a14c7;transform:translateY(-2px)}.back-button{background:transparent;color:#5e17eb;border:2px solid #5e17eb;padding:15px 30px;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin:10px}.back-button:hover{background:#5e17eb;color:#fff;transform:translateY(-2px)}.result-actions{display:flex;flex-direction:column;align-items:center;gap:15px;margin-top:30px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.hybrid-flow{height:100vh;border-radius:0;box-shadow:none}.messages{padding:16px 0}.bubble{max-width:85%;padding:12px 16px}.swipe-container,.battle-container,.result-container{padding:20px}.card-stack{height:350px}.swipe-actions{flex-direction:column;gap:15px}.swipe-left-btn,.swipe-right-btn{width:100%}.battle-card img{height:120px}.result-image{width:120px;height:120px}}@supports (-webkit-touch-callout: none){.hybrid-flow{height:-webkit-fill-available}}.notification-prompt{background:linear-gradient(135deg,#fff9e6,#fffbf0);border:2px solid #ffdd27;border-radius:12px;padding:1.5rem;margin:1rem auto;max-width:800px;display:flex;align-items:center;gap:1rem;position:relative;box-shadow:0 4px 12px #ffdd2733;animation:slideDown .3s ease}.notification-prompt-content{display:flex;align-items:flex-start;gap:1rem;flex:1}.notification-prompt-icon{font-size:2rem;line-height:1}.notification-prompt-text{flex:1}.notification-prompt-text strong{display:block;font-size:1rem;color:#212529;margin-bottom:.25rem}.notification-prompt-text p{margin:0;font-size:.875rem;color:#6c757d;line-height:1.4}.notification-prompt-actions{display:flex;gap:.75rem}.notification-prompt-btn{padding:.625rem 1.25rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none;display:inline-block}.notification-prompt-btn.primary{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none}.notification-prompt-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #5e17eb4d}.notification-prompt-btn.secondary{background:#fff;color:#6c757d;border:2px solid #dee2e6}.notification-prompt-btn.secondary:hover{background:#f8f9fa;border-color:#adb5bd}.notification-prompt-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.5rem;color:#6c757d;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.notification-prompt-close:hover{background:#0000000d;color:#212529}@media (max-width: 768px){.notification-prompt{flex-direction:column;padding:1.25rem}.notification-prompt-content{width:100%}.notification-prompt-actions{width:100%;flex-direction:column}.notification-prompt-btn{width:100%;text-align:center}.notification-prompt-close{top:.75rem;right:.75rem}}.portal-explainer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .3s ease-in-out}.portal-explainer-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.explainer-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;z-index:10}.explainer-close:hover{background:#f0f0f0;color:#333}.explainer-content{padding:40px 32px;overflow-y:auto;flex:1}.explainer-title{font-size:28px;font-weight:700;margin-bottom:20px;color:#333;text-align:center}.explainer-body{font-size:16px;line-height:1.6;color:#555}.explainer-body p{margin-bottom:16px}.explainer-body ul{margin:16px 0;padding-left:24px}.explainer-body li{margin-bottom:8px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.explainer-category{text-align:center;padding:16px;background:#f8f9fa;border-radius:12px;transition:transform .2s}.explainer-category:hover{transform:translateY(-2px);background:#f0f1f2}.category-icon{font-size:40px;margin-bottom:8px}.explainer-category h3{font-size:18px;font-weight:600;margin-bottom:8px;color:#333}.explainer-category p{font-size:14px;color:#666;margin:0}.quest-types{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:24px 0}.quest-type-card{background:#f8f9fa;padding:20px;border-radius:12px}.quest-type-card h3{font-size:18px;font-weight:600;margin-bottom:12px;color:#333}.quest-type-card ul{list-style:none;padding:0;margin:0}.quest-type-card li{color:#555;position:relative;padding:6px 0 6px 20px}.quest-type-card li:before{content:"•";position:absolute;left:0;color:#5e17eb;font-weight:700}.quest-tip{background:#fff8e1;border-left:4px solid #ffd54f;padding:12px 16px;border-radius:8px;margin-top:20px;font-size:14px}.points-info{margin:24px 0}.points-item{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:12px}.points-emoji{font-size:32px;flex-shrink:0}.points-item strong{display:block;font-size:16px;margin-bottom:4px;color:#333}.points-item p{margin:0;font-size:14px;color:#666}.privacy-list{list-style:none;padding:0;margin:20px 0}.privacy-list li{padding:10px 0;border-bottom:1px solid #eee}.privacy-list li:last-child{border-bottom:none}.privacy-footer{font-size:14px;color:#999;text-align:center;margin-top:20px;font-style:italic}.ready-checklist{background:#e8f5e9;padding:20px;border-radius:12px;margin:24px 0}.checklist-item{padding:10px 0;font-size:16px;color:#2e7d32;font-weight:500}.explainer-navigation{padding:24px 32px;border-top:1px solid #eee;display:flex;flex-direction:column;gap:16px}.explainer-dots{display:flex;justify-content:center;gap:8px}.explainer-dot{width:10px;height:10px;border-radius:50%;background:#ddd;border:none;cursor:pointer;padding:0;transition:all .2s}.explainer-dot.active{background:#5e17eb;width:24px;border-radius:5px}.explainer-dot:hover{background:#bbb}.explainer-buttons{display:flex;justify-content:space-between;gap:12px}.explainer-btn{flex:1;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.explainer-btn.primary{background:#5e17eb;color:#fff}.explainer-btn.primary:hover{background:#4a12bc;transform:translateY(-1px);box-shadow:0 4px 12px #5e17eb4d}.explainer-btn.secondary{background:#f0f0f0;color:#333}.explainer-btn.secondary:hover:not(:disabled){background:#e0e0e0}.explainer-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 640px){.portal-explainer-modal{max-height:95vh;margin:10px}.explainer-content{padding:32px 20px}.explainer-navigation{padding:20px}.explainer-title{font-size:24px}.category-grid,.quest-types{grid-template-columns:1fr}.explainer-btn{font-size:14px;padding:12px 16px}}.challenge-container{min-height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding-bottom:2rem}.challenge-header{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:2rem;border-radius:0 0 24px 24px;box-shadow:0 4px 12px #5e17eb26}.challenge-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.challenge-header h1{margin:0;font-size:2rem;font-weight:700}.challenge-header-badges{display:flex;gap:.75rem;align-items:center}.challenge-day{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:1rem;white-space:nowrap}.challenge-day.group-code-badge{cursor:help;transition:background .3s ease}.challenge-day.group-code-badge:hover{background:#ffffff4d}.settings-menu-container{position:relative}.challenge-day.settings-badge{cursor:pointer;transition:all .2s ease;border:none;background:#fff3;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;padding:.625rem 1rem;min-width:45px;line-height:1}.challenge-day.settings-badge:hover{background:#ffffff4d;transform:rotate(90deg)}.settings-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;overflow:hidden;z-index:1000;min-width:180px}.settings-menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.25rem;border:none;background:#fff;color:#333;font-size:1rem;font-weight:500;text-align:left;cursor:pointer;transition:background .2s ease}.settings-menu-item:hover{background:#f8f9fa}.settings-menu-item:not(:last-child){border-bottom:1px solid #e9ecef}.challenge-complete-badge{background:#ffdd274d;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;margin-left:.5rem}.restart-challenge-btn{background:#fffffff2;color:#5e17eb;border:2px solid rgba(255,255,255,.5);padding:.75rem 1.5rem;border-radius:16px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;white-space:nowrap}.restart-challenge-btn:hover{background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.challenge-points{display:flex;gap:2rem}.total-points{display:flex;flex-direction:row;align-items:center;gap:1rem;background:#ffffff26;padding:1rem 2rem;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;cursor:pointer}.total-points:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #fff3}.points-separator{font-size:1.5rem;opacity:.5;margin:0 .5rem}.points-label{font-size:.875rem;opacity:.9;margin-bottom:.25rem}.points-value{font-size:2.5rem;font-weight:700;line-height:1}.challenge-tabs{display:flex;gap:.5rem;padding:1.5rem 1.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.challenge-tab{padding:.75rem 1.5rem;border:none;background:#fff;color:#495057;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 4px #0000000d}.challenge-tab:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.challenge-tab.active{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;box-shadow:0 4px 12px #5e17eb4d}.challenge-content{padding:1.5rem;max-width:1200px;margin:0 auto}.artifact-progress{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #00000014;border:2px solid #dee2e6;transition:all .3s ease}.artifact-progress.unlocked{background:linear-gradient(135deg,#fff9e6,#fffbf0);border-color:#ffdd27;box-shadow:0 4px 16px #ffdd274d}.artifact-header h3{margin:0 0 .5rem;font-size:1.5rem;color:#212529}.artifact-description{color:#6c757d;margin:0 0 1.5rem}.artifact-bars{display:flex;flex-direction:column;gap:1rem}.progress-bar-container{width:100%}.progress-bar-label{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#495057}.progress-bar{height:12px;background:#e9ecef;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;transition:width .5s ease;border-radius:6px}.progress-bar-fill.daily{background:linear-gradient(90deg,#5e17eb,#8b5cf6)}.progress-bar-fill.weekly{background:linear-gradient(90deg,#ffdd27,#ffc107)}.artifact-unlocked-message{text-align:center;font-size:1.25rem;font-weight:600;color:#5e17eb;padding:1rem}.category-points-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.category-point-item{background:#fff;padding:1rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 2px 4px #0000000d}.category-point-item span:first-child{font-size:.875rem;color:#6c757d;margin-bottom:.5rem}.category-point-item .point-value{font-size:1.75rem;font-weight:700;color:#5e17eb}.category-point-item.total{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff}.category-point-item.total span:first-child{color:#ffffffe6}.category-point-item.total .point-value{color:#fff}.category-point-item.leaderboard-button{background:linear-gradient(135deg,#ffdd27,#ffc107);color:#212529;cursor:pointer;border:none;transition:all .2s ease}.category-point-item.leaderboard-button:hover{transform:translateY(-4px);box-shadow:0 6px 16px #ffdd2766}.leaderboard-button-label{font-size:.875rem;color:#212529;margin-bottom:.5rem}.leaderboard-button-value{font-size:2.5rem;font-weight:700;line-height:1;color:#212529}.quest-section{margin-bottom:3rem}.section-title{font-size:1.5rem;font-weight:700;color:#212529;margin:0 0 1rem}.quest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.quest-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease;border:2px solid transparent}.quest-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001f;border-color:#5e17eb}.quest-card.completed{background:#f8f9fa;opacity:.7}.quest-card.bonus{border-color:#ffdd27;background:linear-gradient(135deg,#fffbf0,#fff)}.quest-card.locked{opacity:.6;background:#f8f9fa;border-color:#dee2e6}.quest-card.locked:hover{transform:none;box-shadow:0 2px 8px #00000014;border-color:#dee2e6}.quest-locked-message{background:#e9ecef;color:#6c757d;padding:.75rem;border-radius:8px;text-align:center;font-weight:600;border:2px solid #dee2e6}.quest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.quest-name{margin:0;font-size:1.125rem;font-weight:700;color:#212529;flex:1}.quest-points{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.875rem;white-space:nowrap}.quest-card.bonus .quest-points{background:linear-gradient(135deg,#ffdd27,#ffc107);color:#212529}.quest-description{color:#6c757d;line-height:1.6;margin:0 0 1.5rem;font-size:.9375rem}.learn-more-section{margin:.25rem 0 1.5rem}.learn-more-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#5e17eb;cursor:pointer;padding:.5rem 0;font-size:.9375rem;font-weight:500;transition:all .2s ease}.learn-more-toggle:hover{color:#7c3aed;gap:.625rem}.learn-more-arrow{transition:transform .3s ease;color:#5e17eb}.learn-more-arrow.expanded{transform:rotate(180deg)}.learn-more-content{margin-top:.75rem;padding:1rem;background:#f8f9fa;border-left:3px solid #5e17eb;border-radius:0 8px 8px 0;color:#495057;line-height:1.6;font-size:.875rem;animation:slideDown .3s ease;white-space:pre-line}.daily-streak{display:flex;gap:.5rem;margin:1rem 0;justify-content:center;flex-wrap:wrap}.streak-bubble{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;background:#e9ecef;color:#adb5bd;border:2px solid #dee2e6;transition:all .3s ease}.streak-bubble.completed{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border-color:#5e17eb;box-shadow:0 2px 8px #5e17eb4d;transform:scale(1.05)}@media (max-width: 480px){.streak-bubble{width:28px;height:28px;font-size:.7rem}}.quest-input-area{display:flex;flex-direction:column;gap:.75rem}.quest-textarea{width:100%;padding:.75rem;border:2px solid #dee2e6;border-radius:8px;font-family:inherit;font-size:.9375rem;resize:vertical;transition:border-color .2s ease}.quest-textarea:focus{outline:none;border-color:#5e17eb}.quest-checkbox-area{padding:.5rem 0}.quest-checkbox-label{color:#495057;font-weight:500;cursor:pointer}.quest-complete-btn{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem}.quest-complete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5e17eb4d}.quest-complete-btn:active{transform:translateY(0)}.quest-flow-btn{display:block;background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem;text-decoration:none;text-align:center}.quest-flow-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5e17eb4d}.quest-flow-btn:active{transform:translateY(0)}.quest-flow-btn.coming-soon{background:#6c757d;cursor:not-allowed;opacity:.6}.quest-flow-btn.coming-soon:hover{transform:none;box-shadow:none}.quest-locked-container{position:relative;width:100%}.quest-flow-btn.locked{background:#6c757d;cursor:not-allowed;opacity:.6;display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.quest-flow-btn.locked:hover{transform:none;box-shadow:none}.locked-info-icon{cursor:pointer;font-size:.875rem;opacity:.8;padding:.25rem;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.locked-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#212529;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:.8125rem;line-height:1.4;width:max-content;max-width:280px;text-align:center;z-index:100;box-shadow:0 4px 12px #00000026;animation:tooltipFadeIn .2s ease}.locked-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#212529}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.quest-completed-badge{background:#d4edda;color:#155724;padding:.75rem;border-radius:8px;text-align:center;font-weight:600;border:2px solid #c3e6cb}.challenge-loading,.challenge-error{text-align:center;padding:4rem 2rem;color:#6c757d;font-size:1.125rem}.challenge-error{color:#dc3545}.challenge-onboarding{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.onboarding-content{background:#fff;border-radius:24px;padding:3rem;max-width:700px;box-shadow:0 8px 24px #0000001f}.onboarding-content h1{margin:0 0 1.5rem;font-size:2.5rem;background:linear-gradient(135deg,#5e17eb,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.onboarding-intro{font-size:1.125rem;color:#495057;line-height:1.7;margin-bottom:2rem}.onboarding-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.onboarding-category{text-align:center;padding:1.5rem;background:#f8f9fa;border-radius:16px}.onboarding-category h3{margin:0 0 .5rem;font-size:1.25rem;color:#212529}.onboarding-category p{margin:0;font-size:.9375rem;color:#6c757d;line-height:1.5}.onboarding-artifacts{background:linear-gradient(135deg,#fff9e6,#fffbf0);padding:1.5rem;border-radius:16px;margin-bottom:2rem;text-align:center;border:2px solid #ffdd27}.onboarding-artifacts h3{margin:0 0 .5rem;font-size:1.5rem;color:#212529}.onboarding-artifacts p{margin:0;color:#495057;line-height:1.6}.start-challenge-btn{width:100%;background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none;padding:1.25rem 2rem;border-radius:12px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5e17eb4d}.start-challenge-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #5e17eb66}.start-challenge-btn:active{transform:translateY(-2px)}@media (max-width: 768px){.challenge-header{padding:1.5rem}.challenge-header h1{font-size:1.5rem}.challenge-day{font-size:.875rem;padding:.375rem .75rem}.points-value{font-size:2rem}.challenge-tabs{padding:1rem 1rem 0}.challenge-tab{padding:.5rem 1rem;font-size:.875rem}.challenge-content{padding:1rem}.quest-grid{grid-template-columns:1fr}.category-points-summary{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.onboarding-content{padding:2rem}.onboarding-content h1{font-size:2rem}.onboarding-categories{grid-template-columns:1fr}}@media (max-width: 480px){.challenge-header-top{flex-direction:column;gap:1rem;align-items:flex-start}.challenge-points{flex-direction:column;gap:1rem;width:100%}.total-points{width:100%}.restart-challenge-btn{width:100%;margin-top:1rem;text-align:center}}.leaderboard-section{max-width:800px;margin:0 auto}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.group-code-display{background:#5e17eb1a;border:2px dashed rgba(94,23,235,.3);padding:1rem;border-radius:12px;text-align:center;font-size:.875rem;color:#333;margin-bottom:2rem;display:flex;flex-direction:column;gap:.75rem}.group-code-info{text-align:center}.group-code-display strong{color:#5e17eb;font-size:1rem;letter-spacing:.1em;font-family:Monaco,Courier New,monospace}.whatsapp-share-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#25d366;color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;width:100%}.whatsapp-share-btn:hover{background:#20ba5a;transform:translateY(-2px);box-shadow:0 4px 12px #25d3664d}.whatsapp-share-btn:active{transform:translateY(0)}.whatsapp-icon{width:20px;height:20px}.leaderboard-toggle{display:flex;gap:.5rem;background:#e9ecef;padding:.25rem;border-radius:12px}.toggle-btn{padding:.5rem 1.5rem;border:none;background:transparent;color:#6c757d;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem}.toggle-btn:hover{background:#5e17eb1a;color:#5e17eb}.toggle-btn.active{background:#fff;color:#5e17eb;box-shadow:0 2px 4px #0000001a}.leaderboard-list{display:flex;flex-direction:column;gap:.75rem}.leaderboard-empty{text-align:center;padding:4rem 2rem;color:#6c757d;font-size:1.125rem}.leaderboard-entry{display:flex;align-items:center;gap:1rem;background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;border:2px solid transparent}.leaderboard-entry:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.leaderboard-entry.current-user{background:linear-gradient(135deg,#fff9e6,#fffbf0);border-color:#ffdd27;box-shadow:0 4px 12px #ffdd274d}.leaderboard-rank{font-size:1.5rem;font-weight:700;min-width:50px;text-align:center;color:#5e17eb}.leaderboard-entry:nth-child(1) .leaderboard-rank,.leaderboard-entry:nth-child(2) .leaderboard-rank,.leaderboard-entry:nth-child(3) .leaderboard-rank{font-size:2rem}.leaderboard-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.leaderboard-name{font-size:1.125rem;font-weight:700;color:#212529;display:flex;align-items:center;gap:.5rem}.you-badge{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:.125rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600}.leaderboard-meta{font-size:.875rem;color:#6c757d}.leaderboard-points{font-size:1.25rem;font-weight:700;color:#5e17eb;white-space:nowrap}@media (max-width: 768px){.leaderboard-header{flex-direction:column;align-items:flex-start}.leaderboard-toggle{width:100%}.toggle-btn{flex:1;text-align:center}.leaderboard-entry{padding:1rem}.leaderboard-rank{min-width:40px;font-size:1.25rem}.leaderboard-entry:nth-child(1) .leaderboard-rank,.leaderboard-entry:nth-child(2) .leaderboard-rank,.leaderboard-entry:nth-child(3) .leaderboard-rank{font-size:1.5rem}.leaderboard-name{font-size:1rem}.leaderboard-points{font-size:1.125rem}}.leaderboard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.leaderboard-modal{background:#fff;border-radius:24px;max-width:600px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.leaderboard-modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:2px solid #e9ecef}.leaderboard-modal-header h2{margin:0;font-size:1.75rem;color:#212529}.modal-close-btn{width:40px;height:40px;border-radius:50%;border:none;background:#e9ecef;color:#495057;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.modal-close-btn:hover{background:#dee2e6;transform:rotate(90deg)}.leaderboard-modal .leaderboard-toggle{margin:1.5rem 2rem 0}.leaderboard-modal .leaderboard-list{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1}.leaderboard-modal .leaderboard-list::-webkit-scrollbar{width:8px}.leaderboard-modal .leaderboard-list::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.leaderboard-modal .leaderboard-list::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:4px}.leaderboard-modal .leaderboard-list::-webkit-scrollbar-thumb:hover{background:#adb5bd}@media (max-width: 768px){.leaderboard-modal{max-height:90vh;border-radius:24px 24px 0 0;margin-top:auto}.leaderboard-modal-header{padding:1.5rem}.leaderboard-modal-header h2{font-size:1.5rem}.leaderboard-modal .leaderboard-toggle{margin:1rem 1.5rem 0}.leaderboard-modal .leaderboard-list{padding:1rem 1.5rem 1.5rem}}.group-selection-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.group-mode-btn{background:#fff;border:2px solid #e9ecef;border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;text-align:center}.group-mode-btn:hover{transform:translateY(-5px);box-shadow:0 8px 24px #5e17eb26;border-color:#5e17eb}.group-mode-btn.join{cursor:default}.group-mode-btn.join:hover{transform:none}.mode-icon{font-size:3rem;margin-bottom:1rem}.group-mode-btn h3{font-size:1.5rem;color:#1a1a1a;margin:.5rem 0;font-weight:700}.group-mode-btn p{color:#666;font-size:.95rem;margin:.5rem 0 1rem}.group-code-input{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1.1rem;text-align:center;font-weight:600;text-transform:uppercase;margin-top:1rem;margin-bottom:.75rem;transition:border-color .3s ease}.group-code-input:focus{outline:none;border-color:#5e17eb}.join-group-btn{width:100%;background:#5e17eb;color:#fff;border:none;padding:.75rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s ease}.join-group-btn:hover{background:#4912c4}.group-code-display{background:#ffdd271a;border:2px dashed #ffdd27;border-radius:12px;padding:1rem;margin:1rem 0;text-align:center}.group-code-label{font-size:.85rem;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.group-code{font-size:2rem;font-weight:800;color:#5e17eb;letter-spacing:3px}@media (max-width: 768px){.group-selection-buttons{grid-template-columns:1fr;gap:1.5rem}.group-mode-btn{padding:1.5rem}.mode-icon{font-size:2.5rem}}.daily-release-challenge{margin-top:1rem}.daily-release-challenge h4{font-size:1.1rem;font-weight:700;color:#333;margin-bottom:.75rem}.daily-release-challenge .challenge-description{font-size:.95rem;color:#666;margin-bottom:1rem;font-style:italic}.daily-release-challenge .challenge-video{margin:1rem 0}.daily-release-challenge .video-link{display:inline-block;background:#5e17eb;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s}.daily-release-challenge .video-link:hover{background:#4a12bc;transform:translateY(-1px);box-shadow:0 4px 12px #5e17eb4d}.daily-release-challenge .challenge-instructions{background:#f8f9fa;border-left:4px solid #5e17eb;padding:1rem;border-radius:8px;margin-top:1rem}.daily-release-challenge .challenge-instructions p{margin-bottom:.75rem;line-height:1.6;color:#555}.daily-release-challenge .challenge-instructions p:last-child{margin-bottom:0}.daily-release-challenge .challenge-instructions strong{color:#333;font-weight:600}.quest-complete-btn.locked{background:#ccc;color:#666;cursor:not-allowed;opacity:.6;position:relative;padding-right:3rem}.quest-complete-btn.locked:hover{background:#ccc;transform:none}.quest-textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.archetype-selection-container{min-height:100vh;background:#fafbfc;max-width:100%;margin:0 auto}.archetype-selection-header{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:2rem;border-radius:0 0 24px 24px;box-shadow:0 4px 12px #5e17eb26}.archetype-selection-header .header-top{display:flex;align-items:center;gap:15px;color:#fff}.archetype-selection-header .back-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;flex-shrink:0}.archetype-selection-header .page-title{font-size:2rem;font-weight:700;color:#fff;margin:0;line-height:1}.archetype-selection-content{padding:30px 20px;max-width:800px;margin:0 auto}.intro-section{text-align:center;margin-bottom:40px}.intro-title{font-size:2rem;font-weight:800;color:#1a1a1a;margin-bottom:15px}.intro-text{font-size:1rem;color:#666;line-height:1.7}.archetype-cards{display:flex;flex-direction:column;gap:20px}.archetype-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px #00000014;border:2px solid transparent;transition:all .3s ease;cursor:pointer}.archetype-card.essence{border-color:#ffdd27}.archetype-card.essence:hover{border-color:#d4a000}.archetype-card.protective{border-color:#f39c12}.archetype-card.protective:hover{border-color:#e67e22}.card-header{height:200px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f0e7ff,#fff9e6);display:flex;align-items:center;justify-content:center}.card-header img{width:100%;height:100%;object-fit:cover}.card-tag{position:absolute;top:20px;left:20px;padding:8px 16px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1}.essence .card-tag{background:#ffdd27f2;color:#1a1a1a}.protective .card-tag{background:#f39c12f2;color:#fff}.card-body{padding:25px}.card-title{font-size:1.5rem;font-weight:800;color:#1a1a1a;margin-bottom:10px}.card-subtitle{font-size:1rem;font-style:italic;color:#666;margin-bottom:15px}.card-description{font-size:.9375rem;color:#666;line-height:1.7;margin-bottom:20px}.card-cta{width:100%;border:none;padding:14px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.essence .card-cta{background:linear-gradient(135deg,#ffdd27,#ffc107);color:#1a1a1a}.essence .card-cta:hover{background:linear-gradient(135deg,#ffc107,#ff9800)}.protective .card-cta{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.protective .card-cta:hover{background:linear-gradient(135deg,#e67e22,#d35400)}@media (max-width: 768px){.archetype-selection-header{padding:1.5rem}.archetype-selection-header .page-title{font-size:1.5rem}.archetype-selection-content{padding:20px 15px}.intro-title{font-size:1.5rem}.card-header{height:180px}.card-body{padding:20px}}.essence-profile-container{background:#000;color:#fff;overflow-x:hidden;max-width:100%;margin:0 auto}.essence-profile-header{position:sticky;top:0;background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:2rem;border-radius:0 0 24px 24px;box-shadow:0 4px 12px #5e17eb26;z-index:100}.essence-profile-header .header-top{display:flex;align-items:center;gap:15px;margin-bottom:15px;color:#fff}.essence-profile-header .back-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.essence-profile-header .archetype-name{font-size:2rem;font-weight:700;color:#fff;margin:0;line-height:1}.bg-yellow{background:linear-gradient(135deg,#fff9e6,#fffbf0);color:#212529}.archetype-tag-mag{background:#fffffff2;color:#d4a000;padding:8px 16px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-card{background:#ffffff1a;padding:1.25rem;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.bg-light .character-card{background:#fff;border:1px solid #e9ecef}.character-icon{font-size:2rem;flex-shrink:0}.character-name{font-size:1rem;font-weight:700}.bg-purple .cta-button{color:#5e17eb!important}.bg-light .cta-button{background:#5e17eb;color:#fff}@media (max-width: 768px){.essence-profile-header{padding:1.5rem}.essence-profile-header .archetype-name{font-size:1.5rem}.magazine-section{padding:2rem 1.5rem}.section-title{font-size:1.5rem}.section-text{font-size:1rem}.quote{font-size:1.25rem}}.protective-profile-container{background:#000;color:#fff;overflow-x:hidden;max-width:100%;margin:0 auto}.protective-profile-header{position:sticky;top:0;background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;padding:2rem;border-radius:0 0 24px 24px;box-shadow:0 4px 12px #5e17eb26;z-index:100}.protective-profile-header .header-top{display:flex;align-items:center;gap:15px;margin-bottom:15px;color:#fff}.protective-profile-header .back-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:pointer;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.protective-profile-header .archetype-name{font-size:2rem;font-weight:700;color:#fff;margin:0;line-height:1}.tabs{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;flex-shrink:0}.tab.active{background:#fff;color:#5e17eb}.magazine-section{min-height:calc(100vh - 110px);display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;position:relative}.bg-purple{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff!important}.bg-purple *,.bg-purple .section-label,.bg-purple .section-title,.bg-purple .section-text,.bg-purple p,.bg-purple h2,.bg-purple h3,.bg-purple h4{color:#fff!important}.bg-dark{background:#1a1a1a;color:#fff!important}.bg-dark *,.bg-dark .section-label,.bg-dark .section-title,.bg-dark .section-text,.bg-dark p,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff!important}.bg-light{background:#f8f9fa;color:#212529}.bg-orange{background:linear-gradient(135deg,#fef5e7,#fdebd0);color:#212529}.bg-wound{background:linear-gradient(135deg,#1a0a0a,#3d1f1f);color:#fff!important}.bg-wound *,.bg-wound .section-label,.bg-wound .section-title,.bg-wound .section-text,.bg-wound p,.bg-wound h2,.bg-wound h3,.bg-wound h4{color:#fff!important}.bg-deep-purple{background:linear-gradient(135deg,#2d0a5e,#4a1589);color:#fff!important}.bg-deep-purple *,.bg-deep-purple .section-label,.bg-deep-purple .section-title,.bg-deep-purple .section-text,.bg-deep-purple p,.bg-deep-purple h2,.bg-deep-purple h3,.bg-deep-purple h4{color:#fff!important}.section-icon{font-size:3.5rem;margin-bottom:1.5rem}.section-label{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;opacity:.7;margin-bottom:1rem;color:inherit}.section-title{font-size:2rem;font-weight:800;margin-bottom:1.5rem;line-height:1.2;color:inherit}.section-text{font-size:1.125rem;line-height:1.8;opacity:.95;color:inherit}.quote{font-size:1.5rem;font-style:italic;line-height:1.6;text-align:center}.quote-mark{font-size:4rem;opacity:.3;line-height:0;margin-bottom:1rem}.image-section{padding:0;justify-content:flex-start}.archetype-image{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.image-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 2rem;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 100%);color:#fff}.image-overlay .section-title{color:#fff}.archetype-tag-mag{background:#fffffff2;color:#e67e22;padding:8px 16px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scroll-indicator{text-align:center;margin-top:2rem;animation:bounce 2s infinite;font-size:1.5rem;opacity:.6}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.cta-button{background:#fff;color:#5e17eb;border:none;padding:1.25rem 2rem;border-radius:16px;font-size:1.125rem;font-weight:700;margin-top:2rem;cursor:pointer;box-shadow:0 8px 24px #0000004d;transition:transform .3s ease}.cta-button:hover{transform:scale(1.05)}.bg-light .cta-button,.bg-orange .cta-button{background:#5e17eb;color:#fff}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.25rem;color:#666}.bg-nervous-system{background:linear-gradient(135deg,#1a2f4a,#2d4a6f);color:#fff!important}.bg-nervous-system *{color:#fff!important}.bg-somatic{background:linear-gradient(135deg,#3d1f1f,#5c2e2e);color:#fff!important}.bg-somatic *{color:#fff!important}.bg-origins{background:linear-gradient(135deg,#2a1a3e,#4a2d6e);color:#fff!important}.bg-origins *{color:#fff!important}.bg-discharge{background:linear-gradient(135deg,#0a3d3d,#1a5c5c);color:#fff!important}.bg-discharge *{color:#fff!important}.bg-rewiring{background:linear-gradient(135deg,#1a3d1a,#2d5c2d);color:#fff!important}.bg-rewiring *{color:#fff!important}.learned-belief{background:#ffffff1a;border-radius:16px;padding:1.5rem;margin-top:1.5rem;border-left:4px solid rgba(255,255,255,.5)}.belief-label{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:.8;display:block;margin-bottom:.5rem}.belief-text{font-size:1.25rem;font-style:italic;line-height:1.5;margin:0}.core-belief-card{background:#ffffff26;border-radius:20px;padding:2rem;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.core-belief{font-size:1.5rem;font-style:italic;line-height:1.5;margin:0}.pattern-badge{display:inline-block;background:#fff3;border:2px solid rgba(255,255,255,.4);border-radius:30px;padding:.75rem 1.5rem;font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.5rem}.affirmations-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.affirmation-card{background:#ffffff26;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.affirmation-number{background:#ffffff4d;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700;flex-shrink:0}.affirmation-text{font-size:1.125rem;font-style:italic;line-height:1.5;margin:0;flex:1}@media (max-width: 768px){.protective-profile-header{padding:1.5rem}.protective-profile-header .archetype-name{font-size:1.5rem}.magazine-section{padding:2rem 1.5rem}.section-title{font-size:1.5rem}.section-text{font-size:1rem}.quote,.core-belief{font-size:1.25rem}.belief-text{font-size:1.125rem}.affirmation-card{padding:1rem}.affirmation-text{font-size:1rem}.pattern-badge{font-size:1rem;padding:.5rem 1rem}}.install-pwa-banner{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:16px;border-radius:12px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.install-pwa-content{display:flex;align-items:center;gap:12px}.install-pwa-icon{font-size:32px;flex-shrink:0}.install-pwa-text{flex:1}.install-pwa-text strong{display:block;font-size:16px;margin-bottom:4px}.install-pwa-text p{margin:0;font-size:14px;opacity:.9}.install-pwa-button{background:#fff;color:#6366f1;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s;flex-shrink:0}.install-pwa-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.install-pwa-button:active{transform:translateY(0)}@media (max-width: 600px){.install-pwa-content{flex-direction:column;text-align:center}.install-pwa-button{width:100%}}.notification-settings{max-width:600px;margin:0 auto;padding:2rem}.back-to-challenge-btn{background:transparent;border:none;color:#6366f1;font-size:.9375rem;font-weight:600;cursor:pointer;padding:.5rem 0;margin-bottom:1.5rem;display:inline-flex;align-items:center;transition:all .2s ease}.back-to-challenge-btn:hover{color:#5e17eb;transform:translate(-4px)}.settings-title{font-size:1.75rem;font-weight:700;color:#212529;margin:0 0 .5rem}.settings-description{color:#6c757d;margin:0 0 2rem;line-height:1.6}.notification-status-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 2px 8px #00000014;border:2px solid #e9ecef}.status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.status-label{font-size:1.125rem;font-weight:600;color:#212529}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.status-badge.granted{background:#d4edda;color:#155724}.status-badge.denied{background:#f8d7da;color:#721c24}.status-badge.default{background:#e9ecef;color:#6c757d}.enable-notifications-btn{width:100%;background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.enable-notifications-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5e17eb4d}.enable-notifications-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.notification-actions{display:flex;gap:1rem;margin-bottom:2rem}.test-notification-btn{flex:1;background:#28a745;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.test-notification-btn:hover{background:#218838;transform:translateY(-2px)}.disable-notifications-btn{flex:1;background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.disable-notifications-btn:hover{background:#5a6268;transform:translateY(-2px)}.disable-notifications-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.notification-preferences{border-top:2px solid #e9ecef;padding-top:1.5rem}.notification-preferences h3{font-size:1.125rem;font-weight:600;color:#212529;margin:0 0 .5rem}.preferences-description{color:#6c757d;font-size:.875rem;margin:0 0 1.5rem}.timezone-selector{background:#f0f7ff;border:2px solid #5e17eb;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.timezone-label{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.timezone-select{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .2s ease}.timezone-select:hover{border-color:#5e17eb}.timezone-select:focus{outline:none;border-color:#5e17eb;box-shadow:0 0 0 3px #5e17eb1a}.preference-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem;cursor:pointer;transition:all .2s ease}.preference-item:hover{background:#e9ecef}.preference-item input[type=checkbox]{margin-top:.25rem;width:20px;height:20px;cursor:pointer}.preference-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.preference-name{font-weight:600;color:#212529;font-size:.9375rem}.preference-description{color:#6c757d;font-size:.8125rem}.notification-blocked,.notification-unsupported,.notification-install-required{text-align:center;padding:2rem}.notification-blocked p:first-child,.notification-unsupported p:first-child{font-size:1.125rem;font-weight:600;color:#dc3545;margin-bottom:1rem}.notification-install-required{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;border:2px solid #e9ecef}.install-explanation{color:#495057;font-size:1rem;line-height:1.6;margin-bottom:2rem}.install-steps{background:#f8f9fa;border-radius:12px;padding:1.5rem;text-align:left;margin-top:2rem}.install-steps h3{font-size:1.125rem;font-weight:600;color:#212529;margin:0 0 1.5rem;text-align:center}.device-instructions{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;border:2px solid #e9ecef}.device-instructions h4{font-size:1rem;font-weight:600;color:#6366f1;margin:0 0 1rem}.device-instructions ol{margin:0;padding-left:1.5rem;color:#495057;line-height:1.8}.device-instructions li{margin-bottom:1rem}.device-instructions li:last-child{margin-bottom:0}.install-note{background:#e7f3ff;border-left:4px solid #6366f1;padding:1rem;margin:1rem 0 0;font-size:.875rem;color:#495057;border-radius:4px}.notification-hint{color:#6c757d;font-size:.875rem;margin-bottom:1rem}.notification-blocked ol{text-align:left;max-width:400px;margin:1rem auto;color:#495057;line-height:1.8}.setup-warning{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-top:2rem;color:#856404;font-size:.875rem}.setup-warning strong{display:block;margin-bottom:.5rem;font-size:1rem}@media (max-width: 768px){.notification-settings{padding:1rem}.notification-status-card{padding:1.5rem}.notification-actions{flex-direction:column}.status-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.dashboard-container{min-height:100vh;background:#fafbfc}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#5e17eb,#3d0f99);color:#fff;padding:15px 20px;z-index:101;box-shadow:0 2px 10px #0000001a}.topbar-content{display:flex;justify-content:space-between;align-items:center}.topbar-logo{font-size:1.3rem;font-weight:800}.hamburger-btn{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:5px;line-height:1}.sidebar{position:fixed;left:0;top:0;width:280px;height:100vh;background:linear-gradient(180deg,#5e17eb,#3d0f99);color:#fff;padding:40px 30px;z-index:100;transition:transform .3s ease}.sidebar.mobile-hidden{transform:translateY(-100%)}.logo{font-size:1.8rem;font-weight:800;margin-bottom:50px}.user-profile{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.2)}.user-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#ffdd27,#ff9d00);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin-bottom:15px;color:#333}.user-name{font-size:1.2rem;font-weight:700;margin-bottom:5px}.user-email{font-size:.85rem;opacity:.7}.nav-menu{list-style:none;padding:0;margin:0}.nav-item{padding:12px 16px;margin-bottom:8px;border-radius:10px;cursor:pointer;transition:background .3s ease;font-weight:500}.nav-item.active{background:#ffffff26}.nav-item:hover{background:#ffffff1a}.signout-link{position:absolute;bottom:30px;left:30px;right:30px;padding:12px;background:#ffffff1a;border-radius:10px;text-align:center;cursor:pointer;transition:background .3s ease;font-weight:500}.signout-link:hover{background:#ffffff26}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.main-content{margin-left:280px;padding:40px}.page-header{margin-bottom:40px}.page-title{font-size:2.5rem;color:#1a1a1a;margin-bottom:10px;font-weight:800}.page-subtitle{font-size:1.1rem;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:40px}.stat-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 2px 8px #00000014;border:1px solid #e8ecef;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001f}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:15px;overflow:hidden}.stat-icon img{width:100%;height:100%;object-fit:cover;border-radius:12px}.stat-card.purple .stat-icon{background:#f0e7ff}.stat-card.yellow .stat-icon{background:#fff9e6}.stat-card.gradient .stat-icon{background:linear-gradient(135deg,#f0e7ff,#fff9e6)}.stat-label{font-size:.85rem;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.stat-value{font-size:1.8rem;color:#1a1a1a;font-weight:800}.archetypes-section{margin-bottom:40px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-title{font-size:1.5rem;color:#1a1a1a;font-weight:700}.archetype-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.archetype-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid #e8ecef;transition:transform .3s ease,box-shadow .3s ease}.archetype-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #00000026}.archetype-header{height:300px;position:relative;overflow:hidden;background:#f5f7fa}.archetype-header img{width:100%;height:100%;object-fit:cover}.archetype-tag{position:absolute;top:20px;left:20px;background:#fffffff2;color:#5e17eb;padding:8px 16px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.archetype-card.essence .archetype-tag{color:#d4a000}.archetype-body{padding:30px}.archetype-name{font-size:1.8rem;color:#1a1a1a;margin-bottom:15px;font-weight:800}.archetype-description{font-size:.95rem;line-height:1.7;color:#666;margin-bottom:25px}.explore-button{width:100%;background:#5e17eb;color:#fff;border:none;padding:14px;border-radius:12px;font-weight:600;cursor:pointer;transition:background .3s ease,transform .2s ease;font-size:1rem}.explore-button:hover{background:#4912c4;transform:scale(1.02)}.expand-content{background:#f8f9fa;border-radius:12px;padding:25px;margin-top:20px;border-left:4px solid #5e17eb}.expand-content.show{display:block}.expand-content h4{color:#5e17eb;margin-bottom:10px;font-size:1.1rem;font-weight:600}.expand-content p{color:#666;line-height:1.6;margin-bottom:15px}.cta-banner{background:linear-gradient(135deg,#5e17eb,#764ba2);border-radius:20px;padding:50px;text-align:center;color:#fff;position:relative;overflow:hidden}.cta-banner:before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,221,39,.2) 0%,transparent 70%)}.cta-banner:after{content:"";position:absolute;bottom:-80px;left:-80px;width:250px;height:250px;background:radial-gradient(circle,rgba(255,221,39,.15) 0%,transparent 70%)}.cta-content{position:relative;z-index:1}.cta-banner h3{font-size:2rem;margin-bottom:15px;font-weight:800}.cta-banner p{font-size:1.1rem;margin-bottom:30px;opacity:.95}.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.btn-white{background:#fff;color:#5e17eb;border:none;padding:16px 35px;border-radius:25px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.btn-white:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0003}.btn-outline{background:transparent;color:#fff;border:2px solid white;padding:14px 33px;border-radius:25px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:all .3s ease}.btn-outline:hover{background:#fff;color:#5e17eb}@media (max-width: 1024px){.sidebar{width:240px}.main-content{margin-left:240px}.stats-grid,.archetype-cards-grid{grid-template-columns:1fr}}@media (max-width: 768px){.mobile-topbar{display:block}.sidebar{position:fixed;width:100%;top:60px;left:0;height:auto;max-height:calc(100vh - 60px);overflow-y:auto;z-index:100;padding:30px 20px}.sidebar .logo{display:none}.main-content{margin-left:0;padding:80px 20px 25px}.page-title{font-size:1.8rem}.page-subtitle{font-size:1rem}.signout-link{position:static;margin-top:20px}.cta-banner{padding:35px 25px}.cta-banner h3{font-size:1.5rem}.cta-buttons{flex-direction:column;align-items:stretch}.archetype-header{height:250px}.stats-grid{gap:15px}.stat-card{padding:20px}}.auth-gate{min-height:100vh;display:flex;background:#f8f9fa}.auth-sidebar{width:45%;min-height:100vh;background:linear-gradient(135deg,#5e17eb,#8b5cf6);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.auth-sidebar:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,221,39,.15) 0%,transparent 70%);pointer-events:none}.auth-sidebar:after{content:"";position:absolute;bottom:-30%;left:-30%;width:80%;height:80%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 60%);pointer-events:none}.auth-sidebar-content{position:relative;z-index:1;color:#fff;max-width:400px}.auth-logo{font-size:1.75rem;font-weight:800;margin-bottom:3rem;letter-spacing:-.5px}.auth-sidebar-content h2{font-size:2.5rem;font-weight:700;margin:0 0 1rem;line-height:1.2}.auth-sidebar-content>p{font-size:1.125rem;opacity:.9;line-height:1.6;margin:0 0 2.5rem}.auth-features{display:flex;flex-direction:column;gap:1.25rem}.auth-feature{display:flex;align-items:center;gap:1rem;font-size:1rem;opacity:.95}.feature-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff26;border-radius:10px}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-container{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 4px 24px #00000014;max-width:420px;width:100%}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:3rem;margin-bottom:1rem}.auth-header h1{color:#212529;margin:0 0 .5rem;font-size:1.875rem;font-weight:700}.auth-header p{color:#6c757d;margin:0;font-size:1rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{text-align:left}.input-group label{display:block;color:#212529;font-weight:600;margin-bottom:.5rem;font-size:.9375rem}.input-group input{width:100%;padding:.875rem 1rem;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;transition:all .2s ease;box-sizing:border-box;background:#f8f9fa}.input-group input:focus{outline:none;border-color:#5e17eb;background:#fff;box-shadow:0 0 0 4px #5e17eb1a}.input-group input::placeholder{color:#adb5bd}.input-group input:disabled{background-color:#e9ecef;cursor:not-allowed}.auth-button{background:linear-gradient(135deg,#5e17eb,#8b5cf6);color:#fff;border:none;padding:1rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #5e17eb59}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-message{padding:1rem 1.25rem;border-radius:10px;font-weight:500;font-size:.9375rem;line-height:1.5;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-message.success,.auth-message.error{background:linear-gradient(135deg,#ffdd2726,#ffc10726);color:#333;border:2px solid #ffdd27}.auth-footer{margin-top:2rem;text-align:center}.auth-divider{display:flex;align-items:center;margin-bottom:1rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e9ecef}.auth-divider span{padding:0 1rem;color:#6c757d;font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.auth-footer>p{color:#6c757d;font-size:.875rem;margin:0;line-height:1.5}.code-input-helper{margin-bottom:.75rem}.email-display{color:#6c757d;font-size:.875rem;margin:0 0 .25rem}.email-display strong{color:#212529;font-weight:600}.code-help-text{color:#8b5cf6;font-size:.8125rem;margin:0;font-style:italic}.auth-back-button{background:transparent;color:#6c757d;border:none;padding:.75rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.auth-back-button:hover:not(:disabled){color:#5e17eb;transform:translate(-2px)}.auth-back-button:disabled{opacity:.5;cursor:not-allowed}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;min-height:100vh;width:100%;background:linear-gradient(135deg,#5e17eb,#8b5cf6)}.auth-loading p{color:#fff;font-size:1.125rem;margin:0;font-weight:500}@media (max-width: 992px){.auth-sidebar{width:40%;padding:2rem}.auth-sidebar-content h2{font-size:2rem}.auth-container{padding:2.5rem}}@media (max-width: 768px){.auth-gate{flex-direction:column}.auth-sidebar{width:100%;min-height:auto;padding:2.5rem 1.5rem}.auth-sidebar-content{max-width:100%;text-align:center}.auth-sidebar-content h2{font-size:1.5rem}.auth-sidebar-content>p{font-size:1rem;margin-bottom:1.5rem}.auth-features{display:none}.auth-main{padding:2rem 1.5rem}.auth-container{padding:2rem;border-radius:16px;box-shadow:0 -8px 24px #00000014;margin-top:-1rem}.auth-icon{font-size:2.5rem}.auth-header h1{font-size:1.5rem}}@media (max-width: 480px){.auth-sidebar{padding:2rem 1rem}.auth-logo{font-size:1.5rem;margin-bottom:1.5rem}.auth-sidebar-content h2{font-size:1.35rem}.auth-main{padding:1.5rem 1rem}.auth-container{padding:1.5rem}.auth-button{padding:.875rem 1.25rem}}.feedback-container{max-width:800px;margin:0 auto;padding:2rem;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.feedback-header{text-align:center;margin-bottom:3rem;color:#fff}.back-button{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;margin-bottom:2rem;transition:all .3s ease}.back-button:hover{background:#ffffff4d;transform:translate(-4px)}.feedback-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.feedback-subtitle{font-size:1.1rem;opacity:.95;max-width:600px;margin:0 auto}.success-message{background:#10b981;color:#fff;padding:1rem;border-radius:8px;text-align:center;font-weight:600;margin-bottom:2rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.feedback-form{background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 20px 60px #0000004d}.feedback-section{margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid #e5e7eb}.feedback-section:last-of-type{border-bottom:none}.feedback-section h2{color:#667eea;font-size:1.5rem;margin-bottom:1.5rem;font-weight:700}.question{margin-bottom:2rem}.question:last-child{margin-bottom:0}.question label{display:block;font-weight:600;color:#374151;margin-bottom:1rem;font-size:1.05rem}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:center;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.radio-option:hover{border-color:#667eea;background:#f9fafb}.radio-option input[type=radio]{margin-right:.75rem;width:20px;height:20px;cursor:pointer;accent-color:#667eea}.radio-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.radio-option span{flex:1;color:#374151;font-size:1rem}.question textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.question textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.question textarea::placeholder{color:#9ca3af}.feedback-actions{margin-top:2rem;text-align:center}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 3rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.submit-button:disabled{opacity:.6;cursor:not-allowed}.update-note{margin-top:1rem;color:#6b7280;font-size:.9rem}.loading{text-align:center;padding:4rem;color:#fff;font-size:1.2rem}@media (max-width: 768px){.feedback-container{padding:1rem}.feedback-header h1{font-size:2rem}.feedback-subtitle{font-size:1rem}.feedback-form{padding:1.5rem}.feedback-section h2{font-size:1.3rem}.question label{font-size:1rem}.radio-option{padding:.75rem}.submit-button{width:100%;padding:.875rem 2rem}}:root{--purple: #5e17eb;--gold: #ffdd27;--white: #ffffff;--black: #000000;--warm-gray: #f8f9fa;--soft-gray: #e9ecef;--text-gray: #495057;--border-gray: #dee2e6}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif}body{background:linear-gradient(135deg,var(--warm-gray) 0%,#f1f3f4 100%);color:var(--text-gray);line-height:1.6}.app{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;background:var(--white);box-shadow:0 0 40px #0000001a}.header{background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%);color:var(--white);padding:24px 20px;border-radius:0 0 24px 24px;margin-bottom:20px}.header h1{font-size:28px;font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:12px}.header h1:before{content:"🧭";font-size:32px}.header p{font-size:16px;opacity:.9;font-weight:300}.header>div{display:flex;justify-content:space-between;align-items:flex-start}.chat-container{flex:1;overflow:hidden;padding:0 20px}.messages{height:100%;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:16px}.message{display:flex;margin-bottom:16px}.message.user{justify-content:flex-end}.message.ai{justify-content:flex-start}.bubble{max-width:85%;padding:16px 20px;border-radius:20px;position:relative;box-shadow:0 2px 12px #00000014}.message.user .bubble{background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%);color:var(--white);border-radius:20px 20px 4px}.message.ai .bubble{background:var(--white);border:2px solid var(--soft-gray);color:var(--text-gray);border-radius:20px 20px 20px 4px}.text{white-space:pre-wrap;line-height:1.6;font-size:16px}.timestamp{margin-top:8px;font-size:12px;opacity:.7;font-weight:300}.input-bar{display:flex;gap:12px;padding:20px;background:var(--white);border-top:1px solid var(--border-gray);border-radius:24px 24px 0 0}.message-input{flex:1;resize:none;border:2px solid var(--soft-gray);background:var(--warm-gray);color:var(--text-gray);border-radius:16px;padding:16px 20px;outline:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;transition:all .3s ease}.message-input:focus{border-color:var(--purple);background:var(--white);box-shadow:0 0 0 4px #5e17eb1a}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%);color:var(--white);border:none;border-radius:16px;padding:16px 24px;cursor:pointer;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;transition:all .3s ease;box-shadow:0 4px 12px #5e17eb4d}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #5e17eb66}.send-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #5e17eb33}.options-container{display:flex;flex-direction:column;gap:12px;padding:16px 20px;max-height:50vh;overflow-y:auto;border-top:1px solid var(--border-gray);background:var(--warm-gray);margin-top:8px}.option-button{background:var(--white);color:var(--text-gray);border:2px solid var(--soft-gray);border-radius:16px;padding:16px 20px;cursor:pointer;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;transition:all .3s ease;width:100%;text-align:left;line-height:1.5;box-shadow:0 2px 8px #0000000d}.option-button:hover:not(:disabled){background:var(--warm-gray);border-color:var(--purple);transform:translateY(-1px);box-shadow:0 4px 16px #5e17eb26}.option-button:disabled{opacity:.5;cursor:not-allowed}.start-over-btn{background:#fff3;color:var(--white);border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;transition:all .3s ease}.start-over-btn:hover{background:#ffffff4d;border-color:#ffffff80}.diagnostics-btn{background:#fff3;color:var(--white);border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:10px 12px;cursor:pointer;font-size:16px;transition:all .3s ease;margin-right:8px}.diagnostics-btn:hover{background:#ffffff4d;border-color:#ffffff80}.typing-indicator{display:flex;gap:6px;padding:12px 0;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--purple);animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.diagnostics-panel{background:var(--warm-gray);border:1px solid var(--border-gray);border-radius:16px;margin:0 20px 20px;padding:20px;font-size:14px}.diagnostics-panel h3{margin:0 0 16px;color:var(--purple);font-size:18px;font-weight:600}.diagnostics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diagnostics-grid>div{color:var(--text-gray);padding:8px 0;font-size:14px}.diagnostics-grid strong{color:var(--purple);font-weight:500}.link-button{display:inline-block;background:linear-gradient(135deg,var(--purple) 0%,#7c3aed 100%);color:var(--white);text-decoration:none;padding:12px 24px;border-radius:16px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 12px #5e17eb4d;margin-top:8px}.link-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5e17eb66}@media (max-width: 768px){.app{height:100vh;border-radius:0;box-shadow:none}.header{border-radius:0;padding:20px 16px}.header h1{font-size:24px}.header h1:before{font-size:28px}.chat-container{padding:0 16px}.bubble{max-width:90%;padding:14px 18px}.input-bar{padding:16px}.diagnostics-grid{grid-template-columns:1fr}.option-button{margin:2px;padding:14px 18px}}@media (max-width: 480px){.header h1{font-size:20px}.bubble{max-width:95%}.text{font-size:15px}}@supports (-webkit-touch-callout: none){body{height:-webkit-fill-available}}
