:root{--paper: #f6f4ee;--paper-raised: #fdfcf9;--ink: #191712;--ink-60: rgba(25, 23, 18, .6);--ink-38: rgba(25, 23, 18, .38);--line: rgba(25, 23, 18, .16);--line-strong: rgba(25, 23, 18, .82);--accent: #0e6a58;--accent-soft: rgba(14, 106, 88, .09);--warn: #a05a00;--warn-soft: rgba(160, 90, 0, .1);--error: #9c2b1f;--error-soft: rgba(156, 43, 31, .08);--mono: "JetBrains Mono", ui-monospace, monospace;--display: "Fraunces", Georgia, serif;--body: "Archivo", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper)}body{font-family:var(--body);color:var(--ink);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 500px at 85% -10%,rgba(14,106,88,.05),transparent 60%),var(--paper);min-height:100vh}h1,h2{font-family:var(--display);font-weight:600;letter-spacing:-.01em}h1{font-size:30px;line-height:1.15}h2{font-size:19px}.klein{font-size:13px;color:var(--ink-60)}.mono{font-family:var(--mono);font-size:13px}.omslag{max-width:760px;margin:0 auto;padding:48px 24px 96px}.kop{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:20px;margin-bottom:40px;border-bottom:2px solid var(--line-strong)}.woordmerk{font-family:var(--display);font-size:24px;font-weight:600}.woordmerk span{color:var(--accent)}.stap{position:relative;background:var(--paper-raised);border:1px solid var(--line);padding:26px 28px 28px 78px;margin-bottom:18px;animation:opkomst .45s ease both}.stap:nth-child(2){animation-delay:.05s}.stap:nth-child(3){animation-delay:.1s}.stap:nth-child(4){animation-delay:.15s}.stap:nth-child(5){animation-delay:.2s}@keyframes opkomst{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.stapnummer{position:absolute;left:26px;top:26px;font-family:var(--mono);font-size:12px;color:var(--ink-38);letter-spacing:.08em}.stapkop{display:flex;align-items:center;gap:10px;margin-bottom:6px}.vink{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink-38);font-size:11px;color:transparent;transition:all .25s ease}.vink.klaar{background:var(--accent);border-color:var(--accent);color:#fff}label{display:block;font-size:13px;color:var(--ink-60);margin:14px 0 4px}input,textarea{width:100%;padding:9px 12px;font:14px var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);outline:none;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--ink)}textarea{resize:vertical;line-height:1.5}input.mono-in{font-family:var(--mono);font-size:13px}button{font:500 14px var(--body);padding:10px 18px;margin-top:16px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:background .15s,transform .05s}button:hover{background:#000}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.stil{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}button.stil:hover{background:var(--accent-soft)}.melding{padding:12px 16px;font-size:14px;margin-top:14px;border:1px solid}.melding.fout{background:var(--error-soft);border-color:var(--error);color:var(--error)}.melding.ok{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.melding.wacht{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.sleutelvak{margin-top:16px;padding:18px;background:var(--ink);color:var(--paper)}.sleutelvak .mono{word-break:break-all;color:#fff;font-size:13.5px}.sleutelvak .klein{color:#f6f4eea6;margin-top:10px}.moduletabel{width:100%;border-collapse:collapse;margin-top:12px}.moduletabel td{padding:10px 0;border-top:1px solid var(--line)}.moduletabel td:last-child{text-align:right}.module-uit{color:var(--ink-38)}.schakel{position:relative;width:40px;height:22px;background:var(--ink-38);border:none;border-radius:11px;margin:0;padding:0;cursor:pointer;transition:background .2s}.schakel:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s ease}.schakel.aan{background:var(--accent)}.schakel.aan:after{transform:translate(18px)}.schakel:disabled{opacity:.35;cursor:default}.meter{margin-top:14px}.meter .rij{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}.meterbalk{height:6px;background:#19171217;overflow:hidden}.meterbalk>div{height:100%;background:var(--accent);transition:width .6s cubic-bezier(.22,1,.36,1)}.meterbalk>div.vol{background:var(--error)}.poort{min-height:100vh;display:grid;place-items:center;padding:24px}.poortkaart{width:100%;max-width:400px;background:var(--paper-raised);border:1px solid var(--line);border-top:3px solid var(--accent);padding:40px 36px 36px}.poortkaart h1{font-size:26px;margin-bottom:4px}.poortkaart .klein{margin-bottom:18px}.wissel{margin-top:18px;font-size:13px;color:var(--ink-60)}.wissel a{color:var(--accent);cursor:pointer;text-decoration:underline}.uitlog{background:none;border:none;margin:0;padding:0;font-size:13px;color:var(--ink-60);cursor:pointer;text-decoration:underline}.uitlog:hover{color:var(--ink);background:none}code.endpoint{display:block;margin-top:10px;padding:10px 12px;background:var(--accent-soft);border:1px dashed var(--accent);font-family:var(--mono);font-size:13px;word-break:break-all}
