:root{--ink:#1d2433;--mute:#5b6475;--line:#d9dee8;--acc:#0b6bcb;--ok:#0f7b4b;--warn:#a2490b;--bg:#f6f8fb}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
.wrap{max-width:920px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:30px;margin:4px 0 8px}h2{font-size:20px;margin:0 0 12px}h3{font-size:17px;margin:18px 0 6px}
.kicker{color:var(--mute);font-size:13px;margin:0}.lead{font-size:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin:18px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.grid.five{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
label{display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:4px}label small{font-weight:400;color:var(--mute)}
input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
button,.buy,.filebtn{font:inherit;font-size:15px;padding:9px 16px;border-radius:8px;border:1px solid var(--acc);background:var(--acc);color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
.ghost,.filebtn{background:#fff;color:var(--acc)}.filebtn input{display:none}.buy.alt{background:#fff;color:var(--acc)}
button.x{padding:2px 8px;font-size:12px;background:#fff;color:var(--mute);border-color:var(--line)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.big{border-left:6px solid var(--ok);padding:10px 14px;margin:16px 0;background:#eef8f2;border-radius:8px}
.big span{display:block;font-size:14px;color:var(--mute)}.big b{display:block;font-size:40px;line-height:1.2}.big small{color:var(--mute)}
.t{border-collapse:collapse;width:100%;margin:10px 0}.t caption{text-align:left;font-weight:700;padding:4px 0}
.t th,.t td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.t td{text-align:right}.t td:first-child{text-align:left}
.t.small{font-size:14px}.t tr.sum{font-weight:700}.t tr.best{background:#eef8f2}.t small{display:block;color:var(--mute);font-size:12px}
.msg p{margin:8px 0}.warn{color:var(--warn);font-weight:600}.muted{color:var(--mute)}.small{font-size:13px}
.spec{font-size:13px;color:var(--mute);letter-spacing:.02em}
.paidline{border-top:1px dashed var(--line);padding-top:12px}
.lock{border:1px dashed var(--acc);border-radius:10px;padding:12px;margin-top:14px;background:#f3f8fe}
.pro-only{display:none;gap:8px;flex-wrap:wrap}body.is-pro .pro-only{display:inline-flex}
@media print{.card#calc,.lock,.row,header{display:none}}
