:root{color:#24352f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#24352f;--muted:#65756e;--line:#e2e5dd;--paper:#fffefa;--green:#1e6652;--green-dark:#154c3e;--mint:#e7f1eb;--lime:#d3e57d;--orange:#dd8a57;--warning:#8a592c;--shadow:0 20px 60px #22372d14;background:#f5f4ef;font-family:Yu Gothic UI,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible+span{outline-offset:3px;outline:3px solid #cf8a4a}label:has(input:focus-visible){outline-offset:3px;outline:3px solid #cf8a4a}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:82px;margin:0 auto;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:11px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--green);border-radius:11px 11px 11px 4px;place-items:center;width:31px;height:31px;font-family:Georgia,serif;font-size:19px;font-style:italic;display:grid}.header-note{color:#6d7a72;border:1px solid #d8ded6;border-radius:999px;padding:7px 13px;font-size:12px}.main-content{flex:1;width:min(1060px,100% - 48px);margin:28px auto 72px}.site-footer{color:#78837d;border-top:1px solid #e1e3dc;justify-content:space-between;gap:20px;width:min(1180px,100% - 48px);margin:0 auto;padding:20px 0 24px;font-size:11px;display:flex}.site-footer p{margin:0}.site-footer span{white-space:nowrap;font-family:ui-monospace,monospace}.hero-card{background:var(--paper);min-height:565px;box-shadow:var(--shadow);border:1px solid #ffffffe6;border-radius:26px;grid-template-columns:1.1fr .9fr;align-items:center;padding:58px 64px 88px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:510px;position:relative}.eyebrow{color:var(--green);letter-spacing:.13em;margin:0 0 14px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}h1,h2,h3,p{text-wrap:pretty}.hero-copy h1,.results-heading h1{color:#243a31;letter-spacing:.025em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(36px,5vw,54px);font-weight:600;line-height:1.45}.hero-copy h1 span,.results-heading h1 span{color:var(--green)}.hero-lead{color:#5c6d65;max-width:430px;margin:22px 0 28px;font-size:15px;line-height:1.9}.hero-footnote{color:#87918a;margin:13px 0 0 3px;font-size:11px}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:14px;min-height:48px;padding:0 20px;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary{color:#fff;background:var(--green);box-shadow:0 7px 16px #1e665224}.button-primary:hover{background:var(--green-dark);box-shadow:0 9px 20px #1e665233}.button-large{min-height:56px;padding:0 23px}.button-quiet{color:#557066;background:0 0;border-color:#dce4dd}.button-quiet:hover{background:#f3f7f3}.button-disabled{color:#718078;background:#edf0eb;border-color:#e0e4dc}.hero-visual{place-items:center;height:370px;display:grid;position:relative}.orbit{border:1px solid #e4ece3;border-radius:50%;position:absolute}.orbit-one{width:345px;height:345px}.orbit-two{border-style:dashed;width:264px;height:264px}.visual-card{background:#fff;border:1px solid #eef0e8;border-radius:17px;flex-direction:column;display:flex;position:absolute;box-shadow:0 18px 40px #2341311f}.visual-card-main{z-index:1;width:216px;min-height:190px;padding:20px;transform:rotate(-4deg)}.visual-icon{width:36px;height:36px;color:var(--green);background:var(--mint);border-radius:11px;place-items:center;margin-bottom:22px;font-size:19px;display:grid}.visual-card-main span:not(.visual-icon){color:#718078;font-size:12px}.visual-card-main strong{margin-top:7px;font-family:Yu Mincho,serif;font-size:18px}.visual-card-main i{background:var(--lime);border-radius:5px;width:48px;height:5px;margin-top:15px}.visual-card-note{z-index:2;color:#52665d;flex-direction:row;align-items:center;gap:9px;padding:13px 16px;font-size:12px;bottom:48px;right:3px;transform:rotate(3deg)}.note-dot{background:var(--orange);border-radius:50%;width:9px;height:9px}.visual-spark{color:#d1df89;font-size:34px;position:absolute}.spark-one{top:25px;right:55px}.spark-two{color:#e5aa7d;font-size:25px;bottom:51px;left:16px}.hero-trust{color:#6c7972;background:#f5f7f1;justify-content:center;align-items:center;gap:12px;min-height:58px;padding:12px;font-size:11px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-trust>span:first-child{width:18px;height:18px;color:var(--green);background:#e0eddf;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid}.trust-divider{background:#d5ddd4;width:1px;height:16px;margin:0 5px}.progress-nav{justify-content:space-between;align-items:center;gap:8px;max-width:770px;margin:0 auto 28px;display:flex}.progress-item{color:#9aa49e;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex}.progress-dot{color:#9ba69f;background:#fafbf8;border:1px solid #dfe5dd;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:9px;font-weight:700;display:grid}.progress-item.is-current{color:var(--green);font-weight:700}.progress-item.is-current .progress-dot{color:#fff;border-color:var(--green);background:var(--green);box-shadow:0 0 0 4px #e3eee7}.progress-item.is-done{color:#5c7868}.progress-item.is-done .progress-dot{color:var(--green);background:#e8f1e9;border-color:#c6d9cb}.step-card{background:var(--paper);max-width:920px;box-shadow:var(--shadow);border:1px solid #fff;border-radius:22px;margin:0 auto;padding:clamp(24px,5vw,48px)}.step-heading{margin-bottom:8px}.step-heading h1{color:#253b32;margin:0;font-family:Yu Mincho,serif;font-size:clamp(25px,3.5vw,34px);font-weight:600;line-height:1.5}.section-intro{color:var(--muted);margin:10px 0 25px;font-size:13px;line-height:1.8}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;grid-template-columns:35px 1fr;align-content:center;column-gap:11px;min-height:112px;padding:17px 18px;transition:border-color .15s,background .15s,transform .15s;display:grid;position:relative}.choice-card:hover{border-color:#a6c2b0;transform:translateY(-1px)}.choice-card.is-selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green) inset;background:#f2f7f2}.choice-card input{width:17px;height:17px;accent-color:var(--green);position:absolute;top:16px;right:16px}.choice-number{color:#a4b19f;grid-row:span 2;align-self:center;font-family:ui-monospace,monospace;font-size:12px}.choice-label{color:#2d4037;padding-right:24px;font-size:14px;font-weight:700}.choice-detail{color:#78857e;margin-top:5px;font-size:11px;line-height:1.6}.field-group{border:0;min-width:0;margin:22px 0 0;padding:0}.field-group legend{color:#354a40;margin-bottom:10px;font-size:13px;font-weight:700}.choice-row{flex-wrap:wrap;gap:8px;display:flex}.pill-choice{color:#617168;cursor:pointer;background:#fff;border:1px solid #e2e7df;border-radius:9px;align-items:center;min-height:39px;padding:0 12px;font-size:11px;transition:all .15s;display:inline-flex;position:relative}.pill-choice:hover{border-color:#a6c2b0}.pill-choice.is-selected{color:#1e5b48;background:#eff6ef;border-color:#83ad95}.pill-choice input{clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pill-choice:has(input:focus-visible){outline-offset:3px;outline:3px solid #cf8a4a}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-option{color:#5f7067;cursor:pointer;background:#fff;border:1px solid #e2e7df;border-radius:9px;align-items:center;gap:10px;min-height:48px;padding:8px 12px;font-size:11px;display:flex}.check-option.is-selected{color:#1e5b48;background:#eff6ef;border-color:#83ad95}.check-option input{opacity:0;width:1px;height:1px;position:absolute}.custom-check{color:#0000;background:#fff;border:1px solid #ccd7ce;border-radius:5px;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.check-option.is-selected .custom-check{border-color:var(--green);color:#fff;background:var(--green)}.form-footer{border-top:1px solid #edf0e9;justify-content:space-between;gap:12px;margin-top:34px;padding-top:22px;display:flex}.error-banner{color:#8b362b;background:#fff3ef;border:1px solid #efd0c6;border-radius:9px;max-width:920px;margin:0 auto 16px;padding:12px 16px;font-size:13px}.answer-summary{border-top:1px solid #e8ece5;margin:26px 0 20px}.summary-row{border-bottom:1px solid #e8ece5;grid-template-columns:150px 1fr;gap:20px;padding:14px 3px;font-size:12px;line-height:1.7;display:grid}.summary-row dt{color:#718078}.summary-row dd{color:#30463a;margin:0;font-weight:650}.privacy-note{color:#4a6a57;background:#f2f7ef;border:1px solid #dce9dc;border-radius:11px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.privacy-note>span{font-size:17px}.privacy-note p{margin:0;font-size:11px;line-height:1.8}.results{max-width:920px;margin:0 auto}.results-heading{padding:22px 4px 26px}.results-heading h1{font-size:clamp(34px,5vw,48px)}.results-heading>p:last-child{max-width:600px;color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.8}.results-caveat{color:#745a32;background:#fffaf0;border:1px solid #e7ddc8;border-radius:10px;align-items:baseline;gap:14px;margin:0 0 16px;padding:13px 16px;font-size:11px;line-height:1.7;display:flex}.results-caveat strong{flex:none}.candidate-list{gap:15px;display:grid}.candidate-card,.fallback-card,.consult-card{background:var(--paper);border:1px solid #fff;border-radius:18px;box-shadow:0 12px 36px #22372d0e}.candidate-card{padding:clamp(21px,4vw,34px)}.candidate-card.needs-review{border-color:#eee3ce}.candidate-topline{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.rank-label{color:var(--green);letter-spacing:.06em;font-family:ui-monospace,monospace;font-size:10px;font-weight:700}.status-badge{color:#286349;background:#e6f1e8;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:700}.status-review{color:#805929;background:#f7efdf}.candidate-card h2{color:#2b4237;margin:0 0 21px;font-family:Yu Mincho,serif;font-size:23px;font-weight:600}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 26px;display:grid}.info-block{min-width:0}.info-block h3,.condition-list h3{color:#748078;letter-spacing:.08em;margin:0 0 7px;font-size:10px;font-weight:700}.info-block p{color:#43584c;margin:0;font-size:12px;line-height:1.85}.info-block small{color:#8a9890;overflow-wrap:anywhere;margin-top:7px;font-family:ui-monospace,monospace;font-size:9px;line-height:1.6;display:block}.condition-list{background:#fffaf1;border:1px solid #eee4d1;border-radius:10px;margin-top:20px;padding:13px 16px}.condition-list ul,.candidate-caution ul{color:#725a37;margin:0;padding-left:18px;font-size:11px;line-height:1.85}.candidate-caution{color:#6f5d41;background:#f7f5ee;border-radius:10px;gap:11px;margin-top:20px;padding:13px 15px;display:flex}.candidate-caution>span{color:#80663f;background:#ebe4d1;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.candidate-caution strong,.next-step strong{color:#5b604d;margin-bottom:4px;font-size:10px;display:block}.candidate-caution ul{color:#716957}.next-step{color:#53675b;margin:16px 0 0;font-size:11px;line-height:1.7}.fallback-card{align-items:flex-start;gap:16px;padding:23px;display:flex}.fallback-icon{width:39px;height:39px;color:var(--green);background:var(--mint);border-radius:13px;flex:0 0 39px;place-items:center;font-size:20px;display:grid}.fallback-card h2{color:#2b4237;margin:1px 0 7px;font-family:Yu Mincho,serif;font-size:18px;font-weight:600}.fallback-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.consult-card{background:#edf4ec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding:25px 28px;display:flex}.consult-card .eyebrow{margin-bottom:7px}.consult-card h2{color:#294638;margin:0;font-family:Yu Mincho,serif;font-size:20px;font-weight:600}.consult-card p:not(.eyebrow):not(.disabled-help){color:#64766a;max-width:500px;margin:7px 0 0;font-size:11px;line-height:1.7}.disabled-help{color:#78857b;text-align:right;width:100%;margin:-6px 0 0;font-size:10px}.results-actions{justify-content:space-between;align-items:center;gap:15px;margin:18px 0 0;display:flex}.results-actions>span{color:#839087;font-size:10px}@media (width<=760px){.site-header,.site-footer{width:min(100% - 32px,1180px)}.main-content{width:min(100% - 32px,1060px);margin-top:15px;margin-bottom:45px}.hero-card{grid-template-columns:1fr;min-height:auto;padding:37px 27px 85px}.hero-visual{height:250px;margin-top:10px}.orbit-one{width:240px;height:240px}.orbit-two{width:185px;height:185px}.visual-card-main{transform:scale(.82)rotate(-4deg)}.visual-card-note{bottom:15px;right:4%}.hero-trust{flex-wrap:wrap;gap:7px 10px;font-size:9px}.progress-nav{justify-content:flex-start;gap:17px;padding:3px 1px 7px;overflow-x:auto}.progress-item{gap:6px}.progress-dot{flex-basis:25px;width:25px;height:25px}.step-card{padding:25px 20px}.choice-grid{gap:9px}.choice-card{grid-template-columns:25px 1fr;gap:3px 7px;min-height:105px;padding:13px 12px}.choice-number{font-size:10px}.choice-label{font-size:12px}.choice-detail{font-size:10px}.pill-choice{min-height:39px;font-size:10px}.candidate-grid{gap:17px}.site-footer{align-items:flex-start}}@media (width<=480px){.site-header{height:66px}.header-note{font-size:10px}.hero-card{border-radius:20px;padding:32px 20px 84px}.hero-copy h1{font-size:36px}.hero-lead{font-size:13px}.hero-trust{justify-content:flex-start;padding:10px 16px;line-height:1.6}.trust-divider{display:none}.choice-grid,.check-grid,.candidate-grid{grid-template-columns:1fr}.choice-card{min-height:80px}.field-group{margin-top:19px}.form-footer{margin-top:25px}.form-footer .button{min-height:45px;padding:0 13px;font-size:12px}.summary-row{grid-template-columns:95px 1fr;gap:10px;font-size:11px}.results-heading{padding-top:10px}.results-caveat{flex-direction:column;gap:3px}.candidate-card h2{font-size:20px}.consult-card{padding:22px 19px}.consult-card .button{width:100%}.disabled-help{text-align:left}.results-actions{flex-direction:column;align-items:flex-start}.site-footer{flex-direction:column;gap:7px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
