:root { --k-0:#0b0d10; --k-1:#12151a; --k-3:#262b34; --bone:#e9e6df; --bone-2:#a7a49c; --bone-3:#7d7b75; --c:#35d0f5; --y:#f5d93b;
  --ui:"Schibsted Grotesk",system-ui,sans-serif; --mono:"Azeret Mono",ui-monospace,monospace; }
:root[data-theme="light"] { --k-0:#eceae4; --k-1:#f7f6f2; --k-3:#dcd8cf; --bone:#16181c; --bone-2:#4a4d54; --bone-3:#6f6b64; --c:#0b6f8a; --y:#7a5d00; color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--k-0); color: var(--bone); font: 400 16px/1.7 var(--ui); -webkit-font-smoothing: antialiased; }
a { color: var(--c); }
.top { display: flex; align-items: center; gap: 14px; height: 60px; padding: 0 20px; border-bottom: 1px solid var(--k-3); position: sticky; top: 0; background: var(--k-0); }
.top a.brand { display: flex; align-items: center; gap: 9px; color: var(--bone); text-decoration: none; font-weight: 700; font-size: 17px; }
.top .sp { flex: 1; } .top .nav { display: flex; gap: 18px; font-size: 14px; } .top .nav a { color: var(--bone-2); text-decoration: none; }
main { max-width: 760px; margin: 0 auto; padding: 44px 20px 80px; }
h1 { font-size: 34px; line-height: 1.15; margin: 0 0 6px; font-weight: 600; letter-spacing: -.015em; }
h2 { font-size: 20px; margin: 38px 0 8px; font-weight: 600; }
h3 { font-size: 16px; margin: 22px 0 4px; }
p, li { color: var(--bone-2); } strong { color: var(--bone); }
.meta { font: 500 12px var(--mono); color: var(--bone-3); letter-spacing: .04em; margin: 0 0 26px; }
.blank { background: rgba(245, 217, 59, .16); color: var(--y); padding: 0 4px; border-radius: 3px; font-weight: 600; }
.box { border: 1px solid var(--k-3); background: var(--k-1); border-radius: 10px; padding: 16px 18px; margin: 18px 0; }
.box p { margin: 0; }
.caps { text-transform: uppercase; font-size: 14px; letter-spacing: .01em; }
table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 10px 0; }
th, td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid var(--k-3); color: var(--bone-2); }
th { color: var(--bone); font-weight: 600; }
footer { border-top: 1px solid var(--k-3); padding: 24px 20px; text-align: center; color: var(--bone-3); font-size: 13px; }
@media (max-width: 560px) { h1 { font-size: 28px; } .top .nav { display: none; } table { font-size: 13.5px; } }
@media print { .top, footer { display: none; } body { background: #fff; color: #000; } p, li, td { color: #000; } }
