/* Berezka Apps - direction C "Open Ledger": white squared paper, mono headings, ruled tables, one orange accent.
   Every value lives in the tokens below; change them first. Fonts are local (static/fonts), no outside request. */
:root{
  /* colours */
  --bg:#FFFFFF; --surface:#F4F4F0; --text:#111111; --muted:#595959;
  --accent:#C2410C; --accent-text:#FFFFFF; --line:#111111; --grid:#EFEFEA;
  --store:#000000; --store-text:#FFFFFF;
  /* fonts: the two site families carry Latin, Latin Extended and Cyrillic. Arabic, Urdu and full Vietnamese
     are not in them, so documents in those languages switch to the system stacks below as a whole. */
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans-system:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Arabic","Geeza Pro",Tahoma,Arial,sans-serif;
  --urdu-system:"Noto Nastaliq Urdu","Jameel Noori Nastaleeq","Urdu Typesetting",system-ui,-apple-system,"Segoe UI","Noto Sans Arabic","Geeza Pro",Tahoma,Arial,sans-serif;
  /* type scale (phone first) */
  --fs-h1:28px; --fs-h1-inner:26px; --fs-h1-app:26px; --fs-h2:20px; --fs-body:16px; --fs-lede:19px;
  --fs-label:13px; --fs-small:15px; --fs-brand:16px; --fs-btn:17px; --fs-stamp:12px; --fs-mono-link:15px;
  --lh-body:1.55; --lh-arabic:1.8; --lh-urdu:2.3;
  --track:.04em; --track-wide:.08em; --tight:-.02em;
  /* measures and sizes */
  --cell:24px; --pad:16px; --wrap:1296px; --sheet-w:336px; --doc-w:820px;
  --measure:34em; --measure-lede:34em; --measure-wide:40em; --label-col:9.5em; --num-col:28px; --store-col:176px;
  --hit:44px; --btn:52px; --head:56px; --icon-s:72px; --icon-l:112px;
  /* rules */
  --bw:1px; --bw-bold:2px; --bw-accent:4px; --focus:3px;
  /* spacing */
  --s1:8px; --s2:12px; --s3:16px; --s4:24px; --s5:48px; --s6:72px;
}
@media (min-width:900px){
  :root{--fs-h1:48px; --fs-h1-inner:36px; --fs-h2:24px; --fs-body:17px; --fs-lede:22px; --fs-small:16px; --fs-brand:17px; --pad:24px; --s6:96px}
}

@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/jetbrains-mono-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/source-sans-3-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--sans);hyphens:manual;overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:var(--bw)}
a:hover{text-decoration-thickness:var(--bw-bold)}
h1,h2,h3,p,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
[hidden]{display:none!important}
:focus-visible{outline:var(--focus) solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:var(--s3);top:-100px;z-index:10;background:var(--text);color:var(--bg);padding:var(--s2) var(--s3);font:500 var(--fs-label)/1.4 var(--mono)}
.skip:focus{top:var(--s1)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* squared paper: lives inside the wrapper and scrolls with it */
.page{position:relative;isolation:isolate;min-height:100vh;display:flex;flex-direction:column}
.page::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(var(--grid) var(--bw),transparent var(--bw)),linear-gradient(90deg,var(--grid) var(--bw),transparent var(--bw));
  background-size:var(--cell) var(--cell);
  background-position:calc(50% + var(--cell) / 2) 0}
