.apc-shell { --ink:#132a31; --muted:#66767b; --line:#dce4e5; --paper:#f5f7f6; --white:#fff; --brand:#e95a36; --brand-dark:#c64021; --teal:#174f55; --good:#16765d; --warn:#a24d1c; box-sizing:border-box; width:min(1160px,calc(100% - 32px)); margin:0 auto; padding:64px 24px 36px; color:var(--ink); background:linear-gradient(135deg,#eef3f2 0%,#fafbfa 48%,#f1ece7 100%); border-radius:24px; font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif; }
.apc-shell * { box-sizing:border-box; }
.apc-shell button,.apc-shell input,.apc-shell select { font:inherit; }
.apc-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:30px; }
.apc-eyebrow { margin:0 0 8px; color:var(--brand); font-weight:800; font-size:12px; letter-spacing:.18em; }
.apc-shell h1 { margin:0; font-size:clamp(36px,5vw,66px); line-height:1; letter-spacing:-.045em; }
.apc-lead { margin:16px 0 0; color:var(--muted); font-size:16px; }
.apc-badge { border:1px solid #b8c5c6; border-radius:999px; padding:8px 13px; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.12em; white-space:nowrap; }
.apc-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); gap:22px; }
.apc-card { background:rgba(255,255,255,.95); border:1px solid rgba(19,42,49,.1); border-radius:22px; box-shadow:0 18px 50px rgba(21,49,54,.08); padding:30px; }
.apc-section-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:26px; }
.apc-section-heading>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--teal); color:white; font-size:12px; font-weight:800; }
.apc-section-heading h2 { margin:1px 0 4px; font-size:20px; }
.apc-section-heading p { margin:0; color:var(--muted); font-size:13px; }
.apc-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; }
.apc-field { display:grid; gap:8px; font-size:13px; font-weight:700; }
.apc-field>span:first-child { display:flex; align-items:center; min-height:24px; }
.apc-field-wide { grid-column:1/-1; }
.apc-field small { color:var(--muted); font-weight:500; }
.apc-input-wrap { display:flex; align-items:center; border:1px solid var(--line); border-radius:12px; background:#fbfcfc; overflow:hidden; transition:.2s; }
.apc-input-wrap:focus-within { border-color:var(--teal); box-shadow:0 0 0 3px rgba(23,79,85,.11); background:white; }
.apc-input-wrap input,.apc-input-wrap select { width:100%; min-width:0; border:0; outline:0; background:transparent; padding:13px 5px 13px 14px; color:var(--ink); font-size:17px; font-weight:700; }
.apc-input-wrap select { padding-right:14px; cursor:pointer; }
.apc-input-wrap b { padding-right:12px; color:var(--muted); font-size:12px; white-space:nowrap; }
.apc-error { min-height:20px; margin:14px 0 0; color:#b02d22; font-size:13px; }
.apc-pitch { margin:17px 0 0; padding:10px 12px; border-radius:10px; background:#edf3f2; color:var(--muted); font-size:12px; }
.apc-pitch p { margin:0; }
.apc-pitch strong { color:var(--teal); }
.apc-inline-note { margin-top:4px!important; font-size:11px; line-height:1.6; }
.apc-actions { display:flex; gap:12px; margin-top:4px; }
.apc-primary,.apc-secondary { border-radius:12px; padding:13px 18px; border:0; cursor:pointer; font-weight:800; }
.apc-primary { flex:1; display:flex; justify-content:space-between; background:var(--brand); color:white; box-shadow:0 8px 18px rgba(233,90,54,.24); }
.apc-primary:hover { background:var(--brand-dark); transform:translateY(-1px); }
.apc-secondary { background:#edf1f1; color:var(--teal); }
.apc-result-main { padding:22px; border-radius:16px; background:var(--teal); color:white; }
.apc-result-main p,.apc-result-pair p { margin:0 0 8px; font-size:12px; font-weight:700; letter-spacing:.06em; opacity:.72; }
.apc-result-main strong { display:flex; align-items:baseline; gap:10px; font-size:50px; line-height:1; }
.apc-result-main small,.apc-result-pair small { font-size:13px; font-weight:700; }
.apc-result-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.apc-result-single { grid-template-columns:1fr; }
.apc-result-pair>div { padding:18px; border:1px solid var(--line); border-radius:14px; }
.apc-result-pair strong { display:flex; align-items:baseline; gap:7px; font-size:27px; }
.apc-status { display:flex; gap:12px; align-items:center; margin-top:14px; padding:14px; border-radius:12px; background:#eaf6f2; color:var(--good); }
.apc-status.is-miss { background:#fff2e9; color:var(--warn); }
.apc-status>span { font-size:22px; font-weight:900; }
.apc-status strong,.apc-status p { margin:0; }
.apc-status p { margin-top:3px; font-size:12px; color:var(--muted); }
.apc-details { margin-top:18px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:14px 0; font-size:12px; }
.apc-details summary { cursor:pointer; font-weight:800; }
.apc-details p { margin:10px 0; color:#45595e; line-height:1.6; }
.apc-note { color:var(--warn)!important; }
.apc-next { margin-top:18px; padding:14px 16px; border-left:3px solid var(--brand); background:#faf5f2; }
.apc-next span { color:var(--brand); font-size:10px; font-weight:900; letter-spacing:.14em; }
.apc-next p { margin:5px 0 0; font-size:12px; line-height:1.6; }
.apc-verdict { margin-top:18px; padding:16px; border-left:3px solid var(--brand); border-radius:0 12px 12px 0; background:#faf5f2; }
.apc-verdict>span { color:var(--brand); font-size:10px; font-weight:900; letter-spacing:.12em; }
.apc-verdict p { margin:7px 0 0; font-size:13px; line-height:1.7; }
.apc-comparison { margin-top:22px; }
.apc-assumption { margin-top:6px!important; color:var(--teal)!important; font-size:11px!important; font-weight:700; }
.apc-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:14px; }
.apc-comparison table { width:100%; min-width:620px; border-collapse:collapse; }
.apc-comparison th,.apc-comparison td { padding:15px 18px; border-bottom:1px solid var(--line); text-align:right; white-space:nowrap; }
.apc-comparison thead th { background:#edf3f2; color:var(--teal); font-size:12px; font-weight:800; }
.apc-comparison th:first-child { text-align:left; }
.apc-comparison tbody tr:last-child th,.apc-comparison tbody tr:last-child td { border-bottom:0; }
.apc-comparison tbody th { font-size:13px; }
.apc-comparison tbody td { font-size:20px; font-weight:800; }
.apc-comparison tbody small { margin-left:5px; color:var(--muted); font-size:11px; font-weight:600; }
.apc-comparison tbody .is-baseline { background:#fffaf7; }
.apc-comparison>.apc-note { margin:13px 2px 0!important; color:var(--muted)!important; font-size:11px; line-height:1.7; }
.apc-disclaimer { margin:18px 4px 0; color:var(--muted); font-size:11px; text-align:center; }
@media (max-width:800px) { .apc-shell{padding-top:34px}.apc-grid{grid-template-columns:1fr}.apc-hero{align-items:flex-start;flex-direction:column}.apc-card{padding:22px}.apc-fields{grid-template-columns:1fr}.apc-badge{align-self:flex-start} }
@media (max-width:430px) { .apc-shell{width:min(100% - 20px,1160px)}.apc-result-main strong{font-size:42px}.apc-result-pair strong{font-size:23px}.apc-actions{flex-direction:column} }
@media (prefers-reduced-motion:no-preference) { .apc-card{animation:apc-in .55s ease both}.apc-results{animation-delay:.08s}@keyframes apc-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}} }
