:root{--ink:#142b40;--muted:#506375;--blue:#175cd3;--line:#dae3ec;--pale:#edf4fb;--navy:#122c46}*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;font-size:16px;line-height:1.65}header{background:white;border-bottom:1px solid var(--line);min-height:88px;display:flex;align-items:center;gap:36px;padding:20px max(5vw,24px);font-size:14px}.brand{font-size:24px;font-weight:800;letter-spacing:-.5px;text-decoration:none;color:var(--navy);display:flex;gap:10px;align-items:center}.brand-icon{background:var(--blue);color:white;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;font-size:24px}.version{margin-left:auto;border-left:1px solid var(--line);padding-left:24px}main{max-width:1280px;margin:auto;padding:48px 32px}.intro{display:grid;grid-template-columns:1fr 300px;gap:60px;align-items:end;margin-bottom:40px}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700;color:var(--blue);margin:0 0 12px}h1{font-size:40px;line-height:1.45;letter-spacing:-.04em;margin:0 0 18px}h2{font-size:21px;line-height:1.5;margin:0}h3{font-size:18px}p{margin:12px 0;color:var(--muted)}.privacy{border-left:3px solid var(--blue);padding:2px 0 2px 20px}.privacy p{font-size:14px;line-height:1.85}.workspace{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);gap:28px;align-items:start}.input-panel,.result-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.input-panel{padding:28px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.text-button{background:none;border:0;color:var(--blue);font-weight:600;padding:8px 0}.context-grid,.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:600;line-height:1.6}input,select{display:block;width:100%;font:inherit;font-size:16px;font-weight:400;color:var(--ink);padding:11px 12px;margin-top:7px;border:1px solid #b4c3d0;background:white;border-radius:6px;min-height:48px}input:focus,select:focus{outline:3px solid #c5dbff;border-color:var(--blue)}input[aria-invalid=true]{border-color:#b42318;background:#fff7f6}.hint,.small{font-size:13px;line-height:1.7}.field-hint{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:6px}.field-error{font-size:12px;color:#b42318;display:block}.context-grid{margin-top:20px}fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}legend{font-weight:700;font-size:17px;padding:0;margin-bottom:18px}legend span{font-size:13px;color:var(--blue);padding-right:8px}.fields{margin-top:16px}button{font-family:inherit;cursor:pointer;font-size:14px;line-height:1.6;border-radius:6px}.primary{background:var(--blue);color:white;border:1px solid var(--blue);padding:13px 18px;font-weight:700}.primary:hover{background:#144fae}.secondary{background:white;color:var(--ink);border:1px solid #b4c3d0;padding:12px 16px}.form-actions{display:flex;gap:14px;margin-top:20px;align-items:center}.form-actions .primary{flex:1;display:flex;justify-content:space-between}.result-header{background:var(--navy);color:white;padding:28px}.result-header .eyebrow{color:#a5c7ff}.result-header p{color:#bdd0e1;margin-bottom:0;font-size:14px}.result-header h2{font-size:25px}#empty-result{padding:32px;min-height:430px}#empty-result li{padding:8px 0;color:var(--muted)}#empty-result ol{padding-left:24px}.empty-mark{width:60px;height:60px;display:grid;place-items:center;background:var(--pale);color:var(--blue);font-size:32px;border-radius:50%;margin:12px 0 30px}#results{padding:26px}#results p{font-size:14px}.result-kpi{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.metric{padding:18px;background:var(--pale);border-radius:8px}.metric dt{font-size:13px;color:var(--muted)}.metric dd{font-size:25px;line-height:1.5;margin:8px 0 0;font-weight:750;font-variant-numeric:tabular-nums}.negative{color:#b42318}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left}th{font-weight:500}td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.result-note{background:#f3f5f8;padding:16px;border-radius:8px}.warning{color:#9a3412!important;background:#fff2e8;border-radius:6px;padding:12px}#result-actions{padding:0 26px 26px;display:flex;gap:12px;flex-wrap:wrap}#result-actions[hidden],#results[hidden],#empty-result[hidden]{display:none}#form-error{color:#b42318;font-size:14px}#sample-status:not(:empty){font-size:13px;color:#175cd3}.aftercare{margin:48px 0 12px;border-top:1px solid var(--line);padding-top:30px}.aftercare>div{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.aftercare p{font-size:14px;line-height:1.9}footer{max-width:1280px;padding:25px 32px;margin:auto;display:flex;gap:30px;justify-content:space-between;font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid #609bfa;outline-offset:3px}@media(max-width:800px){header{gap:12px;padding:18px 20px}header>span:not(.version){display:none}.version{padding-left:12px;font-size:12px}main{padding:30px 20px}.intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}h1{font-size:31px}.intro br:not(h1 br){display:none}.privacy{max-width:100%}.workspace{grid-template-columns:1fr}.input-panel{padding:22px}.aftercare>div{grid-template-columns:1fr;gap:2px}footer{flex-direction:column;gap:6px;padding:20px}.result-kpi{gap:10px}.metric{padding:14px}.metric dd{font-size:23px}}@media(max-width:420px){.fields,.context-grid{grid-template-columns:1fr}.panel-heading{align-items:start;flex-direction:column;gap:0}.form-actions{flex-direction:column;align-items:stretch}}@media print{header,.intro,.input-panel,.aftercare,footer,#result-actions{display:none!important}main{padding:0}.workspace{display:block}.result-panel{border:0}.result-header{background:white;color:#142b40;padding:0 26px}.result-header .eyebrow,.result-header p{color:#506375}.result-kpi{break-inside:avoid}body{background:white}#results{padding-top:0}}

.brand{font-size:22px;letter-spacing:0;flex-shrink:0}@media(max-width:620px){header{flex-wrap:wrap}.brand{font-size:20px}.version{font-size:14px;margin-left:0;border:0;padding-left:0}}

.required-summary{margin:20px 0;padding:14px 16px;background:#edf4f0;border-left:3px solid #287566;border-radius:6px}.required-summary p{font-size:14px;line-height:1.75;margin:5px 0;color:#173d40}
