/* SabaRoute v6 — diagnosis result view. Ported from the approved v5.1 mockup; tokens live in /v6/base.css. */
/* ---- Layout ---- */
.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(56px,8vw,112px);padding:clamp(20px,4vw,48px) 0 var(--s8);align-items:start}
.aside{position:static}
.main{display:grid;gap:clamp(56px,8vw,112px);min-width:0}

/* ---- Summary header: the verdict is the headline ---- */
.result{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "head" "side";row-gap:var(--s5);align-items:start}
.result-meta{grid-area:meta;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:13px;color:var(--ink-3);padding-bottom:var(--s3);border-bottom:1px solid var(--ink)}
.r-head{grid-area:head}
.result-side{grid-area:side;display:grid;gap:var(--s5)}
.result-domain{font-family:var(--sans-bold);font-weight:700;font-size:clamp(18px,1.8vw,24px);line-height:1.4;letter-spacing:0;word-break:break-all;color:var(--ink-3)}
.verdict{margin-top:var(--s3);font-family:var(--sans-bold);font-weight:900;font-size:clamp(26px,3.4vw,52px);line-height:1.4;letter-spacing:-.01em;color:var(--ink)}
.verdict .v-line{display:block}
.verdict em{font-style:normal;color:var(--act)}
.statuses{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.status{display:grid;grid-template-columns:12px 84px 1fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}
.status .dot{width:10px;height:10px;border-radius:50%;display:block;color:transparent}
.status .dot svg{display:none}
.status[data-s="ok"] .dot{background:var(--ok)} .status[data-s="act"] .dot{background:var(--act)} .status[data-s="chk"] .dot{background:var(--chk)}
.status .name{color:var(--ink-3);font-size:13px}
.status .val{font-family:var(--sans-bold);font-weight:700;font-size:16px}
.status[data-s="act"] .val{color:var(--act)} .status[data-s="chk"] .val{color:var(--chk)}
@media (min-width:1024px){
  .statuses{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-bottom:1px solid var(--ink)}
  .status{grid-template-columns:12px minmax(0,1fr);grid-template-areas:"dot name" ". val";gap:4px 12px;align-items:start;padding:20px 24px 20px 0;border-bottom:0}
  .status+.status{padding-left:24px;border-left:1px solid var(--line)}
  .status .dot{grid-area:dot;margin-top:.5em}
  .status .name{grid-area:name}
  .status .val{grid-area:val;font-size:19px;line-height:1.5}
}
.progress-label{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);margin-bottom:6px}
.progress-label b{font-family:var(--sans-bold);color:var(--ink)}
.bar{height:3px;border-radius:0;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:0;transition:width 500ms var(--ease)}
.progress-note{font-size:12px;color:var(--ink-3);margin-top:6px;line-height:1.6}
.next{display:grid;gap:var(--s2)}
.next small{display:block;font-size:12px;color:var(--ink-3)}
.next strong{display:block;font-size:clamp(18px,1.8vw,24px);line-height:1.5;margin-bottom:var(--s2)}
@media (min-width:1024px){
  .next{grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s5);align-items:center}
  .next h2,.next strong{grid-column:1;margin:0}
  .next a.btn{grid-column:2;grid-row:1/3;width:auto;min-width:240px;min-height:60px;font-size:16px}
  .utils{justify-content:flex-start}
}
.utils{display:flex;gap:var(--s2)}
.reveal .status{animation:rowIn 420ms var(--ease) both}
.reveal .status:nth-child(1){animation-delay:150ms}.reveal .status:nth-child(2){animation-delay:300ms}.reveal .status:nth-child(3){animation-delay:450ms}.reveal .status:nth-child(4){animation-delay:600ms}
.reveal .status .dot{animation:pop 360ms var(--ease) both}
.reveal .status:nth-child(1) .dot{animation-delay:300ms}.reveal .status:nth-child(2) .dot{animation-delay:450ms}.reveal .status:nth-child(3) .dot{animation-delay:600ms}.reveal .status:nth-child(4) .dot{animation-delay:750ms}
@keyframes rowIn{from{opacity:0;transform:translateY(6px)}}
@keyframes pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1)}}