.page > main{flex:1}
.wrap{max-width:calc(var(--wrap) + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}

.label{font:500 var(--fs-label)/1.4 var(--mono);text-transform:uppercase;letter-spacing:var(--track)}
.muted{color:var(--muted)}
.nb{white-space:nowrap}
.arrow{display:inline-block;width:.7em;height:.7em;margin-inline-start:.35em;vertical-align:baseline;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}
.textlink{font-weight:600}

/* ---------- header: one ruled row ---------- */
.head{background:var(--bg);border-bottom:var(--bw) solid var(--line)}
.head__row{display:flex;align-items:stretch;border-left:var(--bw) solid var(--line);border-right:var(--bw) solid var(--line)}
.head__cell{display:flex;align-items:center;min-height:var(--head);padding:0 var(--s3)}
.head__cell + .head__cell{border-left:var(--bw) solid var(--line)}
.wordmark{flex:1;font:700 var(--fs-brand)/1 var(--mono);text-decoration:none;white-space:nowrap}
.wordmark:hover{text-decoration:underline}
.langs{padding:0;gap:0}
.langs a,.langs span{display:flex;align-items:center;justify-content:center;min-width:var(--hit);min-height:var(--hit);align-self:stretch;text-decoration:none}
.langs a:hover{background:var(--surface)}
.langs > * + *{border-left:var(--bw) solid var(--line)}
.langs [aria-current]{background:var(--text);color:var(--bg)}

/* ---------- page head (home hero and inner pages) ---------- */
.hero{padding:var(--s5) 0 var(--s4)}
.hero__grid{display:grid;gap:var(--s3)}
.hero h1,.pagehead h1{font:700 var(--fs-h1)/1.12 var(--mono);letter-spacing:var(--tight);overflow-wrap:anywhere}
.lede{font-size:var(--fs-lede);line-height:1.4;max-width:var(--measure-lede)}
.pagehead{padding:var(--s3) 0 var(--s5);display:grid;gap:var(--s3)}
.pagehead h1{font-size:var(--fs-h1-inner)}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s1);color:var(--muted)}
.crumb li{display:flex;align-items:center;gap:var(--s1);min-height:var(--hit)}
.crumb li + li::before{content:"/"}
.crumb a{color:var(--text);display:inline-flex;align-items:center;min-height:var(--hit)}
/* a long trail would wrap into two tall rows on a phone: there the way back is enough, the page names itself below */
@media (max-width:599px){.crumb--long li:last-child{display:none}}

/* ---------- ledger table ---------- */
.ledger-head{display:flex;justify-content:space-between;gap:var(--s3);padding-bottom:var(--s1)}
.ledger{width:100%;border-collapse:collapse;background:var(--bg);border:var(--bw) solid var(--line)}
.ledger th{background:var(--surface);text-align:start;padding:var(--s2) var(--s3);border-bottom:var(--bw) solid var(--line);font:inherit;vertical-align:bottom}
.ledger td{padding:var(--s4) var(--s3);vertical-align:middle;border-bottom:var(--bw) solid var(--line)}
.ledger th + th,.ledger td + td{border-left:var(--bw) solid var(--line)}
.ledger tr:last-child td{border-bottom:0}
.ledger .num{font:700 var(--fs-h2)/1 var(--mono)}
.ledger .val{font-weight:600}
.entry{display:flex;align-items:center;gap:var(--s3)}
.entry__icon{flex:none;width:var(--icon-s);height:var(--icon-s);border:var(--bw) solid var(--line)}
.entry__name{font:700 var(--fs-h2)/1.2 var(--mono);text-decoration:none;display:block;overflow-wrap:anywhere}
a.entry__name:hover{text-decoration:underline}
.entry__sub{color:var(--muted);margin-top:4px}
.entry__more{display:inline-flex;align-items:center;min-height:var(--hit);font-weight:600}
.stamp{display:inline-block;font:700 var(--fs-stamp)/1.3 var(--mono);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--accent-text);background:var(--accent);padding:4px 7px;transform:rotate(-1.5deg)}
.storelink{font:500 var(--fs-mono-link)/1.45 var(--mono);color:var(--accent);display:inline-block;padding:11px 0;text-wrap:balance}
.ledger tr.pending td{color:var(--muted);padding-top:var(--s3);padding-bottom:var(--s3)}
.ledger tr.pending .num{color:var(--muted)}
.ledger tr.pending td.void{background-image:repeating-linear-gradient(135deg,var(--surface) 0 var(--bw),transparent var(--bw) 8px)}
.entry__slot{flex:none;width:var(--icon-s);height:var(--hit);border:var(--bw) dashed var(--muted)}
.pending .entry__name{font-weight:500;color:var(--muted)}
.pending .entry__sub{max-width:var(--measure)}

