/* Cutoff Promise Checker theme. A dispatch-desk look: deep pine ink, amber accent, warm paper, a serif for the
   headings and a monospace for the numbers. Layout and type only; nothing here is a code-only gradient or shape.
   Decorative rules are scoped to their own block below. The palette, the type pairing and the layout are this
   product's own, distinct from every other product on the estate (design brief, section 4). */
:root{
  --band:#12332d; --band2:#1b4a41; --ink:#17211f; --ink2:#56655f; --line:#d9d3c5;
  --paper:#fbf7ef; --white:#fffdf9; --sun:#c8842a; --trial:#b4531f; --trial-bg:#fbeede;
  --ok:#1f6b45; --ok-bg:#e3f2e7; --miss:#9c2c22; --miss-bg:#f8e3df;
  --gray:#5c6b67; --gray-bg:#ece9e1; --sound:#2f6f7a; --sound-bg:#e2eef0;
  --shadow:0 1px 3px rgba(20,30,28,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font:16px/1.55 'Sora',system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--band2)}
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;line-height:1.15;color:var(--ink)}
h1{font-size:36px;margin:.2em 0 .4em}
h2{font-size:23px;margin-top:26px}
h3{font-size:18px;margin:18px 0 6px}
p{margin:.5em 0}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.mono,.num,.pc,.days,td.pc,td.days{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.hint,.muted{color:var(--ink2);font-size:13.5px}
.tiny{font-size:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.spacer{flex:1}

/* masthead */
.band{background:var(--band);color:#eef4f1}
.band a{color:#eef4f1;text-decoration:none}
header.site{display:flex;align-items:baseline;gap:18px;padding:14px 0;flex-wrap:wrap}
header.site .brand{display:flex;flex-direction:column;text-decoration:none}
header.site .wm{font-family:'Newsreader',serif;font-size:20px;font-weight:700}
header.site .nb{font-size:12px;opacity:.8}
header.site nav{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap;font-size:14.5px}
header.site nav a{padding:4px 0;border-bottom:2px solid transparent}
header.site nav a:hover{border-color:var(--sun)}
.mobile-menu{display:none}
.mobile-menu summary{list-style:none;cursor:pointer;border:1.5px solid rgba(255,255,255,.5);border-radius:8px;padding:7px 13px;font:700 13.5px 'Sora'}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu .menu-panel{display:flex;flex-direction:column;background:var(--band2);border-radius:10px;padding:4px 14px;margin-top:8px;min-width:200px}
.mobile-menu .menu-panel a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);font-weight:600}
.mobile-menu .menu-panel a:last-child{border-bottom:0}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:34px 0 10px}
.hero figure{margin:0}
.hero img{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow);display:block}
.hero figcaption{margin-top:10px;font-size:14.5px;color:var(--ink2)}
.eyebrow{font:700 12px 'Sora';letter-spacing:.08em;text-transform:uppercase;color:var(--trial)}
.lede{font-size:17px;color:var(--ink)}
.answer{font-size:17px;line-height:1.6}

