.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(--violet-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(--violet)}.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:#ffffff8c;border-radius:999px;padding:.25em 1em;color:var(--ink-soft)}.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:#1617311a}.progress span.done{background:var(--violet)}.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)}.date-field{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-5);align-items:center}.date-select{font:inherit;font-size:var(--text-lg);font-weight:600;padding:.45em 1.8em .45em .7em;border:none;border-bottom:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .4em center}.date-select:focus{border-bottom-color:var(--violet);outline:none}.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:var(--space-2);margin-bottom:var(--space-5)}.chip-grid-2{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.chip{font:inherit;font-size:var(--text-sm);padding:.8em .6em;border:var(--hairline);border-radius:4px;background:#ffffff8c;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) linear,background-color var(--duration-fast) linear,transform var(--duration-fast) var(--ease-out-expo)}.chip-wide{display:flex;flex-direction:column;gap:.25em;padding:.9em 1em}.chip-main{font-weight:700;font-size:var(--text-base)}.chip-sub{font-size:var(--text-xs);color:var(--ink-faint);font-weight:400;line-height:1.4}.chip:hover{border-color:var(--violet);transform:translateY(-1px)}.chip[aria-pressed=true]{background:var(--violet);color:#f8f8f8;border-color:var(--violet)}.chip[aria-pressed=true] .chip-sub{color:#f8f8f8cc}.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:80px;height:80px;margin-inline:auto;border:2px solid var(--violet);border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);color:var(--violet);font-weight:700;font-size:var(--text-lg);animation:sealPulse 1.2s var(--ease-out-expo) infinite}@keyframes sealPulse{0%{transform:scale(.92);opacity:.5}55%{transform:scale(1);opacity:1}to{transform:scale(.92);opacity:.5}}.result-screen{padding-block:var(--space-5) var(--space-6)}.report{background-image:url(/card-bg.png);background-size:cover;background-position:center 30%;border:2px solid var(--gold-line);border-radius:var(--radius-card);box-shadow:0 8px 40px -8px #08022bb3,0 2px 4px #08022b4d;padding:clamp(1.25rem,4vw,3rem);position:relative;overflow:hidden;--ring-track: oklch(100% 0 0 / .18);--ring-arc: var(--gold);color:#f5f1ea}.report:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid oklch(72% .12 78 / .35);border-radius:4px;pointer-events:none}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid oklch(100% 0 0 / .25);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;color:#f5f1ea}.report-meta{font-size:var(--text-xs);color:#ffffff8c;text-align:right;line-height:1.6}.report-meta-left{text-align:left}.seal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-serif);font-size:var(--text-base);font-weight:700;text-align:center;transform:rotate(-4deg);flex-shrink:0}.seal-gold{border:2px solid var(--gold);color:var(--gold);background:#08081b80}.seal-violet{border:2px solid oklch(80% .06 280);color:#d8dcf9;background:#08081b80}.seal-ink-soft{border:2px solid oklch(75% .03 280);color:#c9cce2;background:#08081b80}.score-section{display:flex;gap:var(--space-4);align-items:center;padding-block:var(--space-4);flex-wrap:wrap}.score-ring-wrap{position:relative;width:140px;height:140px;flex-shrink:0}.score-ring{width:140px;height:140px;filter:drop-shadow(0 0 12px oklch(72% .12 78 / .6))}.score-arc{transition:stroke-dashoffset 1.4s var(--ease-out-expo)}.score-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:row;gap:.05em}.score-num{font-size:var(--text-score);font-weight:800;color:#f5f1ea;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 20px oklch(72% .12 78 / .8)}.score-unit{font-size:var(--text-sm);font-weight:700;color:var(--gold);align-self:flex-start;padding-top:.55em}.score-info{flex:1;min-width:160px}.fortune-level{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.level-label{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:700;letter-spacing:.1em;color:#d2d5f2}.level-大吉 .level-label{color:var(--gold);text-shadow:0 0 16px oklch(72% .12 78 / .7)}.level-中吉 .level-label{color:#dfe2ff;color:oklch(92% .05 280)}.level-stars{font-size:var(--text-lg);line-height:1}.star-on{color:var(--gold);text-shadow:0 0 8px oklch(72% .12 78 / .8)}.star-off{color:#fff3}.fortune-headline{font-family:var(--font-serif);font-size:var(--text-lg);color:#f5f1ea;margin:0;line-height:1.5}.fortune-body{margin-top:var(--space-4);border-top:1px solid oklch(100% 0 0 / .18);padding-top:var(--space-4)}.fortune-message{color:#ffffffd1;line-height:1.85;margin-bottom:var(--space-3)}.fortune-advice{background:#ffffff14;border-left:3px solid var(--gold);border-radius:0 4px 4px 0;padding:var(--space-3) var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.advice-label{font-size:var(--text-xs);letter-spacing:.12em;color:var(--gold);font-weight:700;display:block;margin-bottom:var(--space-1)}.fortune-advice p{margin:0;color:#ffffffd1;font-size:var(--text-sm)}.result-disclaimer{margin-top:var(--space-4);border-top:1px solid oklch(100% 0 0 / .18);padding-top:var(--space-3);color:#ffffff73;font-size:var(--text-xs)}.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:#ffffffa6;border:var(--hairline);border-left:4px solid var(--ink-soft);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(--violet)}.agent-rank{font-size:var(--text-xs);letter-spacing:.16em;color:var(--violet-deep);font-weight:700;margin:0}.agent-card h3{margin:0;font-size:var(--text-lg)}.agent-tagline{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600;margin:0}.agent-reason{font-size:var(--text-sm);color:var(--violet-deep);margin:0}.agent-copy{font-size:var(--text-sm);color:var(--ink-soft);margin:0;line-height:1.65}.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-caution{margin:0}
