@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap");:root{--purple-deep:#2a0f4b;--purple:#4b1e85;--purple-mid:#7c3aed;--purple-light:#b98ce8;--purple-tint:#f4eefc;--ink:#170b2c;--paper:#fff;--line:#e4d9f5;--muted:#8577a3;--radius:16px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.display,h1,h2,h3{font-family:Space Grotesk,system-ui,sans-serif}.app{max-width:460px;margin:0 auto;height:100vh;height:100dvh;position:relative;overflow:hidden;background:var(--paper)}.app,.screen{padding-bottom:env(safe-area-inset-bottom,0)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .45s ease}.screen.active{opacity:1;pointer-events:auto}#splash{background:radial-gradient(120% 90% at 50% 15%,#5b23a0 0,#2a0f4b 62%,#170b2c 100%);align-items:center;justify-content:center}.splash-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:22px}.splash-logo{width:min(74vw,360px);height:auto;filter:drop-shadow(0 18px 46px rgba(0,0,0,.5));opacity:0;animation:appear .6s cubic-bezier(.22,.68,.35,1) forwards,pulse-once 1.3s ease-in-out .6s 1 forwards}@keyframes appear{0%{opacity:0;transform:scale(.68)}to{opacity:1;transform:scale(1)}}@keyframes pulse-once{0%{transform:scale(1)}45%{transform:scale(1.1)}to{transform:scale(1)}}#splash.fading{opacity:0;transition:opacity .65s ease}.splash-word{font-size:13px;font-weight:600;letter-spacing:.28em;color:#d9c6f5;opacity:0;animation:fade-in .5s ease .95s forwards}@keyframes fade-in{to{opacity:1}}.topbar{display:flex;align-items:center;gap:12px;padding:calc(18px + env(safe-area-inset-top,0px)) 20px 14px}.topbar img.mark{width:34px;height:auto;flex-shrink:0}.topbar .brand{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.topbar .brand span{display:block;font-family:Inter,sans-serif;font-weight:500;font-size:12px;color:var(--muted);margin-top:1px}#search{background:var(--paper)}.search-body{flex:1 1;min-height:0;overflow-y:auto;padding:6px 20px 28px;display:flex;flex-direction:column}.search-heading{margin:10px 0 26px}.search-heading h1{font-size:24px;line-height:1.25;margin:0 0 6px;font-weight:700;color:var(--ink)}.search-heading p{margin:0;font-size:14px;color:var(--muted);line-height:1.5}.field{margin-bottom:18px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--purple);margin-bottom:8px}.combo{position:relative}.combo input{width:100%;padding:14px 62px 14px 16px;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--purple-tint);font-family:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .15s ease,background .15s ease}.combo input::placeholder{color:var(--muted)}.combo input:focus{border-color:var(--purple-mid);background:var(--paper)}.combo input:disabled{background:#f5f5f7;color:var(--muted);border-color:var(--line);cursor:not-allowed}.combo-icon{right:14px;width:18px;height:18px;pointer-events:none;opacity:.55}.combo-clear,.combo-icon{position:absolute;top:50%;transform:translateY(-50%)}.combo-clear{right:38px;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease,color .15s ease}.combo-clear svg{width:12px;height:12px}.combo-clear:hover{background:var(--line);color:var(--purple)}.combo-clear:active{background:var(--purple-tint)}.combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--paper);border:1.5px solid var(--line);border-radius:14px;max-height:220px;overflow-y:auto;box-shadow:0 14px 34px rgba(42,15,75,.14);z-index:20;display:none}.combo-list.open{display:block}.combo-list .opt{padding:12px 16px;font-size:14.5px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line)}.combo-list .opt:last-child{border-bottom:none}.combo-list .opt.hover,.combo-list .opt:active{background:var(--purple-tint)}.combo-list .empty{padding:14px 16px;font-size:13.5px;color:var(--muted)}.spacer{flex:1 1}.cta{width:100%;border:none;border-radius:var(--radius);padding:16px 18px;font-family:Space Grotesk,sans-serif;font-size:15.5px;font-weight:700;letter-spacing:.01em;color:#fff;background:linear-gradient(135deg,var(--purple-mid),var(--purple-deep));cursor:pointer;transition:transform .12s ease,opacity .15s ease,box-shadow .15s ease;box-shadow:0 10px 24px rgba(75,30,133,.28)}.cta:disabled{opacity:.4;box-shadow:none;cursor:not-allowed}.cta:not(:disabled):active{transform:scale(.98)}#programma{background:var(--paper)}.prog-header{background:linear-gradient(160deg,var(--purple-deep),var(--purple) 70%);border-radius:0 0 26px 26px;overflow:hidden;color:#fff}.prog-header .topbar{padding:calc(20px + env(safe-area-inset-top,0px)) 20px 16px;justify-content:space-between}.prog-header .topbar .brand{color:#fff}.prog-header .topbar .brand span{color:#c9afef}.selection-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 22px;background:hsla(0,0%,100%,.05);border-top:1px solid hsla(0,0%,100%,.08)}.selection-text .club{font-size:19px;font-weight:700;font-family:Space Grotesk,sans-serif;letter-spacing:-.01em}.selection-text .team{margin-top:4px;font-size:13.5px;color:#d9c6f5;font-weight:500}.edit-btn{width:38px;height:38px;border-radius:50%;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.28);display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer}.edit-btn svg{width:16px;height:16px}.edit-btn:active{background:hsla(0,0%,100%,.26)}.prog-list{flex:1 1;padding:18px 20px 28px;overflow-y:auto}.prog-list h2{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted);margin:4px 0 14px;text-transform:uppercase}.date-group{margin-bottom:22px}.date-group:last-child{margin-bottom:0}.date-header{margin:0 0 10px}.date-header .date{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:15px;color:var(--ink)}.date-header .locatie{margin-top:2px;font-size:12.5px;color:var(--muted)}.match-card{gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}.match-card,.match-time{display:flex;align-items:center}.match-time{flex-direction:column;justify-content:center;width:56px;flex-shrink:0;background:var(--purple-tint);border-radius:10px;padding:8px 4px}.match-time .hour{font-size:16.5px;font-weight:700;color:var(--ink);font-family:Space Grotesk,sans-serif}.match-mid{flex:1 1;min-width:0}.match-mid .vs{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-mid .home{font-size:12px;color:var(--muted);margin-top:3px}.match-field{flex-shrink:0;max-width:110px;font-size:12.5px;font-weight:700;color:var(--purple);background:#fff;border:1.5px solid var(--purple-light);border-radius:9px;padding:6px 9px;font-family:Space Grotesk,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-btn{width:34px;height:34px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0;opacity:.85;transition:opacity .15s ease,background .15s ease}.menu-btn svg{width:19px;height:19px}.menu-btn:active{opacity:1;background:hsla(0,0%,100%,.1)}.panel{display:none}.panel.active{display:block}#menuScreen{background:var(--paper)}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:calc(24px + env(safe-area-inset-top,0px)) 20px 10px}.menu-title{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:21px;color:var(--ink)}.menu-close{width:38px;height:38px;border-radius:50%;background:var(--purple-tint);display:flex;align-items:center;justify-content:center;cursor:pointer}.menu-close:active{background:var(--line)}.menu-list{padding:10px 20px;display:flex;flex-direction:column}.menu-item{background:none;border:none;text-align:left;font-family:Space Grotesk,sans-serif;font-size:19px;font-weight:500;color:var(--ink);padding:18px 4px;border-bottom:1px solid var(--line);cursor:pointer}.menu-item:active{background:var(--purple-tint)}.menu-item-admin{display:block;text-decoration:none;color:var(--muted)}.menu-item.current{font-weight:700;color:var(--purple)}.result-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px}.result-card .outcome{flex-shrink:0;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:12px}.result-card .outcome.win{background:var(--purple-tint);color:var(--purple)}.result-card .outcome.draw{background:#f2f2f5;color:var(--muted)}.result-card .outcome.loss{background:transparent;border:1.3px solid var(--line);color:var(--muted)}.result-card .opp{flex:1 1;min-width:0;font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-card .opp .time{display:block;margin-top:3px;font-size:12px;font-weight:500;color:var(--muted)}.result-card .score{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.result-card .score .sets{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:16.5px;color:var(--purple)}.result-card .score .points{font-size:11.5px;color:var(--muted)}.standings-heading{font-size:12.5px;font-weight:700;color:var(--purple);margin:0 0 8px}.standings-wrap{overflow-x:auto}.standings-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.standings-table th:nth-child(2),.standings-table th:nth-child(3){width:34px}.standings-table th:nth-child(4){width:36px}.standings-table th:nth-child(5),.standings-table th:nth-child(6){width:46px}.standings-table td:first-child{overflow-wrap:anywhere}.standings-table th{font-size:10px;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-weight:700;padding:6px 5px;text-align:center;border-bottom:1.5px solid var(--line);white-space:nowrap}.standings-table th:first-child{text-align:left}.standings-table td{padding:9px 5px;text-align:center;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.standings-table td:first-child{text-align:left}.standings-table tr.selected td{font-weight:700;color:var(--purple);background:var(--purple-tint)}.standings-table .team-name{display:flex;flex-direction:column;line-height:1.3}.standings-table .team-name .club{font-size:12.5px}.standings-table .team-name .team{font-size:11px;font-weight:500;color:var(--muted)}.standings-table tr.selected .team-name .team{color:var(--purple)}.empty-hint{color:var(--muted);font-size:14px}.scoreboard{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:var(--paper)}@media (orientation:landscape){.scoreboard{flex-direction:row}}.scoreboard-half{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:24px}.scoreboard-own{background:var(--purple-deep);color:#fff}.scoreboard-opp{background:#fff;color:var(--ink)}.scoreboard-name{font-size:clamp(18px,5vw,30px);letter-spacing:-.01em;text-align:center}.scoreboard-name,.scoreboard-score{font-family:Space Grotesk,sans-serif;font-weight:700}.scoreboard-score{font-size:clamp(90px,26vw,200px);line-height:1}.scoreboard-minus{display:flex;align-items:center;gap:6px;border:none;border-radius:999px;padding:10px 18px;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:14px;cursor:pointer}.scoreboard-own .scoreboard-minus{background:hsla(0,0%,100%,.16);color:#fff}.scoreboard-opp .scoreboard-minus{background:var(--purple-tint);color:var(--purple)}.scoreboard-close,.scoreboard-reset{position:fixed;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;border:none;box-shadow:0 6px 18px rgba(23,11,44,.28);cursor:pointer;z-index:10}.scoreboard-close{top:calc(16px + env(safe-area-inset-top,0px));right:16px;color:var(--ink)}.scoreboard-reset{top:50%;left:50%;transform:translate(-50%,-50%);color:var(--purple)}::-webkit-scrollbar{width:0;height:0}