@media (min-width:1200px){
  .ledger .c-num{width:62px}
  .ledger .c-store{width:var(--store-col)}
  .ledger th.c-app{width:40%}
  .ledger th{text-wrap:balance}
}
@media (max-width:1199px){
  .ledger,.ledger tbody,.ledger tr,.ledger td{display:block}
  .ledger thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .ledger thead tr,.ledger th{display:block;width:1px;height:1px;padding:0;border:0;overflow:hidden}
  .ledger tr{border-bottom:var(--bw) solid var(--line);position:relative}
  .ledger tr:last-child{border-bottom:0}
  .ledger td,.ledger td + td{border:0;padding:0}
  .ledger td.c-num{padding:var(--s2) var(--s3);background:var(--surface);border-bottom:var(--bw) solid var(--line)}
  .ledger td.c-num::before{content:"# ";font:500 var(--fs-label)/1 var(--mono);color:var(--muted)}
  .ledger .num{font-size:15px}
  .ledger td.c-app{padding:var(--s3)}
  .ledger td[data-label]{display:grid;grid-template-columns:minmax(0,var(--label-col)) minmax(0,1fr);gap:var(--s2);align-items:baseline;padding:10px var(--s3);border-top:var(--bw) solid var(--line)}
  .ledger td[data-label]::before{content:attr(data-label);font:500 var(--fs-label)/1.4 var(--mono);text-transform:uppercase;letter-spacing:var(--track);color:var(--muted)}
  .ledger td.c-store{padding:2px var(--s3);border-top:var(--bw) solid var(--line)}
  .ledger tr.pending td.void{display:none}
  .ledger tr.pending td.c-num{border-bottom:var(--bw) dashed var(--muted)}
  .entry{align-items:flex-start}
}

/* ---------- notes under the table, two-column blocks ---------- */
.notes{display:grid;gap:var(--s5);padding:var(--s5) 0 var(--s6)}
.note{min-width:0}
.note h2,.sec > h2{font:700 var(--fs-h2)/1.25 var(--mono);overflow-wrap:anywhere;padding-bottom:var(--s2);border-bottom:var(--bw) solid var(--line);margin-bottom:var(--s3)}
.note p,.sec > p{max-width:var(--measure)}
.note p + p,.sec > p + p{margin-top:var(--s2)}
.note + .note-stack,.note-stack .note + .note{margin-top:0}
.note-stack{display:grid;gap:var(--s5);min-width:0;align-content:start}
.rows li{display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:var(--s2);border-bottom:var(--bw) solid var(--line);align-items:center}
.rows li > span:first-child{font:500 var(--fs-label)/1.4 var(--mono);color:var(--muted)}
.rows a{display:flex;align-items:center;min-height:var(--hit);padding:6px 0}
.note .rows{margin-top:calc(-1 * var(--s3))}
@media (min-width:900px){
  .hero{padding:var(--s6) 0 var(--s5)}
  .hero__grid{grid-template-columns:7fr 5fr;gap:var(--s5);align-items:end}
  .notes{grid-template-columns:7fr 5fr;gap:var(--s5) var(--s6)}
  .notes--flip > :first-child{grid-column:2;grid-row:1}
  .notes--flip > :last-child{grid-column:1;grid-row:1}
}

