/* Skin for pages that keep their own layout CSS (tools, checker, docs,
   legal, enterprise, start pages and the film). Loaded after the page CSS:
   it maps each page's colour tokens onto the editorial palette and sets
   the shared type. Layout stays with the page. */

body.ed-skin{
  --bg:#faf9f5;--bg-2:#f2f0e8;--bg2:#ffffff;--panel:#ffffff;--panel-s:#ffffff;--panel-2:#f2f0e8;
  --line:#e3e0d5;--line-2:#cfcbbe;--rule:#e3e0d5;--rule-2:#cfcbbe;
  --ink:#141413;--ink-2:#3d3d3a;--ink-3:#6b6a64;--ink2:#141413;--ink3:#3d3d3a;--tx:#141413;--text:#141413;
  --mut:#6b6a64;--muted:#6b6a64;--ns:#6b6a64;
  --gold:#2840c4;--goldl:#2840c4;--goldd:#1e319e;--g:#2840c4;--wine:#2840c4;--plum:#2840c4;--plum-soft:#e8ebf7;
  --acc:#2840c4;--acc-strong:#2840c4;--acc-deep:#2840c4;--acc-soft:#e8ebf7;--acc-line:#b9c3f3;
  --accent:#2840c4;--accent-hover:#1e319e;--accent-soft:#e8ebf7;--accent-line:#b9c3f3;
  --paper:#faf9f5;--surface:#ffffff;--sunk:#f2f0e8;--cream:#faf9f5;--cream2:#f2f0e8;
  --good:#2840c4;--ok:#2840c4;--ok-soft:#e8ebf7;--green:#2840c4;--warn:#3d3d3a;--warn-soft:#f2f0e8;--bad:#141413;--flag:#8f2f1d;--flag-soft:#f6ece6;--warm:#3d3d3a;--warm-soft:#f2f0e8;
  --night:#141413;--night-2:#1f1f1d;--night-ink:#f2f0e8;--night-dim:#c9c6bb;--night-accent:#c3cbff;--night-line:#33332f;
  --nav:rgba(250,249,245,.95);--shadow-rgb:20,20,19;
  --sans:"Hanken Grotesk","Klype Sans Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4","Klype Serif Fallback",Georgia,"Times New Roman",serif;
  background:var(--paper)!important;background-image:none!important;color:var(--ink);
  font-family:var(--sans)!important;color-scheme:light;
}
.ed-skin h1,.ed-skin h2,.ed-skin h3,.ed-skin h4{font-family:var(--sans)!important;color:var(--ink);letter-spacing:-.015em}
.ed-skin h1{font-weight:700}
.ed-skin h1 .it,.ed-skin h1 em,.ed-skin h2 em,.ed-skin h1 span{font-family:inherit!important;font-style:normal;color:inherit}
.ed-skin .lede,.ed-skin .sub,.ed-skin .a-dek{font-family:var(--serif)!important;color:var(--ink-2)}
.ed-skin a{text-underline-offset:3px}
.ed-skin textarea,.ed-skin input[type=text],.ed-skin input[type=email],.ed-skin input[type=url],.ed-skin input[type=search],.ed-skin input:not([type]),.ed-skin select{background:#fff!important;color:var(--ink)!important;border:1px solid var(--rule-2)!important;color-scheme:light}
.ed-skin textarea:focus,.ed-skin input:focus,.ed-skin select:focus{outline:2px solid var(--accent)!important;outline-offset:1px}
.ed-skin .btn,.ed-skin .button,.fam-start a.cta{background:var(--ink);color:var(--paper)!important;border:1px solid var(--ink);border-radius:999px;font-family:var(--sans);box-shadow:none}
.ed-skin .btn:hover,.ed-skin .button:hover{background:#2c2c2a}
.ed-skin .btn.ghost,.ed-skin .btn-quiet,.ed-skin .btn.btn-line{background:transparent;color:var(--ink)!important;border:1px solid var(--rule-2)}
.ed-skin .btn-primary,.ed-skin .btn.btn-blue{background:var(--accent);border-color:var(--accent);color:#fff!important}
.ed-skin .eyebrow,.ed-skin .badge,.ed-skin .micro{letter-spacing:0;text-transform:none;color:var(--mute);font:500 13px/1.4 var(--sans)}
.ed-skin pre{background:var(--ink)!important;color:#e9e7df!important;border:0!important;border-radius:8px}
.ed-skin pre code{color:inherit!important}
.ed-skin code{font-family:var(--mono)}
.ed-skin :not(pre)>code{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:0 4px;font-size:.88em;color:var(--ink)}

/* ---------- Tools and checker pages (fam-tool) ---------- */
.fam-tool>.wrap{max-width:1040px;width:auto;padding:0 24px;margin:0 auto}
.fam-tool main{padding:56px 0 24px}
.fam-tool main>.crumbs{font:500 13px/1.4 var(--sans);color:var(--mute)}
.fam-tool main h1{font-size:clamp(34px,4.6vw,54px);line-height:1.08;max-width:820px;margin:8px 0 18px}
.fam-tool .lede{font-size:20px;line-height:1.5;max-width:680px;color:var(--ink-2)}
.fam-tool .box{background:#fff;border:2px solid var(--ink);border-radius:10px;padding:20px}
.fam-tool .box textarea{background:var(--paper)!important;min-height:200px;border-radius:6px;font:400 16px/1.6 var(--serif)}
.fam-tool .meta{color:var(--mute);font-family:var(--sans)}
.fam-tool .num{font-family:var(--sans);font-variant-numeric:tabular-nums}
.fam-tool .ok{color:var(--accent)}.fam-tool .mid{color:var(--ink-2)}.fam-tool .low{color:var(--ink)}
.fam-tool .find{border-top:1px solid var(--rule)}
.fam-tool .find p{color:var(--ink-2)}
.fam-tool .find q{color:var(--ink);border-left:2px solid var(--accent);font-family:var(--serif);font-size:15px}
.fam-tool .upsell,.fam-tool .cta,.fam-tool .next{background:var(--paper-2)!important;border:1px solid var(--rule)!important;border-radius:8px}
.fam-tool .upsell b{color:var(--ink)}
.fam-tool section{border-top:1px solid var(--rule)}
.fam-tool section h2{font-size:26px}
.fam-tool article p,.fam-tool article li,.fam-tool section>p,.fam-tool section li,.fam-tool details p{color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.6}
.fam-tool .card{background:#fff;border:1px solid var(--rule);border-radius:8px;transition:border-color .15s,background-color .15s}
.fam-tool a.card:hover,.fam-tool .card:hover{border-color:var(--ink)}
.fam-tool .card p{color:var(--ink-2)}
.fam-tool details{border-top:1px solid var(--rule)}
.fam-tool summary{font-family:var(--sans)}
.fam-tool .tbl{border:0;border-radius:0}
.fam-tool .tbl thead th{background:transparent;color:var(--mute);border-bottom:1px solid var(--ink)}
.fam-tool td,.fam-tool th{color:var(--ink)}
.fam-tool .pair div{background:#fff;color:var(--ink)}
.fam-tool .pair b{color:var(--mute)}
.fam-tool .share input[type=text]{background:var(--paper)!important}

/* ---------- Docs and legal (fam-doc): article frame ---------- */
.fam-doc>.wrap{max-width:none;width:auto;padding:0}
.doc-page .a-intro{max-width:var(--measure);margin:18px auto 0;font:400 15px/1.55 var(--sans);color:var(--mute)}
.doc-page .a-intro .a-dek{font-size:20px;margin-top:4px}
.doc-page .a-intro p+p{margin-top:8px}
.doc-page .a-intro .domain-line{font-size:14px}
.doc-page .body section{margin:0}
.doc-page .body section+section,.doc-page .body section>*+*{margin-top:20px}
.doc-page .body pre{padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto;max-width:100%}
.doc-page .body table{font:400 14px/1.45 var(--sans);width:100%;border-collapse:collapse}
.doc-page .body th,.doc-page .body td{border:0;border-bottom:1px solid var(--rule);color:var(--ink);padding:10px 12px 10px 0;text-transform:none;letter-spacing:0}
.doc-page .body thead th{color:var(--mute);font-size:13px;border-bottom:1px solid var(--ink)}
.doc-page .body .tbl{overflow-x:auto}
.doc-page .body .ep{border-top:1px solid var(--rule);padding-top:8px}
.doc-page .body .tag{font:600 11px/1 var(--sans);border:1px solid var(--rule-2);border-radius:999px;padding:3px 8px;color:var(--ink);vertical-align:2px}
.doc-page .body .meta{font:400 14px/1.5 var(--sans);color:var(--mute)}
.doc-page .body h3{font-size:19px}
.doc-page .body h3 code{font-size:.85em}
.doc-page .body .copy-btn,.doc-page .body button{font-family:var(--sans)}
@media (max-width:1099px){.doc-page .a-intro{margin-left:0}}

/* ---------- Enterprise pages (dark originals and light course pages) ---------- */
.fam-ent .topnav,.fam-ent-light .topnav{position:static!important;background:var(--paper)!important;backdrop-filter:none!important;border-bottom:1px solid var(--rule)!important;box-shadow:none!important}
.fam-ent .topnav .wrap,.fam-ent-light .topnav .wrap{min-height:52px}
.fam-ent .topnav .brand,.fam-ent-light .topnav .brand{font:600 14px/1.2 var(--sans);color:var(--ink)}
.fam-ent .topnav .brand .logo,.fam-ent-light .topnav .brand .logo{display:none}
.fam-ent .topnav .links a,.fam-ent-light .topnav .links a{font:500 13px/1.2 var(--sans);color:var(--ink);border:1px solid var(--rule);background:var(--paper-2);border-radius:999px;padding:6px 12px;text-decoration:none}
.fam-ent .topnav .links a.su{background:var(--accent);border-color:var(--accent);color:#fff}
.fam-ent section,.fam-ent .band,.fam-ent .hero,.fam-ent main{background-color:transparent;background-image:none!important}
.fam-ent .ink,.fam-ent .dark,.fam-ent .night{background:var(--ink)!important;color:var(--paper)}
.fam-ent [class*=card],.fam-ent [class*=panel],.fam-ent .win,.fam-ent .plan,.fam-ent .tile,.fam-ent .box{background:#fff!important;border-color:var(--rule)!important;box-shadow:none!important;backdrop-filter:none!important}
.fam-ent p,.fam-ent li{color:inherit}
.fam-ent .slim-note,.fam-ent-light .slim-note{margin-top:56px;font:400 14px/1.6 var(--sans);color:var(--mute)}
.fam-ent-light .hub-head{background:transparent!important}
.fam-ent-light,.fam-ent{--sh-1:none;--sh-2:none;--sh-3:none}

/* ---------- Start pages ---------- */
.fam-start>.wrap{max-width:1100px}
.fam-start .hero{background:transparent!important;border:0}
.fam-start .gold,.fam-start .it{color:var(--accent)}
.fam-start [class*=card],.fam-start .plan,.fam-start .box,.fam-start .step{background:#fff!important;border-color:var(--rule)!important;box-shadow:none!important}

/* ---------- Film ---------- */
html:has(body.fam-film),body.fam-film{height:auto!important;overflow:auto!important}
.fam-film .film{display:none}
.fam-film.film-open{overflow:hidden!important}
.fam-film.film-open .film{display:block;z-index:50}
.fam-film .film,.fam-film .film *{font-family:var(--sans)}
.fam-film .film{--g:#c3cbff;color:#f6f3ec}
.film-head{padding-bottom:24px}
.colo-note{margin-top:20px;font:400 13px/1.5 var(--sans);color:var(--mute)}

@media (max-width:600px){
  .fam-tool>.wrap{padding:0 16px}
  .fam-tool main{padding-top:36px}
}

/* Reset the old page-wide element rules where they hit shared chrome */
.ed-skin .mast nav,.ed-skin nav.rel,.ed-skin nav.mast-drop{height:auto;margin:0}
.ed-skin .mast-l{justify-content:flex-start}
.ed-skin .mast-r{justify-content:flex-end}
.ed-skin nav.rel{display:block}
.ed-skin nav.mast-drop{display:grid;justify-content:stretch}
.ed-skin .mast a{margin:0}
.ed-skin .mast-menu,.ed-skin .chap-wrap{border-top:0;padding:0}
.ed-skin .mast-menu summary,.ed-skin .chap-wrap>summary{font-size:13px;font-weight:500}
.ed-skin .chap-wrap>summary{font:600 14px/1.3 var(--sans);padding:12px 0}
.ed-skin footer.colo{display:block;margin:120px 0 0;padding:64px 0 0;border-top:0;font:400 14px/1.5 var(--sans)}
.ed-skin footer.colo a{margin:0}

.ed-skin .a-title,.ed-skin .a-head h1{max-width:none;margin:0}
.doc-page .body section{border-top:0;margin-top:0;padding-top:0}
.doc-page .body section+section{margin-top:20px}
.doc-page .body p,.doc-page .body li{color:var(--ink);max-width:none}
.doc-page .body a{color:var(--accent)}
.ed-skin .facts,.ed-skin .rel{font-family:var(--sans)}
@media (max-width:1099px){.ed-skin .chap-wrap{border:1px solid var(--rule);border-radius:6px;padding:0 14px}}

/* Shared chrome, guarded against page rules with the same class names */
.ed-skin .mast{position:relative;z-index:20;background:var(--paper)!important;border-bottom:1px solid var(--rule)!important;padding:0!important;margin:0!important}
.ed-skin .mast .pill{display:inline-flex!important;align-items:center;min-height:34px;padding:6px 13px!important;border:1px solid var(--rule)!important;border-radius:999px!important;background:var(--paper-2)!important;color:var(--ink)!important;font:500 13px/1.2 var(--sans)!important;text-decoration:none;margin:0!important;box-shadow:none!important;white-space:nowrap}
.ed-skin .mast .pill-ink,.ed-skin .mast .pill[aria-current=page]{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--paper)!important}
.ed-skin .mast .wordmark{display:inline!important;margin:0!important;font:700 24px/1 var(--sans)!important;letter-spacing:-.04em!important;background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ink)!important;text-align:left;opacity:1!important}
.ed-skin footer.colo{background:#000!important;color:#fff!important;overflow:hidden;position:relative}
.ed-skin footer.colo .fh{color:rgba(255,255,255,.66)!important;font:600 13px/1.3 var(--sans)!important}
.ed-skin footer.colo .ftag{color:rgba(255,255,255,.66)!important}
.ed-skin footer.colo .colo-grid a{display:block;color:rgba(255,255,255,.78)!important;padding:4px 0;font-size:14px}
.ed-skin footer.colo .colo-row a{display:inline;color:rgba(255,255,255,.66)!important;padding:0;font-size:13px}
.ed-skin footer.colo .colo-base a{display:inline;color:rgba(255,255,255,.78)!important}
.ed-skin footer.colo .fin{display:inline-flex!important}
.ed-skin footer.colo .fbrand{color:#fff!important}

/* Enterprise: dark surfaces become paper and white */
.fam-ent .grad{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--ink)!important}
.fam-ent .btn-primary{background:var(--accent)!important;color:#fff!important;box-shadow:none!important;border-color:var(--accent)!important}
.fam-ent .hero:before,.fam-ent .hero:after,.fam-ent .console:before,.fam-ent .dcard:after,.fam-ent .p-cover:after,.fam-ent .footer-glow{display:none!important}
.fam-ent .console,.fam-ent .draft,.fam-ent .dcard,.fam-ent .frame,.fam-ent .profile,.fam-ent .cmp,.fam-ent .how li,.fam-ent .wk-card,.fam-ent .formcard,.fam-ent .done{background:#fff!important;border-color:var(--rule-2)!important;box-shadow:none!important;color:var(--ink)}
.fam-ent .apply-wrap,.fam-ent .vbox{background:var(--paper-2)!important;border-color:var(--rule)!important;box-shadow:none!important}
.fam-ent .f-bar,.fam-ent .p-note{background:var(--paper-2)!important}
.fam-ent .strip{background:var(--paper-2)!important}
.fam-ent .names span{color:var(--ink-2)!important;opacity:1!important}
.fam-ent .p-cover{background:var(--paper-3)!important}
.fam-ent .p-av,.fam-ent .draft .av{background:var(--accent)!important;color:#fff!important}
.fam-ent .node{background:var(--paper)!important;color:var(--ink)}
.fam-ent .wk.on .node{background:var(--accent)!important;color:#fff!important;box-shadow:none!important;border-color:var(--accent)!important}
.fam-ent .tl-track i,.fam-ent .st .bar i{background:var(--accent)!important}
.fam-ent .cmp-row>:nth-child(3){background:var(--accent-wash)!important;border-left-color:var(--accent-line)!important}
.fam-ent .cmp-head>:nth-child(3) h3,.fam-ent .rule b{color:var(--ink)!important}
.fam-ent .portrait{background:var(--paper-3)!important}
.fam-ent .f select option{background:#fff!important;color:var(--ink)!important}
.fam-ent .pill:has(input:checked){color:var(--ink)!important}
.fam-ent .brand .logo{background:var(--accent)!important;box-shadow:none!important}
.fam-ent .badge b{background:var(--accent)!important;color:#fff!important}
.fam-ent [style*="color:#fff"]{color:var(--ink)!important}

/* Tools hub */
.fam-tool .glow,.fam-tool .tool::before{display:none!important}
.fam-tool .tool{--t:40,64,196}
.fam-tool .srcs span{color:var(--ink-2)!important;border-color:var(--rule)!important;background:var(--paper-2)!important}
.fam-tool .ico{background:var(--paper-2)!important;border-color:var(--rule)!important}
.fam-tool .tool .tag{color:var(--accent)}
.fam-tool .tool .go{color:var(--ink);font-weight:600}
.fam-start .strip span{white-space:normal}

/* Start pages: their --ink is the page background, so only the panel tokens move */
body.ed-skin.fam-start{--ink2:#ffffff;--ink3:#f2f0e8;--cream:#141413;--goldl:#2840c4}
.fam-start .hero p.sub,.fam-start .list li{color:var(--ink-2)!important}
.fam-start .final{background:var(--paper-2)!important;border-color:var(--rule)!important}
.fam-start .list.minus li:before{background:var(--rule-2)}
.fam-start .btn{box-shadow:none!important}
.fam-start .price .p.hi{border-color:var(--accent)!important;box-shadow:none!important}
.fam-start .ic{background:var(--accent-wash)!important;color:var(--accent)!important}
.fam-tool a[style*="#713255"]{background:var(--ink)!important;border-radius:999px!important}
.fam-tool .upsell a.cta{display:inline;padding:0;border:0;background:none!important;color:var(--accent)!important;text-decoration:underline}
.fam-tool .err{background:#f6ece6!important;color:#8f2f1d!important;border-color:#e5c9bd!important}
.ed-skin footer.colo{text-align:left}
.fam-tool .score{display:flex!important;gap:18px;align-items:center;margin:0 0 14px!important;padding:0!important;border:0!important}
.fam-tool .score>div{border:0!important;padding:0!important}
.fam-film .film :is(h1,h2,h3,h4,p,b,div){color:inherit}
.fam-film .film :is(h1,h2,h3,h4){color:#f6f3ec!important}
.fam-film .film .sub{color:#aca7af!important;font-family:var(--sans)!important}
.fam-film .film .micro{color:#c3cbff!important}
.ed-skin .mast-menu{min-width:max-content}.ed-skin .mast-menu>summary{display:inline-flex!important}
.ed-skin .mast-menu>summary{position:static!important}
.fam-ent .p-av,.fam-ent .draft .av{background:#e6ebf8!important;color:#1e2f8f!important}
