:root{--bg:#17181c;--panel:#24262c;--panel2:#30323a;--border:#474a54;--text:#f4f1ec;--muted:#b8bac2;--red:#df0000;--green:#2e7d32;--orange:#ff9138;--danger:#e14b43}*{box-sizing:border-box}html,body{min-height:100%;background:var(--bg)}body{margin:0;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button,select,input{font:inherit}button{touch-action:manipulation;cursor:pointer}header{position:sticky;top:0;z-index:20;background:var(--panel2);border-bottom:1px solid var(--border);padding:max(12px,env(safe-area-inset-top)) 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-size:clamp(18px,3vw,26px);font-weight:900;letter-spacing:.4px}.brand b{color:var(--red)}.head-actions,.topbuttons,.player-row,.row-between{display:flex;align-items:center;gap:8px}.pill,.tiny{font-size:13px;font-weight:800;border:1px solid var(--border);border-radius:999px;background:#111216;color:var(--muted);padding:7px 10px}.pill.ok{color:#8bd78f}.pill.err{color:#ff8f86}.tiny{border-radius:8px;background:var(--panel);color:var(--text)}main{max-width:920px;margin:0 auto;padding:14px 14px calc(20px + env(safe-area-inset-bottom))}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 8px 22px rgba(0,0,0,.12)}.section-title{font-size:20px;font-weight:900;margin-bottom:12px}.muted{color:var(--muted)}.player-row select{flex:1;min-width:0;background:#111216;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:13px;font-size:18px;font-weight:700}.secondary,.primary{border-radius:10px;padding:12px 14px;font-weight:850;color:#fff}.secondary{background:var(--panel2);border:1px solid var(--border)}.primary{background:var(--red);border:0}.danger-outline{border-color:#8e3e3a;color:#ffaaa5}.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.training-card{min-height:145px;text-align:left;background:var(--panel);border:1px solid var(--border);border-radius:14px;color:var(--text);padding:18px;display:flex;flex-direction:column;gap:7px}.training-card:active{transform:scale(.985)}.training-card span{font-size:30px}.training-card strong{font-size:21px}.training-card small{font-size:14px;line-height:1.35;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.stat{background:#111216;border:1px solid var(--border);border-radius:10px;padding:12px}.stat small{display:block;color:var(--muted);font-weight:700}.stat strong{display:block;font-size:24px;margin-top:3px}.mutedbox{color:var(--muted)}.history-item{padding:11px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px}.history-item:last-child{border-bottom:0}.history-item strong{display:block;color:var(--text)}.history-item small{color:var(--muted)}.training-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.training-top .section-title{margin:0}.remaining-label{text-align:center;color:var(--muted);font-size:15px;font-weight:850;letter-spacing:1.6px}.remaining{font-size:clamp(88px,24vw,160px);line-height:.95;text-align:center;font-weight:950;margin:8px 0 14px}.remaining.target{color:#fff}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-row>div{background:#111216;border:1px solid var(--border);border-radius:10px;text-align:center;padding:9px}.metric-row small{display:block;color:var(--muted);font-weight:700}.metric-row strong{font-size:21px}.metric-row.large strong{font-size:26px}.counterline{text-align:center;margin:12px 0;color:var(--muted);font-weight:700}.score-entry{display:grid;grid-template-columns:minmax(0,.9fr) minmax(290px,1.1fr);gap:10px;margin-top:12px}.score-display{grid-column:1;font-size:72px;line-height:1;font-weight:950;display:flex;align-items:center;justify-content:center;background:#0b0c0f;border:2px solid var(--border);border-radius:12px;min-height:100px}.quick-row{grid-column:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quick-row button,.keypad button,.hits-grid button{min-height:56px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);color:var(--text);font-size:19px;font-weight:900}.keypad{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad button{font-size:25px;min-height:62px}.keypad .control{font-size:18px;background:#3a3c44}.big{min-height:58px;font-size:20px;font-weight:900}.score-entry>.big{grid-column:1/-1}.checkout-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.checkout-actions button,.hits-grid button{min-height:70px;border:0;border-radius:11px;color:#fff;font-size:20px;font-weight:900}.checkout-ok{background:var(--green)}.miss{background:#8d3b37}.hits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.hits-grid button{background:var(--panel2);border:1px solid var(--border)}.result{text-align:center}.result .section-title{font-size:26px}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.result-grid div{background:#111216;border:1px solid var(--border);border-radius:10px;padding:12px}.result-grid small{display:block;color:var(--muted)}.result-grid strong{font-size:25px}.message{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;max-width:min(680px,calc(100vw - 30px));padding:12px 16px;border-radius:10px;background:#3e2725;border:1px solid #a94a44;color:#fff;font-weight:750;box-shadow:0 10px 30px rgba(0,0,0,.35)}.modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:18px}.modal[hidden],section[hidden],.modepanel[hidden],.result[hidden],.message[hidden]{display:none!important}.modalbox{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px}.modalbox input{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;background:#111216;color:#fff;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}@media(max-width:720px){.brand{font-size:17px}.pill{display:none}.training-grid{grid-template-columns:1fr 1fr}.training-card{min-height:130px;padding:14px}.training-card strong{font-size:18px}.stats-grid{grid-template-columns:repeat(2,1fr)}.score-entry{grid-template-columns:1fr}.score-display,.quick-row,.keypad,.score-entry>.big{grid-column:1}.keypad{grid-row:auto}.remaining{font-size:clamp(84px,31vw,145px)}}@media(max-width:480px){main{padding:10px}.training-grid{grid-template-columns:1fr}.training-card{min-height:100px}.metric-row strong{font-size:18px}.checkout-actions,.hits-grid{grid-template-columns:1fr 1fr}.topbuttons{gap:5px}.secondary{padding:10px}.remaining{font-size:100px}}@media(orientation:landscape) and (max-height:600px){header{position:static;padding:8px 14px}.card{padding:11px}.remaining{font-size:76px;margin:3px 0 8px}.metric-row>div{padding:5px}.score-entry{margin-top:7px}.score-display{font-size:58px;min-height:72px}.keypad button{min-height:44px}.quick-row button{min-height:42px}.big{min-height:48px}.counterline{margin:6px 0}.training-top{margin-bottom:8px}}

.double-attempts{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-weight:750}.double-attempts>div{display:flex;gap:6px}.double-choice{min-width:44px;min-height:38px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);color:#fff;font-weight:900}.double-choice.active{background:var(--green);border-color:#66bb6a}.history-actions{display:flex;align-items:center;gap:8px}.resume-btn{border:1px solid var(--green);background:#17391d;color:#b9f0bf;border-radius:7px;padding:6px 9px;font-weight:800}

/* 0.2.0 */
.training-card.new{position:relative}.training-card.new:after{content:'NIEUW';position:absolute;top:10px;right:10px;font-size:10px;font-weight:950;letter-spacing:.8px;background:#17391d;border:1px solid #2e7d32;color:#b9f0bf;border-radius:999px;padding:4px 7px}
.progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.progress-card{background:#111216;border:1px solid var(--border);border-radius:11px;padding:12px}.progress-card>strong{display:block;font-size:18px;margin-bottom:8px}.progress-card>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid #2d2f35}.progress-card span{color:var(--muted);font-size:13px}.progress-card b{font-size:14px}.target-table{display:grid;gap:0}.target-head,.target-row{display:grid;grid-template-columns:1fr repeat(3,.75fr);gap:8px;align-items:center;padding:9px 4px}.target-head{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.target-row{border-top:1px solid var(--border)}.target-row span{text-align:right}.target-head b:not(:first-child){text-align:right}
.binary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.binary-actions button,.wide-action,.dart-count-grid button,.target-actions button{min-height:68px;border-radius:11px;color:#fff;font-size:19px;font-weight:900;border:1px solid var(--border)}.wide-action{width:100%;margin-top:10px;border:0}.dart-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.dart-count-grid button{background:var(--panel2)}.dart-count-grid button.disabled{opacity:.28;cursor:not-allowed}.target-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:16px}.target-actions button{background:var(--panel2)}.target-actions .exact{background:var(--green)}.target-actions .miss{grid-column:1/-1;background:#8d3b37;border:0}.note{text-align:center;margin-top:12px;font-size:13px}.field-label{display:block;color:var(--muted);font-weight:750;margin:10px 0}.field-label select,.modalbox select{display:block;width:100%;margin-top:6px;background:#111216;border:1px solid var(--border);color:#fff;border-radius:9px;padding:12px;font-size:17px}.modal-wide{width:100%;margin-top:12px}
@media(max-width:720px){.progress-grid{grid-template-columns:1fr}.target-head,.target-row{grid-template-columns:1fr repeat(3,.7fr)}}
@media(max-width:480px){.target-actions{grid-template-columns:1fr 1fr}.dart-count-grid{grid-template-columns:repeat(3,1fr)}.dart-count-grid button{min-height:58px;font-size:16px}}


/* 0.3.0 - persoonlijk trainingsplan */
.plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.plan-duration{display:flex;gap:6px}.plan-duration button{border:1px solid var(--border);background:var(--panel2);color:#fff;border-radius:999px;padding:8px 11px;font-weight:850}.plan-duration button.active{background:var(--red);border-color:var(--red)}.plan-summary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.focus-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.focus-chip{display:inline-block;background:#17391d;border:1px solid #2e7d32;color:#b9f0bf;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800}.plan-score{text-align:center;background:#111216;border:1px solid var(--border);border-radius:10px;padding:9px 12px;min-width:82px}.plan-score b{display:block;color:#fff;font-size:22px}.plan-score small{font-size:11px}.advice-reasons{margin:12px 0 10px;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.45}.plan-list{display:grid;gap:8px}.plan-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;background:#111216;border:1px solid var(--border);border-radius:11px;padding:10px}.plan-item.done{opacity:.62}.plan-time{text-align:center;color:#fff;font-size:19px;font-weight:950}.plan-time small{display:block;color:var(--muted);font-size:10px;font-weight:700}.plan-main strong{display:block;color:#fff}.plan-main small{display:block;color:var(--muted);margin-top:2px;line-height:1.3}.plan-item button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px 13px;font-weight:900}.plan-item button:disabled{background:#3a3c44;color:#aaa}.advice-card{border-color:#3b443c}@media(max-width:520px){.plan-item{grid-template-columns:48px 1fr}.plan-item button{grid-column:1/-1;width:100%}.plan-summary{align-items:center}.advice-reasons{padding-left:18px}}

/* 0.3.1 - trainingshistorie beheren */
.delete-btn{border:1px solid #6f3431;background:#361c1a;color:#ffd5d2;border-radius:7px;min-width:36px;min-height:34px;padding:5px 8px;font-weight:900}.delete-btn:hover{background:#4a2421}.section-title .danger-outline,.row-between>.danger-outline{color:#ffc8c4;border-color:#6f3431;background:#2c1918}

/* PWA / tablet app mode */
.install-card{border-color:#3d4f64;background:linear-gradient(180deg,#252a31,var(--panel))}.install-actions{display:flex;gap:9px;margin-top:13px}.install-actions button{min-height:46px}.app-standalone .install-card{display:none!important}.app-standalone header{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.app-standalone main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}.app-standalone body{overscroll-behavior-y:none}.wake-active{border-color:#2e7d32!important;color:#a9e6ad!important}.wake-inactive{border-color:#8e3e3a!important;color:#ffaaa5!important}@media(max-width:480px){.install-actions{display:grid;grid-template-columns:1fr 1fr}}