/* ---------- footer ---------- */
.foot{background:var(--bg);border-top:var(--bw) solid var(--line)}
.foot__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s4);padding:var(--s2) 0}
.foot__row a{display:inline-flex;align-items:center;min-height:var(--hit);min-width:var(--hit);text-decoration:none}
.foot__row a:hover{text-decoration:underline}
.foot__links{display:flex;flex-wrap:wrap;gap:0 var(--s4)}
.foot__meta{border-top:var(--bw) solid var(--line);padding:var(--s3) 0 var(--s4);color:var(--muted);display:grid;gap:var(--s2)}
.foot__ids{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s1) var(--s4)}
.foot__small{font-size:var(--fs-small);line-height:1.45;max-width:var(--measure-wide)}

/* ---------- buttons ---------- */
.store,.btn{display:flex;align-items:center;justify-content:center;min-height:var(--btn);padding:var(--s2) var(--s4);background:var(--store);color:var(--store-text);font:600 var(--fs-btn)/1.2 var(--sans);text-decoration:none;text-align:center;border:var(--bw) solid var(--store);border-radius:0;cursor:pointer}
.store:hover,.btn:hover{text-decoration:underline}
.store--inline,.btn--inline{display:inline-flex}
.btn--line{background:var(--bg);color:var(--text);border-color:var(--line)}
.btn[disabled]{background:var(--muted);border-color:var(--muted);cursor:default;text-decoration:none}
.btnrow{display:flex;flex-wrap:wrap;gap:var(--s2)}

/* ---------- app page: spec sheet + body ---------- */
.app{display:grid;gap:var(--s5);padding-bottom:var(--s6)}
.sheet{background:var(--bg);border:var(--bw) solid var(--line);min-width:0}
.sheet__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s1) var(--s2);min-height:var(--btn);padding:var(--s2) var(--s3);background:var(--surface);border-bottom:var(--bw) solid var(--line)}
.sheet__id{padding:var(--s3)}
.sheet__icon{width:var(--icon-l);height:var(--icon-l);border:var(--bw) solid var(--line);margin-bottom:var(--s3)}
.sheet h1,.sheet__name{font:700 var(--fs-h1-app)/1.15 var(--mono);letter-spacing:var(--tight);overflow-wrap:anywhere}
.sheet__sub{color:var(--muted);margin-top:var(--s1)}
.spec div{display:grid;grid-template-columns:minmax(0,var(--label-col)) minmax(0,1fr);gap:var(--s2);align-items:baseline;padding:10px var(--s3);border-top:var(--bw) solid var(--line)}
.spec dt{color:var(--muted)}
.spec dd{font-weight:600}
.spec dd a{font-weight:600;overflow-wrap:anywhere}
.sheet__cta{padding:var(--s3);border-top:var(--bw) solid var(--line)}
.sheet__links{display:flex;border-top:var(--bw) solid var(--line)}
.sheet__links a{flex:1 1 auto;display:flex;align-items:center;justify-content:center;text-align:center;min-height:var(--hit);padding:var(--s1) var(--s2);text-decoration:none;min-width:0;overflow-wrap:anywhere}
.sheet__links a:hover{background:var(--surface)}
.sheet__links a + a{border-left:var(--bw) solid var(--line)}
.body{min-width:0}
.sec{margin-top:var(--s5)}
.body > .sec:first-child{margin-top:0}
.free{display:grid;border:var(--bw) solid var(--line);background:var(--bg)}
.free li{padding:var(--s3);border-top:var(--bw) solid var(--line)}
.free li:first-child{border-top:0}
.free b{display:block;font:700 var(--fs-h2)/1.2 var(--mono);margin-bottom:var(--s1)}
.sheetgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4) var(--s3)}
.shot img{width:100%;border:var(--bw) solid var(--line);background:var(--surface)}
.shot figcaption{padding-top:var(--s1);display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s1);align-items:baseline;font-size:var(--fs-small);line-height:1.35}
.shot figcaption span{font:500 var(--fs-label)/1.4 var(--mono);color:var(--muted)}
.facts > div,.facts > li{display:grid;grid-template-columns:2.5em minmax(0,1fr);gap:2px var(--s2);padding:var(--s2) 0;border-bottom:var(--bw) solid var(--line);align-items:baseline}
.facts .n{font:500 var(--fs-label)/1.4 var(--mono);color:var(--muted)}
.facts p{max-width:var(--measure-wide)}
.sec > h2 + .facts{margin-top:calc(-1 * var(--s3))}
.langgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--s3);padding:var(--bw) 0 0 var(--bw)}
.langgrid li{padding:10px var(--s2);border:var(--bw) solid var(--line);margin:calc(-1 * var(--bw)) 0 0 calc(-1 * var(--bw));background:var(--bg);display:flex;gap:var(--s2);align-items:baseline;min-width:0;overflow-wrap:anywhere}
.langgrid li > span:first-child{font:500 var(--fs-label)/1.4 var(--mono);color:var(--muted);flex:none}
.langgrid--links li{padding:0;align-items:stretch}
.langgrid--links li > span:first-child{padding:10px 0 10px var(--s2);align-self:center}
.langgrid--links a,.langgrid--links .cur{flex:1;display:flex;align-items:center;min-height:var(--hit);padding:6px var(--s2) 6px 0}
.langgrid--links .cur{font-weight:600}
.langgrid--links li:has(.cur){background:var(--surface)}
.notice{border:var(--bw) solid var(--line);background:var(--bg);padding:var(--s3)}
.notice p{max-width:var(--measure-wide)}
.notice p + p,.notice p + .btnrow,.notice .btnrow + p{margin-top:var(--s3)}
.notice h2{font:700 var(--fs-h2)/1.25 var(--mono);overflow-wrap:anywhere;margin-bottom:var(--s2)}
.end{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:var(--bw) solid var(--line)}
.end li{display:flex}
.end a:not(.store){display:inline-flex;align-items:center;min-height:var(--hit)}
@media (max-width:599px){.end{gap:0}.end li{flex:1 0 100%}.end li + li{border-bottom:var(--bw) solid var(--line)}.end li:first-child{margin-bottom:var(--s2)}.end .store{flex:1}.end a:not(.store){flex:1}
  .foot__links{display:contents}.foot__row{justify-content:flex-start}}