/* buttons and notices */
.btn{display:inline-block;background:var(--band);color:#fff;border:1.5px solid var(--band);border-radius:8px;padding:10px 16px;font:700 15px 'Sora';cursor:pointer;text-decoration:none}
.btn:hover{background:var(--band2);border-color:var(--band2)}
.btn.ghost{background:transparent;color:var(--band);border-color:var(--band)}
.btn.ghost:hover{background:rgba(18,51,45,.07)}
.btn.small{padding:7px 12px;font-size:13.5px}
.notice{background:var(--trial-bg);border-left:4px solid var(--trial);padding:11px 14px;border-radius:6px;font-size:15px;margin:12px 0}
.notice.warn{background:#fdeee6;border-left-color:var(--miss)}
.tag{display:inline-block;font:600 10.5px 'Sora';text-transform:uppercase;letter-spacing:.04em;background:var(--sound-bg);color:var(--sound);border-radius:99px;padding:2px 7px}
.flag{display:inline-block;font:600 10.5px 'Sora';text-transform:uppercase;letter-spacing:.03em;background:var(--gray-bg);color:var(--gray);border-radius:99px;padding:2px 7px;margin-left:3px}
.verdict{display:inline-block;font:800 11px 'Sora';letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:99px}
.verdict.good{background:var(--ok-bg);color:var(--ok)}
.verdict.bad{background:var(--miss-bg);color:var(--miss)}
.verdict.grey{background:var(--gray-bg);color:var(--gray)}

/* the tool */
.tool{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:18px;margin:20px 0;box-shadow:var(--shadow)}
.bar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:10px}
.field{display:flex;flex-direction:column;gap:4px}
.field label{font:700 11.5px 'Sora';text-transform:uppercase;letter-spacing:.04em;color:var(--ink2)}
input[type=text],input[type=date],input[type=time],select,textarea{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);max-width:100%}
textarea.paste{width:100%;min-height:70px;font-family:'JetBrains Mono',monospace;font-size:13px}
details.more{margin:14px 0 4px;border:1px solid var(--line);border-radius:10px;background:var(--white);overflow:hidden}
details.more>summary{cursor:pointer;padding:12px 15px;font:700 15px 'Sora';color:var(--band)}
.more-body{padding:0 15px 12px}
.more-body pre{background:#f4f0e7;border:1px solid var(--line);border-radius:8px;padding:10px;overflow:auto;font-size:12.5px}

/* the result */
.mast{padding:2px 0 6px;border-bottom:1px solid var(--line);margin-bottom:10px}
.mast .mast-t{font-family:'Newsreader',serif;font-size:21px;font-weight:700}
.mast .mast-k{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink2);margin-top:3px}
.tally-row{display:flex;gap:18px;flex-wrap:wrap;align-items:baseline;margin:12px 0;font-size:14.5px}
.tally-row b{font-family:'JetBrains Mono',monospace;font-size:17px;color:var(--band)}
table.map,table.clock,table.plain{border-collapse:collapse;width:100%;font-size:13.5px;margin:10px 0}
table.map th,table.map td,table.clock th,table.clock td,table.plain th,table.plain td{border:1px solid var(--line);padding:5px 7px;text-align:left;vertical-align:top}
table.map th,table.clock th,table.plain th{background:#f3efe6;font:700 11.5px 'Sora';text-transform:uppercase;letter-spacing:.03em;color:var(--ink2)}
table.map .n{width:30px;text-align:right}
table.map .basis{color:var(--ink2);font-size:12.5px}
table.clock .cut{font-family:'JetBrains Mono',monospace;white-space:nowrap}
.fallback{background:var(--sound-bg);border:1px solid #c7e0e2;border-radius:8px;padding:10px 13px;margin:12px 0;font-size:15px}
blockquote.policy{border-left:4px solid var(--sun);background:#fff8ec;margin:8px 0;padding:9px 13px;font-size:15px;border-radius:0 6px 6px 0}
blockquote.policy.fixed{border-left-color:var(--ok);background:var(--ok-bg)}

/* prose, pricing, footer */
.prose{max-width:820px}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}
.pricing>div{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:20px;box-shadow:var(--shadow)}
.pricing h3{margin-top:0}
.price{font-size:34px;color:var(--band);font-family:'Newsreader',serif}
.price small{font-size:14px;color:var(--ink2);margin-right:4px}
.per{font-size:13px;color:var(--ink2);margin-bottom:10px}
.pricing ul{padding-left:18px;font-size:14.5px;margin:0 0 14px}
.pricing li{margin-bottom:5px}
.plan-note{border:1px dashed var(--trial);border-radius:8px;padding:9px 12px;font-size:13.5px;color:#7a3a18;margin-top:10px}
.pricing-head{padding:20px 0 4px}
.pricing-lede{font-size:30px;margin:.2em 0}
footer.site{display:flex;flex-wrap:wrap;gap:14px;align-items:baseline;border-top:1px solid var(--line);padding:20px 22px 40px;font-size:14px;max-width:1080px;margin:28px auto 0}
footer.site span:first-child{font-weight:700}
footer.site .fp{flex-basis:100%;color:var(--ink2);font-size:12.5px;line-height:1.5;margin-top:8px}
footer.site .credit{flex-basis:100%;font-size:12.5px;color:var(--ink2)}
.item{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:12px 14px;text-decoration:none;color:var(--ink);text-align:left;cursor:pointer}
.item .meta{font-size:12.5px;color:var(--ink2);font-family:'JetBrains Mono',monospace;margin-top:3px}
.list{display:flex;flex-direction:column;gap:8px}

/* decorative block (scoped): the single hairline rule under a heading and the zone chips */
.deco-rule{height:3px;width:64px;background:var(--sun);border-radius:2px;margin:6px 0 14px}

@media (max-width:880px){.hero{grid-template-columns:1fr}.pricing{grid-template-columns:1fr}h1{font-size:30px}}
@media (max-width:640px){header.site nav{display:none}.mobile-menu{display:block;margin-left:auto}.price{font-size:42px}}
@media print{
  .band,footer.site,nav,.mobile-menu,.hero,.pricing,.prose,aside#provenance,.no-print,.more>summary,.hint,#search-msg,.tally-row,#audit,table.plain,details.more,.bar,#a-controls,#a-save{display:none!important}
  details.more{border:0}.more-body{padding:0}
  body{background:#fff!important;color:#000;font-size:8.5pt;line-height:1.2}
  .wrap{max-width:none;margin:0;padding:0}
  .tool{border:0;box-shadow:none;padding:0;margin:0}
  table.map,table.clock,table.plain{border-color:#000;font-size:6.4pt}
  table.map th,table.map td,table.clock th,table.clock td,table.plain th,table.plain td{border-color:#000;padding:0 2px}
  table.map .basis,.basis-h{display:none!important}
  .eyebrow{display:none!important}
  h1{font-size:12pt;margin:0 0 2px}
  h3{font-size:9pt;margin:4px 0 1px}
  table.map th,table.clock th,table.plain th{background:#fff!important;color:#000!important}
  .verdict{background:#fff!important;color:#000!important;border:1px solid #000;padding:0 3px}
  .fallback,blockquote.policy{background:#fff!important;border:1px solid #000}
  .mast{border-color:#000}
  a{color:#000;text-decoration:none}
  @page{size:A4 portrait;margin:10mm}
}
