.problem-solver-section{padding:4rem 0;margin:2rem auto;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(59,130,246,3%) 100%);border:1px solid var(--border);border-radius:16px;width:95%;max-width:1000px;box-shadow:0 20px 60px rgba(0,0,0,8%),0 0 1px rgba(59,130,246,.1)}.solver-header{text-align:center;margin-bottom:3rem;padding:0 2rem}.solver-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:8px 20px;border-radius:25px;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);color:#fff;margin-bottom:1.5rem;box-shadow:0 4px 15px rgba(59,130,246,.4);letter-spacing:.05em;text-transform:uppercase}.solver-title{font-size:2.25rem;font-weight:800;background:linear-gradient(135deg,#1e293b 0%,#3b82f6 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem;letter-spacing:-.02em;line-height:1.2}.solver-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.7}.solver-storage-status{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:1rem;font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:20px;background:rgba(148,163,184,8%);border:1px solid rgba(148,163,184,.15);color:var(--text-secondary);transition:all .4s cubic-bezier(.4,0,.2,1)}.solver-storage-status.saved{background:rgba(16,185,129,8%);border-color:rgba(16,185,129,.2);color:#10b981;box-shadow:0 2px 8px rgba(16,185,129,5%)}.solver-storage-status .status-dot{width:6px;height:6px;border-radius:50%;background:#94a3b8;transition:all .4s ease}.solver-storage-status.saved .status-dot{background:#10b981;box-shadow:0 0 8px #10b981;animation:pulse-green 2s infinite}.solver-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.solver-modal{background:var(--bg-card);border-radius:16px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,0,0,.3)}.solver-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.solver-modal-header h3{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.solver-modal-close{background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem;line-height:1}.solver-modal-close:hover{color:var(--text-primary)}.solver-modal-content{margin-bottom:1.5rem}.solver-modal-section{margin-bottom:1.5rem}.solver-modal-section h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.solver-modal-section p,.solver-modal-section ul{margin:0;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border);color:var(--text-primary);line-height:1.6}.solver-modal-section ul{list-style-position:inside}.solver-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.phase-container{display:flex;flex-direction:column;gap:2.5rem;padding:0 1.5rem}.phase-number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);color:#fff;font-size:16px;font-weight:800;margin-right:16px;box-shadow:0 4px 12px rgba(59,130,246,.3)}.phase-header{display:flex;align-items:center;margin-bottom:1.5rem}.phase-status{margin-left:auto;font-size:.75rem;color:#10b981;font-weight:600;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;gap:4px}.phase-status.visible{opacity:1}.phase-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.phase-prompt{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.5rem;font-weight:500}.solver-textarea{width:100%;min-height:140px;background:var(--bg-main);border:2px solid var(--border);border-radius:12px;padding:1.25rem;font-size:1rem;color:var(--text-primary);font-family:var(--font-sans);resize:vertical;line-height:1.6;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,5%)}.solver-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.2),0 4px 20px rgba(59,130,246,.1)}.solver-textarea:hover{border-color:rgba(59,130,246,.4)}.solver-input{width:100%;background:var(--bg-main);border:2px solid var(--border);border-radius:10px;padding:1rem 1.25rem;font-size:1rem;color:var(--text-primary);font-family:var(--font-sans);transition:all .3s ease;box-shadow:0 2px 6px rgba(0,0,0,4%)}.solver-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2),0 3px 12px rgba(59,130,246,8%)}.phase-actions{display:flex;gap:1rem;margin-top:1.75rem;flex-wrap:wrap}.solver-btn{padding:14px 28px;border-radius:12px;font-size:.95rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;border:2px solid transparent}.solver-btn-primary{background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);color:#fff;box-shadow:0 4px 14px rgba(59,130,246,.3)}.solver-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(59,130,246,.4)}.solver-btn-secondary{background:var(--bg-card-hover);border-color:var(--border);color:var(--text-primary)}.solver-btn-secondary:hover{border-color:#3b82f6;background:rgba(59,130,246,5%);transform:translateY(-1px)}.solver-btn:disabled{opacity:.4;cursor:not-allowed;transform:none !important;box-shadow:none !important}.input-with-surprise{position:relative;display:flex;align-items:center;gap:.75rem}.input-with-surprise textarea{flex:1}.input-with-surprise .solver-input{flex:1}.input-with-surprise .surprise-mini{flex-shrink:0;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-card-hover) 100%);color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-family:var(--font-sans);display:flex;align-items:center;gap:6px;box-shadow:0 2px 4px rgba(0,0,0,5%)}.input-with-surprise .surprise-mini:hover{border-color:transparent;color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);transform:translateY(-2px);box-shadow:0 4px 14px rgba(99,102,241,.3)}.input-with-surprise .surprise-mini:active{transform:translateY(0)}.idea-slot .input-with-surprise{margin-bottom:0}.probing-question .input-with-surprise{flex-direction:row}.probing-question .input-with-surprise .solver-input{flex:1}.probing-question{background:linear-gradient(135deg,var(--bg-card-hover) 0%,rgba(59,130,246,3%) 100%);border:2px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.25rem;transition:all .3s ease}.probing-question:hover{border-color:rgba(59,130,246,.3);box-shadow:0 4px 16px rgba(59,130,246,8%)}.probing-question:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.probing-label{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.01em}.idea-slots{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.idea-slot{background:var(--bg-card-hover);border:2px solid var(--border);border-radius:14px;padding:1.5rem;transition:all .3s ease}.idea-slot:hover{border-color:rgba(59,130,246,.3);box-shadow:0 6px 20px rgba(59,130,246,8%)}.idea-slot:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.stress-test{margin-top:1rem;padding-top:1rem;border-top:2px solid var(--border)}.stress-test-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:#3b82f6;cursor:pointer;margin-bottom:.5rem;padding:8px 12px;border-radius:8px;transition:all .3s ease;background:rgba(59,130,246,5%)}.stress-test-toggle:hover{background:rgba(59,130,246,.1)}.stress-test-content{display:none;padding:1rem;background:linear-gradient(135deg,rgba(245,158,11,8%) 0%,rgba(245,158,11,3%) 100%);border-left:3px solid #f59e0b;border-radius:8px;font-size:.9rem;color:var(--text-secondary);line-height:1.6}.surprise-btn{background:linear-gradient(135deg,#8b5cf6 0%,#a855f7 100%);color:#fff;border:none;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;margin-top:1.5rem;box-shadow:0 4px 14px rgba(139,92,246,.3)}.surprise-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(139,92,246,.4)}.architecture-hints{display:flex;flex-direction:column;gap:1.25rem}.arch-hint{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(59,130,246,5%) 100%);border:2px solid var(--border);border-radius:14px;padding:1.75rem;display:flex;align-items:flex-start;gap:1.5rem;transition:all .3s ease}.arch-hint:hover{border-color:#3b82f6;box-shadow:0 8px 24px rgba(59,130,246,.15);transform:translateY(-2px)}.arch-hint-icon{font-size:2.5rem;width:64px;height:64px;background:linear-gradient(135deg,rgba(59,130,246,.15) 0%,rgba(139,92,246,.15) 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.arch-hint-content{flex:1}.arch-hint-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:-.01em}.arch-hint-rationale{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.arch-hint-dismiss{background:var(--bg-card-hover);border:2px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.arch-hint-dismiss:hover{background:var(--bg-card);border-color:#ef4444;color:#ef4444}.guardrail-cards{display:flex;flex-direction:column;gap:1.25rem}.guardrail-card{background:var(--bg-card);border:2px solid var(--border);border-radius:14px;overflow:hidden;transition:all .3s ease}.guardrail-card:hover{border-color:rgba(59,130,246,.3);box-shadow:0 6px 20px rgba(59,130,246,8%)}.guardrail-card:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.2)}.guardrail-header{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:linear-gradient(135deg,var(--bg-card-hover) 0%,rgba(59,130,246,3%) 100%);border-bottom:2px solid var(--border);transition:all .3s ease}.guardrail-header:hover{background:rgba(59,130,246,5%)}.guardrail-title{font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.guardrail-subtitle{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem;font-weight:400}.guardrail-content{padding:1.5rem}.solver-steps-indicator{display:flex;justify-content:space-between;align-items:center;margin:2rem 0;position:relative;padding:0 2rem}.step-progress-bar{position:absolute;top:50%;left:2rem;right:2rem;height:2px;background:var(--border);transform:translateY(-50%);z-index:0}.step-node{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;z-index:1;transition:all .3s ease}.step-node:hover .step-circle{transform:scale(1.1);background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%)}.step-node.active .step-circle{background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);box-shadow:0 0 0 4px rgba(59,130,246,.2)}.step-circle{width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .3s ease}.step-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);transition:all .3s ease}.step-node.active .step-label{color:var(--accent);font-weight:600}.guardrail-question{margin-bottom:1rem;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.guardrail-responses{display:flex;gap:.75rem;flex-wrap:wrap}.guardrail-response{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.guardrail-response:hover{border-color:var(--accent);color:var(--text-primary)}.guardrail-response.active{background:var(--accent);border-color:var(--accent);color:#fff}@media(max-width:768px){.problem-solver-section{padding:2rem 1rem;width:100%}.solver-title{font-size:1.75rem}.solver-subtitle{font-size:1rem}.phase-container{padding:0 1rem}.phase-header{flex-direction:column;align-items:flex-start;gap:.75rem}.phase-number{margin-right:0}.phase-status{margin-left:0}.solver-steps-indicator{padding:0 1rem}.step-progress-bar{left:1rem;right:1rem}.step-circle{width:40px;height:40px;font-size:1rem}.step-label{font-size:.65rem}}