@media (min-width:600px){
  .free{grid-template-columns:repeat(2,minmax(0,1fr))}
  .free li:nth-child(2){border-top:0}
  .free li:nth-child(even){border-left:var(--bw) solid var(--line)}
  .langgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:900px){
  .app{grid-template-columns:var(--sheet-w) minmax(0,1fr);gap:var(--s5);align-items:start}
  .sheetgrid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sec{margin-top:var(--s6)}
}
/* the sheet follows the reader only when the whole sheet fits the window */
@media (min-width:900px) and (min-height:1000px){.sheet--sticky{position:sticky;top:var(--s4)}}

/* ---------- contact form ---------- */
.form{padding:var(--s3);display:grid;gap:var(--s3)}
.field{display:grid;gap:6px}
.field label{color:var(--muted)}
.field input,.field textarea{width:100%;min-height:var(--btn);padding:var(--s2);font:400 var(--fs-body)/1.4 var(--sans);color:var(--text);background:var(--bg);border:var(--bw) solid var(--line);border-radius:0;appearance:none}
.field textarea{min-height:10em;resize:vertical}
.field input:focus-visible,.field textarea:focus-visible{outline-offset:0}
.field ::placeholder{color:var(--muted);opacity:1}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:var(--fs-small);color:var(--muted)}
.consent a{color:var(--text)}
.form-note{padding:var(--s2) var(--s3);border:var(--bw) solid var(--line);background:var(--surface);font-weight:600}
.form-note.err{border-color:var(--accent);border-left-width:var(--bw-accent)}

