/* LabelFixy shared styles: fonts, colour tokens, header, type, buttons, footer, prose pages. */
@font-face{font-family:"Bricolage Grotesque";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/bricolage-grotesque-600.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/bricolage-grotesque-800.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/instrument-sans-400.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/instrument-sans-500.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/instrument-sans-600.woff2) format("woff2")}
@font-face{font-family:"Shantell Sans";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/shantell-sans-600.woff2) format("woff2")}

/* Brand: paper, ink, a label and a box. Pen red for crop marks, notes and errors; highlighter once per view. */
:root{
  --paper:#F7F6F1; --ink:#000000; --label:#FFFFFF; --kraft:#C8A27C; --red:#E5261F; --hi:#FFE838;
  --bg:var(--paper); --fg:var(--ink); --soft:#57564F; --rule:#DAD7CC; --line:var(--ink); --off:#DAD7CC; --off-fg:#57564F;
  --display:"Bricolage Grotesque","Arial Black",Arial,sans-serif;
  --body:"Instrument Sans","Segoe UI",Arial,sans-serif;
  --hand:"Shantell Sans","Comic Sans MS",cursive;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#000000; --fg:#F7F6F1; --soft:#B4B1A6; --rule:#34332F; --line:#F7F6F1; --off:#2A2926; --off-fg:#8E8B80; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#000000; --fg:#F7F6F1; --soft:#B4B1A6; --rule:#34332F; --line:#F7F6F1; --off:#2A2926; --off-fg:#8E8B80; color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0; min-height:100vh; background:var(--bg); color:var(--fg); font:400 17px/1.55 var(--body);
  font-variant-numeric:tabular-nums; padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}
a{color:inherit}
[hidden]{display:none!important}
.wrap{max-width:1040px; margin:0 auto; padding:0 clamp(16px,4vw,40px)}

/* header */
.top{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:18px; padding-bottom:18px; border-bottom:1.5px solid var(--line)}
.brand{display:inline-flex; line-height:0}
.logo{height:30px; width:auto}
.logo-dark{display:none}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .logo-light{display:none} :root:not([data-theme="light"]) .logo-dark{display:inline} }
:root[data-theme="dark"] .logo-light{display:none} :root[data-theme="dark"] .logo-dark{display:inline}
.nav{display:flex; align-items:center; gap:18px; flex-wrap:wrap; font-size:16px}
.nav a{text-decoration:none; font-weight:500}
.nav a:hover{text-decoration:underline; text-underline-offset:4px}
#who{color:var(--soft); font-size:15px}
.link{background:none; border:0; padding:4px 0; color:var(--fg); font:600 16px/1.2 var(--body); cursor:pointer;
  text-decoration:underline; text-decoration-color:var(--red); text-decoration-thickness:2px; text-underline-offset:4px}
.flash{margin:16px auto 0; color:var(--red); font-weight:600}

/* type */
.kicker{font:600 20px/1.3 var(--hand); color:var(--red); margin:0 0 14px; transform:rotate(-1.5deg); transform-origin:left}
h1{font:800 clamp(40px,6.4vw,64px)/1.0 var(--display); letter-spacing:-.03em; margin:0 0 20px}
h2{font:800 clamp(32px,4.5vw,44px)/1.02 var(--display); letter-spacing:-.03em; margin:0 0 14px}
h3{font:600 22px/1.15 var(--display); margin:0 0 6px}
.lede{font-size:19px; line-height:1.5; max-width:40ch; margin:0 0 28px}
mark{background:var(--hi); color:#000; font-weight:600; padding:0 4px}
.note{font:600 18px/1.35 var(--hand); color:var(--red); margin:22px 0 0; transform:rotate(-1deg); transform-origin:left; max-width:40ch}
.icon{width:20px; height:20px; flex:none; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}

/* buttons: chunky, flat, hard shadows; pressing pushes into the shadow */
/* --edge: border/shadow colour, --pri: primary fill, --pri-fg: its text. Dark mode flips them;
   anything sitting on white (the label, dialog, pricing cards) resets them to ink. */
:root{--edge:#000; --pri:#000; --pri-fg:var(--paper)}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){--edge:var(--paper); --pri:var(--paper); --pri-fg:#000} }
:root[data-theme="dark"]{--edge:var(--paper); --pri:var(--paper); --pri-fg:#000}
.label, dialog, .pricing{--edge:#000; --pri:#000; --pri-fg:var(--paper)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font:600 17px/1 var(--display);
  padding:14px 20px; border-radius:8px; border:1.5px solid var(--edge); cursor:pointer; text-decoration:none;
  background:var(--label); color:#000; box-shadow:4px 4px 0 var(--edge); transition:transform .06s, box-shadow .06s}
.btn:active:not(:disabled){transform:translate(4px,4px); box-shadow:0 0 0 transparent}
.btn:focus-visible{outline:3px solid var(--fg); outline-offset:3px}
.btn.primary{background:var(--pri); color:var(--pri-fg); border-color:var(--pri); box-shadow:4px 4px 0 var(--red)}
.btn:disabled{background:var(--off); color:var(--off-fg); border-color:var(--off-fg); box-shadow:none; cursor:default}
.actions{display:flex; flex-wrap:wrap; align-items:center; gap:14px 16px; margin-top:24px}
.actions .primary{flex:1 1 auto}

/* footer */
.foot{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; padding-top:28px; padding-bottom:36px; font-size:15px; color:var(--soft)}
.foot .mark{height:24px; width:24px; vertical-align:middle; margin-right:8px}
.foot p{margin:0}
.credit{display:inline-flex; align-items:center; gap:10px; font-weight:500}
.flags{display:inline-flex; gap:6px}
.flag{display:block; box-shadow:0 0 0 1px rgba(0,0,0,.15)}

/* prose pages: help, policies */
.page{padding-top:clamp(32px,6vw,64px); padding-bottom:clamp(40px,6vw,80px); max-width:760px}
.page h1{font-size:clamp(36px,5.5vw,56px)}
.page h2{font-size:clamp(24px,3.2vw,30px); margin:40px 0 10px}
.page h3{margin:24px 0 6px}
.page p,.page li{max-width:68ch}
.page ul,.page ol{padding-left:22px}
.page li{margin:6px 0}
.page .meta{color:var(--soft); font-size:15px; margin:0 0 28px}
.page code,.page kbd{overflow-wrap:anywhere; font:500 15px/1.4 ui-monospace,Consolas,monospace; background:var(--label); color:#000; border:1px solid var(--rule); border-radius:4px; padding:1px 5px}
.page .card{background:var(--label); color:#000; border:1.5px solid #000; border-radius:12px; padding:18px 20px; margin:20px 0; box-shadow:4px 4px 0 #000}
.page .card h3{margin-top:0}
.page hr{border:0; border-top:1.5px solid var(--rule); margin:40px 0}
.foot-links{display:flex; gap:16px; flex-wrap:wrap}
.foot-links a{text-decoration:none} .foot-links a:hover{text-decoration:underline; text-underline-offset:4px}
.page address{font-style:normal; margin:12px 0 0; padding-left:14px; border-left:3px solid var(--rule)}
