
@font-face{font-family:'Newsreader';src:url(/fonts/newsreader.woff2) format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url(/fonts/schibsted-grotesk.woff2) format('woff2');font-weight:300 800;font-display:swap}
@font-face{font-family:'Spline Sans Mono';src:url(/fonts/spline-sans-mono.woff2) format('woff2');font-weight:300 700;font-display:swap}

:root{
  --paper:#EDEFF3; --leaf:#FFFFFF; --ink:#10151E; --ink2:#59636F; --ink3:#8B94A1;
  --rule:#D6DBE3; --rule2:#E7EAEF; --brass:#8A6A2B; --oxide:#A0372A; --deep:#0A0D13;
  --l1:#4F86B5;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Schibsted Grotesk',system-ui,-apple-system,sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,SFMono-Regular,monospace;
  --margin:4.5rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15.5px/1.62 var(--sans)}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* the bar: the one place the product's own ground appears */
.bar{background:var(--deep);color:#E7EAEF}
.bar .inner{max-width:64rem;margin:0 auto;padding:.5rem 2rem;display:flex;align-items:center;
  gap:1.75rem;min-height:3.25rem;flex-wrap:wrap}
.bar .mark{font:500 15px/1.3 var(--serif);letter-spacing:.01em;margin-right:auto;color:#F2F4F7}
.bar .mark em{font-style:normal;color:#7C8797}
.bar a{font:400 11.5px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
  color:#8B95A4;text-decoration:none;padding:.4rem 0;transition:color .12s}
.bar a:hover{color:#F2F4F7}
.bar a[aria-current]{color:#E3C284}
.bar .who{font:400 11px/1 var(--mono);letter-spacing:.08em;color:#69737F}
.bar .signout{display:inline;margin:0}
.bar .signout button{background:none;border:0;padding:0 0 0 14px;margin:0;cursor:pointer;
  font:400 11px/1 var(--mono);letter-spacing:.08em;color:#69737F;text-transform:uppercase}
.bar .signout button:hover{color:var(--brass)}
.plate-action{margin-top:16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.plate-action .hint{font-size:12px;line-height:1.45;color:#69737F;max-width:420px}
.notice{margin:0 0 22px;padding:12px 15px;border-left:2px solid var(--brass);
  background:rgba(201,168,106,.07);font-size:13.5px;line-height:1.5;color:var(--ink2)}

main{max-width:64rem;margin:0 auto;padding:3.25rem 2rem 6rem}

h1{font:500 30px/1.15 var(--serif);letter-spacing:-.01em;margin:0 0 .6rem}
h2{font:400 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink2);margin:3rem 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule)}
.lead{color:var(--ink2);margin:0 0 2rem;max-width:54ch;font-size:15px}
.fact{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* the title page: what is published now, set like one */
.plate{background:var(--leaf);border:1px solid var(--rule);border-radius:2px;
  padding:2.25rem 2.25rem 2rem;margin-bottom:2.5rem}
.plate .state{font:400 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}
.plate .title{font:500 42px/1.08 var(--serif);letter-spacing:-.015em;margin:.75rem 0 0;word-break:break-word}
.plate .colophon{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--rule2);
  display:flex;flex-wrap:wrap;gap:.4rem 2rem;font:400 12.5px/1.5 var(--mono);color:var(--ink2)}
.plate .colophon b{font-weight:500;color:var(--ink)}
.plate.nothing .title{font-size:26px;color:var(--ink2)}

/* the margin: the machine's fact, down the left edge */
.rows{border-top:1px solid var(--rule);margin-bottom:1.5rem}
.r{display:grid;grid-template-columns:var(--margin) 1fr auto;gap:0 1.25rem;
  align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--rule2)}
.r .m{font:400 11.5px/1.5 var(--mono);color:var(--ink3);letter-spacing:.02em;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.r .m.err{color:var(--oxide)}
.r .m.warn{color:var(--brass)}
.r .b{min-width:0}
.r .b .sub{display:block;color:var(--ink2);font-size:13px;margin-top:.2rem}
.r .b .name{font-weight:500}
.r .a{text-align:right;white-space:nowrap;font-family:var(--mono);font-size:12.5px;
  color:var(--ink2);font-variant-numeric:tabular-nums}
.r.head{padding:.5rem 0;border-bottom:1px solid var(--rule)}
.r.head span{font:400 10.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.r:last-child{border-bottom:1px solid var(--rule)}

/* a rule that fills, rather than a bar with rounded ends.
   The width is a class and not a style attribute: style-src 'self' blocks inline
   styles, attributes included, and the fill simply did not render until it was
   expressed this way. Rounded to the nearest 5%, which is all a 14rem rule can show. */
.gauge{display:block;height:2px;background:var(--rule);margin-top:.45rem;max-width:14rem}
.gauge i{display:block;height:2px;background:var(--l1);width:0}
.gauge i.full{background:var(--brass)}
.gauge i.w0{width:0%}
.gauge i.w5{width:5%}
.gauge i.w10{width:10%}
.gauge i.w15{width:15%}
.gauge i.w20{width:20%}
.gauge i.w25{width:25%}
.gauge i.w30{width:30%}
.gauge i.w35{width:35%}
.gauge i.w40{width:40%}
.gauge i.w45{width:45%}
.gauge i.w50{width:50%}
.gauge i.w55{width:55%}
.gauge i.w60{width:60%}
.gauge i.w65{width:65%}
.gauge i.w70{width:70%}
.gauge i.w75{width:75%}
.gauge i.w80{width:80%}
.gauge i.w85{width:85%}
.gauge i.w90{width:90%}
.gauge i.w95{width:95%}
.gauge i.w100{width:100%}

/* sheets: forms sit on white */
.sheet{background:var(--leaf);border:1px solid var(--rule);border-radius:2px;padding:1.75rem;max-width:34rem}
.sheet + .sheet{margin-top:1.25rem}
label{display:block;font:400 10.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink2);margin:0 0 .55rem}
input[type=text],input[type=email],input[type=file]{width:100%;font:400 15px/1.4 var(--sans);
  color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  padding:.7rem .8rem;margin-bottom:1.4rem}
input[type=text]:hover,input[type=email]:hover{border-color:var(--ink3)}
input[type=file]{font-family:var(--mono);font-size:12.5px;padding:.6rem}
button{font:500 13px/1 var(--sans);letter-spacing:.01em;color:var(--leaf);background:var(--ink);
  border:1px solid var(--ink);border-radius:2px;padding:.72rem 1.3rem;cursor:pointer;transition:background .12s}
button:hover{background:#232C3A}
button.quiet{background:transparent;color:var(--ink);border-color:var(--rule);padding:.5rem 1rem}
button.quiet:hover{background:var(--paper);border-color:var(--ink3)}
form.inline{display:inline}

.note{background:var(--leaf);border:1px solid var(--rule);border-left:2px solid var(--brass);
  border-radius:2px;padding:1rem 1.25rem;margin:1.5rem 0;max-width:54ch;font-size:14.5px}
.note.stop{border-left-color:var(--oxide)}
.empty{color:var(--ink2);padding:1.5rem 0;max-width:54ch}
.empty b{display:block;font:500 19px/1.3 var(--serif);color:var(--ink);margin-bottom:.4rem}

.state-tag{font:400 10.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink3)}
.state-tag.published{color:var(--brass)}

@media (max-width:640px){
  :root{--margin:3.25rem}
  main{padding:2rem 1.15rem 4rem}
  .bar .inner{padding:.5rem 1.15rem;gap:1rem}
  .plate{padding:1.5rem 1.25rem}
  .plate .title{font-size:30px}
  .r{grid-template-columns:1fr;gap:.15rem}
  .r .a{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