/* ---------- long documents: Impressum, Datenschutz, the app's privacy policy ---------- */
.legal{background:var(--bg);border:var(--bw) solid var(--line);padding:var(--s4) var(--s3);max-width:var(--doc-w);margin-bottom:var(--s5)}
.legal h1{font:700 var(--fs-h1-inner)/1.15 var(--mono);letter-spacing:var(--tight);overflow-wrap:anywhere;margin-bottom:var(--s3)}
.legal h2{font:700 var(--fs-h2)/1.25 var(--mono);overflow-wrap:anywhere;margin-top:var(--s5);padding-bottom:var(--s2);border-bottom:var(--bw) solid var(--line);margin-bottom:var(--s3)}
.legal h3{font:600 var(--fs-body)/1.4 var(--sans);margin-top:var(--s4);margin-bottom:var(--s1)}
.legal p,.legal ul,.legal ol{max-width:var(--measure-wide)}
.legal p + p,.legal ul + p,.legal p + ul,.legal ol + p,.legal p + ol{margin-top:var(--s2)}
.legal ul{list-style:square;padding-inline-start:1.25em}
.legal ol{list-style:decimal;padding-inline-start:1.5em}
.legal li + li{margin-top:6px}
.legal a{overflow-wrap:anywhere}
.legal .note,.docnote{border:var(--bw) solid var(--line);background:var(--surface);padding:var(--s2) var(--s3);margin-bottom:var(--s4);max-width:var(--doc-w)}
.legal .subtitle{font:500 var(--fs-label)/1.5 var(--mono);color:var(--muted);margin-bottom:var(--s3)}
.legal .highlight-box{border:var(--bw) solid var(--line);border-inline-start:var(--bw-accent) solid var(--accent);background:var(--surface);padding:var(--s3);margin:var(--s3) 0}
.legal .doc-footer{margin-top:var(--s5);padding-top:var(--s3);border-top:var(--bw) solid var(--line);color:var(--muted);font-size:var(--fs-small)}
.legal .footer-ai-note{display:inline-block;margin-top:4px}
.docwrap{padding-bottom:var(--s6)}
.docwrap .sec{max-width:var(--doc-w)}
/* scripts the two site fonts do not carry (Arabic, Urdu, full Vietnamese): the whole document goes to system fonts on purpose */
.legal:lang(ar),.legal:lang(ur),.legal:lang(vi){--sans:var(--sans-system);--mono:var(--sans-system);font-family:var(--sans-system)}
.legal:lang(ur){--sans:var(--urdu-system);--mono:var(--urdu-system);font-family:var(--urdu-system);line-height:var(--lh-urdu)}
.legal:lang(ar),.legal:lang(ur){line-height:var(--lh-arabic)}
.legal:lang(ur){line-height:var(--lh-urdu)}
.legal:lang(ar) :is(h1,h2,.subtitle),.legal:lang(ur) :is(h1,h2,.subtitle),.legal:lang(vi) :is(h1,h2,.subtitle){letter-spacing:0;line-height:1.5}
.legal:lang(ur) :is(h1,h2){line-height:var(--lh-urdu)}
@media (min-width:900px){.legal{padding:var(--s5)}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.page::before{display:none}.head,.foot__row{display:none}}
/* ---------- inner pages: small additions ---------- */
.notes--top{padding-top:0;align-items:start}
.pagehead--tight{padding-bottom:var(--s1)}
.faq h2{display:grid;grid-template-columns:var(--num-col) minmax(0,1fr);gap:var(--s2);align-items:baseline}
.faq p{max-width:var(--measure-wide)}
@media (min-width:600px){.faq p{padding-inline-start:calc(var(--num-col) + var(--s2));max-width:calc(var(--measure-wide) + var(--num-col) + var(--s2))}}
.btnrow--gap{margin-top:var(--s3)}
.stack-head{padding-bottom:var(--s1)}
@media (max-width:599px){.btnrow .btn{flex:1 1 100%}}
.notes > *{min-width:0}
