.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--spacing-md)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-background-alt);border-top-color:var(--color-primary);border-radius:50%;animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-base);color:var(--color-text-light)}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none;border-top-color:var(--color-primary)}}.card{padding:var(--spacing-lg);border-radius:0;background:#ffffffeb;border:2px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);clip-path:var(--clip-panel);position:relative}.card:after{content:"";position:absolute;top:0;right:0;width:26px;height:26px;background:linear-gradient(135deg,transparent 50%,var(--color-primary) 50%);opacity:.8}.card-default{border-color:var(--color-border)}.card-elevated{box-shadow:var(--shadow-md)}.card-outlined{border:1px solid var(--color-border-strong)}.card-interactive{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-base),border-color var(--transition-fast)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#4fb3ff73}.card-interactive:focus{outline:none;box-shadow:var(--shadow-glow)}.card-interactive:active{transform:translateY(0)}.quest-detail-page{max-width:1200px;margin:0 auto;padding:2rem}.quest-detail-loading,.quest-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.quest-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color, #e0e0e0)}.quest-detail-header h1{flex:1;margin:0;font-size:2rem}.quest-status-badge{padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:600;text-transform:capitalize}.quest-status-available{background:#e3f2fd;color:#1976d2}.quest-status-active,.quest-status-in_progress{background:#fff3e0;color:#f57c00}.quest-status-completed{background:#e8f5e9;color:#388e3c}.quest-status-submitted{background:#f3e5f5;color:#7b1fa2}.quest-detail-content{display:flex;flex-direction:column;gap:2rem}.quest-info-section h2,.quest-metadata-section h2,.quest-rewards-section h2,.quest-steps-section h2,.proof-submission-section h2{margin-top:0;margin-bottom:1rem;font-size:1.5rem}.quest-description-rich{line-height:1.6;margin-bottom:1.5rem}.quest-lore{margin-top:1.5rem;padding:1rem;background:var(--secondary-bg, #f5f5f5);border-left:4px solid var(--primary-color, #1976d2);border-radius:4px}.quest-lore h3{margin-top:0;font-size:1.125rem}.quest-avatar-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e0e0e0)}.avatar-details{display:flex;gap:1rem;align-items:center}.quest-avatar-info .avatar-portrait{width:64px;height:64px;border-radius:50%;object-fit:cover}.quest-avatar-info .avatar-name{font-weight:600;margin:0 0 .25rem}.quest-avatar-info .avatar-context{margin:0;color:var(--text-secondary, #666);font-size:.875rem}.quest-metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.metadata-item{display:flex;flex-direction:column;gap:.5rem}.metadata-label{font-weight:600;font-size:.875rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.difficulty-badge{padding:.25rem .75rem;border-radius:4px;font-weight:600;display:inline-block;width:fit-content}.difficulty-easy{background:#e8f5e9;color:#388e3c}.difficulty-medium{background:#fff3e0;color:#f57c00}.difficulty-hard{background:#ffebee;color:#d32f2f}.rewards-grid{display:flex;gap:2rem;flex-wrap:wrap}.reward-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--secondary-bg, #f5f5f5);border-radius:8px;min-width:120px}.reward-icon{font-size:2rem}.reward-value{font-size:1.5rem;font-weight:700;color:var(--primary-color, #1976d2)}.reward-label{font-size:.875rem;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.reward-items-list{width:100%}.reward-items-list h3{font-size:1rem;margin-bottom:.5rem}.reward-item-detail{padding:.5rem;background:#fff;border-radius:4px;margin-bottom:.5rem}.step-navigation{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--secondary-bg, #f5f5f5);border-radius:8px;overflow-x:auto}.step-nav-button{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid var(--border-color, #e0e0e0);border-radius:50%;background:#fff;cursor:pointer;transition:all .2s;font-weight:600}.step-nav-button:hover{border-color:var(--primary-color, #1976d2);transform:scale(1.05)}.step-nav-button.active{border-color:var(--primary-color, #1976d2);background:var(--primary-color, #1976d2);color:#fff}.step-nav-button.complete{border-color:#388e3c;background:#e8f5e9}.step-nav-button.complete.active{background:#388e3c;color:#fff}.step-number{font-size:1.125rem}.step-check{position:absolute;top:-4px;right:-4px;width:20px;height:20px;background:#388e3c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem}.step-detail{padding:1rem}.step-detail h3{margin-top:0;margin-bottom:.5rem}.step-description{color:var(--text-secondary, #666);margin-bottom:1.5rem}.step-progress{margin:1.5rem 0}.progress-bar-container{width:100%;height:24px;background:var(--secondary-bg, #f5f5f5);border-radius:12px;overflow:hidden;margin-bottom:.5rem}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-color, #1976d2),var(--primary-color-light, #42a5f5));transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;color:#fff;font-weight:600;font-size:.875rem}.progress-text{display:block;text-align:right;font-size:.875rem;color:var(--text-secondary, #666);font-weight:600}.step-requirements{margin:1.5rem 0;padding:1rem;background:var(--secondary-bg, #f5f5f5);border-radius:8px}.step-requirements h4{margin-top:0;margin-bottom:.5rem;font-size:1rem}.step-requirements ul{margin:0;padding-left:1.5rem}.step-requirements li{margin-bottom:.25rem}.step-controls{display:flex;gap:1rem;margin-top:1.5rem;justify-content:space-between}.proof-form{margin-top:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600}.proof-type-selector{display:flex;gap:1.5rem}.proof-type-selector label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.proof-input{width:100%;padding:.75rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;font-size:1rem}.proof-input:focus{outline:none;border-color:var(--primary-color, #1976d2);box-shadow:0 0 0 3px #1976d21a}.file-info{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary, #666)}.form-error{padding:.75rem;background:#ffebee;color:#c62828;border-radius:4px;margin-bottom:1rem}.form-actions{display:flex;gap:1rem}.verification-status{margin-top:1.5rem;padding:1rem;border-radius:8px;display:flex;align-items:flex-start;gap:.75rem}.verification-status.status-pending{background:#fff3e0;border:1px solid #f57c00}.verification-status.status-verified{background:#e8f5e9;border:1px solid #388e3c}.verification-status.status-rejected{background:#ffebee;border:1px solid #d32f2f}.status-icon{font-size:1.5rem;flex-shrink:0}.status-text{flex:1}.verification-notes{margin-top:.5rem;font-size:.875rem;opacity:.8}@media(max-width:768px){.quest-detail-page{padding:1rem}.quest-detail-header{flex-wrap:wrap}.quest-detail-header h1{width:100%;order:1;font-size:1.5rem}.quest-metadata-grid{grid-template-columns:1fr}.rewards-grid{justify-content:center}.step-controls,.form-actions{flex-direction:column}.form-actions button{width:100%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.overall-progress-section{margin-bottom:2rem}.progress-bar-container.large{height:32px;border-radius:16px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.progress-percent{font-size:1.25rem;font-weight:700;color:var(--primary-color, #1976d2)}.progress-steps{font-size:.875rem;color:var(--text-secondary, #666)}.progress-update-error{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.75rem;font-size:.875rem;color:var(--text-secondary, #666)}.steps-checklist{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.step-item{border:2px solid var(--border-color, #e0e0e0);border-radius:8px;padding:.75rem;background:#fff;transition:all .2s}.step-item.active{border-color:var(--primary-color, #1976d2);box-shadow:0 2px 8px #1976d226}.step-item.completed{border-color:#388e3c;background:#f1f8e9}.step-header{display:flex;align-items:center;gap:.75rem}.step-selector{flex:1;display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;text-align:left;padding:0;font-size:1rem;transition:opacity .2s}.step-selector:hover{opacity:.7}.step-selector:focus{outline:2px solid var(--primary-color, #1976d2);outline-offset:2px;border-radius:4px}.step-item .step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--secondary-bg, #f5f5f5);border-radius:50%;font-weight:600;flex-shrink:0}.step-item.active .step-number{background:var(--primary-color, #1976d2);color:#fff}.step-item.completed .step-number{background:#388e3c;color:#fff}.step-title{flex:1;font-weight:500}.step-status{font-size:1.25rem;flex-shrink:0}.step-status.complete{color:#388e3c}.step-status.pending{color:#f57c00}.step-status.blocked{color:#bdbdbd}.step-progress-mini{margin-top:.5rem;height:4px;background:var(--border-color, #e0e0e0);border-radius:2px;overflow:hidden}.step-progress-mini .progress-bar-fill{height:100%}.quest-completion-action{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:8px;text-align:center;border:2px solid #388e3c}.quest-completion-action button{font-size:1.125rem;padding:1rem 2rem}.quest-completion-note{margin:.75rem 0 0;font-size:.9rem;color:#2e7d32}.quest-completion-error{margin:.75rem 0 0;font-size:.9rem;color:#b71c1c}.completion-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1100}.completion-modal{position:relative;width:min(560px,100%);border-radius:16px;padding:2rem;background:linear-gradient(160deg,#fff,#f4fff7);border:1px solid #c8e6c9;box-shadow:0 24px 50px #00000040;overflow:hidden}.completion-modal h2{margin:0;color:#1b5e20}.completion-subtitle{margin:.5rem 0 1.5rem;color:#2e7d32}.completion-rewards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}.completion-reward{background:#fff;border:1px solid #dcedc8;border-radius:12px;padding:.9rem}.completion-reward-label{display:block;font-size:.8rem;color:#558b2f;text-transform:uppercase;letter-spacing:.04em}.completion-reward strong{font-size:1.3rem;color:#1b5e20}.completion-actions{display:flex;flex-wrap:wrap;gap:.6rem}.confetti-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-14px;width:8px;height:14px;border-radius:2px;background:#66bb6a;animation:confettiFall 1.25s linear forwards}.confetti-piece:nth-child(4n+1){left:12%;background:#29b6f6}.confetti-piece:nth-child(4n+2){left:38%;background:#ffee58}.confetti-piece:nth-child(4n+3){left:63%;background:#ef5350}.confetti-piece:nth-child(4n){left:82%;background:#ab47bc}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(380px) rotate(300deg);opacity:0}}@keyframes progressUpdate{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.step-item.completed{animation:progressUpdate .3s ease}*:focus-visible{outline:2px solid var(--primary-color, #1976d2);outline-offset:2px}@media(max-width:768px){.step-header{flex-wrap:wrap}.step-selector{min-width:100%}.progress-info{flex-direction:column;align-items:flex-start;gap:.5rem}.quest-completion-action button{width:100%}.completion-modal{padding:1.25rem}.completion-rewards-grid{grid-template-columns:1fr}.completion-actions{flex-direction:column}.completion-actions button{width:100%}}.quest-detail-page{--primary-color: var(--color-primary);--primary-color-light: var(--color-primary-soft);--secondary-bg: var(--color-bg-tertiary);--border-color: var(--color-border);--text-secondary: var(--color-text-light);padding:1.5rem}.quest-detail-page .quest-detail-header,.quest-detail-page .quest-info-section,.quest-detail-page .quest-metadata-section,.quest-detail-page .quest-rewards-section,.quest-detail-page .quest-steps-section,.quest-detail-page .proof-submission-section,.quest-detail-page .overall-progress-section{background:linear-gradient(180deg,#fffffff7,#edf4ffe6);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);clip-path:var(--clip-panel);padding:1.25rem}.quest-detail-page .quest-detail-header h1{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.02em}.quest-detail-page .quest-status-badge{border:1px solid rgba(15,23,36,.06)}.quest-detail-page .step-nav-button,.quest-detail-page .step-item,.quest-detail-page .reward-item,.quest-detail-page .completion-reward{border-radius:var(--radius-md);border-color:var(--color-border)}.quest-detail-page .step-nav-button.active,.quest-detail-page .step-item.active .step-number,.quest-detail-page .progress-bar-fill{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-soft) 100%)}.quest-detail-page .proof-input{border:1px solid var(--color-border-strong);border-radius:var(--radius-md)}.quest-detail-page .proof-input:focus,.quest-detail-page .step-selector:focus,.quest-detail-page .step-nav-button:focus{box-shadow:var(--shadow-glow);outline:none}.quest-detail-page .verification-status.status-rejected,.quest-detail-page .form-error,.quest-detail-page .quest-completion-error{color:var(--color-error)}
