:root{--paper:#f7f3eb;--panel:#fffdf9;--soft:#eee8dd;--ink:#162232;--muted:#606974;--line:#ddd5c8;--accent:#94502f;--night:#0d1a2a;--night2:#16283b;--on:#f7f3eb;--gold:#bb815a;--blue:#8ab0ca;--good:#286b57;--bad:#aa473c;--ring-strong:#b4a487;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',sans-serif;--mono:Consolas,monospace;--radius:8px;--side:224px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;color-scheme:light}
:root[data-theme=dark]{--paper:#101e2d;--panel:#162638;--soft:#213346;--ink:#f2eee6;--muted:#aebbc8;--line:#405165;--accent:#dca780;--good:#8bcbb5;--bad:#edaca3;--ring-strong:#63798d;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:inherit;text-underline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1{font:clamp(2.5rem,4.1vw,4.4rem)/1.05 var(--serif);letter-spacing:-.055em}h2{font:1.8rem/1.2 var(--serif);letter-spacing:-.025em}h3{font:1.35rem/1.25 var(--serif)}p{color:var(--muted);max-width:68ch}p+p{margin-top:16px}small,.small{font-size:.875rem}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:var(--panel);padding:12px}.skip:focus{top:15px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);padding:30px 18px 22px;background:var(--night);color:var(--on);display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:2rem var(--serif);letter-spacing:-.06em;padding:0 12px}.brand svg{width:34px;height:34px;color:var(--gold)}.sidebar .eyebrow{color:#a7b7c9;margin:42px 12px 15px}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:var(--accent)}.navlink{display:flex;gap:13px;align-items:center;min-height:48px;padding:12px;border-radius:5px;text-decoration:none;color:#b5c0ce;font-size:.9375rem;margin-bottom:4px}.navlink i{font:1.35rem var(--serif);width:23px;color:var(--gold);text-align:center;font-style:normal}.navlink:hover{background:#172b40;color:white}.navlink[aria-current=page]{background:#253549;color:white;box-shadow:inset 2px 0 var(--gold)}.side-bottom{margin-top:auto;padding-top:28px}.side-note{margin:20px 12px 0;padding-top:20px;border-top:1px solid #304155;color:#a7b7c9;font-size:.75rem}.workspace{margin-left:var(--side)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:12px 42px;border-bottom:1px solid var(--line);background:var(--paper)}.crumb{font-size:.875rem;color:var(--muted)}.crumb b{font-weight:500;color:var(--ink)}.tools,.actions,.chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tools{flex-wrap:nowrap}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:5px;background:var(--panel);text-decoration:none;font-size:.875rem;font-weight:600;line-height:1.4}.button.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.button.gold{background:var(--gold);color:var(--night);border-color:var(--gold)}.button.quiet{background:transparent}.button:hover{border-color:var(--accent)}.icon-button{width:44px;padding:0;font-size:1.2rem;background:transparent}.demo{font-size:.75rem;letter-spacing:.04em;display:flex;align-items:center;gap:7px;color:var(--muted)}.demo:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent)}.subnav{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:0 42px;overflow-x:auto;scrollbar-width:thin}.subnav a{flex:none;display:flex;align-items:center;min-height:54px;color:var(--muted);font-size:.875rem;text-decoration:none;border-bottom:2px solid transparent}.subnav a[aria-current=page]{color:var(--ink);border-color:var(--accent)}main{max-width:1500px;margin:auto;padding:36px 42px 70px;min-height:calc(100vh - 205px)}.pagehead{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:30px}.pagehead .eyebrow{margin-bottom:12px}.pagehead p{margin-top:15px;max-width:60ch}.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.pad{padding:28px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:1.35rem}.panel-head .small{color:var(--muted)}.section{margin-top:28px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 18px}.section-title a{font-size:.875rem}.dark{background:var(--night);color:var(--on);border-color:var(--night)}.dark p{color:#b8c4d1}.dark .eyebrow{color:var(--gold)}.dark h2{color:var(--on)}.dark .button.quiet{color:var(--on);border-color:#607085;background:transparent}.daily{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:18px;padding:34px;align-items:center}.daily h2{font:clamp(2rem,3vw,3.3rem)/1.13 var(--serif);letter-spacing:-.04em;margin:20px 0}.daily p{font-size:.9375rem}.daily .actions{margin-top:27px}.wheel{width:100%;height:auto;display:block;max-width:620px;margin:auto}.wheel .outline{stroke:#758697;fill:none;stroke-width:.65}.wheel .goldline{stroke:var(--gold);fill:none;stroke-width:.8}.wheel .aspect{stroke-width:.9;fill:none;opacity:.75}.wheel text{fill:#c5ced7;font-family:var(--sans);font-size:11px}.wheel .zodiac{font-size:19px;fill:var(--gold)}.wheel .house{font-size:9px;fill:#91a3b6}.wheel .planet{font-size:17px;fill:#edc4a7}.chart-caption{text-align:center;color:#b8c4d1;font-size:.75rem;margin-top:16px}.stat-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #34465b}.stat-strip>div{padding:20px 25px;border-right:1px solid #34465b}.stat-strip>div:last-child{border:0}.stat-strip small{display:block;color:#b7c4d2;font-size:.75rem}.stat-strip b{font:1.2rem var(--serif);display:block;margin:4px 0}.row{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row .grow{flex:1;min-width:0}.row p{font-size:.875rem;margin:4px 0 0}.row b{font-weight:550}.glyph{font:1.9rem var(--serif);color:var(--accent);width:35px;flex:none}.tag{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:.75rem;color:var(--muted);white-space:nowrap}.tag.good{color:var(--good)}.tag.accent{color:var(--accent)}.readmore{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--accent);font-size:.875rem;text-decoration:none;font-weight:600}.prompt{padding:25px 0 5px;margin-top:20px;border-top:1px solid var(--line)}.prompt blockquote{font:1.6rem/1.35 var(--serif);margin:12px 0 20px}.kicker{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.note{border-left:2px solid var(--accent);padding:0 0 0 18px;margin:23px 0;font-size:.875rem;color:var(--muted)}.timeline-item{display:grid;grid-template-columns:85px 1fr auto;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.timeline-item time{font-size:.875rem;color:var(--muted)}.timeline-item time b{display:block;font:1.7rem var(--serif);color:var(--ink)}.timeline-item h3{margin:8px 0}.timeline-item p{font-size:.9375rem}.timeline-item:last-child{border:0}.meter{height:7px;border-radius:8px;background:var(--soft);overflow:hidden;margin:12px 0 20px}.meter i{height:100%;display:block;background:var(--accent)}.link-card{display:block;text-decoration:none;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.link-card:hover{border-color:var(--accent);background:var(--soft)}.link-card h3{margin:24px 0 10px}.link-card p{font-size:.9375rem}.link-card .arrow{display:block;margin-top:18px;color:var(--accent)}.number{font:2.8rem var(--serif);color:var(--accent)}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem}.table-wrap{overflow-x:auto}.data-table caption{text-align:left;padding:20px 25px;color:var(--muted);font-size:.875rem}.data-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--muted);background:var(--soft);padding:14px 22px}.data-table td{padding:17px 22px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border:0}.data-table .num{font-family:var(--mono);text-align:right;white-space:nowrap}.data-table tbody tr:hover{background:var(--soft)}.data-table button{background:none;border:0;text-align:left;min-height:44px;padding:0;color:var(--accent);font-weight:600}.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px}.chart-stage{padding:30px;min-height:510px;display:flex;flex-direction:column;justify-content:center}.chart-inspector{border-left:1px solid var(--line);background:var(--panel);padding:27px}.chart-inspector h2{font-size:1.8rem;margin:14px 0}.chart-inspector p{font-size:.9375rem}.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.facts dt{font-size:.75rem;color:var(--muted)}.facts dd{margin:4px 0 0;font-size:.9375rem}.chips{margin:20px 0}.chip{border:1px solid var(--line);border-radius:22px;background:transparent;padding:9px 16px;min-height:44px;font-size:.875rem}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.field{display:grid;gap:8px;margin-bottom:20px;font-size:.875rem;font-weight:600}input,textarea,select{width:100%;min-width:0;border:1px solid var(--ring-strong);border-radius:5px;background:var(--panel);color:var(--ink);padding:12px 14px;min-height:46px;font-weight:400}input[type=checkbox]{min-height:20px;width:20px;accent-color:var(--accent)}.check{display:flex;gap:12px;align-items:center;margin:15px 0;font-size:.875rem}.editor{font:1.25rem/1.8 var(--serif);min-height:270px;background:transparent;border:0;padding:20px 0;resize:vertical}.editor:focus{outline-offset:6px}.saved{color:var(--good);font-size:.875rem}.empty{padding:45px 25px;text-align:center}.empty p{margin:12px auto 24px}.search{max-width:430px}.article{max-width:720px}.article p{line-height:1.85}.article h2{margin:35px 0 18px}.article ul{padding-left:23px;color:var(--muted)}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-size:.9375rem;font-weight:550}details p{margin-top:14px;font-size:.9375rem}.step{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.step .step-no{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:35px;height:35px;flex:none;font-size:.875rem;color:var(--accent)}.step a{flex:1;text-decoration:none}.step small{display:block;color:var(--muted)}.map-stage{background:var(--night);padding:20px;overflow:hidden}.map-stage svg{width:100%;min-height:300px;display:block;--paper:#0d1a2a;--line:#253d53;--ring-strong:#53667a}.map-stage .map-line{fill:none;stroke:var(--gold);stroke-width:.6;opacity:.9}.map-stage .map-line.blue{stroke:var(--blue)}.map-stage text{fill:#f7f3eb;font-size:5px}.map-stage circle{fill:var(--gold)}.map-stage .map-label{fill:var(--night);stroke:#607085;stroke-width:.3}.month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.month-grid a{padding:25px;background:var(--panel);text-decoration:none}.month-grid b{display:block;margin-bottom:20px;font:1.3rem var(--serif)}.month-grid small{display:block;color:var(--muted)}.compare-value{font:2.4rem var(--serif);padding:20px 0}.price{font:3.8rem var(--serif);letter-spacing:-.05em;margin:20px 0}.price small{font:1rem var(--sans);letter-spacing:0}.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.swatch{border:1px solid var(--line);border-radius:6px;overflow:hidden}.swatch i{display:block;height:90px}.swatch span{display:block;padding:12px;font-size:.75rem}.spec{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--line)}.spec p{font-size:.9375rem}.spec h3{margin-bottom:12px}.audit-note{display:none;margin:30px 0 0;border:1px dashed var(--accent);padding:22px;background:var(--panel);border-radius:6px}.show-notes .audit-note{display:block}.audit-note h2{font:1.25rem var(--serif);margin:10px 0}.audit-note p{font-size:.875rem}.footer{margin:0 42px;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.75rem}.footer nav{display:flex;gap:18px;flex-wrap:wrap}.footer a{text-decoration:none}.mobile-menu{display:none}dialog{width:min(620px,calc(100% - 30px));max-height:88vh;border:1px solid var(--line);border-radius:12px;padding:0;background:var(--panel);color:var(--ink);box-shadow:0 35px 100px #0005}dialog::backdrop{background:#07111fcc;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid var(--line)}.dialog-body{padding:28px}.dialog-body h2{margin-bottom:16px}.dialog-body .actions{margin-top:22px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,25px);background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:7px;box-shadow:0 8px 30px #0003;z-index:100;opacity:0;pointer-events:none;max-width:calc(100% - 35px);transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.landing-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:35px 0 50px}.landing-hero h1{font-size:clamp(3.8rem,6vw,6.8rem);line-height:.99;margin:23px 0}.landing-hero h1 em{font-weight:400;color:var(--accent)}.landing-hero p{font-size:1.0625rem;max-width:42ch}.landing-hero .actions{margin:30px 0 18px}.landing-plate{padding:30px;border-radius:var(--radius)}.landing-plate .wheel{padding-top:25px}.lead-rule{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:.875rem}.landing-sequence{margin:55px 0}.landing-sequence h2{font-size:2.5rem;margin-bottom:30px}.callout{padding:35px;display:flex;align-items:center;justify-content:space-between;gap:25px}.callout h2{margin-bottom:10px}.states{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-card{padding:25px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px}.status-card h3{margin:10px 0}.status-card p{font-size:.9375rem}.flow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:22px 0}.flow a{background:var(--soft);padding:12px 16px;border-radius:5px;text-decoration:none;font-size:.875rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1600px){main{padding-top:48px}.daily{padding:45px}.daily h2{font-size:3.5rem}}
@media(max-width:1200px){:root{--side:196px}.topbar,.subnav{padding-inline:28px}main{padding-inline:28px}.grid{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.daily{grid-template-columns:1fr;padding:28px}.daily .wheel{max-width:250px}.daily>div:last-child{display:none}.chart-layout{grid-template-columns:minmax(0,1fr) 270px}.chart-stage{padding:20px;min-height:440px}.three{gap:14px}.pad{padding:23px}.footer{margin-inline:28px}}
@media(max-width:950px){:root{--side:0px}.sidebar{display:none}.sidebar.open{display:flex;width:260px;top:74px;box-shadow:12px 0 30px #0005}.mobile-menu{display:inline-flex}.topbar{position:sticky;top:0;z-index:35;min-height:74px}.grid{grid-template-columns:1fr}.grid>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid>aside>div{margin:0}.landing-hero{gap:25px}.daily{grid-template-columns:1.2fr .8fr}.daily>div:last-child{display:block}.demo{display:none}.footer{margin-inline:28px}}
@media(max-width:650px){main{padding:26px 18px 45px}.topbar{padding:12px 18px;gap:8px}.crumb{display:none}.topbar .tools{margin-left:auto;gap:6px}.topbar .tools .button{padding:10px 12px}.subnav{padding-inline:18px;gap:22px}.pagehead{display:block}.pagehead>.actions{margin-top:20px}.two,.three,.grid>aside,.landing-hero,.chart-layout,.states{grid-template-columns:1fr}.daily{grid-template-columns:1fr;padding:25px}.daily>div:last-child{display:none}.daily h2{font-size:2.3rem}.stat-strip>div{padding:15px 12px}.stat-strip b{font-size:1rem}.panel-head{padding:18px}.pad{padding:22px}.timeline-item{grid-template-columns:58px 1fr;gap:16px}.timeline-item>.button{grid-column:2;justify-self:start}.chart-inspector{border-left:0;border-top:1px solid var(--line)}.chart-stage{min-height:310px;padding:20px}.data-table th,.data-table td{padding:12px 16px}.data-table{min-width:480px}.landing-hero{padding:5px 0 25px}.landing-hero h1{font-size:3.7rem}.landing-plate{border-radius:var(--radius)}.landing-plate .wheel{max-width:330px}.lead-rule{flex-wrap:wrap}.landing-sequence{margin-block:35px}.callout{display:block;padding:25px}.callout .button{margin-top:20px}.month-grid{grid-template-columns:repeat(2,1fr)}.swatches{grid-template-columns:repeat(2,1fr)}.spec{grid-template-columns:1fr;gap:12px}.footer{margin-inline:18px;flex-direction:column}.row{gap:12px}.row .tag{white-space:normal}.pagehead h1{font-size:2.7rem}.tools .icon-button{width:40px}.map-stage{padding:5px}.map-stage svg{min-height:200px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.sidebar,.topbar,.subnav,.footer,.actions,.toast{display:none}.workspace{margin:0}main{padding:0}.panel{break-inside:avoid}body{background:white;color:#162232}.audit-note{display:block}.dark{print-color-adjust:exact}}
/* Licht thema, 8 september 2026: crème voor de grote vlakken, navigatie,
   primaire knoppen en kaarten. Nachtblauw blijft alleen in het donkere thema.
   --night blijft een inktkleur voor onder meer tekst op koperen knoppen. */
:root:not([data-theme=dark]) .sidebar{background:var(--soft);color:var(--ink);border-right:1px solid var(--line)}
:root:not([data-theme=dark]) .sidebar .eyebrow,
:root:not([data-theme=dark]) .side-note{color:var(--muted)}
:root:not([data-theme=dark]) .side-note{border-color:var(--line)}
:root:not([data-theme=dark]) .brand svg,
:root:not([data-theme=dark]) .navlink i{color:var(--accent)}
:root:not([data-theme=dark]) .navlink{color:var(--ink)}
:root:not([data-theme=dark]) .navlink:hover{background:var(--paper);color:var(--ink)}
:root:not([data-theme=dark]) .navlink[aria-current=page]{background:var(--panel);color:var(--ink);box-shadow:inset 2px 0 var(--accent)}
:root:not([data-theme=dark]) .dark,
:root:not([data-theme=dark]) .map-stage{background:var(--soft);color:var(--ink);border-color:var(--line)}
:root:not([data-theme=dark]) .dark p,
:root:not([data-theme=dark]) .chart-caption,
:root:not([data-theme=dark]) .stat-strip small{color:var(--muted)}
:root:not([data-theme=dark]) .dark h2{color:var(--ink)}
:root:not([data-theme=dark]) .dark .eyebrow{color:var(--accent)}
:root:not([data-theme=dark]) .stat-strip,
:root:not([data-theme=dark]) .stat-strip>div{border-color:var(--line)}
:root:not([data-theme=dark]) .button.primary,
:root:not([data-theme=dark]) .chip[aria-pressed=true]{background:var(--soft);border-color:var(--ring-strong);color:var(--ink)}
:root:not([data-theme=dark]) .button.primary:hover,
:root:not([data-theme=dark]) .chip[aria-pressed=true]:hover{background:var(--paper);border-color:var(--accent)}
:root:not([data-theme=dark]) .dark .button.quiet{background:var(--panel);color:var(--ink);border-color:var(--line)}
:root:not([data-theme=dark]) .wheel{background:var(--soft);border-radius:50%}
:root:not([data-theme=dark]) .wheel .outline{stroke:var(--ring-strong)}
:root:not([data-theme=dark]) .wheel .goldline{stroke:var(--accent)}
:root:not([data-theme=dark]) .wheel text{fill:var(--ink)}
:root:not([data-theme=dark]) .wheel .house{fill:var(--muted)}
:root:not([data-theme=dark]) .wheel .planet,
:root:not([data-theme=dark]) .wheel .zodiac{fill:var(--accent)}
:root:not([data-theme=dark]) .map-stage svg{--paper:#eee8dd;--line:#ddd5c8;--ring-strong:#b4a487}
:root:not([data-theme=dark]) .map-stage .map-line{stroke:var(--accent)}
:root:not([data-theme=dark]) .map-stage .map-line.blue{stroke:#527e9d}
:root:not([data-theme=dark]) .map-stage text{fill:var(--ink)}
:root:not([data-theme=dark]) .map-stage circle{fill:var(--accent)}
:root:not([data-theme=dark]) .map-stage .map-label{fill:var(--panel);stroke:var(--ring-strong)}
:root:not([data-theme=dark]) .toast{background:var(--soft);color:var(--ink);border:1px solid var(--line)}

/* Native shares content and tokens, but uses touch navigation and separate chrome. */
.native-tabs{display:none}.native-heading{display:none}.native-back{display:none}
:root[data-platform=native] .sidebar{display:none}
:root[data-platform=native] .workspace{margin-left:0}
:root[data-platform=native] .topbar{position:sticky;top:0;padding:12px 20px;min-height:70px;border-bottom:1px solid var(--line);z-index:35;background:var(--paper)}
:root[data-platform=native] .topbar .crumb,:root[data-platform=native] .topbar .demo,:root[data-platform=native] .mobile-menu{display:none}
:root[data-platform=native] .native-heading{display:block;font:1.4rem var(--serif);letter-spacing:-.03em;flex:1}
:root[data-platform=native] .native-back{display:inline-flex}
:root[data-platform=native] .topbar .tools .button{display:none}
:root[data-platform=native] .topbar .tools{margin-left:auto}
:root[data-platform=native] .subnav{position:sticky;top:70px;background:var(--paper);z-index:30;padding-inline:20px;gap:20px}
:root[data-platform=native] .subnav a{min-height:50px}
:root[data-platform=native] main{padding:28px 22px 110px;max-width:1280px}
:root[data-platform=native] .footer{display:none}
:root[data-platform=native] .native-tabs{position:fixed;inset:auto 0 0;min-height:82px;padding:8px 12px max(13px,env(safe-area-inset-bottom));display:flex;justify-content:space-around;background:var(--panel);border-top:1px solid var(--line);z-index:45}
:root[data-platform=native] .native-tabs a{min-width:52px;min-height:54px;text-align:center;color:var(--muted);text-decoration:none;font-size:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
:root[data-platform=native] .native-tabs i{font:1.45rem var(--serif);font-style:normal;display:block;min-width:38px;border-radius:15px;line-height:1.2}
:root[data-platform=native] .native-tabs a[aria-current=page]{color:var(--accent)}
:root[data-platform=native] .native-tabs a[aria-current=page] i{background:var(--soft)}
:root[data-platform=native] .button,:root[data-platform=native] input,:root[data-platform=native] select{min-height:48px;border-radius:9px}
:root[data-platform=native] .panel,:root[data-platform=native] .link-card{border-radius:12px}
:root[data-platform=native] dialog{width:calc(100% - 20px);max-width:640px;border-radius:20px 20px 10px 10px;margin:auto auto 0;max-height:88vh;padding-bottom:20px}
:root[data-platform=native] .toast{bottom:100px}
@media(min-width:700px){:root[data-platform=native] .native-tabs{inset:70px auto 0 0;width:88px;flex-direction:column;justify-content:flex-start;gap:22px;padding:24px 8px;border-top:0;border-right:1px solid var(--line)}:root[data-platform=native] .workspace{margin-left:88px}:root[data-platform=native] .topbar{margin-left:-88px;padding-left:24px}:root[data-platform=native] .native-tabs a{padding-block:9px}:root[data-platform=native] main{padding-bottom:45px}:root[data-platform=native] .grid{grid-template-columns:minmax(0,1fr) 260px}:root[data-platform=native] .grid>aside{display:block}:root[data-platform=native] .grid>aside>div+div{margin-top:20px}:root[data-platform=native] dialog{margin:auto;border-radius:18px}:root[data-platform=native] .daily{grid-template-columns:1fr}:root[data-platform=native] .daily>div:last-child{display:none}}
@media(max-width:699px){:root[data-platform=native] main{padding:24px 18px 115px}:root[data-platform=native] .pagehead{margin-bottom:22px}:root[data-platform=native] .pagehead h1{font-size:2.5rem}:root[data-platform=native] .pagehead p{font-size:.9375rem}:root[data-platform=native] .topbar .icon-button{width:40px;min-height:44px}:root[data-platform=native] .topbar{gap:6px;padding-inline:12px}:root[data-platform=native] .data-table{min-width:460px}:root[data-platform=native] .chart-stage{padding:14px}}

/* Abonnementen delen vijf rijen: label, prijs, titel, voordelen en actie. */
.premium-plans{align-items:stretch;row-gap:24px}
.premium-plans>.panel{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;min-width:0}
.premium-plans>.panel>.eyebrow{margin-bottom:22px}
.premium-plans>.panel>.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;margin:0 0 24px;font-size:clamp(2.7rem,4.6vw,4rem);line-height:1.15;white-space:normal}
.premium-plans>.panel>.price small{font-size:1rem;white-space:nowrap}
.premium-plans>.panel>h3{margin:0}
.premium-plans>.panel>.section:not(.actions){display:grid;grid-template-rows:repeat(3,1fr);margin-top:24px}
.premium-plans>.panel>.section>.row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:12px;align-items:start;padding:18px 0}
.premium-plans>.panel>.actions{display:flex;align-items:stretch;margin:24px 0 0}
.premium-plans>.panel>.actions>*{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal}

/* Koperaccent en blauwe donkere primaire knoppen — 8 september 2026. */
:root[data-theme=dark] .button.primary,:root[data-theme=dark] .chip[aria-pressed=true]{background:var(--action-bg);border-color:var(--action-border);color:var(--action-ink)}

:root:not([data-theme=dark]) .button.gold{background:var(--soft);border-color:var(--ring-strong);color:var(--ink)}
:root[data-theme=dark] .button.gold{background:var(--action-bg);border-color:var(--action-border);color:var(--action-ink)}

:root:not([data-theme=dark]) .button{background:var(--soft);color:var(--ink)}

/* The rendered chart uses these palette names for sign divisions, houses and degree ticks. */
:root{--chart-grid:#9b775f}
:root[data-theme=dark]{--chart-grid:#7c96aa}
.wheel{--ring:var(--chart-grid);--gold-soft:var(--chart-grid)}

/* Taalkeuze — gedeeld ontwerpcontract */
.language-trigger{width:auto;min-width:54px;gap:5px;padding:0 9px;font-size:.75rem}
.language-trigger>span:first-child{font-size:1.2rem}
.language-dialog{width:min(440px,calc(100% - 36px));max-height:calc(100dvh - 48px);padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);box-shadow:var(--shadow);overflow:auto}
.language-dialog::backdrop{background:#07111db3}
.language-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.language-dialog h2{font-size:1.65rem}
.language-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.language-options .button{justify-content:space-between;min-height:48px}
.language-options [aria-current=page]{border-color:var(--accent);color:var(--accent)}

/* Shared identity and controls across all seven shells. */
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font:400 2rem/1 var(--serif);letter-spacing:-.06em;flex:none}
.brand .mark,.sidebar .brand .mark{display:block;width:34px;height:34px;flex:none;color:var(--accent)}
.topbar .mobile-brand{display:none;padding:0}
.sidebar .navlink i{width:23px;flex:none;color:var(--accent);font:400 1.35rem/1 var(--serif);text-align:center}
.topbar .avatar svg{width:24px;height:24px}
.topbar .header-ask{white-space:nowrap;flex:none}
.header-ask .ask-symbol{display:none}
:root:not([data-theme=dark]) .button,:root:not([data-theme=dark]) .dark .button.quiet{background:var(--soft);color:var(--ink);border-color:var(--ring-strong)}
:root[data-theme=dark] .button,:root[data-theme=dark] .dark .button.quiet{background:var(--action-bg);border-color:var(--action-border);color:var(--action-ink)}
@media(max-width:950px){.topbar .mobile-brand{display:inline-flex;order:1;font-size:1.6rem}.topbar .mobile-menu{order:0}.topbar .utility{order:2}.topbar .crumb{display:none}.topbar{justify-content:flex-start}.topbar .header-ask{width:44px;min-width:44px;padding:0}.header-ask .action-label{display:none}.header-ask .ask-symbol{display:inline;font-size:1.3rem}}
@media(max-width:650px){.topbar{padding-inline:12px;gap:8px}.topbar .utility{gap:6px}.topbar .mobile-brand{gap:6px;font-size:1.5rem}.topbar .mobile-brand .mark{width:30px;height:30px}.topbar .language-trigger{min-width:50px;gap:4px;padding:0 5px}.topbar .iconbtn,.topbar .avatar,.topbar .header-ask{width:36px;min-width:36px;height:44px}.topbar .mobile-menu{width:32px}.topbar .utility{margin-left:auto}}
@media(max-width:359px){.topbar .mobile-brand span{display:none}}

.workspace{margin-right:0;margin-block:0}

/* One action palette and geometry, including translated native form buttons. */
:root{--action-bg:var(--soft);--action-ink:var(--ink);--action-border:var(--ring-strong)}
:root[data-theme=dark]{--action-bg:#244661;--action-ink:#eef1f5;--action-border:#52758f}
.design-translated main button:not(.link-card){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 17px;border:1px solid var(--action-border);border-radius:5px;font:600 .875rem/1.4 var(--sans);color:var(--action-ink);background:var(--action-bg)}
:root .button,:root .secondary,:root .design-translated .btn,:root .design-translated .knop,:root .topbar .iconbtn,:root .topbar .icon-button,:root .topbar .avatar{background:var(--action-bg);color:var(--action-ink);border-color:var(--action-border)}
.design-translated main button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.design-translated main button:hover{border-color:var(--accent)}
.design-translated main button[data-actie=delete-account-start]{color:var(--bad)}
.design-translated .keuze{display:flex;gap:8px;flex-wrap:wrap}
.design-translated .card{min-width:0}
.design-translated .card h3{font-size:1.35rem;line-height:1.25}
.site-footer{align-items:center;gap:20px;flex-wrap:wrap}
.site-footer .language-links{flex-basis:100%;order:3;margin-top:0;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:650px){.design-translated .card{padding:22px}.site-footer{align-items:flex-start}.site-footer .language-links{width:100%}}

:root .language-options [aria-current=page]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}

/* Card content shares rows rather than vertically centering shorter copy. */
.link-card{align-content:start;text-align:left;vertical-align:top}
.three:has(>.link-card){align-items:stretch;grid-auto-flow:row}
.three>.link-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:18px;align-items:start;align-content:stretch;width:100%;min-width:0;padding:28px;margin:0;text-align:left;line-height:1.6}
.three>.link-card>:is(.eyebrow,h3,p,.arrow){margin:0;min-width:0}
.three>.link-card>.eyebrow{align-self:start}
.three>.link-card>.arrow{align-self:end;line-height:1.4}
.three>.link-card h3{font:400 1.35rem/1.25 var(--serif)}
.three>.link-card p{font-size:.9375rem;line-height:1.6}
@media(max-width:650px){.three>.link-card{padding:22px;row-gap:16px}}

/* Astrae — slate blue / copper and ivory / sand.
   Authoritative web palette; geometry stays in the shared design styles. */
:root{
  --paper:#f6f2e9;--panel:#fcfaf5;--white:#fcfaf5;--soft:#eee5d8;
  --ink:#22313f;--muted:#5d666d;--line:#d9cdbb;--ring-strong:#ad987e;
  --accent:#8f593a;--gold:#8f593a;--gold-text:#8f593a;--gold-deep:#8f593a;
  --gold-soft:#eee5d8;--accent2:#45677e;--blue:#45677e;
  --night:#14202d;--night2:#192938;--on:#edf0f2;--sidebar-bg:#eee5d8;
  --chart-grid:#977454;--good:#2e6e58;--bad:#a24439;
  --action-bg:#eee5d8;--action-ink:#22313f;--action-border:#ad987e;--action-hover:#e7dece;
  --field-line:#ad987e;--field-text:#22313f;--btn-face:#eee5d8;--btn-text:#22313f;--btn-line:#ad987e;
  --shadow:0 16px 48px #22313f14;color-scheme:light;
}
:root[data-theme=dark]{
  --paper:#101923;--panel:#192938;--white:#192938;--soft:#213447;
  --ink:#edf0f2;--muted:#afbac5;--line:#344a5e;--ring-strong:#58768e;
  --accent:#d29b76;--gold:#d29b76;--gold-text:#d29b76;--gold-deep:#d29b76;
  --gold-soft:#213447;--accent2:#a2bdd0;--blue:#a2bdd0;
  --night:#14202d;--night2:#192938;--on:#edf0f2;--sidebar-bg:#14202d;
  --chart-grid:#8199ac;--good:#8abca9;--bad:#e2a39a;
  --action-bg:#2b4963;--action-ink:#edf0f2;--action-border:#58768e;--action-hover:#355873;
  --field-line:#58768e;--field-text:#edf0f2;--btn-face:#2b4963;--btn-text:#edf0f2;--btn-line:#58768e;
  --shadow:0 18px 54px #00000033;color-scheme:dark;
}
.brand em{font-style:italic;font-weight:inherit}
.sidebar{background:var(--sidebar-bg);color:var(--ink)}
.sidebar .eyebrow,.sidebar .navlink,.sidebar .side-bottom>button{color:var(--muted)}
:root .sidebar .navlink[aria-current=page]{background:var(--soft);color:var(--ink);box-shadow:inset 2px 0 var(--accent)}
:root:not([data-theme=dark]) .sidebar .navlink[aria-current=page]{background:var(--panel)}
:root .sidebar .navlink:hover,:root .sidebar .side-bottom>button:hover{background:var(--panel);color:var(--ink)}
:root .primary,:root .ask,:root .button,:root .secondary,:root .button.gold,:root .button.quiet,
:root .dark .button.quiet,:root .design-translated .btn,:root .design-translated .knop,
:root .topbar .iconbtn,:root .topbar .icon-button,:root .topbar .avatar,
:root .design-translated main button:not(.link-card),:root .chip[aria-pressed=true]{
  background:var(--action-bg);color:var(--action-ink);border-color:var(--action-border);
}
:root .primary:hover,:root .button:hover,:root .secondary:hover,:root .ask:hover,
:root .design-translated main button:not(.link-card):hover{background:var(--action-hover);border-color:var(--accent)}
:root .link-card:hover{background:var(--soft);border-color:var(--accent)}
:root .language-options [aria-current=page],:root .design-translated main button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
:root .dark p,:root .chart-caption,:root .stat-strip small{color:var(--muted)}
:root:not([data-theme=dark]) .dark,:root:not([data-theme=dark]) .today-focus{background:var(--soft);color:var(--ink);border-color:var(--line)}
:root:not([data-theme=dark]) .wereldkaart svg{--paper:#eee5d8}
:root .stat-strip{border-color:var(--line)}
:root .stat-strip>div{border-color:var(--line)}

/* The navigation control remains available with either sidebar state. */
.topbar{position:sticky;top:0;z-index:35}
.topbar .mobile-menu{display:inline-flex;order:0}
.topbar .crumb{order:2}
.topbar .utility{order:3}
@media(min-width:951px){
  :root[data-nav-collapsed=true] .sidebar{display:none}
  :root[data-nav-collapsed=true] .workspace{margin-left:0}
  :root[data-nav-collapsed=true] .topbar .mobile-brand{display:inline-flex;order:1;padding:0;font-size:1.6rem}
}

/* Header actions are bare icons, retaining their accessible hit targets. */
:root .topbar :is(.mobile-menu,.iconbtn,.icon-button,.avatar,.header-ask){background:transparent;border:0;box-shadow:none;color:var(--ink);width:44px;min-width:44px;padding:0;border-radius:0}
.topbar .header-ask .action-label,.topbar .language-trigger>span{display:none}
.topbar .header-ask .ask-symbol{display:inline;font-size:1.4rem}
:root .topbar :is(.mobile-menu,.iconbtn,.icon-button,.avatar,.header-ask):hover{background:transparent;color:var(--accent)}
@media(max-width:650px){:root .topbar :is(.mobile-menu,.iconbtn,.icon-button,.avatar,.header-ask){width:36px;min-width:36px;min-height:44px}}

.landing-art{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--night);align-self:center;width:100%}
.landing-art img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
@media(max-width:650px){.landing-art{max-width:440px;margin-inline:auto}}
