*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #f6f2e9;--cream-2: #ede8d6;--navy: #1a2744;--gold: #b8862a;--text: #17140e;--muted: #78746a;--light: #aaa595;--border: rgba(26,39,68,.18);--radius-btn: 4px;--radius-card: 6px;--serif: Georgia, "Palatino Linotype", Palatino, serif;--trans: .3s cubic-bezier(.4,0,.2,1)}html{font-size:16px}body{font-family:var(--serif);background:var(--cream);color:var(--text);min-height:100vh;display:flex;flex-direction:column}.nav{background:var(--cream);border-bottom:1px solid var(--border);padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.nav-logo{font-size:1.15rem;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:.02em}.nav-logo span{color:var(--gold)}.nav-cta{background:var(--navy);color:var(--cream);border:none;padding:.45rem 1.1rem;border-radius:var(--radius-btn);font-family:var(--serif);font-size:.85rem;cursor:pointer;text-decoration:none;transition:opacity var(--trans)}.nav-cta:hover{opacity:.82}.quiz-shell{flex:1;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 4rem}.progress-wrap{width:100%;max-width:680px;margin-bottom:2.5rem}.progress-meta{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.7rem}.progress-label{font-size:.8rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.progress-fraction{font-size:.8rem;color:var(--muted);font-style:italic}.progress-track{height:3px;background:var(--border);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--navy);border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1)}.question-viewport{width:100%;max-width:680px;position:relative;overflow:hidden}.question-panel{width:100%;position:absolute;top:0;left:0;opacity:0;pointer-events:none;transform:translate(60px);transition:opacity .35s var(--trans),transform .35s var(--trans);will-change:transform,opacity}.question-panel.active{position:relative;opacity:1;pointer-events:all;transform:translate(0)}.question-card{background:var(--cream);border:1px solid var(--border);border-radius:var(--radius-card);padding:2.5rem 2.5rem 2rem}.question-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin-bottom:.9rem;font-weight:400}.question-title{font-size:1.45rem;color:var(--navy);line-height:1.3;margin-bottom:.55rem;font-weight:400}.question-hint{font-size:.82rem;color:var(--muted);margin-bottom:2rem;font-style:italic;line-height:1.5}.q-divider{height:1px;background:var(--border);margin-bottom:2rem}.multi-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.multi-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.check-option{position:relative;border:1px solid var(--border);border-radius:var(--radius-card);padding:.9rem 1rem .9rem 2.85rem;cursor:pointer;transition:border-color var(--trans),background var(--trans);background:var(--cream);display:flex;align-items:center;font-size:.92rem;color:var(--text);line-height:1.35;-webkit-user-select:none;-moz-user-select:none;user-select:none}.check-option:hover{border-color:#1a274459;background:#1a274406}.check-option.selected{border-color:var(--navy);background:#1a27440f}.check-box{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);width:16px;height:16px;border:1.5px solid var(--border);border-radius:3px;background:var(--cream);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--trans),border-color var(--trans)}.check-option.selected .check-box{background:var(--navy);border-color:var(--navy)}.check-mark{opacity:0;transform:scale(.5);transition:opacity .2s,transform .2s}.check-option.selected .check-mark{opacity:1;transform:scale(1)}.option-text{flex:1}.option-label{display:block}.option-sublabel{display:block;font-size:.75rem;color:var(--muted);margin-top:.12rem;font-style:italic}.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mood-card{border:1px solid var(--border);border-radius:var(--radius-card);padding:1rem 1rem .9rem;cursor:pointer;transition:border-color var(--trans),background var(--trans),transform .2s;background:var(--cream);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mood-card:hover{border-color:#1a274459;background:#1a274406;transform:translateY(-1px)}.mood-card.selected{border-color:var(--navy);background:#1a27440f}.mood-card.open-option{border-style:dashed}.mood-inner{display:flex;align-items:flex-start;gap:.6rem}.mood-icon{font-size:1.2rem;line-height:1;flex-shrink:0;margin-top:.12rem}.mood-body{flex:1}.mood-name{font-size:.9rem;color:var(--navy);line-height:1.25}.mood-desc{font-size:.74rem;color:var(--muted);font-style:italic;line-height:1.4;margin-top:.18rem}.mood-check{width:14px;height:14px;border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;margin-top:.12rem;display:flex;align-items:center;justify-content:center;transition:background var(--trans),border-color var(--trans)}.mood-card.selected .mood-check{background:var(--navy);border-color:var(--navy)}.mood-check-dot{width:5px;height:5px;border-radius:50%;background:var(--cream);opacity:0;transition:opacity .2s}.mood-card.selected .mood-check-dot{opacity:1}.radio-list{display:flex;flex-direction:column;gap:.6rem}.radio-option{border:1px solid var(--border);border-radius:var(--radius-card);padding:.95rem 1rem .95rem 3rem;cursor:pointer;transition:border-color var(--trans),background var(--trans);background:var(--cream);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.92rem;color:var(--text);line-height:1.35}.radio-option:hover{border-color:#1a274459;background:#1a274406}.radio-option.selected{border-color:var(--navy);background:#1a27440f}.radio-option.open-option{border-style:dashed}.radio-dot{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:16px;height:16px;border:1.5px solid var(--border);border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;transition:border-color var(--trans),background var(--trans)}.radio-option.selected .radio-dot{border-color:var(--navy);background:var(--navy)}.radio-inner{width:6px;height:6px;border-radius:50%;background:var(--cream);opacity:0;transition:opacity .2s}.radio-option.selected .radio-inner{opacity:1}.radio-text{display:block}.radio-sub{font-size:.75rem;color:var(--muted);font-style:italic;margin-top:.1rem;display:block}.nav-actions{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}.btn-back{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.6rem 1.4rem;border-radius:var(--radius-btn);font-family:var(--serif);font-size:.88rem;cursor:pointer;transition:border-color var(--trans),color var(--trans)}.btn-back:hover{border-color:var(--navy);color:var(--navy)}.btn-back:disabled{opacity:.3;cursor:not-allowed}.btn-next{background:var(--navy);color:var(--cream);border:1px solid var(--navy);padding:.6rem 2rem;border-radius:var(--radius-btn);font-family:var(--serif);font-size:.88rem;cursor:pointer;transition:opacity var(--trans);min-width:130px;display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-next:hover:not(:disabled){opacity:.82}.btn-next:disabled{opacity:.35;cursor:not-allowed}.skip-hint{text-align:center;margin-top:1rem;font-size:.75rem;color:var(--light);font-style:italic}.results-transition{display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:4rem 2rem;text-align:center}.results-transition.visible{display:flex}.spinner{width:36px;height:36px;border:2.5px solid var(--border);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-transition h2{font-size:1.35rem;font-weight:400;color:var(--navy)}.results-transition p{font-size:.88rem;color:var(--muted);font-style:italic}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.footer{background:var(--navy);color:#f6f2e9a6;text-align:center;font-size:.75rem;padding:1.25rem;font-style:italic}.footer a{color:#f6f2e9a6;text-decoration:underline}@media (max-width: 560px){.quiz-shell{padding:2rem 1rem 3rem}.question-card{padding:1.75rem 1.25rem 1.5rem}.multi-grid,.mood-grid{grid-template-columns:1fr}.multi-grid.cols-3{grid-template-columns:1fr 1fr}.question-title{font-size:1.2rem}}
