@layer reset, tokens, base, layout, components, charts, utilities;
@layer reset {
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, p, dl, dd, ol, ul, figure { margin: 0; }
ol[class], ul[class] { padding: 0; list-style: none; }
}
@layer tokens {
:root {
color-scheme: light dark;
--bg: light-dark(#fbfaf6, #141512);
--surface: light-dark(#f2efe7, #1d1e1a);
--text: light-dark(#1b1d1a, #eeece4);
--muted: light-dark(#52554d, #b2afa4);
--accent: light-dark(#0b5a55, #74c9bb);
--accent-2: light-dark(#073f3b, #a3ddd3);
--pos: light-dark(#1d4f91, #93b6f2);
--neg: light-dark(#a3260f, #ff9b82);
--line: light-dark(#e4e0d6, #2d2e28);
--line-strong: light-dark(#7f8076, #7a7b71);
--tint: light-dark(#e6efec, #18302c);
--c1: light-dark(var(--accent), #4fa89b);
--c2: light-dark(#b47a1c, #d39b3b);
--c3: light-dark(#6f8fd0, #8aa4e0);
--shadow-popup: light-dark(0 8px 32px rgba(27, 29, 26, 0.22), 0 8px 32px rgba(0, 0, 0, 0.5));
--shadow-menu: light-dark(0 4px 16px rgba(27, 29, 26, 0.10), 0 4px 16px rgba(0, 0, 0, 0.4));
--space-4: 4px;
--space-8: 8px;
--space-12: 12px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-32: 32px;
--space-40: 40px;
--space-64: 64px;
--radius: 3px;
--radius-tile: 4px;
--radius-bar: 1px;
--radius-pill: 999px;
--measure: 70ch;
--wrap: 1200px;
--tap: 44px;
--rail: 260px;
--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
--font-serif: "Iowan Old Style", Charter, "Bitstream Charter", "Sitka Text", Cambria, serif;
--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
--hatch: repeating-linear-gradient(135deg, var(--line-strong) 0 2px, transparent 2px 6px);
--font: var(--font-sans);
--fs-h1: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem);
--fs-h2: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);
--fs-h3: 1.125rem;
--fs-body: 1rem;
--fs-small: .875rem;
--i-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M15 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E");
--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
--i-external: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5'/%3E%3C/svg%3E");
--i-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.9l-5.2 2.7 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E");
--i-landmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 22h18M6 18v-7M10 18v-7M14 18v-7M18 18v-7M12 2l8 5H4z'/%3E%3C/svg%3E");
--i-megaphone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-5v12L3 14v-3zM11.6 16.8a3 3 0 1 1-5.8-1.6'/%3E%3C/svg%3E");
--i-star-on: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.9l-5.2 2.7 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E");
--i-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
--i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
--i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5l5 5'/%3E%3C/svg%3E");
--i-sort: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 20V4M4 8l4-4 4 4M16 4v16M12 16l4 4 4-4'/%3E%3C/svg%3E");
--i-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E");
--i-link: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1'/%3E%3C/svg%3E");
--i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
[data-theme="light"] { color-scheme: light; }
[data-theme="dark"] { color-scheme: dark; }
@media (prefers-contrast: more) {
:root { --muted: var(--text); --line: var(--line-strong); }
}
}
@layer base {
body { font: var(--fs-body)/1.55 var(--font); color: var(--text); background: var(--bg); margin: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-family: var(--font-serif); letter-spacing: 0; }
h3 { letter-spacing: -.005em; }
h1 { font-size: var(--fs-h1); line-height: 1.15; font-weight: 700; }
h2 { font-size: var(--fs-h2); line-height: 1.25; font-weight: 600; }
h3 { font-size: var(--fs-h3); line-height: 1.4; font-weight: 600; }
p { text-wrap: pretty; max-width: var(--measure); }
a { color: var(--accent); text-underline-offset: .2em; }
a:hover { color: var(--accent-2); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
small, .small { font-size: var(--fs-small); line-height: 1.45; }
.muted { color: var(--muted); }
.num, time, data { font-variant-numeric: tabular-nums lining-nums; }
.orgnr { font-family: var(--font-mono); font-size: .9375em; letter-spacing: .02em; white-space: nowrap; }
.sec-n { font: 600 .8125rem/1.4 var(--font-mono); color: var(--accent); margin-inline-end: 12px; }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 16px; background: var(--bg); padding: 8px 12px; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
@view-transition { navigation: auto; }
}
}
@layer layout {
.wrap { max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
@media (width < 640px) { .wrap { padding-inline: 16px; } }
.brand { font-family: var(--font-serif); font-weight: 700; font-size: 1.25rem; color: var(--text); text-decoration: none; }
main { padding-block: 32px 64px; display: flex; flex-direction: column; gap: 32px; }
.with-filters { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.with-filters > aside { flex: 1 1 240px; max-width: 280px; }
.with-filters > section { flex: 999 1 560px; min-width: 0; }
.sec { display: flex; flex-direction: column; gap: 12px; padding-block-start: 32px; border-block-start: 1px solid var(--line); content-visibility: auto; contain-intrinsic-size: auto 600px; }
.source { font-size: var(--fs-small); color: var(--muted); }
.jump { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; padding-block: 12px; border-block: 1px solid var(--line);
position: sticky; top: 0; z-index: 5; background: var(--bg); }
.jump-name { display: none; font-weight: 600; color: var(--text); text-decoration: none; }
.jump.stuck .jump-name { display: inline; }
.jump a[data-label] { display: inline-grid; }
.jump a[data-label]::after { content: attr(data-label); grid-area: 1 / 1; height: 0; overflow: hidden; visibility: hidden; font-weight: 600; font-size: var(--fs-body); }
.jump a[aria-current] { font-weight: 600; font-size: var(--fs-body); }
.sec { scroll-margin-top: 64px; }
@media (width < 640px) { .jump { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; } }
}
@layer components {
.tbl { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.tbl caption { text-align: start; padding-block-end: 8px; font-size: var(--fs-small); color: var(--muted); }
.tbl thead th { font-size: var(--fs-small); font-weight: 600; color: var(--muted); text-align: start; padding: 8px 12px; border-block-end: 3px double var(--line-strong); white-space: nowrap; }
.tbl tbody th { font-weight: 400; text-align: start; }
.tbl :is(td, tbody th) { padding: 10px 12px; border-block-end: 1px solid var(--line); vertical-align: top; }
.tbl .num { text-align: end; white-space: nowrap; }
.scroll { overflow-x: auto; }
.tbl tbody .more { display: none; }
.tbl tbody:has(details[open]) .more { display: table-row; }
.tbl .more td { background: var(--surface); padding: 20px 24px; }
input:not([type=checkbox], [type=radio]), select, textarea { min-height: 44px; max-width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: inherit; }
input[type=checkbox], input[type=radio] { width: 18px; height: 18px; accent-color: var(--accent); }
fieldset { border: 0; padding: 0 0 16px; margin: 0; border-block-end: 1px solid var(--line); }
legend { font-weight: 600; font-size: var(--fs-small); padding-block-end: 6px; }
.opt { display: flex; gap: 8px; align-items: center; min-height: 44px; }
@media (pointer: fine) { .opt { min-height: 32px; } }
.btn { height: 44px; padding: 0 20px; border: 0; border-radius: var(--radius); background: var(--accent); color: var(--bg); font: inherit; font-weight: 600; cursor: pointer; }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); font-size: var(--fs-small); color: var(--text); text-decoration: none; }
.st-neg { color: var(--neg); font-weight: 600; }
.st-pos { color: var(--pos); font-weight: 600; }
.st-off { color: var(--muted); }
.inferred { font-style: italic; }
.callout { padding: 10px 14px; background: var(--tint); border-radius: var(--radius); }
dl.kv { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px 32px; }
dl.kv dt { font-size: var(--fs-small); color: var(--muted); }
}
@layer charts {
.tiles { display: flex; flex-wrap: wrap; gap: 16px; }
.tile { flex: 1 1 200px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-tile); display: flex; flex-direction: column; gap: 2px; }
.tile .big { font-size: 1.75rem; line-height: 1.2; font-weight: 700; font-variant-numeric: tabular-nums; }
.cols { display: flex; align-items: flex-start; gap: 6px; height: 48px; margin-block-start: 12px; position: relative; }
.cols::after { content: ""; position: absolute; inset-inline: 0; top: var(--z); border-top: 1px solid var(--text); }
.cols > i { flex: 1; position: relative; top: var(--t); height: var(--h); background: var(--line-strong); border-radius: var(--radius-bar); }
.cols > i:last-child { background: var(--accent); }
.hbar { height: 12px; width: var(--w); min-width: 3px; background: var(--accent); border-radius: 0 var(--radius-bar) var(--radius-bar) 0; }
.step { position: relative; height: 20px; }
.step > i { position: absolute; inset-inline-start: var(--x); width: var(--w); min-width: 3px; height: 100%; background: var(--line-strong); border-radius: var(--radius-bar); }
.step.in > i { background: var(--accent); }
.step.total > i { background: var(--text); }
.strip { position: relative; height: 48px; }
.strip::before { content: ""; position: absolute; inset-inline: 0; top: 15px; height: 2px; background: var(--line); }
.strip .band { position: absolute; inset-inline-start: var(--p25); width: calc(var(--p75) - var(--p25)); top: 6px; height: 20px; background: var(--tint); border: 1px solid var(--line-strong); border-radius: var(--radius-bar); }
.strip .med { position: absolute; inset-inline-start: var(--med); top: 2px; width: 2px; height: 28px; background: var(--text); }
.strip .me { position: absolute; inset-inline-start: calc(var(--me) - 7px); top: 9px; width: 14px; height: 14px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2px var(--bg); }
.gantt-row { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 4px 24px; align-items: center; padding-block: 6px; border-block-end: 1px solid var(--line); }
.track { position: relative; height: 22px; }
.track .bar { position: absolute; inset-inline-start: var(--x); width: var(--w); top: 5px; height: 12px; border-radius: var(--radius-bar); background: var(--accent); }
.track .bar.other, .track .bar.former { background: var(--hatch); border: 1px solid var(--line-strong); }
.track .bar.option { background: var(--tint); border: 1px dashed var(--accent); }
.track .now { position: absolute; inset-inline-start: var(--now); inset-block: -6px; border-inline-start: 2px dashed var(--muted); }
.stack { display: flex; gap: 2px; height: 20px; }
.stack > i { width: var(--w); background: var(--c); }
.stack > i:first-child { border-radius: var(--radius-bar) 0 0 var(--radius-bar); }
.stack > i:last-child { border-radius: 0 var(--radius-bar) var(--radius-bar) 0; }
@media (width < 640px) {
.gantt-row { grid-template-columns: 1fr; }
}
@media (forced-colors: active) {
.cols > i, .hbar, .step > i, .track .bar, .stack > i, .strip .me { background: CanvasText; forced-color-adjust: none; }
.track .bar.other, .track .bar.former { background: Canvas; border: 2px dashed CanvasText; }
}
}
@layer utilities {
[hidden] { display: none; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@layer layout {
.site-footer { border-block-start: 1px solid var(--line); padding-block: 24px; }
.site-footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: baseline; }
}
@layer components {
.filters > summary { display: none; }
.filters form { display: flex; flex-direction: column; gap: 16px; }
.filters select { width: 100%; max-width: 100%; }
.filters label > select, .filters label > input { margin-block-start: 4px; }
.filters .years { display: flex; gap: 12px; }
.filters .years input { width: 100%; }
.filters details > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--accent); }
.filters .actions { display: flex; gap: 16px; align-items: center; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip[aria-current] { background: var(--tint); font-weight: 600; }
.hent { margin-top: 8px; }
.pluss { display: flex; flex-wrap: wrap; gap: 16px 40px; padding: 20px; border: 1px solid var(--accent); border-radius: var(--radius); }
.pluss > div { flex: 1 1 300px; display: flex; flex-direction: column; gap: 10px; }
.pluss h2 { font-size: 1.25rem; }
.pluss form { flex: 1 1 280px; display: flex; flex-direction: column; gap: 10px; }
.eyebrow { font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.ticks { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.ticks li { padding-inline-start: 26px; position: relative; }
.ticks li::before { content: ""; position: absolute; inset-inline-start: 2px; top: .35em; width: 12px; height: 7px; border: solid var(--pos); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
.price { font-size: 1.5rem; font-weight: 700; font-variant-numeric: tabular-nums lining-nums; }
.fld { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.card fieldset, .pluss fieldset { border: 0; padding: 0; min-width: 0; }
.fld > label:not(.tick), .label { font-size: var(--fs-small); font-weight: 600; }
.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 12px 16px; }
.yes { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-small); }
.yes input, .tick input { flex: none; margin-block-start: 3px; }
.btn-2 { height: 44px; padding: 0 18px; border: 1px solid var(--accent); border-radius: var(--radius); background: var(--bg); color: var(--accent); font: inherit; font-weight: 600; cursor: pointer;
display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
a.btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.btn-neg { border-color: var(--neg); color: var(--neg); }
.btn-quiet { border-color: var(--line-strong); color: var(--text); font-weight: 400; }
.row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.card { border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.card.tinted { background: var(--tint); border-color: transparent; }
.card.grey { background: var(--surface); border-color: transparent; }
.card > p, .card > h2, .card > h3 { margin: 0; }
.lone { width: 100%; max-width: 30rem; margin: 32px auto; }
.head-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; }
.subs { padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.subs li { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); }
.subs li > div { flex: 999 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.subs .name { font-family: var(--font-serif); font-size: 1.1875rem; font-weight: 600; }
.subs .btn-2 { flex: 1 1 auto; max-width: 180px; }
.settings { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.settings > nav { flex: 1 1 200px; max-width: 220px; display: flex; flex-direction: column; gap: 2px; }
.settings > nav a { padding: 8px 12px; border-radius: var(--radius); color: var(--text); text-decoration: none; }
.settings > nav a:hover { background: var(--tint); }
.settings > div { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.settings form { display: flex; flex-direction: column; gap: 24px; }
.settings .card { scroll-margin-top: 16px; }
.sw { display: flex; gap: 12px; align-items: flex-start; padding-block: 14px; border-block-end: 1px solid var(--line); }
.sw:last-of-type { border: 0; }
.sw input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent); }
.sw b { display: block; }
.sw .state { margin-inline-start: auto; flex: none; font-size: var(--fs-small); color: var(--muted); }
.sw .state::before { content: "Av"; }
.sw:has(input:checked) .state::before { content: "På"; color: var(--accent); font-weight: 600; }
.fold { display: none; flex-direction: column; gap: 12px; margin: 4px 0 8px 32px; padding-inline-start: 16px; border-inline-start: 2px solid var(--line); }
.sw:has(input:checked) + .fold { display: flex; }
.around > summary { cursor: pointer; font-family: var(--font-serif); font-size: 1.1875rem; font-weight: 600; list-style-position: outside; }
.around[open] > summary { margin-block-end: 8px; }
.n { font-variant-numeric: tabular-nums; color: var(--muted); font-weight: 400; }
.warn { color: var(--neg); }
.choice { display: flex; flex-direction: column; gap: 10px; border: 0; padding: 0; margin: 0; }
.choice .seg { max-width: 100%; }
.mail-peek { border-inline-start: 2px solid var(--line-strong); padding: 4px 0 4px 14px; font-size: var(--fs-small); color: var(--muted); }
.mail-peek b { color: var(--text); font-weight: 600; }
.tick { display: flex; gap: 10px; align-items: flex-start; min-height: 32px; }
.hint { display: block; font-size: var(--fs-small); color: var(--muted); }
.seg { display: inline-flex; flex-wrap: wrap; align-self: flex-start; border: 1px solid var(--line-strong); border-radius: var(--radius); overflow: hidden; }
.seg label { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; }
.seg label + label { border-inline-start: 1px solid var(--line-strong); }
.seg label:has(:checked) { background: var(--tint); font-weight: 600; }
.indent { padding-inline-start: 28px; }
.savebar { position: sticky; bottom: 0; z-index: 2; background: var(--bg); border-block-start: 1px solid var(--line-strong); padding-block: 14px;
display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: flex-end; }
.people { padding: 0; list-style: none; border-block-start: 1px solid var(--line); }
.people li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 16px; min-height: 52px; border-block-end: 1px solid var(--line); }
.people button.link { min-height: 44px; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 24px; }
.plans .card { gap: 16px; }
.plans .card.main { border: 2px solid var(--accent); }
.plans .card > :last-child { margin-block-start: auto; }
.badge { font-size: .8125rem; font-weight: 600; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--tint); color: var(--accent); }
.hp { position: absolute; left: -9999px; }
form.inline { display: inline; }
.board { display: block; width: 100%; min-height: 620px; border: 0; }
#profil { display: block; width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: inherit; resize: vertical; }
.features { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 16px 24px; padding: 0; list-style: none; }
.features h3 { margin-block: 0 4px; font-size: var(--fs-body); }
.features p { margin: 0; }
.popup { position: fixed; inset: 0; margin: auto; z-index: 101; width: min(28rem, calc(100% - 32px)); height: fit-content; padding: 24px; color: var(--text); background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow-popup); }
.popup h2 { margin-top: 0; }
.popup form { margin-top: 16px; text-align: end; }
.popup-bg { display: none; }
dialog[open] + .popup-bg { display: block; position: fixed; inset: 0; z-index: 100; background: rgb(0 0 0 / .45); }
button.link { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.hent button { margin-inline-start: 8px; }
.suggest { position: absolute; z-index: 10; inset-inline: 0; top: 100%; margin: 4px 0 0; padding: 4px 0; list-style: none; background: var(--bg); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow-menu); }
.suggest a { display: block; padding: 8px 12px; color: var(--text); text-decoration: none; }
.suggest [aria-selected="true"] a, .suggest a:hover { background: var(--tint); }
.suggest .head { padding: 4px 12px; font-size: var(--fs-small); color: var(--muted); }
.chips.plain { list-style: none; padding: 0; margin: 0; }
.field { display: grid; gap: 4px; max-width: 480px; margin-block: 16px; }
.field input[type=email] { width: 100%; }
.error { color: var(--neg); font-weight: 600; margin: 0; }
.export .btn { margin-block-start: 8px; }
.results-head { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: baseline; }
.sorts a, .sorts span { margin-inline-start: 8px; }
.sorts [aria-current] { font-weight: 600; }
.pages { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding-block: 12px; }
.pages a, .pages span { min-width: 32px; text-align: center; }
.pages [aria-current] { font-weight: 600; }
.phone { display: none; }
@media (width < 640px) {
.filters > summary { display: flex; align-items: center; min-height: 44px; font-weight: 600; cursor: pointer; }
.with-filters > aside { max-width: none; }
.results .wide, .pages .wide { display: none; }
.phone { display: initial; }
.fold { margin-inline-start: 8px; }
.seg { flex-direction: column; }
.seg label + label { border-inline-start: 0; border-block-start: 1px solid var(--line-strong); }
}
}
@layer components {
.page-head { display: flex; flex-direction: column; gap: 8px; }
.page-head .status { font-weight: 600; }
.st-strong { font-weight: 600; }
dl.kv > div { min-width: 0; }
.clauses { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.clause { margin: 0; padding: 16px 20px 20px; background: var(--surface); border-block-start: 3px double var(--line-strong); border-radius: 0 0 var(--radius) var(--radius); }
.clause figcaption { font-size: var(--fs-small); font-weight: 600; color: var(--muted); }
.clause blockquote { margin: 4px 0 0; font-family: var(--font-serif); font-size: 1.1875rem; line-height: 1.45; }
.clause blockquote::before { content: "«"; color: var(--accent); } .clause blockquote::after { content: "»"; color: var(--accent); }
.who { margin: 12px 0 0; padding-block-start: 12px; border-block-start: 1px solid var(--line); display: grid; gap: 4px; }
.who div { display: flex; flex-wrap: wrap; gap: 0 8px; } .who dt { color: var(--muted); min-width: 120px; } .who dd { margin: 0; }
.ad { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 16px 20px; border: 1px solid var(--line-strong); border-radius: var(--radius); }
.ad img { flex: none; border-radius: var(--radius-tile); box-shadow: 0 0 0 1px var(--line); }
.ad > div { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.ad .btn { display: inline-flex; align-items: center; text-decoration: none; }
.ad-line { flex-basis: 100%; } .ad-line img { vertical-align: -4px; border-radius: 4px; }
.co, .co-main { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.co-rail { display: none; flex-direction: column; gap: 16px; position: sticky; top: 72px; }
@media (width >= 1200px) {
.co { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; align-items: start; }
.co-rail { display: flex; } .co-main .in-rail { display: none; }
}
.ad-card { flex-direction: column; align-items: flex-start; gap: 12px; padding: 0 0 16px; overflow: hidden; }
.ad-card .ad-image { width: 100%; height: auto; border-radius: 0; box-shadow: none; }
.ad-card > img:not(.ad-image) { margin: 16px 16px 0; }
.ad-card > div { flex: none; padding-inline: 16px; } .ad-card .btn { margin-inline: 16px; }
.home { display: grid; grid-template-columns: 1fr; gap: 32px; }
.home-main { display: flex; flex-direction: column; gap: 16px; }
.rail { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; align-content: start; }
.rail .ad { flex-direction: column; align-items: flex-start; padding: 16px; }
.rail .ad > div { flex: none; }
@media (width >= 1100px) { .home { grid-template-columns: 240px minmax(0, 1fr) 240px; } .home > .rail { grid-template-columns: 1fr; } }
@media (width < 1100px) { .home > .rail:first-child { order: 2; } .home > .rail:last-child { order: 3; } }
dl.kv .wide-item { grid-column: 1 / -1; }
dl.kv dd { overflow-wrap: anywhere; }
.plain li { padding-block: 4px; }
.events li { border-block-end: 1px solid var(--line); }
.events summary { min-height: 44px; display: flex; align-items: center; gap: 12px; cursor: pointer; }
.events p { padding: 0 0 12px 28px; white-space: pre-line; }
.legend { display: inline-block; width: 12px; height: 12px; border-radius: var(--radius-bar); background: var(--c); margin-inline: 8px 4px; vertical-align: -1px; }
.legend.hatched { background: var(--hatch); border: 1px solid var(--line-strong); }
}
@layer charts {
.tile .years { display: flex; justify-content: space-between; }
.steps td:nth-child(2) { width: 40%; min-width: 160px; }
.steps .total th, .steps .total td { font-weight: 600; border-block-start: 3px double var(--line-strong); }
.benches { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px 32px; }
.bench .big { font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.bench .axis { display: flex; justify-content: space-between; }
.gantt { display: flex; flex-direction: column; }
.gantt .axis-row { border: 0; padding-block: 0; }
.gantt .years { display: flex; justify-content: space-between; }
.gantt .label { overflow-wrap: anywhere; }
.stacks { display: flex; flex-direction: column; gap: 6px; }
.stack-row { display: grid; grid-template-columns: 48px 1fr; gap: 12px; align-items: center; }
.stack > i.former { background: var(--hatch); border: 1px solid var(--line-strong); }
.stack.balance { height: 28px; }
.tabs { display: flex; flex-wrap: wrap; gap: 0 4px; }
.tabs > input { position: absolute; opacity: 0; pointer-events: none; }
.tabs > label { padding: 8px 16px; min-height: 44px; display: flex; align-items: center; cursor: pointer; border-block-end: 2px solid transparent; color: var(--muted); }
.tabs > input:checked + label { border-color: var(--accent); color: var(--text); font-weight: 600; }
.tabs > input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }
.tab-panel { display: none; flex-basis: 100%; padding-block-start: 16px; border-block-start: 1px solid var(--line); }
#nettverk-kart:checked ~ .tab-panel:nth-of-type(1), #nettverk-person:checked ~ .tab-panel:nth-of-type(2) { display: block; }
.acc { border-block-end: 1px solid var(--line); }
.acc > summary { min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; cursor: pointer; }
.acc[open] > summary { margin-block-end: 8px; }
.net { width: 100%; max-width: 640px; height: auto; font-size: 11px; }
.net line { stroke: var(--line-strong); stroke-width: 1; }
.net circle { fill: var(--accent); }
.net circle.org { fill: var(--line-strong); }
.net circle.me { fill: var(--text); }
.net text { fill: var(--muted); text-anchor: middle; }
.netx { background: var(--bg); }
.netx.full, .netx:fullscreen { position: fixed; inset: 0; z-index: 50; padding: 16px; display: flex; flex-direction: column; }
.netx-bar { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.netx-find { display: flex; gap: 8px; flex: 1 1 280px; }
.netx-find input { flex: 1; min-width: 0; }
.netx-map { display: block; width: 100%; height: 480px; margin-block: 8px; border: 1px solid var(--line); border-radius: var(--radius); touch-action: none; user-select: none; -webkit-user-select: none; cursor: grab; font-size: 12px; }
.netx.full .netx-map, .netx:fullscreen .netx-map { flex: 1; height: auto; }
.netx-map .edge { stroke: var(--line-strong); stroke-width: 1; }
.netx-map .edge.lead { stroke-width: 2.5; }
.netx-map .edge.former { stroke-dasharray: 4 3; opacity: .6; }
.netx-map .edge.path { stroke: var(--accent); stroke-width: 3; opacity: 1; }
.netx-map .node { cursor: pointer; }
.netx-map .node circle { fill: var(--accent); stroke: var(--bg); stroke-width: 1.5; }
.netx-map .node.org circle { fill: var(--line-strong); }
.netx-map .node.open circle { stroke: var(--text); }
.netx-map .node.root circle, .netx-map .node.path circle { fill: var(--text); }
.netx-map .node.path text { fill: var(--text); font-weight: 600; }
.netx-map text { fill: var(--text); text-anchor: middle; paint-order: stroke; stroke: var(--bg); stroke-width: 4px; stroke-linejoin: round; }
.netx-map .node.org text { font-weight: 600; }
.netx-map.focus .node:not(.near), .netx-map.focus .edge:not(.near) { opacity: .2; }
@media (forced-colors: active) {
.net line { stroke: CanvasText; } .net circle { fill: CanvasText; } .net text { fill: CanvasText; }
.stack > i.former { background: Canvas; border: 2px dashed CanvasText; }
}
}
@layer components {
.hbars { display: grid; grid-template-columns: minmax(90px, max-content) 1fr max-content; gap: 4px 12px; align-items: center; margin-block: 8px; }
.hbars.wide { grid-template-columns: minmax(160px, 280px) 1fr max-content; row-gap: 10px; }
.hbars .hbar { justify-self: start; }
.tree ul { margin: 2px 0 6px 20px; border-inline-start: 1px solid var(--line); padding-inline-start: 12px; }
}
@layer components {
.tenders summary { cursor: pointer; font-weight: 600; }
.tenders summary::marker { color: var(--accent); }
.tenders tr.more > td { padding-block: 12px 20px; background: var(--tint); }
.tenders tr.more { display: none; }
.tenders tbody:has(details[open]) tr.more { display: table-row; }
.tenders .more dl.kv { margin-block: 8px; }
.tenders .more h3 { margin-block: 12px 4px; }
.tiles.head .tile { flex-basis: 160px; }
@media (width < 640px) {
.tenders, .tenders caption, .tenders tbody, .tenders tr, .tenders td, .tenders th { display: block; }
.tenders thead { display: none; }
.tenders tbody { border-block-end: 1px solid var(--line); padding-block: 8px; }
.tenders td.num { text-align: start; }
.tenders td::before { content: attr(data-label) ": "; color: var(--muted); }
.tenders td.title::before, .tenders tr.more td::before { content: none; }
}
}
@layer components {
.ic { display: inline-block; flex: none; width: 18px; height: 18px; vertical-align: -3px; background: currentColor; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.ic-copy { --ic: var(--i-copy); } .ic-check { --ic: var(--i-check); } .ic-external { --ic: var(--i-external); } .ic-star { --ic: var(--i-star); }
.ic-close { --ic: var(--i-close); } .ic-chevron { --ic: var(--i-chevron); } .ic-search { --ic: var(--i-search); } .ic-sort { --ic: var(--i-sort); }
.ic-download { --ic: var(--i-download); } .ic-link { --ic: var(--i-link); } .ic-plus { --ic: var(--i-plus); }
.ic-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: var(--tap); min-height: var(--tap); padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: inherit; cursor: pointer; text-decoration: none; }
.ic-btn:hover { background: var(--tint); }
.btn.ic-btn { border: 0; background: var(--accent); color: var(--bg); padding: 0 14px; }
.ic-btn.bare { min-width: 32px; min-height: 32px; padding: 0; border: 0; background: none; color: var(--accent); }
.ic-btn.bare .ic { width: 16px; height: 16px; }
.ext::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-inline-start: 4px; vertical-align: -2px; background: currentColor; -webkit-mask: var(--i-external) center / contain no-repeat; mask: var(--i-external) center / contain no-repeat; }
@media (forced-colors: active) { .ic, .ext::after, .copy::after, .star-btn::before, .acc-sec > summary::after { background: ButtonText; forced-color-adjust: none; } }
.scroll { position: relative; }
.pluss > * { min-width: 0; }
.grp { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.stack-sm { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.legend-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.legend-row .legend { margin-inline: 0 6px; }
.legend.opt { display: inline-block; min-height: 0; background: var(--tint); border: 1px dashed var(--accent); }
.legend.now { width: 0; height: 14px; border-radius: 0; background: none; border-inline-start: 2px dashed var(--muted); margin-inline: 4px 8px; }
.note-inf { font-size: var(--fs-small); color: var(--muted); }
.hdr { border-block-end: 1px solid var(--line); }
.hdr .wrap { min-height: 76px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-block: 12px; }
.hdr .brand { flex: none; }
.hdr .hdr-search { flex: 1 1 480px; max-width: 760px; min-width: 0; }
.hdr-search form { display: flex; gap: 8px; min-width: 0; }
.hdr-search input { flex: 1; min-width: 0; width: 100%; height: 52px; padding-inline: 16px; font-size: 1.125rem; }
.home { grid-template-columns: minmax(0, 1fr); }
.home > * { min-width: 0; }
@media (width >= 1100px) { .home { grid-template-columns: 240px minmax(0, 1fr) 240px; } }
.rail { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.hdr-search .btn { height: 52px; padding-inline: 24px; }
.hdr-search.big input { height: 60px; font-size: 1.25rem; }
.hdr-search.big .btn { height: 60px; padding-inline: 20px; }
.hdr-search.big .ic { width: 22px; height: 22px; }
.hdr-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin-inline-start: auto; }
.hdr-nav a { min-height: var(--tap); display: inline-flex; align-items: center; }
.hdr-nav [aria-current] { color: var(--text); font-weight: 600; }
.hdr-nav .count { font-variant-numeric: tabular-nums lining-nums; color: var(--muted); }
.hdr-nav .count:empty { display: none; }
@media (width < 900px) { .hdr .hdr-search { order: 3; flex-basis: 100%; max-width: none; } }
@media (width < 640px) {
.hdr .wrap { gap: 4px 16px; }
.hdr-nav { gap: 0 14px; font-size: var(--fs-small); }
.hdr-search input, .hdr-search .btn { height: 48px; }
.hdr-search .btn { padding-inline: 16px; }
}
.acc-sec > summary { list-style: none; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: var(--tap); cursor: pointer; }
.acc-sec > summary::-webkit-details-marker { display: none; }
.acc-sec > summary h2 { margin: 0; }
.acc-sec > summary::after { content: ""; flex: none; align-self: center; width: 22px; height: 22px; background: var(--accent); -webkit-mask: var(--i-chevron) center / contain no-repeat; mask: var(--i-chevron) center / contain no-repeat; transform: rotate(180deg); }
.acc-sec:not([open]) > summary::after { transform: none; }
.acc-sec > .sec-body { display: flex; flex-direction: column; gap: 12px; padding-block-start: 12px; }
.sec:has(> .acc-sec:not([open])) { gap: 0; }
.sec.landed { background: var(--tint); padding: 24px 16px 16px; margin-inline: -16px; border-block-start-color: var(--accent); border-radius: 0 0 var(--radius) var(--radius); }
.landed-note { display: none; }
.sec.landed .landed-note { display: block; }
.star-btn { display: inline-flex; align-items: center; gap: 8px; min-height: var(--tap); padding: 0 14px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--bg); color: var(--text); font: inherit; cursor: pointer; white-space: nowrap; }
.star-btn::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--text); -webkit-mask: var(--i-star) center / contain no-repeat; mask: var(--i-star) center / contain no-repeat; }
.star-btn[aria-pressed="true"] { border-color: var(--accent); background: var(--tint); }
.star-btn[aria-pressed="true"]::before { background: var(--accent); -webkit-mask-image: var(--i-star-on); mask-image: var(--i-star-on); }
.star-btn.ic-only { width: var(--tap); padding: 0; justify-content: center; }
.star-btn.sm { min-height: 32px; padding: 0 10px; font-size: var(--fs-small); }
.star-btn.sm.ic-only { width: 32px; padding: 0; }
.head-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.ic-link { display: inline-flex; width: var(--tap); height: var(--tap); align-items: center; justify-content: center; border: 1px solid var(--line-strong); border-radius: var(--radius); color: var(--text); }
.ic-link .ic { width: 20px; height: 20px; }
.copy { display: inline-flex; align-items: center; gap: 10px; min-height: 24px; margin: 0; padding: 0 2px; border: 0; border-radius: var(--radius); background: none; color: inherit; font: inherit; cursor: copy; }
.copy:hover { background: var(--tint); }
.copy-hint { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.copy::after { content: ""; flex: none; width: 16px; height: 16px; background: var(--accent); -webkit-mask: var(--i-copy) center / contain no-repeat; mask: var(--i-copy) center / contain no-repeat; }
.copy.done::after { background: var(--pos); -webkit-mask-image: var(--i-check); mask-image: var(--i-check); }
.hc { position: fixed; inset: auto; width: 320px; margin: 0; padding: 16px; flex-direction: column; gap: 8px;
background: var(--bg); color: var(--text); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: var(--shadow-menu);
font: 400 var(--fs-small)/1.45 var(--font-sans); text-align: start; white-space: normal; }
.hc:popover-open { display: flex; }
.hc .hc-name { font: 600 1.125rem/1.3 var(--font-serif); color: var(--text); }
.hc-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding-block-start: 8px; border-block-start: 1px solid var(--line); }
.hc-foot .row { gap: 6px; } .hc-foot .row:empty { display: none; }
.hc-foot .ic-btn { min-width: 32px; min-height: 32px; padding: 0; }
.ev { display: flex; flex-direction: column; }
.ev-month { display: flex; justify-content: space-between; align-items: baseline; max-width: none; margin: 0; padding-block: 16px 6px; border-block-end: 3px double var(--line-strong); font: 600 var(--fs-small)/1.4 var(--font-sans); color: var(--muted); }
.ev-month:first-child { padding-block-start: 4px; }
.ev-list { list-style: none; margin: 0; padding: 0; }
.ev-item { display: grid; grid-template-columns: 52px 18px minmax(0, 1fr); column-gap: 12px; padding-block: 12px; border-block-end: 1px solid var(--line); }
.ev-item.same { border-block-start: 0; }
.ev-list > .ev-item:has(+ .same) { border-block-end-color: transparent; }
.ev-date { padding-block-start: 1px; color: var(--muted); font-variant-numeric: tabular-nums lining-nums; }
.ev-node { position: relative; }
.ev-node::before { content: ""; position: absolute; inset-inline-start: 8px; top: -12px; bottom: -12px; border-inline-start: 1px solid var(--line-strong); }
.ev-node::after { content: ""; position: absolute; inset-inline-start: 3px; top: 6px; width: 11px; height: 11px; background: var(--bg); border: 2px solid var(--line-strong); border-radius: var(--radius-bar); }
.ev-item.same .ev-node::after { width: 7px; height: 7px; inset-inline-start: 5px; top: 8px; border-width: 1px; }
.ev-item.latest .ev-node::after { background: var(--accent); border-color: var(--accent); }
.ev-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ev-head { margin: 0; }
.stamp { display: inline-block; margin-inline-end: 10px; padding: 0 6px; border: 1px solid var(--line-strong); border-radius: var(--radius); font: 600 .75rem/1.55 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text); vertical-align: 2px; }
.ev-sum { margin: 0; }
.ev-figs { display: flex; flex-wrap: wrap; gap: 2px 20px; margin: 0; }
.ev-figs b { font-weight: 600; }
.was { margin-inline-start: 8px; color: var(--muted); text-decoration: line-through; text-decoration-color: var(--line-strong); }
.ev-more > summary { display: inline-flex; align-items: center; min-height: 32px; color: var(--accent); cursor: pointer; font-size: var(--fs-small); }
.ev-more > p { padding-block: 4px 8px; color: var(--muted); font-size: var(--fs-small); }
@media (width < 640px) {
.ev-item { grid-template-columns: 40px 14px minmax(0, 1fr); column-gap: 8px; }
.ev-node::before { inset-inline-start: 6px; }
.ev-node::after { inset-inline-start: 1px; }
.ev-item.same .ev-node::after { inset-inline-start: 3px; }
.stamp { display: table; margin-block-end: 4px; }
}
.pay { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 32px; padding-block-start: 16px; border-block-start: 1px solid var(--line); }
.pay-main { display: flex; flex-direction: column; gap: 2px; }
.pay-main .big { font-size: 1.5rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums lining-nums; }
.pay .cols.mini { align-self: center; }
.pay-more { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 0; }
.pay-more dt { font-size: var(--fs-small); color: var(--muted); }
.pay-more dd { margin: 0; font-variant-numeric: tabular-nums lining-nums; }
.tags { list-style: none; margin: 0; padding: 0; border-block-start: 1px solid var(--line); }
.tags > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; padding-block: 14px; border-block-end: 1px solid var(--line); }
.tag-who { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tag-who .name { font: 600 1.0625rem/1.35 var(--font-serif); }
.tag-why { font-family: var(--font-serif); }
.tag-why::before { content: "«"; color: var(--accent); } .tag-why::after { content: "»"; color: var(--accent); }
.tag-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.tag-acts form { display: contents; }
.btn-2[aria-pressed="true"] { background: var(--tint); border-color: var(--accent); color: var(--text); font-weight: 600; }
@media (width < 640px) { .tags > li { grid-template-columns: minmax(0, 1fr); } .tag-acts { justify-content: flex-start; } }
.cmp-heads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; padding-block: 16px; border-block: 3px double var(--line-strong); }
.cmp-head { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cmp-head h2 { display: flex; align-items: center; gap: 10px; overflow-wrap: anywhere; }
.cmp-head .legend { flex: none; margin: 0; }
.cmp-tbl { table-layout: fixed; }
.cmp-tbl thead th:first-child { width: 34%; }
.cmp-cell { display: flex; flex-direction: column; gap: 6px; }
.cmp-cell > b { font-weight: 600; font-variant-numeric: tabular-nums lining-nums; }
.step.thin { height: 10px; }
.bench-pair { display: flex; flex-direction: column; gap: 2px; }
.bench-pair .who { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 12px; font-size: var(--fs-small); }
@media (width < 640px) {
.cmp-heads { gap: 12px; }
.cmp-head h2 { font-size: 1.0625rem; }
.cmp-tbl thead th:first-child { width: 30%; }
.cmp-tbl :is(td, tbody th) { padding-inline: 6px; }
}
.open-btn > summary { list-style: none; display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 18px; border: 1px solid var(--accent); border-radius: var(--radius); color: var(--accent); font-weight: 600; cursor: pointer; }
.open-btn > summary::-webkit-details-marker { display: none; }
.open-btn[open] > summary { background: var(--tint); color: var(--text); }
.open-btn > :not(summary) { margin-block-start: 12px; }
.ev-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.ev-filter label { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-small); font-weight: 600; }
.tray { position: sticky; bottom: 0; z-index: 6; background: var(--bg); border-block-start: 3px double var(--line-strong); }
.tray .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding-block: 10px; }
.tray-items { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex: 1 1 300px; min-width: 0; }
.tray-items .chip { gap: 10px; }
.tray-items button.link { font-size: var(--fs-small); color: var(--accent); min-height: 32px; }
.tray-acts { display: flex; align-items: center; gap: 12px; }
.cmp-rail { display: flex; flex-direction: column; gap: 10px; padding-block: 4px 16px; border-block-end: 3px double var(--line-strong); }
.cmp-rail h2 { font: 600 var(--fs-h3)/1.4 var(--font-sans); }
.cmp-rail ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cmp-rail li { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; border-block-end: 1px solid var(--line); }
.cmp-rail .btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
@media (width >= 1200px) { .tray { display: none; } }
.see-all { font-weight: 600; }
.see-all { padding-block: 3px; }
.netx-status a { padding-block: 4px; }
.cmp-heads { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
@media (width < 640px) {
.cmp-tbl, .cmp-tbl tbody, .cmp-tbl tr, .cmp-tbl tbody th, .cmp-tbl td { display: block; width: auto; }
.cmp-tbl thead { display: none; }
.cmp-tbl tr { padding-block: 10px; border-block-end: 1px solid var(--line); }
.cmp-tbl tbody th { border: 0; padding: 0 0 6px; font-weight: 600; }
.cmp-tbl td { border: 0; padding: 3px 0; }
.cmp-tbl td::before { content: attr(data-label); display: block; font-size: var(--fs-small); color: var(--muted); }
}
.glance { font-size: 1.125rem; line-height: 1.6; max-width: var(--measure); }
.contact { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; }
.band { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px 40px; padding-block: 16px 8px; border-block: 1px solid var(--line); }
.band > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.band h2 { font: 600 var(--fs-h3)/1.4 var(--font-sans); }
.claim { display: flex; gap: 16px; align-items: flex-start; padding-block: 16px 8px; border-block-end: 1px solid var(--line); }
.claim img { flex: none; width: 56px; height: 56px; object-fit: contain; border-radius: var(--radius); background: #fff; }
.claim > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.claim h2 { font: 600 var(--fs-h3)/1.4 var(--font-sans); }
.intro { display: flow-root; }
.site { float: right; width: min(480px, 45%); margin: 0 0 16px 32px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: light-dark(#fff, #1b1c18); font-size: var(--fs-small); }
.site img { display: block; width: 100%; aspect-ratio: 1.91 / 1; object-fit: cover; }
.site > a { display: block; padding: 12px 16px 0; color: inherit; text-decoration: none; }
.site > a b { display: block; font-size: 1.0625rem; line-height: 1.35; }
.site > a span { display: block; color: var(--muted); margin-top: 2px; }
.site p { margin: 8px 16px; }
.site p:not(.small) { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.site .small, .site form { margin: 8px 16px 12px; }
.site .btn-2 { height: 32px; padding: 0 12px; font-size: var(--fs-small); margin: 0; }
.site.hent { padding: 12px 16px; border-style: dashed; }
.site.hent p { margin: 0 0 8px; }
.intro > .page-head ~ * { margin-top: 24px; }
@media (width < 640px) { .site { float: none; width: auto; margin: 0 0 16px; } }
.changes, .signals { list-style: none; margin: 0; padding: 0; }
.changes li, .signals li { display: grid; gap: 12px; padding-block: 7px; border-block-end: 1px solid var(--line); }
.changes li { grid-template-columns: 6.2em minmax(0, 1fr); }
.signals li { grid-template-columns: 64px minmax(0, 1fr); }
.signals li > :first-child { white-space: nowrap; }
.changes time { color: var(--muted); font-variant-numeric: tabular-nums lining-nums; }
.faq { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px 32px; }
.faq > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.faq h3 { font-size: var(--fs-body); }
.state-tag { font: 600 .75rem/1.55 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.res-name { display: flex; flex-direction: column; gap: 2px; }
.res-name a { font: 600 1.0625rem/1.35 var(--font-serif); }
.res-tools { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-inline-start: auto; }
.today { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 6px 24px; padding: 0; margin: 0; list-style: none; }
.links-grid li { padding-block: 6px; border-block-end: 1px solid var(--line); }
}
@layer charts {
.tl { display: flex; flex-direction: column; }
.tl-row { display: grid; grid-template-columns: minmax(150px, 190px) repeat(11, minmax(0, 1fr)); column-gap: 6px; align-items: end; padding-block: 10px; border-block-end: 1px solid var(--line); }
.tl-row.tl-axis { padding-block: 0 6px; border-block-end: 3px double var(--line-strong); align-items: baseline; }
.tl-lab { align-self: center; display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.tl-c { position: relative; height: 44px; }
.tl-c.cov { border-block-end: 1px solid var(--line-strong); }
.tl-c > i { position: absolute; inset-inline: 3px; bottom: 0; height: var(--h); min-height: 2px; background: var(--line-strong); border-radius: var(--radius-bar) var(--radius-bar) 0 0; }
.tl-c > i.latest { background: var(--accent); }
.tl-c > i.former { background: var(--hatch); border: 1px solid var(--line-strong); border-block-end: 0; }
.tl-c.pair > i { inset-inline: 2px calc(50% + 1px); }
.tl-c.pair > i + i { inset-inline: calc(50% + 1px) 2px; }
.tl-c.sel, .tl-y.sel { background: var(--tint); }
.tl-y { text-align: center; font-size: var(--fs-small); white-space: nowrap; }
.tl-y a[aria-current] { font-weight: 700; color: var(--text); }
.tl-now { position: absolute; inset-inline-start: var(--now); top: -10px; bottom: 0; border-inline-start: 2px dashed var(--muted); }
.tl-pick { display: none; }
@media (width < 640px) {
.tl-row { grid-template-columns: repeat(11, minmax(0, 1fr)); column-gap: 3px; }
.tl-lab { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; gap: 8px; margin-block-end: 6px; }
.tl-axis .tl-lab { display: none; }
.tl-y:not(.keep) { visibility: hidden; }
.tl-c > i { inset-inline: 1px; }
.tl-pick { display: flex; }
}
.share { display: grid; grid-template-columns: 3.4em minmax(48px, 1fr); align-items: center; gap: 8px; }
.share > b { font-weight: 400; text-align: end; font-variant-numeric: tabular-nums lining-nums; }
.share > i { height: 10px; width: var(--w); min-width: 2px; background: var(--line-strong); border-radius: 0 var(--radius-bar) var(--radius-bar) 0; }
.share.latest > i { background: var(--accent); }
.share.former > i { background: var(--hatch); border: 1px solid var(--line-strong); }
.share.total > b { font-weight: 600; }
.share.total > i { background: var(--text); }
.share.none > i { visibility: hidden; }
.tbl .total th, .tbl .total td { border-block-start: 3px double var(--line-strong); font-weight: 600; }
@media (width < 640px) { .share { grid-template-columns: 3em minmax(28px, 1fr); gap: 4px; } }
.cal { display: grid; grid-template-columns: repeat(18, minmax(0, 1fr)); column-gap: 4px; align-items: end; }
.cal-m { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cal-bars { display: flex; flex-direction: column-reverse; gap: 2px; height: 180px; border-block-end: 1px solid var(--line-strong); }
.cal-bars > i { display: block; height: var(--h); min-height: 3px; background: var(--line-strong); border-radius: var(--radius-bar); }
.cal-bars > i.me { background: var(--accent); }
.cal-bars > i.opt { background: var(--tint); border: 1px dashed var(--accent); }
.cal-l { font-size: var(--fs-small); color: var(--muted); text-align: center; line-height: 1.25; white-space: nowrap; }
.cal-l > span { display: block; }
.cal-l > .yr { visibility: hidden; }
.cal-l > .yr.keep { visibility: visible; }
.cal-now { position: absolute; inset-inline-start: var(--now); top: 0; height: 180px; border-inline-start: 2px dashed var(--muted); }
.cal-sum { display: none; }
@media (width < 640px) {
.cal { grid-template-columns: minmax(0, 1fr); }
.cal-m { display: grid; grid-template-columns: 76px minmax(0, 1fr) 4em; align-items: center; gap: 8px; min-height: 32px; border-block-end: 1px solid var(--line); }
.cal-l { order: -1; text-align: start; }
.cal-l > span { display: inline; }
.cal-l > .yr { visibility: visible; }
.cal-bars { flex-direction: row; height: 14px; border: 0; overflow: hidden; }
.cal-bars > i { height: 100%; width: var(--w); min-width: 3px; flex: none; }
.cal-sum { display: block; text-align: end; font-size: var(--fs-small); font-variant-numeric: tabular-nums lining-nums; }
.cal-now { top: var(--now); inset-inline: 0; height: 0; border-inline-start: 0; border-block-start: 2px dashed var(--muted); }
}
.cols.mini { width: 64px; height: 24px; margin: 0; gap: 3px; }
.tbl td.spark { width: 88px; }
.stack.split { height: 16px; }
.hbar.other { background: var(--line-strong); }
.strip .me.them { background: var(--line-strong); }
.mx th, .mx td { text-align: center; vertical-align: middle; }
.mx thead th { white-space: normal; font-size: .8125rem; line-height: 1.3; }
.mx tbody th { text-align: start; }
.mx .cv { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: var(--fs-small); font-variant-numeric: tabular-nums lining-nums; }
.mx .cv.top { font-weight: 700; }
.sq { display: block; width: var(--s); height: var(--s); min-width: 4px; min-height: 4px; background: var(--line-strong); border-radius: var(--radius-bar); }
.sq.rest { background: none; border: 1px solid var(--line-strong); }
.mkt-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: center; }
@media (forced-colors: active) {
.sq { background: CanvasText; forced-color-adjust: none; } .sq.rest { background: Canvas; border-color: CanvasText; }
.hbar.other, .strip .me.them { background: CanvasText; forced-color-adjust: none; }
.ev-item.latest .ev-node::after { background: CanvasText; forced-color-adjust: none; }
.star-btn::before { background: ButtonText; forced-color-adjust: none; }
.tl-c > i, .share > i, .cal-bars > i { background: CanvasText; forced-color-adjust: none; }
.tl-c > i.former, .share.former > i { background: Canvas; border: 2px dashed CanvasText; }
.cal-bars > i.opt { background: Canvas; border: 2px dashed CanvasText; }
.tl-now, .cal-now { border-color: CanvasText; }
}
}