.diag-page{--paper: var(--bg);--paper2: var(--card);--sage: var(--gold);--sage2: var(--gold-deep);--terra: var(--navy);--wine: var(--navy-deep);--honey: var(--gold-deep);--corm: var(--serif)}.diag-page{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased;min-height:100dvh;min-height:100vh}.diag-header{background:var(--paper2);border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between}.back-link{font-size:.74rem;color:var(--sub);letter-spacing:.08em;display:flex;align-items:center;gap:6px;transition:color .15s}.back-link:hover{color:var(--sage2)}.back-link:before{content:"‹";font-size:1rem}.diag-logo{font-family:var(--corm);font-size:1.3rem;font-weight:400;letter-spacing:.2em;color:var(--ink);text-transform:uppercase}.diag-wrap{max-width:680px;margin:0 auto;padding:48px 24px 80px}.progress-bar{display:flex;gap:6px;margin-bottom:40px}.progress-step{flex:1;height:3px;background:var(--line);border-radius:999px;transition:background .4s}.progress-step.done{background:var(--sage)}.progress-step.active{background:var(--terra)}.screen{display:none;animation:fadeIn .35s ease}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.start-eyebrow{font-family:var(--corm);font-style:italic;font-size:.78rem;letter-spacing:.22em;color:var(--sage2);margin-bottom:16px;text-transform:uppercase}.start-title{font-family:var(--serif);font-size:clamp(1.8rem,5vw,2.8rem);font-weight:500;line-height:1.45;margin-bottom:20px;color:var(--ink)}.start-lead{font-size:.92rem;color:var(--sub);line-height:1.95;max-width:520px;margin-bottom:32px}.start-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.start-tag{padding:5px 14px;border:1px solid var(--line);font-size:.72rem;color:var(--sub);border-radius:999px}.start-note{font-size:.72rem;color:var(--muted);margin-bottom:28px;display:flex;align-items:center;gap:6px}.start-note:before{content:"•";color:var(--sage)}.start-btn{display:inline-block;padding:16px 48px;background:var(--sage2);color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.1em;border:none;cursor:pointer;font-family:var(--sans);transition:background .18s}.start-btn:hover{background:var(--terra)}.q-step{font-family:var(--corm);font-style:italic;font-size:.72rem;letter-spacing:.2em;color:var(--muted);margin-bottom:10px;text-transform:uppercase}.q-text{font-family:var(--serif);font-size:clamp(1.25rem,3.5vw,1.8rem);font-weight:500;line-height:1.6;color:var(--ink);margin-bottom:32px}.choices{display:flex;flex-direction:column;gap:12px}.choice{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--paper2);border:1px solid var(--line);cursor:pointer;transition:border-color .18s,background .18s;text-align:left;font-family:var(--sans)}.choice:hover{border-color:var(--sage);background:var(--gold-soft)}.choice.selected{border-color:var(--sage2);background:var(--gold-soft)}.choice-icon{font-size:1.2rem;flex-shrink:0;width:28px;text-align:center}.choice-main{font-size:.9rem;font-weight:700;color:var(--ink)}.choice-sub{font-size:.74rem;color:var(--sub);margin-top:2px}.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.btn-back{font-size:.78rem;color:var(--sub);background:none;border:none;cursor:pointer;font-family:var(--sans);display:flex;align-items:center;gap:4px;transition:color .15s}.btn-back:hover{color:var(--ink)}.btn-back:before{content:"‹"}.btn-next{padding:12px 36px;background:var(--sage2);color:#fff;border:none;font-size:.84rem;font-weight:700;cursor:pointer;font-family:var(--sans);letter-spacing:.08em;transition:background .18s;opacity:.4;pointer-events:none}.btn-next.ready{opacity:1;pointer-events:auto}.btn-next.ready:hover{background:var(--terra)}.loading-wrap{text-align:center;padding:60px 0}.loading-icon{font-size:3rem;margin-bottom:20px;animation:spin 2s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-family:var(--serif);font-size:1rem;color:var(--sub)}.result-eyebrow{font-family:var(--corm);font-style:italic;font-size:.72rem;letter-spacing:.22em;color:var(--sage2);margin-bottom:14px;text-transform:uppercase}.result-archetype-wrap{background:var(--paper2);border:1px solid var(--line);padding:32px 28px;margin-bottom:28px;position:relative;overflow:hidden}.result-archetype-wrap:before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(122,147,112,.12),transparent 70%)}.result-type{font-size:.68rem;font-weight:700;letter-spacing:.22em;color:var(--sage2);text-transform:uppercase;margin-bottom:10px}.result-name{font-family:var(--serif);font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;line-height:1.3;margin-bottom:6px;color:var(--ink)}.result-name-en{font-family:var(--corm);font-style:italic;font-size:1rem;color:var(--sub);letter-spacing:.1em;margin-bottom:18px}.result-desc{font-size:.9rem;color:var(--sub);line-height:1.95;max-width:500px}.result-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.result-kw{padding:4px 14px;border:1px solid var(--sage);border-radius:999px;font-size:.7rem;color:var(--sage2)}.result-today{margin-bottom:28px}.result-section-title{font-family:var(--corm);font-style:italic;font-size:.78rem;letter-spacing:.18em;color:var(--terra);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}.result-section-title:after{content:"";flex:1;height:1px;background:var(--line)}.today-advice{background:var(--paper2);border-left:3px solid var(--sage);padding:16px 20px;font-size:.88rem;color:var(--ink);line-height:1.85}.today-advice strong{color:var(--sage2)}.rec-grid{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.rec-card{display:grid;grid-template-columns:88px 1fr;background:var(--paper2);border:1px solid var(--line);overflow:hidden;transition:box-shadow .2s;color:inherit;text-decoration:none}.rec-card:hover{box-shadow:0 4px 20px #2a242012}.rec-img{height:76px;overflow:hidden}.rec-img img{width:100%;height:100%;object-fit:cover}.rec-body{padding:10px 14px;display:flex;flex-direction:column;justify-content:center}.rec-cat{font-family:var(--corm);font-style:italic;font-size:.62rem;letter-spacing:.14em;color:var(--sage2);margin-bottom:3px}.rec-title{font-family:var(--serif);font-size:.84rem;font-weight:500;line-height:1.55}.cat-recs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.cat-rec{padding:8px 16px;background:var(--paper2);border:1px solid var(--line);font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:border-color .15s,background .15s}.cat-rec:hover{border-color:var(--sage);background:var(--gold-soft)}.cat-rec.primary{background:var(--sage2);color:#fff;border-color:var(--sage2)}.result-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-retry{padding:11px 24px;background:transparent;border:1px solid var(--line);color:var(--sub);font-size:.78rem;cursor:pointer;font-family:var(--sans);transition:border-color .15s,color .15s}.btn-retry:hover{border-color:var(--sage);color:var(--sage2)}.btn-portal{padding:11px 28px;background:var(--wine);color:#fff;border:none;font-size:.78rem;font-weight:700;cursor:pointer;font-family:var(--sans);letter-spacing:.06em;transition:background .15s}.btn-portal:hover{background:var(--terra)}@media(max-width:480px){.diag-wrap{padding:32px 16px 60px}.choice{padding:14px 16px}.result-archetype-wrap{padding:24px 18px}.result-actions{flex-direction:column}.btn-retry,.btn-portal{width:100%;text-align:center}}.diag-backbar{max-width:600px;margin:0 auto;padding:12px 16px 0}.diag-backbar .back-link{font-size:.75rem;font-weight:700;color:var(--sub)}.diag-backbar .back-link:hover{color:var(--gold-deep)}.diag-wrap{padding-top:28px}.choice{border-radius:var(--radius)}.start-btn,.btn-next{border-radius:999px}.start-btn:hover,.btn-next.ready:hover{background:var(--navy)}.result-archetype-wrap,.today-advice,.rec-card,.detail-card{border-radius:var(--radius)}.start-tag,.cat-rec,.result-kw,.btn-retry,.btn-portal{border-radius:999px}.result-archetype-wrap:before{background:radial-gradient(circle,rgba(200,164,93,.16),transparent 70%)}.choice:hover,.choice.selected{background:var(--gold-soft)}