/* ---- Alert ---- */
.alert{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);padding:var(--s4) var(--s4) var(--s4) var(--s4);border-radius:0;background:var(--act-soft);border:0;border-left:4px solid var(--act)}
.alert-icon{width:36px;height:36px;border-radius:0;background:var(--act);color:#fff;display:grid;place-items:center}
.alert h2{font-size:clamp(20px,2vw,28px);line-height:1.4;color:var(--ink)}
.alert p{color:var(--ink-2);font-size:16px;margin-top:6px}
.alert .acts{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}
.alert .btn:not(.ghost){background:var(--ink);color:var(--bg)}
.alert .btn:not(.ghost):hover{background:var(--act);color:#fff}

/* ---- Route map: light panel, ruled ---- */
.map-card{--m-fg:var(--ink);--m-dim:var(--ink-3);--m-line:var(--line);--m-dns:var(--r-dns);--m-web:var(--r-web);--m-mail:var(--r-mail);background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-top:2px solid var(--ink);border-radius:0;overflow:hidden}
.tabs-wrap{padding:var(--s4) var(--s5) 0}
.tabs-label{display:block;font-size:12px;color:var(--ink-3);font-family:var(--sans-bold);font-weight:700;letter-spacing:.14em;margin-bottom:var(--s2)}
.tabs{display:flex;gap:var(--s2);flex-wrap:wrap}
.tab{--tc:var(--ink);display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);background:transparent;padding:8px 16px;border-radius:0;font-size:15px;font-family:var(--sans-bold);font-weight:700;color:var(--ink-2);white-space:nowrap;min-height:44px;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
.tab::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--tc);flex:none}
.tab[data-state="after"]{--tc:var(--accent)}
.tab[data-state="cancel"]{--tc:var(--act)}
.tab:hover{border-color:var(--ink);color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.tab[aria-selected="true"]::before{background:var(--bg)}
.variant{display:none;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:var(--s3) var(--s5) 0;font-size:13px;color:var(--ink-2)}
.variant.on{display:flex}
.seg{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:0;width:fit-content;max-width:100%;overflow-x:auto}
.seg button{border:0;background:transparent;padding:6px 12px;border-radius:0;font-size:13px;color:var(--ink-2);white-space:nowrap;min-height:36px}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);font-family:var(--sans-bold);font-weight:700}
.map{position:relative;display:grid;grid-template-columns:1fr 1fr 1.15fr;grid-template-rows:auto auto;column-gap:72px;row-gap:var(--s4);padding:var(--s6) var(--s5)}
.map svg.wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.wire{fill:none;stroke-width:2.5;stroke-linecap:round;transition:stroke 400ms,opacity 400ms}
.wire[data-route="dns"]{stroke:var(--m-dns)} .wire[data-route="web"]{stroke:var(--m-web)} .wire[data-route="mail"]{stroke:var(--m-mail)}
.wire.faded{opacity:.25}
.wire.broken{stroke:var(--act);stroke-dasharray:3 8 !important;stroke-dashoffset:0 !important;opacity:.9}
.node{position:relative;z-index:1;background:var(--bg);border:1px solid var(--line-strong);border-radius:0;padding:14px 16px;min-width:0;transition:opacity 400ms,border-color 400ms,background 400ms}
.node[data-node="domain"],.node[data-node="dns"]{grid-row:1/3;align-self:center}
.node[data-node="web"]{grid-column:3;grid-row:1}.node[data-node="mail"]{grid-column:3;grid-row:2}
.node .role{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);margin-bottom:4px;flex-wrap:wrap}
.node .role i{width:10px;height:10px;border-radius:50%;display:inline-block}
.node .role .conf{font-size:11px;padding:0 6px;margin-left:auto}
.node .role .conf:empty{display:none}
.node[data-node="domain"] .role i{background:var(--ink)} .node[data-node="dns"] .role i{background:var(--r-dns)}
.node[data-node="web"] .role i{background:var(--r-web)} .node[data-node="mail"] .role i{background:var(--r-mail)}
.node .nm{display:block;font-family:var(--sans-bold);font-weight:700;font-size:17px;line-height:1.45;color:var(--ink)}
.node .sub{display:block;font-size:12.5px;color:var(--ink-3);line-height:1.6;margin-top:2px}
.node.down{opacity:.6;border-style:dashed;background:var(--surface-2)}
.node.alarm .sub{color:var(--act);font-family:var(--sans-bold);font-weight:700}
.node.moved{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.flash{animation:flash 900ms var(--ease)}
@keyframes flash{0%{background:var(--accent-soft)}100%{background:var(--bg)}}
.cut{position:absolute;z-index:2;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--act);color:#fff;display:grid;place-items:center;transform:scale(0);transition:transform 300ms var(--ease)}
.cut svg{width:16px;height:16px;stroke-width:3}
.cut.on{transform:scale(1)}
.map-caption{border-top:1px solid var(--line);padding:var(--s4) var(--s5);display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start}
.map-caption .badge{font-size:12px;font-family:var(--sans-bold);font-weight:700;padding:4px 10px;border-radius:0;border:1px solid var(--line-strong);background:transparent;color:var(--ink-2);white-space:nowrap;margin-top:3px}
.map-caption[data-state="after"] .badge{color:var(--ok);border-color:var(--ok)}
.map-caption[data-state="cancel"] .badge{color:var(--act);border-color:var(--act)}
.map-caption h3{font-size:clamp(18px,1.8vw,22px);line-height:1.55;color:var(--ink)}
.map-caption p{font-size:14.5px;color:var(--ink-2);margin-top:4px}
.map-caption .cap-chk{font-size:13px;color:var(--ink);margin-top:var(--s2);padding:8px 12px;border-radius:0;background:var(--chk-soft)}
.map-caption .cap-chk:empty{display:none}
.legend{display:flex;gap:var(--s4);flex-wrap:wrap;font-size:12px;color:var(--ink-3);padding:0 var(--s5) var(--s4)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:18px;height:3px;border-radius:2px;display:inline-block}

/* ---- Tasks: big numerals, hairline rows ---- */
.tasks{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);counter-reset:task}
.phase{display:flex;align-items:center;gap:var(--s2);margin:0;padding:var(--s4) 0 var(--s2);font-size:12px;letter-spacing:.14em;color:var(--ink-3);font-family:var(--sans-bold);font-weight:700;border-bottom:1px solid var(--line)}
.phase::after{content:"";flex:1}
.task{position:relative;display:grid;grid-template-columns:clamp(64px,9vw,136px) minmax(0,1fr) 44px;column-gap:clamp(12px,2vw,24px);align-items:start;padding:0;border-bottom:1px solid var(--line);counter-increment:task;transition:opacity 300ms}
.task::before{content:counter(task);grid-column:1;grid-row:1;padding-top:26px;font:900 clamp(44px,6.4vw,96px)/1 var(--sans-bold);color:#c9c5ba;transition:color 300ms}
.task::after{display:none}
.task.current::before{color:var(--accent)}
.task.done::before{color:var(--ok)}
.task.done{opacity:.55}
.check{position:relative;grid-column:3;grid-row:1;width:44px;height:44px;margin-top:30px}
.check input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.check span{position:absolute;inset:0;border-radius:0;border:1.5px solid var(--ink);background:transparent;display:grid;place-items:center;font-size:0;color:transparent;transition:background var(--t-fast),border-color var(--t-fast)}
.check span svg{position:absolute;width:22px;height:22px;stroke:#fff;stroke-width:3;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset 300ms var(--ease) 80ms}
.check input:checked+span{background:var(--ok);border-color:var(--ok)}
.check input:checked+span svg{stroke-dashoffset:0}
.check input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.check input:hover+span{border-color:var(--accent)}
.task-box{grid-column:2;grid-row:1;background:transparent;border:0;border-radius:0;padding:28px 0 36px;scroll-margin-top:72px}
.task.current .task-box{box-shadow:none}
.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);padding-top:0}
.task-head h3{font-size:clamp(22px,2.4vw,34px);line-height:1.4;letter-spacing:-.01em}
.task.done .task-head h3{color:var(--ink-3)}
.head-acts{display:flex;gap:var(--s3);flex:none}
.undo-btn{display:none}
.task.done .undo-btn{display:inline}
.meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.task-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows 450ms var(--ease),opacity 300ms,visibility 0s}
.task-body>div{overflow:hidden;min-height:0}
.task:not(.open) .task-body{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 450ms var(--ease),opacity 300ms,visibility 0s 450ms}
.task.open .task-body{grid-template-rows:1fr;opacity:1;visibility:visible}
.task-body .inner{padding-top:var(--s4);display:grid;gap:var(--s4);font-size:16px;color:var(--ink-2)}
.order{border-left:3px solid var(--act);background:var(--act-soft);padding:12px 16px;border-radius:0 var(--rm) var(--rm) 0;font-size:14px;color:var(--ink)}
.order ol{margin:6px 0 0;padding-left:1.4em}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:var(--s4) var(--s5);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));font-size:16px;color:var(--ink)}
.steps>li{display:block;padding-top:14px;border-top:1px solid var(--line-strong)}
.steps .how{display:block;font:400 14.5px/1.8 var(--sans);color:var(--ink-2);margin-top:6px}
.mini{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}
.mini li{display:flex;gap:8px;align-items:flex-start}
.mini li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ink-3);margin-top:.7em}
.offer{border:1px solid var(--line);border-radius:var(--rm);padding:var(--s3);display:grid;gap:12px;background:var(--surface)}
.offer-top{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap}
.offer-top strong{font-size:16px;color:var(--ink)}
.why{display:grid;gap:6px;font-size:14px}
.why div{display:flex;gap:8px;align-items:flex-start}
.why svg{color:var(--ok);margin-top:3px}
.date-in{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;font-size:13px;color:var(--ink-3)}
.date-in input{font:inherit;font-family:var(--mono);font-size:14px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:var(--rs);background:var(--surface);color:var(--ink);min-height:36px}
.date-in output{font-family:var(--sans-bold);font-weight:700;color:var(--ink)}
/* DNS options */
.opts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
.opt{border:1px solid var(--line);border-radius:var(--rm);padding:var(--s3);background:var(--surface);display:grid;gap:6px;align-content:start;font-size:14px}
.opt h4{font-size:15px;line-height:1.5;color:var(--ink)}
.opt .k{font-size:12px;color:var(--ink-3);font-family:var(--sans-bold);font-weight:700}
.opt a{font-size:13px}
/* DNS records */
.records{border:1px solid var(--line);border-radius:var(--rm);overflow:hidden}
.records-cap{padding:10px 12px;font-size:13px;color:var(--ink-2);background:var(--surface-2);border-bottom:1px solid var(--line)}
.records table{width:100%;border-collapse:collapse;font-size:13px}
.records th,.records td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.records thead th{font-size:12px;color:var(--ink-3);background:var(--surface);font-family:var(--sans-bold);font-weight:700}
.records tr:last-child td{border-bottom:0}
.records td.v{font-family:var(--mono);font-size:12.5px;color:var(--ink);word-break:break-all}
.records td.v .how{display:block;font-family:var(--sans);font-size:12.5px;color:var(--ink-3)}
.records td.v.unk{font-family:var(--sans);color:var(--ink-3)}
.records td.t{font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.records td.s{white-space:nowrap;width:1%}
.records td.s .in{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.rc{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:var(--rs);background:var(--surface);color:var(--ink-2)}
.rc:hover{color:var(--accent);border-color:var(--accent)}
.rc[aria-disabled="true"]{border-style:dashed;color:var(--ink-3)}
.records-foot{padding:10px 12px;background:var(--surface-2);font-size:12px;color:var(--ink-3);border-top:1px solid var(--line)}
.records-foot b{color:var(--ink-2)}
.rec-msg{font-size:12.5px;color:var(--chk);min-height:0}
.rec-msg:empty{display:none}
.gate{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:12px 16px;border-radius:var(--rm);background:var(--chk-soft);color:var(--ink)}
.gate svg{color:var(--chk);margin-top:2px}
.gate small{display:block;font-size:12px;color:var(--ink-3);margin-bottom:2px}
.lock{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:12px 16px;border-radius:var(--rm);background:var(--surface-2);color:var(--ink-2)}
.lock.ready{background:var(--ok-soft);color:var(--ink)}
.lock.ready svg{color:var(--ok)}

/* ---- Facts ---- */
.facts-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}
.facts{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;margin:0}
.fact{display:grid;grid-template-columns:200px 1fr auto;gap:var(--s3);padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.fact:last-child{border-bottom:0}
.fact dt{font-size:13px;color:var(--ink-3);padding-top:2px}
.fact dd{margin:0;min-width:0}
.fact .res{font-family:var(--sans-bold);font-weight:700;font-size:clamp(17px,1.6vw,21px);line-height:1.5}
.fact .plain{display:block;font-size:14.5px;color:var(--ink-2);margin-top:4px}
.fact .ev{display:none;font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-top:6px;word-break:break-all;padding:6px 10px;background:var(--surface-2);border-radius:var(--rs)}
.facts.show-ev .ev{display:block}
.fact>.conf{justify-self:end}
.facts-foot{padding:var(--s3) 0;background:transparent;font-size:13px;color:var(--ink-3)}

/* ---- Consult ---- */
.consult{background:transparent;border:0;border-top:1px solid var(--ink);border-radius:0;padding:var(--s4) 0 0;display:grid;gap:var(--s3)}
.letter{white-space:pre-wrap;font-size:14px;line-height:1.85;background:var(--surface-2);border-radius:0;padding:var(--s3);color:var(--ink);max-height:300px;overflow:auto}
.limits{font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:var(--s3)}


.dock{display:none}

/* ---- Sticky next-action bar (appears after scrolling) ---- */
.dock{display:flex;position:fixed;left:0;right:0;top:0;z-index:20;gap:16px;align-items:center;padding:10px var(--pad);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transform:translateY(-100%);transition:transform 300ms var(--ease)}
.dock.show{transform:none}
.dock .txt{flex:1;min-width:0}
.dock small{display:inline;font-size:12px;color:var(--ink-3);margin-right:12px}
.dock strong{display:inline;font-size:15px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock .count{font-family:var(--mono);font-size:13px;color:var(--ink-2)}

/* ---- Responsive ---- */
@media (max-width:1023px){
  .result{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "head" "side"}
  .dock .txt{display:grid}
  .dock small{display:block;margin:0}
  .dock strong{display:block}
}
@media (max-width:720px){
  .map{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;column-gap:12px;row-gap:44px;padding:var(--s5) var(--s3)}
  .tabs-wrap{padding:var(--s3) var(--s3) 0}
  .variant{padding:var(--s3) var(--s3) 0}
  .node[data-node="domain"]{grid-column:1/3;grid-row:1;justify-self:center;width:min(260px,100%)}
  .node[data-node="dns"]{grid-column:1/3;grid-row:2;justify-self:center;width:min(260px,100%)}
  .node[data-node="web"]{grid-column:1;grid-row:3}.node[data-node="mail"]{grid-column:2;grid-row:3}
  .node{padding:12px}
  .node .nm{font-size:14px}
  .node .role .conf{margin-left:0}
  .map-caption{grid-template-columns:1fr;padding:var(--s3);gap:var(--s2)}
  .map-caption .badge{justify-self:start}
  .legend{padding:0 var(--s3) var(--s3);gap:var(--s2) var(--s3)}
  .task{grid-template-columns:44px minmax(0,1fr) 40px;column-gap:10px}
  .task::before{font-size:40px;padding-top:22px}
  .check{width:40px;height:40px;margin-top:20px}
  .task-box{padding:18px 0 22px}
  .task-head{flex-direction:column;gap:4px}
  .task-head h3{font-size:20px}
  .opts{grid-template-columns:1fr}
  .records thead{display:none}
  .records tr{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;padding:10px 12px;border-bottom:1px solid var(--line)}
  .records tr:last-child{border-bottom:0}
  .records td{border:0;padding:0}
  .records td.t{grid-column:1;grid-row:1}
  .records td.n{grid-column:2;grid-row:1;color:var(--ink-3)}
  .records td.s{grid-column:3;grid-row:1/3;align-self:center;width:auto}
  .records td.v{grid-column:1/3;grid-row:2}
  .fact{grid-template-columns:1fr auto;gap:4px var(--s2);padding:16px 0}
  .fact dt{grid-column:1}
  .fact>.conf{grid-column:2;grid-row:1}
  .fact dd{grid-column:1/3}
  .alert{grid-template-columns:1fr;padding:var(--s3)}
  .alert h2{font-size:19px}
  .status{grid-template-columns:12px 72px 1fr}
}


/* ---- v6 additions (parts of the real result the mockup did not draw) ---- */
.v6-result { flex: 1 0 auto; width: 100%; }
.v6-result .layout { width: min(1360px, 100% - 2 * var(--pad)); }
.next .next-sum { font-size: 13px; line-height: 1.7; color: var(--ink-2); margin: -4px 0 12px; }
.hold { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 12.5px; line-height: 1.7; color: var(--ink-2); }
.hold .icon { margin-top: 3px; color: var(--ink-3); }
.hold b { display: block; font-size: 12px; color: var(--ink-3); }
.hold ul { margin: 2px 0 0; padding-left: 1.2em; }
.alert.conflict, .alert.act { background: var(--act-soft); border-color: color-mix(in srgb, var(--act) 28%, transparent); }
.alert.chk { background: var(--chk-soft); border-color: color-mix(in srgb, var(--chk) 28%, transparent); }
.alert.chk .alert-icon { background: var(--chk); }
.alert.conflict p + p { margin-top: 4px; }
.alert .btn.ghost { color: var(--ink); }
.alert.chk .btn:not(.ghost) { background: var(--chk); color: #fff; }
.legend i.lg-dns { background: var(--m-dns); }
.legend i.lg-web { background: var(--m-web); }
.legend i.lg-mail { background: var(--m-mail); }
.legend i.lg-unk { background: transparent; border-top: 3px dashed var(--ink-3); height: 0; }
.wire.unconfirmed { stroke-dasharray: 6 8 !important; }
.note-box { border-left: 3px solid var(--line-strong); background: var(--surface-2); padding: 10px 14px; border-radius: 0 var(--rm) var(--rm) 0; font-size: 13.5px; color: var(--ink-2); }
.note-box b { display: block; font-size: 12px; color: var(--ink-3); }
.order p { margin-top: 2px; }
.order b { display: block; }
.steps > li > span { display: block; }
.facts-empty { padding: var(--s4); color: var(--ink-2); font-size: 14px; }
.fact .ask { display: grid; gap: 8px; margin-top: 12px; padding: 12px; border-radius: var(--rm); background: var(--surface-2); font-size: 14px; }
.fact .ask small { color: var(--ink-3); font-size: 12px; }
.fact .guided { margin-top: 8px; }
.fact .ev { display: none; }
.facts.show-ev .ev { display: block; }
.v2-answer-options { display: flex; flex-wrap: wrap; gap: var(--s2); }
.v2-answer-options button { min-height: 40px; padding: 8px 14px; border: 1.5px solid var(--line-strong); border-radius: var(--rm); background: var(--surface); color: var(--ink); font: 700 14px/1.3 var(--sans-bold); transition: border-color var(--t-fast), background var(--t-fast); }
.v2-answer-options button:hover { border-color: var(--accent); background: var(--accent-soft); }
.v2-plan-override { margin-top: 10px; font-size: 13px; color: var(--ink-2); }
.v2-plan-override > summary { cursor: pointer; color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; }
.v2-plan-override-body { display: grid; gap: 8px; margin-top: 8px; padding: 12px; border-radius: var(--rm); background: var(--surface-2); }
.consult .seg { margin-bottom: 0; }
.continue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); margin-bottom: var(--s3); }
.continue-card { display: grid; grid-template-columns: 1fr auto; gap: 2px var(--s3); align-items: center; padding: var(--s4); border: 1px solid var(--ink); border-radius: 0; background: transparent; text-align: left; transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.continue-card:hover { background: var(--accent-soft); border-color: var(--accent); }
.cc-title { font-family: var(--sans-bold); font-weight: 700; font-size: 17px; line-height: 1.5; color: var(--ink); }
.cc-sub { grid-column: 1; font-size: 13px; color: var(--ink-3); }
.cc-go { grid-column: 2; grid-row: 1 / 3; font-size: 22px; color: var(--accent); }
.v2-section { margin: 0; }

/* Provider candidates (A8 / official links). Markup and link attributes are unchanged. */
.v2-provider-candidates { display: grid; gap: var(--s3); }
.v2-provider-candidates > h2 { font-family: var(--sans-bold); font-weight: 900; font-size: clamp(28px, 3.4vw, 48px); line-height: 1.25; letter-spacing: -.01em; }
.v2-provider-candidates > .v2-kicker { margin-bottom: 0; }
.v2-provider-intro { color: var(--ink-2); font-size: 15px; }
.v2-affiliate-disclosure { display: flex; gap: var(--s3); align-items: flex-start; padding: 12px 0; border-radius: 0; background: transparent; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.7; color: var(--ink); }
.v2-affiliate-disclosure p { color: var(--ink-2); }
.v2-ad-badge { flex: none; display: inline-flex; align-items: center; font: 700 11px/1.5 var(--sans-bold); padding: 1px 8px; border-radius: 0; background: transparent; color: var(--ink-3); border: 1px solid var(--line-strong); }
.v2-provider-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); }
.v2-provider-card { display: grid; gap: var(--s3); align-content: start; padding: var(--s4) 0 0; border: 0; border-top: 1px solid var(--ink); border-radius: 0; background: transparent; }
.v2-provider-card.selected { border-top: 3px solid var(--accent); }
.v2-provider-card-head { display: flex; gap: var(--s3); align-items: center; }
.v2-provider-card-head strong { display: block; font-size: 16px; line-height: 1.4; }
.v2-provider-context { display: inline-block; margin-top: 2px; font-size: 12px; color: var(--ink-3); }
.v2-provider-context.considering, .v2-provider-context.contracted { color: var(--accent); font-family: var(--sans-bold); font-weight: 700; }
.v2-provider-features { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; font-size: 14px; color: var(--ink-2); }
.v2-provider-check { font-size: 13px; color: var(--ink-2); padding: 10px 12px; border-radius: 0; background: var(--surface-2); }
.v2-provider-check strong { display: block; font-size: 12px; color: var(--ink-3); }
.v2-provider-links { display: grid; gap: 4px; font-size: 13px; }
.v2-provider-links strong { font-size: 12px; color: var(--ink-3); }
.v2-provider-reviewed { color: var(--ink-3); font-size: 12px; }
.v2-provider-card-actions { display: grid; gap: var(--s2); align-self: end; }
.v2-provider-select { min-height: 44px; border: 1px solid var(--ink); border-radius: 0; background: transparent; font: 700 14px/1.3 var(--sans-bold); }
.v2-provider-select:hover { background: var(--ink); color: var(--bg); }
.v2-provider-site-cta, .v2-provider-affiliate-cta { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 8px 14px; border-radius: 0; background: var(--ink); color: var(--bg); font: 700 14px/1.4 var(--sans-bold); text-decoration: none; text-align: center; transition: background var(--t-fast); }
.v2-provider-site-cta:hover, .v2-provider-affiliate-cta:hover { background: var(--accent); color: var(--accent-ink); }
.v2-provider-affiliate-cta { padding: 0; }
.v2-provider-affiliate-cta a { display: flex; align-items: center; justify-content: center; flex: 1; align-self: stretch; min-height: 48px; padding: 8px 14px; color: inherit; font-weight: 700; text-decoration: none; }
.v2-provider-site-cta.contracted { background: transparent; color: var(--ink); border: 1px solid var(--ink); }

@media (max-width: 1023px) {
  .v2-provider-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .v2-provider-card-grid, .continue-grid { grid-template-columns: 1fr; }
  .v2-provider-candidates > h2 { font-size: 28px; }
}

/* ---- chips and small parts added with the findings rewrite ---- */
.next .next-h { display: block; font-size: 12px; font-family: var(--sans); font-weight: 400; color: var(--ink-3); margin-bottom: 2px; }
.status .val small.chip-line { display: block; font-size: 11px; font-family: var(--sans); font-weight: 400; color: var(--ink-3); margin-top: 1px; }
.exit-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; }
.exit-counts div { background: transparent; border: 1px solid var(--line-strong); border-radius: 0; padding: 8px 10px; }
.exit-counts dt { font-size: 11px; line-height: 1.5; color: var(--ink-3); }
.exit-counts dd { margin: 0; font-family: var(--sans-bold); font-weight: 700; font-size: 20px; }
.plan-tag { vertical-align: 1px; }
.fact .app-lead, .fact .app-note { margin-top: 6px; }
.fact .mini { margin-top: 8px; }
@media (max-width: 720px) {
  .exit-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.next h2 { display: block; font-size: 12px; font-family: var(--sans); font-weight: 400; color: var(--ink-3); margin-bottom: 2px; }
.plan-headline { margin-top: var(--s2); padding: 10px 14px; border-left: 3px solid var(--accent); background: var(--accent-soft); border-radius: 0 var(--rm) var(--rm) 0; font-size: 14px; color: var(--ink); }

/* ---- folded plan text inside findings ---- */
.fact-more { margin-top: 8px; }
.fact-more > summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; font-size: 13px; color: var(--ink-3); }
.fact-more > summary::-webkit-details-marker { display: none; }
.fact-more > summary > span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.fact-more > summary::after { content: "＋"; font-size: 12px; }
.fact-more[open] > summary::after { content: "−"; }
.fact-more[open] > summary { margin-bottom: 6px; }
.fact-more > .plain { display: block; margin-top: 4px; }
.utils-note { font-size: 12px; line-height: 1.6; color: var(--ink-3); margin-top: -12px; }

