/* Shared look for the licences and admin pages. Same colours as the book:
   the black bar with the yellow tape strip, and yellow main buttons. */
:root{
  --paper:#E9ECEE; --surface:#FBFCFC; --surface2:#F0F3F4;
  --ink:#141A1E; --ink2:#4E5A62; --rule:#D5DADD;
  --navy:#1B1B1B; --navy-ink:#FFFFFF; --blue:#12558E; --blue-soft:#E3EDF5;
  --pri:#FFC72C; --pri-ink:#1B1B1B;
  --copper:#A8551F; --warn:#8E3019; --warn-soft:#F8E6E1; --ok:#2F6B4F; --ok-soft:#E3F1E9;
  --f:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#0E1113; --surface:#171B1E; --surface2:#1F2428;
    --ink:#E8EBEC; --ink2:#98A4AB; --rule:#2A3135;
    --navy:#1B1B1B; --navy-ink:#FFFFFF; --blue:#7FB6E2; --blue-soft:#15293A;
    --copper:#E0946A; --warn:#EC8A70; --warn-soft:#2E1A15; --ok:#72BC99; --ok-soft:#16281F;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--f);-webkit-text-size-adjust:100%}
.bar{position:relative;background:var(--navy);color:var(--navy-ink);padding:calc(10px + env(safe-area-inset-top,0px)) 16px 17px;display:flex;align-items:center;gap:12px}
.bar a{color:var(--navy-ink);text-decoration:none;font-weight:700;font-size:15px}
.bar .t{font-weight:800;font-size:17px;flex:1}
.bar .t::before{content:"";display:inline-block;width:24px;height:24px;margin-right:8px;vertical-align:-6px;border-radius:6px;background:url(/icon.svg) center/cover}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;
  background:repeating-linear-gradient(90deg,#1B1B1B 0 1px,transparent 1px 32px) 0 0/100% 5px no-repeat,
    repeating-linear-gradient(90deg,#1B1B1B 0 1px,transparent 1px 16px) 0 0/100% 3.5px no-repeat,
    repeating-linear-gradient(90deg,#1B1B1B 0 1px,transparent 1px 4px) 0 0/100% 2px no-repeat,#FFC72C}
main{max-width:640px;margin:0 auto;padding:16px 16px 48px}
h1{font-size:24px;line-height:1.2;margin:8px 0 6px}
h2{font-size:18px;margin:26px 0 8px}
p{margin:0 0 12px}
.lead{color:var(--ink2)}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px;margin:0 0 14px}
label{display:block;font-weight:700;font-size:14px;margin:10px 0 4px}
.keepme{display:flex;align-items:center;gap:10px;min-height:44px;margin:12px 0 0;font-weight:600;font-size:15px;cursor:pointer}
.keepme input{width:22px;height:22px;min-height:0;margin:0;padding:0;flex:none}
input,select,textarea{width:100%;min-height:46px;font:inherit;font-size:17px;padding:8px 10px;border:1px solid var(--rule);border-radius:8px;background:var(--surface2);color:var(--ink)}
textarea{min-height:96px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:9px;border:1px solid var(--rule);background:var(--surface2);color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}
.btn.pri{background:var(--pri);border-color:var(--pri);color:var(--pri-ink)}
.btn.wide{width:100%;margin-top:12px}
.btn.sm{min-height:36px;padding:0 10px;font-size:13.5px}
.btn:disabled{opacity:.55}
.msg{padding:10px 12px;border-radius:8px;background:var(--blue-soft);margin:12px 0 0}
.msg.warn{background:var(--warn-soft);color:var(--warn)}
.msg.ok{background:var(--ok-soft);color:var(--ok)}
.price{font-size:30px;font-weight:800}
.price small{font-size:15px;font-weight:600;color:var(--ink2)}
.muted{color:var(--ink2);font-size:14px}
.pill{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:var(--surface2);border:1px solid var(--rule)}
.pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}
.pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}
.meter{height:10px;border-radius:99px;background:var(--surface2);border:1px solid var(--rule);overflow:hidden;margin:6px 0 4px}
.meter i{display:block;height:100%;background:var(--blue)}
.people{list-style:none;margin:0;padding:0}
.people li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 0;border-top:1px solid var(--rule)}
.people .who{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.people .who b{display:block;font-size:15px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>*{flex:1 1 140px}
.code{font:800 26px ui-monospace,Menlo,Consolas,monospace;letter-spacing:4px}
ul.ticks{padding-left:20px;margin:0 0 12px}
a{color:var(--blue)}

/* quiz question pictures (src/qfig), drawn with the book's figure classes */
.qfig{margin:0 0 10px;padding:8px 8px 6px;background:var(--surface2);border:1px solid var(--rule);border-radius:8px}
.qfig svg{display:block;width:100%;max-width:460px;height:auto;margin:0 auto;color:var(--ink2)}
.qfig svg text{font-family:ui-monospace,"SF Mono",Menlo,Consolas,"Roboto Mono",monospace;font-size:9.5px;font-weight:400;fill:currentColor}
.qfig svg text.big{font-size:11.5px;font-weight:600}
.qfig svg text.cop{fill:var(--copper);font-weight:600}
.qfig svg text.wrn{fill:var(--warn);font-weight:600}
.qfig svg text.blu{fill:var(--blue);font-weight:600}
.qfig svg text.ink{fill:var(--ink);font-weight:600}
.qfig svg .steel{fill:currentColor;fill-opacity:.15;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.qfig svg .thin{fill:none;stroke:currentColor;stroke-width:1}
.qfig svg .dash{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:4 3;opacity:.5}
.qfig svg .halo{paint-order:stroke;stroke:var(--surface2);stroke-width:3px;stroke-linejoin:round}
@media print{.qfig{break-inside:avoid}}
