/* Mamori full kit pages: extends ../css/site.css (same tokens, light and dark). No external requests. */
.kit-hero{padding:34px 0 8px;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.crumbs{font-size:14px;color:var(--mut);display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--mut)}
.kit-hero h1{font-size:clamp(32px,8.5vw,52px);margin-top:12px}
.kit-hero .sub{margin-top:12px}
.flag{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--line));background:color-mix(in srgb,var(--amber) 12%,var(--panel));font-size:14.5px;font-weight:700;color:var(--fg);max-width:100%}
.flag::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--amber)}
.kit-toc{margin-top:22px;padding:12px 0 4px;border-top:1px solid var(--line)}
.kit-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kit-toc a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 13px;border-radius:99px;border:1px solid var(--line);background:var(--chip);color:var(--fg);text-decoration:none;font-weight:700;font-size:14.5px}
.kit-toc a span{color:var(--mut);font-weight:400;font-size:13px}
.kit-toc a:hover{border-color:var(--head)}
.kit-toc a[aria-current="page"]{background:var(--indigo);border-color:var(--indigo);color:#FAF6EF}
.kit-toc a[aria-current="page"] span{color:#C9D3F5}
.ksec{padding:36px 0}
.ksec+.ksec{border-top:1px solid var(--line)}
.ksec h2{font-size:clamp(26px,6.5vw,36px)}
.ksec h3{font-size:20px;margin-top:22px}
.ksec p,.ksec ul,.ksec ol{margin-top:10px;max-width:46em}
.ksec ul,.ksec ol{padding-left:20px}
.ksec li+li{margin-top:6px}
.note{font-size:14.5px;color:var(--mut)}
.prose a,.kt a{overflow-wrap:anywhere}
.grid2{display:grid;gap:14px;margin-top:20px}
@media (min-width:860px){.grid2{grid-template-columns:1fr 1fr}}
.kcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);min-width:0}
.kcard h3{margin-top:0;font-size:19px}
.kcard p,.kcard ul{margin-top:8px}
.kcard .limit{margin-top:10px}
a.kcard{display:block;text-decoration:none;color:var(--fg)}
a.kcard:hover{border-color:var(--head)}
.kcard .k-n{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.cards{display:grid;gap:14px;margin-top:22px}
@media (min-width:720px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.cards{grid-template-columns:repeat(3,1fr)}}
.figrow{display:grid;gap:18px;margin-top:20px;align-items:start}
@media (min-width:900px){.figrow{grid-template-columns:.8fr 1.2fr}}
.figrow figure{margin:0;min-width:0}
.figrow img{width:100%;height:auto;border-radius:20px;box-shadow:var(--shadow)}
.figrow figcaption{font-size:13.5px;color:var(--mut);margin-top:8px}
.drawing{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:10px}
.drawing svg{width:100%;height:auto}
.drawing .ln{stroke:var(--fg);fill:none;stroke-width:1.6}
.drawing .dim{stroke:var(--mut);stroke-width:1;fill:none}
.drawing .tx{fill:var(--fg);font:600 13px var(--f-body)}
.drawing .tm{fill:var(--mut);font:400 12px var(--f-body)}
.drawing .fab{fill:color-mix(in srgb,#CDC5B7 55%,var(--panel))}
.drawing .oak{fill:color-mix(in srgb,#D0AC7A 70%,var(--panel))}
.drawing .scr{fill:#1B1F2A}
/* tables: real tables on wide screens, stacked rows on phones */
.tscroll{margin-top:18px}
.kt{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.kt th,.kt td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.kt thead th{background:var(--bg2);font-weight:700;color:var(--head);font-size:13.5px}
.kt tbody tr:last-child td,.kt tbody tr:last-child th{border-bottom:0}
.kt tfoot td,.kt tfoot th{background:var(--bg2);font-weight:700;border-top:2px solid var(--line);border-bottom:0}
.kt .kn{text-align:right;min-width:150px}
.kt .kn small{overflow-wrap:anywhere}
.kt small{display:block;color:var(--mut);font-size:12.5px;font-weight:400}
.kt code,.pn{font:600 13.5px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.st{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12.5px;font-weight:700;background:var(--bg2);border:1px solid var(--line)}
.st-ok{border-color:color-mix(in srgb,var(--green) 60%,var(--line))}
.st-to{border-color:color-mix(in srgb,var(--amber) 70%,var(--line))}
.nopx{color:var(--mut);font-style:italic}
@media (max-width:759px){
 .kt:not(.kt2),.kt:not(.kt2) thead,.kt:not(.kt2) tbody,.kt:not(.kt2) tfoot,.kt:not(.kt2) tr,.kt:not(.kt2) th,.kt:not(.kt2) td{display:block}
 .kt:not(.kt2){border:0;background:none;border-radius:0}
 .kt:not(.kt2) thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .kt:not(.kt2) tr{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-top:12px;padding:6px 0;box-shadow:var(--shadow)}
 .kt:not(.kt2) td,.kt:not(.kt2) th{border-bottom:0;padding:6px 14px}
 .kt:not(.kt2) td[data-l]::before{content:attr(data-l);display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
 .kt.rt td:first-child[data-l]::before{display:none}
 .kt:not(.kt2) .kn{text-align:left;white-space:normal}
 .kt:not(.kt2) tfoot tr{background:var(--bg2)}
}
.steps{list-style:none;padding:0!important;margin-top:18px!important;display:grid;gap:12px;max-width:900px!important;counter-reset:st}
.steps>li{counter-increment:st;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px 14px 56px;margin:0!important}
.steps>li::before{content:counter(st);position:absolute;left:14px;top:13px;width:30px;height:30px;border-radius:50%;background:var(--indigo);color:#FAF6EF;font:700 15px/30px var(--f-body);text-align:center}
.steps>li b{color:var(--head)}
.steps>li p{margin-top:4px}
.ktl{list-style:none;padding:0!important;margin-top:20px!important;max-width:none!important;display:grid;gap:0}
.ktl>li{position:relative;padding:0 0 22px 34px;margin:0!important}
.ktl>li::before{content:"";position:absolute;left:8px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--panel);border:3px solid var(--moss)}
.ktl>li::after{content:"";position:absolute;left:14px;top:24px;bottom:0;width:2px;background:var(--line)}
.ktl>li:last-child::after{display:none}
.ktl>li.now::before{background:var(--moss)}
.ktl h3{margin:0;font-size:19px}
.ktl .dur{display:inline-block;margin-top:4px;font-weight:700;font-size:14px;color:var(--accent-ink)}
.ktl p{margin-top:6px}
.srcs{font-size:14px}
.srcs li{overflow-wrap:anywhere}
.pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:26px 0 46px;border-top:1px solid var(--line)}
.pager a{display:inline-flex;flex-direction:column;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);text-decoration:none;color:var(--fg);font-weight:700;max-width:100%}
.pager a span{font-size:12.5px;font-weight:400;color:var(--mut)}
.pager .knext{margin-left:auto;text-align:right}
.gen{font-size:12.5px;color:var(--mut);margin-top:6px}
.certs{display:grid;gap:14px;margin-top:20px;align-items:start}
@media (min-width:980px){.certs{grid-template-columns:1fr 1fr}}
.cdl{margin:10px 0 0;display:grid;gap:4px}
.cdl dt{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-top:8px}
.cdl dd{margin:0;overflow-wrap:anywhere}
.cdl dd ul{margin:4px 0 0;padding-left:18px}
.cdl dd small{display:block;color:var(--mut);font-size:12.5px}
.cdl dl{margin:4px 0 0}
.kit-nav a{font-size:13.5px;padding:7px 9px}
.kit-nav a[aria-current="page"]{background:var(--bg2)}
@media (min-width:900px) and (max-width:1139px){.top .kit-nav{display:none}.top .theme-btn{margin-left:auto}}
.dw2{display:grid;gap:4px;grid-template-columns:332fr 268fr;align-items:start}
@media (max-width:620px){.dw2{grid-template-columns:1fr}.dw2 svg{max-width:340px;margin:0 auto}}
.kt2 td:first-child{width:min(28%,220px);font-weight:700}
:root[data-theme="dark"] .drawing .fab{fill:#3B3F49}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .drawing .fab{fill:#3B3F49}}
@media (min-width:760px){.kt:not(.kt2) td:first-child{min-width:240px;width:30%}}
.kt small.warn{color:var(--accent-ink);font-weight:700}
.kt .same{color:var(--mut);font-style:italic}
.kt small.sofar{font-weight:700;color:var(--fg)}
.kfig{margin:20px 0 0;max-width:1100px}
.kfig img{width:100%;height:auto;border-radius:16px;border:1px solid var(--line);background:#F5F2EC}
.kfig figcaption{font-size:13.5px;color:var(--mut);margin-top:8px}
.rates{margin-top:6px;font-size:13.5px}
.rates summary{cursor:pointer;color:var(--head);font-weight:700}
.rates ul{margin:6px 0 0;padding-left:18px;columns:2 220px}
.kt2 td p{margin:0 0 4px}
.kt b.stk{color:var(--accent-ink)}
.kt small.nul{color:var(--mut)}
.openbox{margin-top:16px;padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));background:color-mix(in srgb,var(--red) 7%,var(--panel));max-width:820px}
.openbox ul{margin:6px 0 0;padding-left:18px}
.openbox li{font-size:14.5px}
/* other cost lines: stack on phones so the fee table gets the full width; the fee table scrolls in its own box if ever wider */
.rates .tscroll{overflow-x:auto;max-width:100%}
@media (max-width:759px){
 #other-costs .kt2,#other-costs .kt2 tbody,#other-costs .kt2 tr,#other-costs .kt2>tbody>tr>td{display:block}
 #other-costs .kt2>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 #other-costs .kt2>tbody>tr{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-top:12px;padding:6px 0;box-shadow:var(--shadow)}
 #other-costs .kt2>tbody>tr>td{width:auto;border-bottom:0;padding:6px 14px}
 #other-costs .kt.rt td{width:auto}
}