/* ---- print / PDF ---- */
@media print {
  .dock, .toast, .utils, .utils-note, .tabs-wrap, .variant, .head-acts, .seg, .facts-tools .btn, .continue-grid, .acts, .check { display: none !important; }
  html, body { background: #fff; }
  body:has(.dock) { padding-bottom: 0; }
  .layout { grid-template-columns: 1fr; gap: var(--s4); }
  .aside { position: static; }
  .task .task-body { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
  .task { grid-template-columns: 1fr; }
  .task::before, .task::after { display: none; }
  .facts .ev { display: block; }
  .map-card, .task-box, .facts, .consult, .result, .alert { break-inside: avoid; }
}

/* ---- v6.1: one-screen summary card, short task checks, quiet findings ---- */
.todo-progress { min-width: 160px; }
.next h2 { margin-bottom: 2px; }
.next strong { margin-bottom: 10px; }
.task-lead { color: var(--ink); font-size: 17px; }
.steps .how { line-height: 1.7; }
.hold-line { font-size: 13px; color: var(--ink-3); border-top: 1px dashed var(--line-strong); padding-top: 10px; }
.hold-line b { margin-right: 6px; color: var(--ink-2); }
.hold-box { margin-bottom: var(--s3); padding: 12px 16px; border-radius: 0; background: var(--surface-2); font-size: 14px; color: var(--ink-2); }
.hold-box b { display: block; font-size: 13px; color: var(--ink); margin-bottom: 2px; }
.hold-box ul { margin: 0; padding-left: 1.2em; }
.record-note { margin: 0 0 var(--s3); font-size: 12.5px; color: var(--ink-3); }
.task-fold { font-size: 15px; }
.task-fold > summary { cursor: pointer; color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.task-fold > summary::-webkit-details-marker { display: none; }
.task-fold > p, .task-fold > ul { margin-top: 6px; color: var(--ink-2); }
.plan-fold { margin-top: var(--s3); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); background: transparent; }
.plan-fold > summary { padding: 14px 0; cursor: pointer; font: 700 14px/1.6 var(--sans-bold); color: var(--ink-2); list-style: none; }
.plan-fold > summary::-webkit-details-marker { display: none; }
.plan-fold > summary::after { content: "＋"; float: right; font-weight: 400; color: var(--ink-3); }
.plan-fold[open] > summary::after { content: "−"; }
.plan-row { padding: 12px 0; border-top: 1px solid var(--line); display: grid; gap: 4px; font-size: 14px; color: var(--ink-2); }
.plan-head { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.plan-head b { color: var(--ink); }

/* ---- v6.2: clearer steps, service logos, calmer provider cards ---- */
.lead, .plan-headline, .v2-provider-intro, .intro-lead, .task-lead, .fact .plain { text-wrap: pretty; }
.steps { counter-reset: sub; }
.steps > li { counter-increment: sub; }
.steps > li::before { content: counter(sub, decimal-leading-zero); display: block; margin-bottom: 6px; color: var(--accent); font: 700 13px/1 var(--mono); letter-spacing: .08em; }
.steps > li > span:first-child { font-family: var(--sans-bold); font-weight: 700; font-size: 17px; line-height: 1.6; }
.task.current .task-head h3::after { content: "今ここ"; margin-left: 12px; padding: 2px 10px; border-radius: 0; background: var(--accent); color: var(--accent-ink); font: 700 12px/1.6 var(--sans-bold); letter-spacing: .04em; vertical-align: 4px; }
.hold-top { margin: 0 0 var(--s2); font-size: 14px; color: var(--ink-2); }
.hold-top b { margin-right: 8px; color: var(--ink); }
.next a.btn { gap: 8px; }
.answers { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.answers li { display: grid; grid-template-columns: 9em 1fr; gap: var(--s2); }
.answers li span { color: var(--ink-3); }
.answers li b { font-weight: 700; color: var(--ink); }

/* provider logos (restored): each service in its own colour */
.v2-provider-mark { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; flex: none; background: var(--surface-2); color: var(--ink-2); }
.v2-provider-mark svg { width: 22px; height: 22px; fill: currentColor; }
.v2-provider-mark.xserver { background: #fff; color: #0b3a82; box-shadow: inset 0 0 0 1px var(--line-strong); }
.v2-provider-mark.conoha { background: linear-gradient(145deg, #3cc7ee, #1696d6); color: #fff; }
.v2-provider-mark.sakura { background: linear-gradient(145deg, #f27aa5, #e04d85); color: #fff; }
.v2-provider-mark.lolipop { background: #ffd23f; color: #5a3b00; }
.v2-provider-option .v2-provider-mark { width: 32px; height: 32px; border-radius: 8px; }
.v2-provider-option .v2-provider-mark svg { width: 18px; height: 18px; }

/* provider cards: name, one line, one button; the rest is one click away */
.v2-provider-card { gap: var(--s2); padding: var(--s3) 0 0; }
.v2-provider-card-head strong { font-size: 17px; }
.v2-provider-lead { font-size: 14px; line-height: 1.7; color: var(--ink-2); margin: 0; }
.v2-provider-more { font-size: 13px; }
.v2-provider-more > summary { cursor: pointer; color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.v2-provider-more > summary::-webkit-details-marker { display: none; }
.v2-provider-more[open] > summary { margin-bottom: var(--s2); }
.v2-provider-more > * + * { margin-top: var(--s2); }
.v2-provider-intro { font-size: 13.5px; color: var(--ink-3); }
.v2-affiliate-disclosure { font-size: 12.5px; }
.v2-provider-card-grid { gap: var(--s5) var(--s5); }
