@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;1,9..144,400&family=Spline+Sans:wght@400;500;600&family=Spline+Sans+Mono:wght@400;500&display=swap");*{box-sizing:border-box}body,html{margin:0;padding:0}:root{--paper:#f3ede1;--paper2:#ece3d3;--ink:#211c15;--muted:#7a705f;--line:#d8cdb8;--line-zacht:#f8f3e9;--accent:#1f5d4f;--accent-soft:#e3ebe4;--amber:#b9682b}body{font-family:Spline Sans,sans-serif;color:var(--ink);background:var(--paper)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border:3px solid transparent;border-radius:999px;background-clip:padding-box;-webkit-transition:background-color .15s;transition:background-color .15s}::-webkit-scrollbar-thumb:hover{background:var(--accent);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.root{height:100vh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;background:var(--paper);border-left:1px solid var(--line);border-right:1px solid var(--line)}h1{font-family:Fraunces,serif;font-weight:600;letter-spacing:0}a{color:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--paper2)}.topbar .who{font-size:13px;color:var(--muted)}.topbar-brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}.brand-lockup img{display:block;width:44px;height:32px;object-fit:contain}.brand-lockup.compact{gap:8px;font-size:14px}.brand-lockup.compact img{width:38px;height:27px}.linkbtn{border:none;background:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline}.root:has(.lib){max-width:none;border-left:none;border-right:none}.lib{flex:1 1;overflow-y:auto;padding:30px clamp(22px,4vw,60px)}.lib-head h1{font-size:26px;margin:0 0 4px}.lib-head p{color:var(--muted);margin:0 0 22px;font-size:14px}.omgeving-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.omgeving-nav a{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--paper2);transition:border-color .12s,color .12s}.omgeving-nav a:hover{border-color:var(--accent);color:var(--accent)}.omgeving-nav a svg{color:var(--accent)}.omgeving-galerij{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px;max-width:980px}.omgeving-thumb{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper2);aspect-ratio:1;line-height:0;transition:transform .16s ease,border-color .16s,box-shadow .16s}.omgeving-thumb img{width:100%;height:100%;object-fit:cover;display:block}.omgeving-thumb:hover{transform:scale(1.04);border-color:var(--accent);box-shadow:0 4px 14px rgba(31,93,79,.18)}.lib-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.lib-filter-tab{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;background:var(--paper2);transition:border-color .12s,background .12s}.lib-filter-tab.actief,.lib-filter-tab:hover{border-color:var(--accent)}.lib-filter-tab.actief{background:var(--accent);color:var(--paper)}.tab-count{font-size:11px;color:var(--muted);background:var(--paper);border-radius:999px;padding:1px 7px}.lib-filter-tab.actief .tab-count{color:var(--accent)}.lib-sectie{margin-bottom:34px}.lib-sectie-head h2{display:flex;align-items:center;gap:9px;font-size:19px;margin:0 0 2px}.lib-sectie-head p{color:var(--muted);margin:0 0 14px;font-size:13.5px}.niveau-dot{width:10px;height:10px;border-radius:999px;background:var(--accent)}.niveau-dot.niveau-gevorderd{background:var(--amber)}.niveau-dot.niveau-expert{background:#7a3b5e}.course-niveau.niveau-basis{color:var(--accent);border-color:var(--accent)}.course-niveau.niveau-gevorderd{color:var(--amber);border-color:var(--amber)}.course-niveau.niveau-expert{color:#7a3b5e;border-color:#7a3b5e}.lib-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(282px,1fr));grid-gap:16px;gap:16px;align-items:start}.course{border:1px solid var(--line);background:var(--paper2);border-radius:14px;padding:16px 18px;transition:border-color .12s,transform .12s}.course:hover{border-color:var(--accent);transform:translateY(-1px)}.course-main{display:block;text-decoration:none;color:inherit;text-align:left;cursor:pointer}.course-progress{margin-top:12px}.pbar{height:6px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.pbar,.pfill{border-radius:999px}.pfill{height:100%;background:var(--accent);transition:width .25s}.ptekst{display:block;font-size:11.5px;color:var(--muted);margin-top:5px}.cert-link{display:inline-block;margin-top:12px;font-size:13px;color:var(--accent);text-decoration:underline}.test-knop{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:8px;padding:5px 11px;font:inherit;font-size:12.5px;cursor:pointer}.test-knop:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.test-knop:disabled{opacity:.55;cursor:default}.test-knop svg{vertical-align:-2px}.course-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.course-ico{color:var(--accent)}.course-niveau{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px;background:var(--paper);text-transform:capitalize}.course-titel{font-family:Fraunces,serif;font-size:18px;font-weight:600;margin-bottom:4px}.course-besch{font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:12px}.course-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}.course-meta span{display:flex;align-items:center;gap:4px}.course-done{font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 9px}.course-cell{display:flex;flex-direction:column;gap:9px}.flip-card{display:block;height:250px;perspective:1300px;text-decoration:none;color:inherit;border-radius:16px}.flip-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.flip-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.75,.25,1);transform-style:preserve-3d}.flip-card:focus-visible .flip-inner,.flip-card:hover .flip-inner{transform:rotateY(180deg)}.flip-back,.flip-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;padding:18px;display:flex;flex-direction:column;overflow:hidden}.flip-front{background:var(--paper2);border:1px solid var(--line)}.flip-front .course-titel{margin-top:10px}.flip-front .course-besch{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0}.flip-foot{margin-top:auto}.flip-foot .pbar{margin-bottom:6px}.flip-hint{font-size:11.5px;color:var(--muted)}.flip-back{transform:rotateY(180deg);color:#f1ece0;border:1px solid transparent;background:linear-gradient(150deg,#2c715f,#1f5d4f 52%,#15463a);box-shadow:0 12px 28px rgba(31,93,79,.28)}.flip-back:after{content:"";position:absolute;top:-40px;right:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(185,104,43,.35),transparent 70%);pointer-events:none}.flip-back-titel{font-family:Fraunces,serif;font-size:17px;font-weight:600;margin-bottom:13px;position:relative}.flip-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;flex:1 1;position:relative}.flip-bullets li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#e9e3d5}.flip-bullets li svg{flex-shrink:0;color:#bfe0d4}.flip-bullets .cap{text-transform:capitalize}.flip-cta{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:14px;color:#fff;position:relative}.flip-cta svg{transition:transform .2s}.flip-card:focus-visible .flip-cta svg,.flip-card:hover .flip-cta svg{transform:translateX(4px)}@media (hover:none){.flip-card{height:auto;perspective:none}.flip-inner{transform:none!important}.flip-front{position:relative}.flip-back{display:none}}@media (prefers-reduced-motion:reduce){.flip-inner{transition:none}}.head{padding:16px 18px 13px;border-bottom:1px solid var(--line);background:var(--paper2);justify-content:space-between;gap:12px}.head,.head-left{display:flex;align-items:center}.head-left{gap:10px}.head-title{min-width:0}.head-brand{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-size:12px;font-weight:600;margin-bottom:3px}.head-brand img{display:block;width:30px;height:22px;object-fit:contain}.backbtn{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:9px;padding:6px;cursor:pointer;display:flex;line-height:0;flex-shrink:0;text-decoration:none}.backbtn:hover{color:var(--ink);border-color:var(--muted)}.head h1{font-size:18px;margin:0}.head .sub{font-size:12px;margin-top:2px}.head .sub,.pill{color:var(--muted)}.pill{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--paper);white-space:nowrap;flex-shrink:0}.stream{flex:1 1;overflow-y:auto;padding:22px;scroll-behavior:smooth}.turn{margin-bottom:18px;display:flex;flex-direction:column}.label{font-family:Fraunces,serif;font-style:italic;font-size:12px;color:var(--muted);margin-bottom:5px}.begeleider{font-size:15.5px;line-height:1.62;white-space:pre-wrap;max-width:94%;background:var(--line-zacht);border:1px solid var(--line-zacht);border-radius:12px;padding:12px 15px}.cursist{align-items:flex-end}.cursist .bubble{background:var(--accent);color:#f4efe4;padding:9px 14px;border-radius:14px 14px 4px 14px;font-size:14.5px;line-height:1.5;max-width:82%;white-space:pre-wrap}.media{border:1.5px dashed var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;gap:13px;background:var(--paper2);max-width:94%}.media .ico{color:var(--muted);flex-shrink:0}.media .desc{font-size:13.5px}.media .tag{font-size:10.5px;color:var(--amber);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}.media-img img{display:block;border-radius:12px}.media-img img,.oefen{max-width:94%;border:1px solid var(--line)}.oefen{border-radius:12px;overflow:hidden;background:var(--paper2)}.oefen .bar{font-family:Fraunces,serif;font-style:italic;font-size:12px;padding:8px 14px;background:var(--paper)}.oefen .bar,.oefen .pr{color:var(--muted);border-bottom:1px solid var(--line)}.oefen .pr{font-size:12.5px;padding:10px 14px;line-height:1.5}.oefen .out,.oefen .pr{font-family:Spline Sans Mono,monospace;white-space:pre-wrap}.oefen .out{font-size:13px;padding:12px 14px;line-height:1.55}.cards{display:flex;flex-direction:column;gap:8px;margin-top:4px;max-width:94%}.card{text-align:left;border:1px solid var(--accent);background:var(--paper);color:var(--accent);padding:11px 15px;border-radius:11px;cursor:pointer;font-family:Spline Sans,sans-serif;font-size:14.5px;font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:background .12s,color .12s}.card:hover{background:var(--accent);color:var(--paper)}.card.solo{max-width:94%}.card .arr{opacity:.55;flex-shrink:0}.thinking{display:flex;gap:5px;padding:4px 0}.thinking span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:bnc 1.1s ease-in-out infinite}.thinking span:nth-child(2){animation-delay:.16s}.thinking span:nth-child(3){animation-delay:.32s}@keyframes bnc{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.composer{border-top:1px solid var(--line);padding:12px 16px;background:var(--paper2);display:flex;gap:9px;align-items:flex-end}.composer textarea{flex:1 1;resize:none;border:1px solid var(--line);border-radius:11px;padding:10px 13px;font-family:Spline Sans,sans-serif;font-size:14.5px;background:var(--paper);color:var(--ink);line-height:1.45;max-height:130px;outline:none}.composer textarea:focus{border-color:var(--accent)}.send{border:none;background:var(--accent);color:var(--paper);border-radius:11px;padding:11px 13px;cursor:pointer;line-height:0}.send:disabled{opacity:.4;cursor:default}.hint{font-size:11px;color:var(--muted);padding:0 18px 10px}.verdict{border-radius:10px;padding:10px 14px;font-size:13.5px;max-width:94%;font-weight:500}.verdict.behaald{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent)}.verdict.open{border:1px solid var(--amber);background:#f6e7da;color:var(--amber)}.einde{border:1px solid var(--accent);background:var(--accent-soft);border-radius:12px;padding:16px;font-size:14.5px;max-width:94%}.einde b{font-family:Fraunces,serif}.fout{border:1px solid var(--amber);background:#f6e7da;border-radius:12px;padding:16px;font-size:14px;max-width:94%}.fout ul{margin:8px 0 0;padding-left:18px}.fout li{margin-bottom:4px}.avg{border:1px solid var(--amber);background:#f6e7da;border-radius:12px;padding:16px;font-size:14px;max-width:94%}.avg b{font-family:Fraunces,serif;color:var(--amber)}.avg ul{margin:10px 0 0;padding-left:18px}.avg li{margin-bottom:4px}.root:has(.engine-shell){max-width:none;border-left:none;border-right:none}.engine-shell{flex:1 1;min-height:0;display:flex;position:relative}.sidebar{width:266px;flex-shrink:0;border-right:1px solid var(--line);background:var(--paper2);padding:16px 15px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:22px}.sb-back{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--muted);text-decoration:none;transition:color .15s,gap .15s}.sb-back:hover{color:var(--accent);gap:8px}.sb-pct{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.sb-pct-getal{font-family:Fraunces,serif;font-size:28px;font-weight:600;color:var(--accent);line-height:1}.sb-pct-sub{font-size:11.5px;color:var(--muted)}.sb-bar{height:8px;background:var(--paper);border:1px solid var(--line);overflow:hidden}.sb-bar,.sb-fill{border-radius:999px}.sb-fill{height:100%;background:linear-gradient(90deg,var(--accent),#2f7a68);transition:width .55s cubic-bezier(.2,.8,.2,1)}.sb-doelen{font-size:11.5px;color:var(--muted);margin-top:6px}.sb-kop{font-family:Fraunces,serif;font-style:italic;font-size:12.5px;color:var(--muted);margin-bottom:9px}.sb-kop-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:color .15s}.sb-kop-btn:hover{color:var(--ink)}.sb-kop-chevron{flex-shrink:0;transition:transform .25s ease}.sb-kop-btn.dicht .sb-kop-chevron{transform:rotate(-90deg)}.sb-collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease}.sb-collapse.dicht{grid-template-rows:0fr}.sb-collapse-inner{overflow:hidden;min-height:0}.sb-hoofdstukken{list-style:none;margin:0;padding:0 2px 0 0;display:flex;flex-direction:column;gap:2px;max-height:42vh;overflow-y:auto}.sb-hs{gap:9px;padding:7px 8px;border-radius:9px;font-size:13px;color:var(--muted);transition:background .15s,color .15s}.sb-hs,.sb-hs-dot{display:flex;align-items:center}.sb-hs-dot{width:21px;height:21px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);justify-content:center;font-size:11px;line-height:0;background:var(--paper);transition:background .2s,border-color .2s,color .2s}.sb-hs-titel{line-height:1.35}.sb-hs.done{color:var(--ink)}.sb-hs.done .sb-hs-dot{background:var(--accent);border-color:var(--accent);color:var(--paper)}.sb-hs.current{background:var(--accent-soft);color:var(--accent);font-weight:500}.sb-hs.current .sb-hs-dot{border-color:var(--accent);color:var(--accent);animation:hs-pulse 2.2s ease-in-out infinite}@keyframes hs-pulse{0%,to{box-shadow:0 0 0 3px rgba(31,93,79,.14)}50%{box-shadow:0 0 0 6px rgba(31,93,79,.04)}}.sb-galerij{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:7px;gap:7px}.sb-thumb{padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;cursor:pointer;background:var(--paper);aspect-ratio:1;line-height:0;transition:transform .16s ease,border-color .16s,box-shadow .16s}.sb-thumb img{width:100%;height:100%;object-fit:cover;display:block}.sb-thumb:hover{transform:scale(1.06);border-color:var(--accent);box-shadow:0 3px 12px rgba(31,93,79,.18)}.chat-col{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.chat-col .head .backbtn{display:none}.chat-col .stream{padding:28px 44px}.chat-col .stream>*{max-width:1100px;margin-inline:auto}.chat-col .avg,.chat-col .begeleider,.chat-col .einde,.chat-col .fout,.chat-col .media,.chat-col .media-img img,.chat-col .oefen,.chat-col .verdict{max-width:72%}.chat-col .cursist .bubble{max-width:66%}.chat-col .cards{max-width:100%;align-items:flex-start}.chat-col .cards .card{width:auto;align-self:flex-start;max-width:100%}.vraag-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 9px;margin:0 0 -11px 16px;position:relative;z-index:1}.vraag-badge svg{color:var(--accent);animation:vraag-bob 2.6s ease-in-out infinite}@keyframes vraag-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.turn.vraag .begeleider{background:var(--paper2);border:1px solid var(--line);border-radius:16px;padding:19px 18px 16px;box-shadow:0 2px 12px rgba(33,28,21,.05)}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(20,16,10,.72);display:flex;align-items:center;justify-content:center;padding:30px;animation:lb-fade .2s ease}.lightbox-inner{position:relative;max-width:min(920px,92vw);display:flex;flex-direction:column;animation:lb-pop .26s cubic-bezier(.2,.8,.2,1)}.lightbox-inner img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;border:1px solid var(--line);background:var(--paper)}.lightbox-desc{color:var(--paper);font-size:13px;margin-top:11px;text-align:center;line-height:1.5}.lightbox-close{position:absolute;top:-14px;right:-14px;border:none;background:var(--paper);color:var(--ink);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.35);transition:background .15s,color .15s,transform .15s}.lightbox-close:hover{background:var(--accent);color:var(--paper);transform:rotate(90deg)}@keyframes lb-fade{0%{opacity:0}to{opacity:1}}@keyframes lb-pop{0%{opacity:0;transform:scale(.94) translateY(10px)}to{opacity:1;transform:none}}.stream .turn{animation:turn-in .36s cubic-bezier(.2,.7,.2,1) both}@keyframes turn-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cards .card{animation:turn-in .34s cubic-bezier(.2,.7,.2,1) both}.cards .card:nth-child(2){animation-delay:.06s}.cards .card:nth-child(3){animation-delay:.12s}.card{transition:background .15s,color .15s,transform .12s,box-shadow .15s}.card:hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(31,93,79,.16)}.card .arr{transition:transform .15s,opacity .15s}.card:hover .arr{transform:translateX(3px);opacity:.9}.media-img img{transition:transform .16s}@media (max-width:900px){.topbar{gap:10px}.topbar,.topbar-brand{align-items:flex-start}.topbar-brand{flex-direction:column;gap:3px}.root:has(.engine-shell){max-width:760px}.sidebar{display:none}.chat-col .head .backbtn{display:flex}.chat-col .stream{padding:22px}}@media (prefers-reduced-motion:reduce){.cards .card,.lightbox,.lightbox-inner,.sb-hs.current .sb-hs-dot,.stream .turn,.vraag-badge svg{animation:none}}.beheer{flex:1 1;overflow-y:auto;padding:22px;display:flex;flex-direction:column}.beheer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.beheer-head h1{font-size:22px;margin:0}.hint-block{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 14px}.btn-primary{border:none;background:var(--accent);color:var(--paper);border-radius:10px;padding:9px 15px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{border:1px solid var(--accent);background:var(--paper);color:var(--accent);border-radius:10px;padding:8px 13px;font:inherit;font-size:13.5px;cursor:pointer;text-decoration:none}.btn-ghost:hover{background:var(--accent);color:var(--paper)}.btn-ghost:disabled{opacity:.5;cursor:default}.btn-danger{border:1px solid var(--amber);background:var(--paper);color:var(--amber);border-radius:10px;padding:8px 13px;font:inherit;font-size:13.5px;cursor:pointer}.btn-danger:hover{background:var(--amber);color:var(--paper)}.admin-list{display:flex;flex-direction:column;gap:10px}.admin-row{border:1px solid var(--line);background:var(--paper2);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-titel{font-family:Fraunces,serif;font-size:16px;font-weight:600}.admin-sub{font-size:12px;color:var(--muted);margin-top:3px}.tag-pub{color:var(--accent)}.tag-concept{color:var(--amber)}.admin-acties{display:flex;gap:8px;flex-wrap:wrap}.editor{width:100%;min-height:380px;flex:1 1;resize:vertical;border:1px solid var(--line);border-radius:11px;padding:13px;font-family:Spline Sans Mono,monospace;font-size:12.5px;line-height:1.55;background:var(--paper2);color:var(--ink);outline:none;-moz-tab-size:2;tab-size:2}.editor:focus{border-color:var(--accent)}.editor-acties{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.melding{margin-top:14px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:11px;padding:12px 14px;font-size:13.5px;color:var(--accent)}.builder{gap:0;padding-bottom:84px}.kaart{border:1px solid var(--line);background:var(--paper2);border-radius:12px;padding:16px;margin-bottom:16px}.kaart>h2{font-family:Fraunces,serif;font-size:16px;margin:0 0 12px}.kaart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kaart-head h2{font-family:Fraunces,serif;font-size:16px;margin:0}.builder label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);margin-bottom:10px}.builder label.checkbox{flex-direction:row;align-items:center;gap:7px;font-size:13px;color:var(--ink)}.builder label.checkbox input{width:auto}.builder input,.builder select,.builder textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;font-size:13.5px;background:var(--paper);color:var(--ink);outline:none}.builder textarea{resize:vertical;line-height:1.5;font-size:13.5px}.builder input:focus,.builder select:focus,.builder textarea:focus{border-color:var(--accent)}.builder .mono{font-family:Spline Sans Mono,monospace;font-size:12.5px}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:1fr 1fr 1fr;grid-gap:12px;align-items:end}.leeg{font-size:13px;margin:4px 0}.icon-btn,.leeg{color:var(--muted)}.icon-btn{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:6px;cursor:pointer;line-height:0}.icon-btn:hover:not(:disabled){color:var(--amber);border-color:var(--amber)}.icon-btn:disabled{opacity:.35;cursor:default}.btn-ghost.mini{padding:4px 9px;font-size:12px;display:inline-flex;align-items:center;gap:4px}.btn-ghost svg,.btn-primary svg{vertical-align:-2px}.media-item{padding:10px 0;border-top:1px solid var(--line)}.media-rij{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.media-gebruik{font-size:11.5px;color:var(--muted);margin-top:6px}.media-gebruik.ongebruikt{color:var(--amber)}.media-velden{display:grid;grid-template-columns:160px 110px 1fr;grid-gap:8px;gap:8px;flex:1 1;min-width:280px}.media-upload{display:flex;align-items:center;gap:8px}.media-thumb{width:46px;height:46px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.upload-knop{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.node{border:1px solid var(--line);border-radius:11px;margin-bottom:10px;background:var(--paper);overflow:hidden}.node-head{display:flex;align-items:center;gap:8px;padding:11px 13px;cursor:pointer;background:var(--paper2)}.node-head:hover{background:var(--accent-soft)}.node-titel{font-weight:500;font-size:14px;flex:1 1}.node-info{font-size:11.5px;color:var(--muted);margin-right:8px;white-space:nowrap}.node-acties{display:inline-flex;gap:5px}.node-body{padding:14px 13px;border-top:1px solid var(--line)}.subkop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 8px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.subkop.mini-kop{margin:8px 0 6px;text-transform:none;letter-spacing:0;font-weight:500}.blok-toevoegen{display:inline-flex;gap:5px;flex-wrap:wrap}.doel-rij{display:grid;grid-template-columns:90px 110px 1fr 1fr auto;grid-gap:7px;gap:7px;margin-bottom:7px;align-items:center}.doel-rij .smal{width:100%}.optie-rij{display:flex;gap:7px;align-items:center;margin-bottom:6px}.optie-rij input[type=checkbox]{width:auto;flex-shrink:0}.blok{border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:9px;background:var(--paper2)}.blok>input,.blok>textarea{margin-bottom:7px}.blok-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.blok-type{font-family:Fraunces,serif;font-style:italic;font-size:13px;color:var(--accent)}.kies{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.kies-label{font-size:12px;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--paper);color:var(--ink);cursor:pointer}.chip input{width:auto}.chip-media{padding:3px 10px 3px 6px}.chip-thumb{width:30px;height:30px;object-fit:cover;border-radius:5px;border:1px solid var(--line);background:var(--paper);display:block}.leeg-thumb{background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 4px,var(--paper2) 4px,var(--paper2) 8px)}.sticky-acties{position:-webkit-sticky;position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:12px 0 4px;margin-top:8px}.handleiding{padding:0;overflow:hidden}.handleiding-kop{width:100%;display:flex;align-items:center;gap:8px;padding:13px 16px;background:var(--accent-soft);border:none;font:inherit;font-size:14px;font-weight:500;color:var(--accent);cursor:pointer;text-align:left}.handleiding-body{padding:4px 18px 16px;font-size:13.5px;line-height:1.55;color:var(--ink)}.handleiding-body h4{font-family:Fraunces,serif;font-size:14.5px;margin:16px 0 4px}.handleiding-body p{margin:0 0 8px;color:var(--muted)}.handleiding-body ul{margin:4px 0 10px;padding-left:18px;color:var(--muted)}.handleiding-body li{margin-bottom:4px}.handleiding-body code{font-family:Spline Sans Mono,monospace;font-size:12px;background:var(--paper2);padding:1px 5px;border-radius:5px}.handleiding-body b{color:var(--ink)}.cert-wrap{flex:1 1;overflow-y:auto;padding:24px 22px}.cert{border:2px solid var(--accent);border-radius:14px;padding:32px 28px;background:var(--paper2);text-align:center}.cert-brand{display:inline-flex;align-items:center;gap:10px;margin:0 auto 24px;padding:7px 13px 7px 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink)}.cert-brand img{display:block;width:44px;height:32px;object-fit:contain}.cert-brand span{font-weight:600;font-size:15px;letter-spacing:.01em}.cert .kop{font-family:Fraunces,serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.cert h1{font-size:26px;margin:8px 0 18px}.cert .regel{color:var(--muted);font-size:14px;margin:3px 0}.cert .naam{font-family:Fraunces,serif;font-size:23px;color:var(--ink);margin:12px 0 4px}.cert-doelen{text-align:left;max-width:520px;margin:22px auto 0;border-top:1px solid var(--line);padding-top:16px}.cert-doelen h3{font-family:Fraunces,serif;font-size:15px;margin:0 0 8px}.cert-doelen ul{margin:0;padding-left:18px}.cert-doelen li{font-size:13px;margin-bottom:5px;color:var(--ink);line-height:1.45}.cert-id{margin-top:22px;font-family:Spline Sans Mono,monospace;font-size:11px;color:var(--muted)}.cert-acties{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.niet-af{border:1px solid var(--amber);background:#f6e7da;border-radius:12px;padding:20px;font-size:14px}@media print{.backbtn,.cert-acties,.topbar{display:none!important}.root{border:none;max-width:none;height:auto}.cert-wrap{padding:0}.cert{border-color:#1f5d4f}.cert-brand{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.checkout-stappen{list-style:none;display:flex;align-items:center;gap:10px;margin:0 0 24px;padding:0}.checkout-stap{display:flex;align-items:center;gap:8px;flex:1 1;font-size:12.5px;color:var(--muted);white-space:nowrap}.checkout-stap:last-child{flex:0 1}.checkout-stap i{width:23px;height:23px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;background:var(--paper)}.checkout-stap.actief{color:var(--ink);font-weight:600}.checkout-stap.actief i{border-color:var(--accent);color:var(--accent)}.checkout-stap.klaar i{background:var(--accent);border-color:var(--accent);color:var(--paper)}.checkout-lijn{flex:1 1;height:1px;background:var(--line);min-width:16px;margin-left:2px}.checkout{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:26px 22px;max-width:480px;margin:0 auto;width:100%}.checkout h1{font-size:24px;margin:0 0 6px}.checkout p.intro{color:var(--muted);font-size:14px;margin:0 0 22px;line-height:1.6}.checkout .switch{margin-top:16px;font-size:13px;color:var(--muted)}.winkel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:16px;gap:16px;align-items:start}.winkel-lijst{gap:12px;margin:18px 0}.winkel-kaart,.winkel-lijst{display:flex;flex-direction:column}.winkel-kaart{border:1px solid var(--line);background:var(--paper2);border-radius:14px;padding:16px 18px;gap:8px}.winkel-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.winkel-naam{font-size:17px}.winkel-naam,.winkel-prijs{font-family:Fraunces,serif;font-weight:600}.winkel-prijs{color:var(--accent);white-space:nowrap}.winkel-besch{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0}.winkel-cursussen{margin:2px 0 0;padding-left:18px;font-size:13px}.winkel-cursussen li{margin-bottom:3px}.winkel-bevat{font-size:11.5px;color:var(--muted)}.winkel-bezit{font-size:13px;color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:6px 10px;text-align:center;margin-top:2px}.koop-acties{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.koop-acties .err{flex-basis:100%;margin:4px 0 0}.akkoord{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 4px}.akkoord input{width:auto;margin-right:6px;vertical-align:-1px}.akkoord a{color:var(--accent);text-decoration:underline}.koop-acties .akkoord{flex-basis:100%}.verkoop,.verkoop label{display:flex;flex-direction:column}.verkoop label{gap:4px;font-size:12px;color:var(--muted);margin-bottom:10px}.verkoop label.checkbox{flex-direction:row;align-items:center;gap:7px;font-size:13px;color:var(--ink)}.verkoop input,.verkoop textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;font-size:13.5px;background:var(--paper);color:var(--ink);outline:none}.verkoop .chip input,.verkoop label.checkbox input{width:auto}.verkoop textarea{resize:vertical;line-height:1.5}.verkoop input:focus,.verkoop textarea:focus{border-color:var(--accent)}.auth{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:26px 22px;max-width:380px;margin:0 auto;width:100%}.auth h1{font-size:24px;margin:0 0 6px}.auth p.intro{color:var(--muted);font-size:14px;margin:0 0 22px}.auth label{display:block;font-size:13px;color:var(--muted);margin:12px 0 5px}.auth input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 13px;font:inherit;font-size:14.5px;background:var(--paper2);color:var(--ink);outline:none}.auth input:focus{border-color:var(--accent)}.auth button.primary{margin-top:20px;width:100%;border:none;background:var(--accent);color:var(--paper);border-radius:11px;padding:12px;font:inherit;font-size:15px;font-weight:500;cursor:pointer}.auth button.primary:disabled{opacity:.5;cursor:default}.auth .switch{margin-top:16px;font-size:13px;color:var(--muted);text-align:center}.auth .err{margin-top:14px;color:var(--amber);font-size:13.5px}.auth .demo{margin-top:18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}