:root{--g:#1f5f3f;--ink:#1a1a1a;--bg:#fbf8f1;--card:#fff;--muted:#444}
*{box-sizing:border-box}
html{font-size:20px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.6}
header{background:var(--g);padding:14px 18px}
.brand{color:#fff;font:700 1.2rem system-ui,sans-serif;text-decoration:none}
main{max-width:640px;margin:0 auto;padding:18px 18px 120px}
h1{font:700 1.6rem/1.25 system-ui,sans-serif;margin:.4em 0}
h2{font:700 1.25rem/1.3 system-ui,sans-serif;margin:1.2em 0 .4em}
p,li{font-size:1rem}
.card{background:var(--card);border:2px solid #ddd5c4;border-radius:14px;padding:18px;margin:14px 0}
.btn{display:block;width:100%;min-height:60px;padding:14px 18px;margin:12px 0;border:0;border-radius:12px;background:var(--g);color:#fff;font:700 1.1rem system-ui,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.btn.secondary{background:#fff;color:var(--g);border:3px solid var(--g)}
.list a{display:flex;justify-content:space-between;align-items:center;min-height:64px;padding:14px 16px;margin:10px 0;background:#fff;border:2px solid #ddd5c4;border-radius:12px;color:var(--ink);font:600 1.05rem system-ui,sans-serif;text-decoration:none}
.list a::after{content:"›";font-size:1.6rem;color:var(--g)}
label{display:block;font:600 1rem system-ui,sans-serif;margin:14px 0 6px}
input,textarea,select{width:100%;font-size:1.1rem;padding:14px;border:2px solid #777;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus,.btn:focus,a:focus{outline:4px solid #f0b400;outline-offset:2px}
.code{letter-spacing:.5em;text-align:center;font-size:1.6rem}
.muted{color:var(--muted)}
.err{color:#a00000;font-weight:700}
.ok{background:#e6f4ea;border:2px solid var(--g);border-radius:12px;padding:14px}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eee;font:700 1rem system-ui,sans-serif}
.day.done{background:var(--g);color:#fff}
.day.today{outline:3px solid #f0b400}
.choice{display:flex;gap:10px;flex-wrap:wrap}
.choice button{flex:1 1 40%;min-height:56px;font:600 1rem system-ui,sans-serif;border:3px solid var(--g);background:#fff;color:var(--g);border-radius:10px}
.choice button[aria-pressed=true]{background:var(--g);color:#fff}
#helpfab{position:fixed;right:14px;bottom:14px;background:#f0b400;color:#000;font:800 1.05rem system-ui,sans-serif;padding:16px 20px;border-radius:40px;text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.back{display:inline-block;margin:4px 0;font:600 1rem system-ui,sans-serif;color:var(--g)}
.tools{display:flex;gap:10px}.tools .btn{flex:1}
@media print{header,#helpfab,.btn,.tools,.back{display:none!important}body{background:#fff}}
main:focus{outline:none}
.tag{display:inline-block;background:#f0b400;color:#000;font:800 1rem system-ui,sans-serif;padding:4px 12px;border-radius:20px;margin:8px 0 0}
.err-box{background:#fff4e5;border:2px solid #b35900;border-radius:12px;padding:14px;margin:14px 0}
nav.list h2{margin-top:1.2em}

.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 6px}
.pill{display:inline-flex;align-items:center;min-height:52px;padding:10px 18px;border:2px solid #b9ae98;border-radius:999px;background:#fff;color:var(--ink);font:600 1rem system-ui,sans-serif;text-decoration:none}
.pill.on{background:var(--g);border-color:var(--g);color:#fff}
.row{display:flex;gap:14px;align-items:center}
.avatar{flex:none;width:84px;height:84px;border-radius:50%;border:3px dashed #b9ae98;background:#f3eee2;color:var(--g);display:flex;align-items:center;justify-content:center;font:700 2rem system-ui,sans-serif;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:64px;height:64px;font-size:1.5rem;border-style:solid}
.sr{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.sr:focus+label{outline:4px solid #f0b400;outline-offset:2px}
.btn.inl{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:180px;margin-right:8px}
.btn.outline{background:#fff;color:#8a1f11;border:3px solid #8a1f11}.btn.sm{width:auto;min-height:52px;margin:0;padding:8px 16px;font-size:1rem}
.badge{display:inline-block;padding:4px 12px;border-radius:999px;background:#e6f4ea;border:2px solid var(--g);color:var(--g);font:700 .9rem system-ui,sans-serif}
.big{font:700 1.2rem system-ui,sans-serif}.big2{font:700 1.4rem system-ui,sans-serif;margin:14px 0 6px}.up{text-transform:uppercase;font:700 .9rem system-ui,sans-serif;letter-spacing:.05em}
.kv dt{font:700 1rem system-ui,sans-serif;margin-top:12px}.kv dd{margin:2px 0 0}
.passport{display:flex;border-radius:16px;overflow:hidden;border:2px solid #ddd5c4;background:#fff;margin:14px 0}
.pcover{flex:0 0 30%;background:var(--g);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;font:700 1rem/1.3 system-ui,sans-serif;letter-spacing:.12em}.pcover small{margin-top:10px;font-size:.9rem;letter-spacing:.05em;color:#f6e7b8}
.pinfo{flex:1;padding:16px}
.bar{height:16px;border-radius:8px;background:#e7e1d3;border:1px solid #b9ae98;overflow:hidden}.bar i{display:block;height:100%;background:var(--g)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.stat{background:#fff;border:2px solid #ddd5c4;border-radius:12px;padding:12px}.stat span{display:block;font:700 .9rem system-ui,sans-serif;color:var(--muted)}.stat b{font:700 1.8rem system-ui,sans-serif}.stat small{display:block;color:var(--muted)}
.stamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.stamp{text-align:center;border:2px dashed #b9ae98;border-radius:14px;padding:12px;background:#fff;color:var(--muted)}.stamp b{display:flex;margin:0 auto 6px;width:52px;height:52px;border-radius:50%;border:3px solid #b9ae98;align-items:center;justify-content:center;font:700 1.2rem system-ui,sans-serif}
.stamp span{display:block;font:700 1rem system-ui,sans-serif;color:var(--ink)}.stamp.got{border-style:solid;border-color:var(--g);background:#eef7f0}.stamp.got b{background:var(--g);border-color:var(--g);color:#fff}
.act,.dev{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e7e1d3}.act:last-child,.dev:last-child{border-bottom:0}
@media (max-width:420px){.passport{flex-direction:column}.pcover{flex-basis:auto;flex-direction:row;gap:12px}.pcover small{margin:0}}
/* offer11 additions */
.tabs{display:flex;gap:8px;margin:12px 0}.tabs a{flex:1;text-align:center;padding:12px;border:2px solid #1f5f3f;border-radius:10px;text-decoration:none;min-height:48px}.tabs a.on{background:#1f5f3f;color:#fff}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.grid span{padding:10px 0;text-align:center;border:1px solid #bbb;border-radius:8px}.grid span.on{background:#1f5f3f;color:#fff}
textarea{width:100%;font:inherit;font-size:18px;box-sizing:border-box}
.illu{font-size:72px;text-align:center;margin:8px 0}.card.now{border:3px solid #1f5f3f}.grid span{font-size:18px}
.back{display:inline-flex;align-items:center;min-height:48px}
.list .locked{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:64px;padding:14px 16px;margin:10px 0;background:#f3efe6;border:2px dashed #ddd5c4;border-radius:12px;color:var(--muted);font:600 1.05rem system-ui,sans-serif;cursor:default}
.tgrid{overflow-x:auto;margin:12px 0}.tgrid [role=row]{display:grid;grid-template-columns:minmax(140px,2fr) repeat(7,minmax(40px,1fr));gap:4px;align-items:center;padding:6px 0;border-bottom:1px solid #ddd5c4}
.tgrid [role=columnheader]{font:600 .8rem system-ui,sans-serif;text-align:center}.tgrid [role=columnheader].now{color:var(--g);text-decoration:underline}
.tgrid [role=rowheader]{font-size:.9rem}.tgrid label{display:flex;justify-content:center}.tgrid input,.wk input{width:28px;height:28px}
.wk{display:flex;gap:10px;align-items:center;min-height:48px}
@media print{@page{size:A4;margin:12mm}body.eyes-start main{max-width:none;padding:0}body.eyes-start .a4{border:none;font-size:14pt}body.eyes-start #disc{display:none}}
/* 2026-11-10 Zenuwbeschermingsmethode (only reachable when ZENUW_LIVE): big controls for 55+ */
.zlevels{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}.zlevels .btn{margin:0;min-height:60px;padding:10px 12px;font-size:1.05rem;text-align:left}
.zplayer{border:2px solid var(--g)}.zplayer .zplabel{margin-top:0}.zplayer .btn{width:100%;font-size:1.3rem;min-height:64px}.zaudio{width:100%;margin-top:10px;height:54px}
.zscale .zrow{display:grid;grid-template-columns:64px 1fr 64px;gap:10px;align-items:center}.zscale .zrow .btn{margin:6px 0;min-height:56px;font-size:1.6rem;padding:0}
.zval{display:block;text-align:center;font:700 2.2rem system-ui,sans-serif}.zscale input[type=range]{width:100%;height:40px;accent-color:var(--g)}.zscale input[data-empty]{opacity:.5}
.wk input[type=radio]{width:28px;height:28px}#zn{width:100%;box-sizing:border-box;font:inherit;font-size:1.05rem;padding:10px;border:2px solid #ddd5c4;border-radius:10px;margin-top:6px}
.zfig{margin:8px 0}.zfig figcaption{font-size:1rem}.zchart{width:100%;height:auto;margin:2px 0}
.ztable{width:100%;border-collapse:collapse;margin:10px 0}.ztable th,.ztable td{border:1px solid #ddd5c4;padding:6px;text-align:center;font-size:.95rem}.ztable th[scope=row]{text-align:left}.ztable.small th,.ztable.small td{font-size:.8rem;padding:4px 3px}
.zlines span{display:block;border-bottom:1px solid #999;height:2.2em}
/* 2026-11-10: long Dutch compounds (Zenuwbeschermingsmethode): break only between words or with a real hyphen (lang=nl), never mid-word */
body.zenuw #app h1,body.zenuw #app h2{overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}body.zenuw #app h1{font-size:clamp(1.3rem,6.4vw,1.6rem)}
