:root{color-scheme:light dark;--bg: #fafaf7;--fg: #1c1c1a;--muted: #6b6b66;--card: #ffffff;--line: #deddd5;--accent: #2f6f4e;--danger: #b3261e}@media (prefers-color-scheme: dark){:root{--bg: #161614;--fg: #ecece6;--muted: #9a9a92;--card: #20201d;--line: #34342f;--accent: #5cb487;--danger: #f2796f}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,sans-serif;line-height:1.4;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app{max-width:520px;margin:0 auto;padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(40px,calc(24px + env(safe-area-inset-bottom)))}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.topbar h1{font-size:1.25rem;margin:0}.topbar nav{display:flex;gap:4px}.topbar button.link{min-height:48px;padding:0 12px}.topbar button.brand{display:flex;align-items:center;gap:10px;padding-left:0}.topbar button.brand img{border-radius:9px;display:block}h2{font-size:1.1rem;margin:20px 0 8px}h3{font-size:.95rem;margin:16px 0 8px;color:var(--muted)}button,select,input{font:inherit;font-size:1rem;color:inherit;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 16px}button{cursor:pointer;user-select:none;-webkit-user-select:none}button:active:not(:disabled){transform:scale(.97);filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}button.link{border:0;background:none;padding:0 4px;color:var(--accent)}.topbar button.link h1{color:var(--fg)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);width:100%;min-height:52px;margin-top:12px;font-weight:600}button.danger{color:var(--danger);width:48px;padding:0;flex:none}button.danger.wide{width:auto;padding:0 16px}.rematch{width:100%;margin-top:24px}.clear-all{margin-top:24px}.confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.muted{color:var(--muted);font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.card{min-height:80px;font-weight:600}.list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.list li{display:flex;gap:10px}.row{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:12px 16px;text-align:left;min-height:56px}.row.choice{flex-direction:row;justify-content:space-between;align-items:center}.row.choice.on{border-color:var(--accent)}.badge{background:var(--accent);color:#fff;border-radius:999px;min-width:26px;text-align:center;padding:0 8px}.inline{display:flex;gap:10px;margin-bottom:12px}.inline input{flex:1;min-width:0}.inline.guest{margin-top:12px}label{display:grid;gap:4px}.uitslag{width:100%;border-collapse:collapse;margin:12px 0;font-size:.9rem}.uitslag th,.uitslag td{padding:8px 4px;text-align:right;border-bottom:1px solid var(--line)}.uitslag th:first-child{text-align:left}.uitslag thead th{color:var(--muted);font-weight:500;font-size:.8rem}.onderdeel{border-top:1px solid var(--line);margin-top:8px}.toevoegen{display:grid;gap:8px;margin-top:8px}.inline .primary{margin-top:0;flex:1}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.chip{border-radius:999px;min-height:48px}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.cards{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:14px}.cards .chip{padding:0;border-radius:12px;min-height:52px;font-size:1.05rem;font-weight:600}.banner{background:var(--accent);color:#fff;padding:12px 14px;border-radius:10px;font-weight:600}.stepper{display:flex;align-items:center;gap:10px;margin-bottom:10px}.stepper span{flex:1}.stepper button{width:56px;min-height:52px;padding:0;font-size:1.5rem}.stepper output{min-width:40px;text-align:center;font-weight:600;font-size:1.1rem}.check{display:flex;align-items:center;gap:12px;min-height:48px;margin-bottom:8px}.check input{min-height:0;width:26px;height:26px;flex:none}.scoreboard{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px}.scoreboard li{display:flex;justify-content:space-between;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:10px}
