.stage>section[hidden]{display:none}.hero{padding-block:var(--space-section);position:relative}.hero-kicker{font-size:var(--text-sm);letter-spacing:.22em;color:var(--shu-deep);font-weight:700;margin-bottom:var(--space-3)}.hero h1{font-family:var(--font-serif);font-size:var(--text-hero);font-weight:700;letter-spacing:.03em;max-width:24ch}.hero h1 em{font-style:normal;color:var(--shu)}.hero-lead{max-width:var(--measure);color:var(--ink-soft);font-size:var(--text-lg)}.hero-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);padding:0;list-style:none;font-size:var(--text-sm)}.hero-badges li{border:1px solid var(--gold-line);background:#ffffff80;border-radius:999px;padding:.25em 1em;color:var(--ink-soft)}.hero-src{display:block;margin-top:var(--space-3)}.form-screen{padding-block:var(--space-5) var(--space-section);max-width:var(--measure);margin-inline:auto}.progress{display:flex;gap:var(--space-1);margin-bottom:var(--space-5)}.progress span{flex:1;height:3px;background:#191f2b1f}.progress span.done{background:var(--shu)}.q-label{font-family:var(--font-serif);font-size:var(--text-xl);display:block}.q-sub{color:var(--ink-faint);font-size:var(--text-sm);margin-bottom:var(--space-4)}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--space-2);margin-bottom:var(--space-5)}.chip{font:inherit;font-size:var(--text-sm);padding:.8em .6em;border:var(--hairline);border-radius:3px;background:#ffffff8c;color:var(--ink);cursor:pointer;transition:border-color var(--duration-fast) linear,background-color var(--duration-fast) linear,transform var(--duration-fast) var(--ease-out-expo)}.chip:hover{border-color:var(--shu);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.num-field{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-4)}.num-field input[type=number]{font:inherit;font-size:var(--text-xl);font-weight:700;width:7ch;padding:.3em .5em;border:none;border-bottom:2px solid var(--ink);background:transparent;text-align:right;font-variant-numeric:tabular-nums}.num-field .unit{color:var(--ink-soft)}input[type=range]{width:100%;accent-color:var(--shu);margin-bottom:var(--space-4)}.form-nav{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.privacy-note{margin-top:var(--space-4)}.loading-screen{padding-block:calc(var(--space-section) * 1.4);text-align:center}.loading-seal{width:72px;height:72px;margin-inline:auto;border:2px solid var(--shu);border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);color:var(--shu);font-weight:700;animation:sealPulse 1.1s var(--ease-out-expo) infinite}@keyframes sealPulse{0%{transform:scale(.94);opacity:.6}55%{transform:scale(1);opacity:1}to{transform:scale(.94);opacity:.6}}.result-screen{padding-block:var(--space-5) var(--space-6)}.report{background:linear-gradient(#ffffffb8,#ffffffb8),var(--paper);border:1px solid var(--gold-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:clamp(1.25rem,4vw,3rem);position:relative;overflow:hidden}.report:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--gold-line);border-radius:3px;pointer-events:none}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:2px solid var(--ink);padding-bottom:var(--space-3);margin-bottom:var(--space-4)}.report-title{font-family:var(--font-serif);font-size:var(--text-xl);letter-spacing:.12em;margin:0}.report-meta{font-size:var(--text-xs);color:var(--ink-faint);text-align:right;line-height:1.6}.seal{width:54px;height:54px;border:2px solid var(--shu);color:var(--shu);border-radius:4px;display:grid;place-items:center;font-family:var(--font-serif);font-size:var(--text-sm);font-weight:700;line-height:1.2;text-align:center;transform:rotate(-4deg);flex-shrink:0}.money-line{text-align:center;padding-block:var(--space-4)}.money-caption{font-size:var(--text-sm);letter-spacing:.18em;color:var(--ink-soft);margin-bottom:var(--space-1)}.money-value{font-size:var(--text-money);font-weight:800;color:var(--shu);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.money-value .yen{font-size:.4em;font-weight:700;margin-left:.1em}.money-note{font-size:var(--text-xs);color:var(--ink-faint)}.result-grid{display:grid;gap:var(--space-4);margin-top:var(--space-4)}@media(min-width:720px){.result-grid{grid-template-columns:5fr 4fr;align-items:start}}.panel h3{font-size:var(--text-sm);letter-spacing:.14em;color:var(--ink-soft);border-left:3px solid var(--gold);padding-left:var(--space-2)}.stat-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.stat-table td{padding:var(--space-2) 0;border-bottom:var(--hairline)}.stat-table td:last-child{text-align:right;font-weight:700}.stat-table .you td{color:var(--shu-deep)}.result-disclaimer{margin-top:var(--space-4);border-top:var(--hairline);padding-top:var(--space-3)}.result-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-5)}.agents-section{margin-top:var(--space-section)}.agents-section>.wrap>h2{font-family:var(--font-serif);font-size:var(--text-xl)}.agent-list{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.agent-card{display:grid;gap:var(--space-2);background:#fff9;border:var(--hairline);border-left:4px solid var(--ink);border-radius:var(--radius-card);padding:var(--space-4);transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo)}.agent-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.agent-card.top{border-left-color:var(--shu)}.agent-rank{font-size:var(--text-xs);letter-spacing:.16em;color:var(--shu-deep);font-weight:700}.agent-card h3{margin:0;font-size:var(--text-lg)}.agent-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);list-style:none;padding:0;margin:0;font-size:var(--text-xs);color:var(--ink-faint)}.agent-tags li{border:var(--hairline);border-radius:999px;padding:.1em .8em}.agent-card .btn{justify-self:start}.agent-reason{font-size:var(--text-sm);color:var(--ink-soft);margin:0}
