/* 責任範囲診断 — デザインC（refero.design「Mercury」：暗い藍・影なし・コバルトは主ボタンだけ） */
:root{
  --canvas:#171721; --card:#1e1e2a; --raise:#272735;
  --slate:#70707d; --ash:#c3c3cc; --ivory:#ededf3; --cobalt:#5266eb;
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ivory);font:400 16px/1.75 var(--sans)}
a{color:var(--ivory);text-underline-offset:4px}
:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
.wrap{max-width:720px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left))}
.bar{display:flex;align-items:baseline;gap:12px;max-width:720px;margin:0 auto;padding:20px max(16px,env(safe-area-inset-left)) 8px}
.brand{font:500 15px/1 var(--sans);letter-spacing:.2em;text-decoration:none}
.bar-sub{font:400 12px/1 var(--mono);color:var(--ash);letter-spacing:.06em}

.title{font:500 clamp(22px,5.4vw,32px)/1.4 var(--sans);letter-spacing:.02em;margin:32px 0 20px;overflow-wrap:anywhere}
.eyebrow,.progress{font:400 12px/1.4 var(--mono);color:var(--ash);letter-spacing:.08em;margin:32px 0 0}
.progress{margin:24px 0 12px}
h2{font:500 19px/1.45 var(--sans);margin:0 0 16px}
h3{font:500 16px/1.5 var(--sans);margin:0 0 4px}
.card{background:var(--card);border-radius:12px;padding:24px 20px;margin:0 0 16px;min-width:0}
@media (min-width:600px){.card{padding:32px}}
.card p{margin:0 0 12px}
.card p:last-child{margin-bottom:0}
.lead{font-size:17px}
.notes{margin:16px 0 24px;padding-left:1.2em;color:var(--ash)}
.notes li{margin:0 0 8px}
.hint{color:var(--ash);font-size:14px}
.disclaimer{color:var(--ash);font-size:13px;line-height:1.8;margin:0 0 20px}

/* 設問 */
fieldset{border:0;margin:0;padding:0;min-width:0}
.qtitle{font:500 clamp(18px,4.6vw,22px)/1.55 var(--sans);padding:0;margin:0 0 12px}
.opt{display:flex;gap:12px;align-items:flex-start;margin:10px 0;padding:14px 16px;background:var(--raise);border:1px solid transparent;border-radius:12px;cursor:pointer;min-height:48px}
.opt:has(input:checked){border-color:var(--ivory)}
.opt:has(input:focus-visible){outline:2px solid var(--ivory);outline-offset:2px}
.opt input{margin:4px 0 0;width:20px;height:20px;flex:none;accent-color:var(--cobalt)}
.opt-text{display:flex;flex-direction:column;min-width:0}
.opt-label{overflow-wrap:anywhere}
.opt-sub{color:var(--ash);font-size:13px;line-height:1.6;margin-top:2px}

.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn{font:400 16px/1 var(--sans);padding:15px 22px;border-radius:32px;cursor:pointer;min-height:48px}
.btn-primary{background:var(--cobalt);color:#fff;border:0;flex:1 1 160px}
.btn-ghost{background:transparent;color:var(--ivory);border:1px solid var(--ivory)}
.card>.btn-primary{width:100%}
.card>.btn-ghost{display:block;margin:12px 0 4px}

/* 結果 */
.rows{list-style:none;margin:0;padding:0}
.row{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-top:1px solid var(--slate)}
.row:last-child{border-bottom:1px solid var(--slate)}
.row-kind{font-size:13px;color:var(--ash)}
.row-part{font-weight:500}
.row-layer{font-size:15px}
.row-note{font-size:13px;color:var(--ash);line-height:1.7}
.layer-help{margin-top:16px;font-size:14px;color:var(--ash)}
.body p{margin:0 0 12px}
.third{padding:14px 0;border-top:1px solid var(--slate)}
.third p{margin:0 0 4px;font-size:15px}
.tasks{margin:0;padding-left:1.4em}
.tasks li{margin:0 0 12px}
.memo{margin-top:8px}
.memo-text{width:100%;background:var(--canvas);color:var(--ivory);border:1px solid var(--slate);border-radius:12px;padding:12px;font:400 13px/1.7 var(--mono);resize:vertical}

.err{margin:16px 0 0;padding:12px 16px;border-left:3px solid var(--ivory);background:var(--raise);border-radius:4px}
.ok{margin:12px 0 0;color:var(--ash)}
.code{display:block;font:400 12px/1.6 var(--mono);color:var(--ash);margin-top:4px}
.offscreen{position:fixed;left:-9999px;top:0}

.foot{color:var(--ash);font-size:12px;line-height:1.8;padding-top:32px;padding-bottom:48px}
.foot p{margin:0 0 6px}
[hidden]{display:none!important}
.others-title{margin-top:24px}
.cardimg{margin-top:8px}
.card-canvas{display:block;width:100%;max-width:432px;height:auto;margin:12px 0 0;border-radius:12px;border:1px solid var(--slate)}
a.btn{display:inline-block;text-decoration:none;text-align:center;line-height:1}
.card-text{margin-top:12px;padding:12px 16px;border-left:2px solid var(--slate)}
.card-text p{margin:0 0 8px;font-size:14px}
