/* VolleyTel — courtside, mobile first. Shared engine styles are structural only. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.ttf') format('truetype');font-weight:400 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/assets/fonts/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--v-navy:#252641;--v-navy-dark:#16182e;--v-navy-soft:#ededf3;--v-orange:#ff8345;--v-orange-soft:#fff0e5;--v-orange-tekst:#99401c;--v-page:#f2f1ee;--v-surface:#fffefa;--v-surface-2:#f3f2ee;--v-surface-3:#e9e8e4;--v-text:#252641;--v-muted:#666577;--v-subtle:#747385;--v-line:#dedddf;--v-actie:#ff8345;--v-actie-tekst:#211e33;--v-actie-druk:#ed7137;--v-knop-navy:#252641;--v-knop-navy-druk:#17182b;--v-kop:#fffefa;--v-invoer:#fffefa;--v-focus:#b54d20;--v-shadow:none;--v-nav:calc(76px + env(safe-area-inset-bottom));--display:'Barlow Condensed',sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
html[data-theme=dark]{--v-navy:#f5f0e7;--v-navy-dark:#fffefa;--v-navy-soft:#30314c;--v-orange-soft:#483023;--v-orange-tekst:#ffb387;--v-page:#141523;--v-surface:#202135;--v-surface-2:#292a40;--v-surface-3:#33354c;--v-text:#f5f0e7;--v-muted:#bebcca;--v-subtle:#aaa8bc;--v-line:#424258;--v-kop:#1c1d30;--v-invoer:#18192c;--v-focus:#ffb387;--v-knop-navy:#404366;--v-knop-navy-druk:#343653}
body.veld-body{font-family:Manrope,sans-serif;font-weight:500;touch-action:pan-y pinch-zoom}
button,input{font-family:inherit}button{touch-action:manipulation}svg{stroke-linecap:round;stroke-linejoin:round}
button:focus-visible,input:focus-visible{outline:3px solid var(--v-focus);outline-offset:3px}
body.is-welkom{padding:0;background:#f7f6f2;color:#252641}
.welkom{max-width:1120px;min-height:100svh;margin:auto;padding:0 20px;display:flex;flex-direction:column}
.welkom-merk{height:82px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}
.wordmark{display:flex;align-items:center;font-size:27px;font-weight:800;letter-spacing:-1.4px}
.wordmark img{margin-right:8px;width:30px;height:30px}.wordmark>span{font-weight:500}.wordmark i{width:6px;height:6px;background:#e56932;border-radius:50%;align-self:flex-end;margin:0 0 10px 3px}
.merk-door{font-size:9px;letter-spacing:.1px;color:#686777;display:grid;text-align:right;line-height:1.5}.merk-door strong{font-size:14px;color:#252641;letter-spacing:-.6px}
.welkom-layout{display:grid;gap:26px;flex:1;align-content:start}
.welkom-intro{position:relative;isolation:isolate;overflow:hidden;min-height:310px;border-radius:24px;background:#252641;color:#fff6e9;padding:27px 24px}
.welkom-boven{font-size:8px;letter-spacing:1.6px;font-weight:700;position:relative;z-index:3;color:#e3d9d3}
.welkom h1{position:relative;z-index:2;margin:18px 0 0;font:700 clamp(64px,19vw,92px)/.83 var(--display);letter-spacing:-1px;max-width:70%}
.welkom h1 span{display:block;color:#ffa06b;margin-top:5px}
.hero-ball{position:absolute;width:246px;height:246px;right:-61px;top:65px;z-index:1;transform:rotate(9deg);filter:drop-shadow(-8px 14px 12px #10102444);animation:ball-arrive 900ms var(--ease) both}
.hero-caption{font-size:11px;line-height:1.7;color:#dbd6db;margin-top:26px;position:relative;z-index:2}
.hero-side{position:absolute;right:15px;bottom:22px;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#cdc7d2}
.hero-court{position:absolute;z-index:0;inset:35% -35% -55% 30%;border:1px solid #646179;transform:rotate(-26deg);opacity:.45}
.hero-court:before,.hero-court:after,.hero-court span{content:'';position:absolute;border-top:1px solid #646179;inset:33% 0 auto}.hero-court:after{top:66%}.hero-court span:first-child{inset:0 auto 0 50%;border-top:0;border-left:1px solid #646179}
.keuze-kop{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 2px 10px}
.keuze-kop h2{font-size:18px;letter-spacing:-.6px;font-weight:800}.keuze-kop>span{font-size:10px;color:#686777;white-space:nowrap}
.welkom-keuzes{display:grid;gap:10px}
.spelkeuze{position:relative;display:flex;align-items:center;gap:14px;min-height:90px;width:100%;padding:10px 14px 10px 10px;border:1px solid #e2dfda;border-radius:18px;text-align:left;background:#fffefa;color:#252641;transition:transform 180ms var(--ease),border-color 180ms,background-color 180ms}
.spel-art{flex:0 0 70px;height:66px;border-radius:12px;overflow:hidden;background:#f8dfd1;display:grid;place-items:center}.spel-art svg{width:75px;height:65px;transition:transform 350ms var(--ease)}
.spel-art .court{fill:none;stroke:#cf855f;stroke-width:1.4}.spel-art .star{fill:#e7652f;stroke:#f9edd6;stroke-width:1.5}.spel-art .net{fill:none;stroke:#34334e;stroke-width:1.5}.spel-art .ball{fill:#ff9a59}.spel-art .seam{fill:none;stroke:#653d34;stroke-width:1.2}.spel-art .sun{fill:#eaae42}
.spel-zaal .spel-art{background:#dfdfea}.spel-zaal .court{stroke:#8a89a5}.spel-beach .spel-art{background:#f5e9c9}.spel-beach .court{stroke:#c69c55}
.speltekst{display:grid;gap:4px;min-width:0;padding-bottom:15px}.speltekst strong{font-size:19px;font-weight:800;letter-spacing:-.7px;line-height:1.2}.speltekst>span{font-size:10px;color:#686777}
.spel-detail{position:absolute;left:94px;bottom:12px;font-size:8px;font-weight:800;letter-spacing:1.2px;color:#8a431f}
.spel-zaal .spel-detail{color:#555573}.spel-beach .spel-detail{color:#856018}
.spelkeuze:active{transform:scale(.978);background:#f4efea;border-color:#c5805e}
@media(hover:hover){.spelkeuze:hover{transform:translateY(-2px);border-color:#b7afa7}.spelkeuze:hover .spel-art svg{transform:translateY(-3px) rotate(-5deg)}}
.welkom-terug{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;width:100%;min-height:48px;border:1px solid #b9b5bd;border-radius:14px;background:transparent;color:#252641;font-size:12px;font-weight:700}.welkom-terug svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.welkom-voet{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 2px 20px;margin-top:auto;color:#6b6877;font-size:9px}.welkom-voet>span:first-child{display:flex;gap:6px;align-items:center}.welkom-voet svg{width:14px;height:14px;fill:none;stroke:#77786e;stroke-width:2}.welkom-voet>span:last-child{font-size:7px;letter-spacing:1.1px}
/* Match shell. A stable native-style bottom rail, no call-to-action competition. */
.veld-top{box-shadow:none;border-bottom:1px solid var(--v-line)}.veld-top:before{display:none}
.veld-top-binnen{min-height:76px;padding:10px 20px;max-width:600px;gap:10px}
.merk-knop{min-height:44px;min-width:44px;border:0;padding:3px;background:transparent;border-radius:12px}.merk-knop img{width:36px;height:36px}
.veld-top-tekst .app-label{font-size:8px;font-weight:800;letter-spacing:1.8px;color:var(--v-muted);margin-bottom:3px}.veld-top-tekst strong{font-size:18px;letter-spacing:-.5px}.veld-top-tekst #telSub{font-size:10px;margin-top:3px}
.veld-main{padding:14px 14px 8px;gap:12px}.veld-main>section{gap:14px}.veld-kaart{border:0;border-radius:22px;padding:18px;box-shadow:none}
.veld-nav{box-shadow:none;padding:6px 14px calc(6px + env(safe-area-inset-bottom));background:var(--v-kop)}
.veld-nav-binnen{grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;gap:6px}
.veld-nav-actie{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:62px;padding:7px 4px;color:var(--v-muted);background:transparent;box-shadow:none;font-size:10px;letter-spacing:.1px;font-weight:700;border-radius:14px;transition:color 160ms,background-color 160ms}
.veld-nav-icoon{width:23px;height:23px;display:block;stroke-width:1.7}
.veld-nav-actie.active,.veld-nav-actie:active:not(:disabled){transform:none;color:var(--v-orange-tekst);background:var(--v-orange-soft);box-shadow:none}
.veld-nav-actie.active:after{content:'';height:3px;width:16px;background:var(--v-orange-tekst);border-radius:3px;position:absolute;bottom:2px}
/* One deep-navy court with cream figures. Controls stay under their own team. */
#telScorebord{position:relative;isolation:isolate;background:#252641;color:#f9f3e8;padding:16px 16px 0;overflow:hidden;border-radius:22px}
#telScorebord:before{content:'';position:absolute;z-index:-1;left:50%;top:72px;bottom:60px;border-left:1px solid #515167;opacity:.5}
.score-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:12px;font-weight:700;color:#f1e8dd}.score-heading>span:last-child{font-size:8px;letter-spacing:1.5px;color:#cbc5cf;display:flex;align-items:center;gap:6px}.score-heading>span:last-child:before{content:'';width:5px;height:5px;background:#ff9a62;border-radius:50%}
body.veld-body .veld-teams{gap:12px;--logo-b:64px;--logo-h:36px}
body.veld-body .veld-teams .veld-team-logo{width:64px;height:36px;border-radius:8px;background:#f9f7f2;padding:4px 6px;overflow:hidden}
body.veld-body .veld-teams .veld-team-logo .tel-bal{stroke:#43415f;width:24px;height:24px}.tel-team-logo img{width:100%;height:100%;object-fit:contain}
.veld-team{gap:8px;min-width:0}.veld-team-naam{color:#faf3ea;font-size:12px;font-weight:700;line-height:1.35;min-height:32px;-webkit-line-clamp:2;padding-inline:3px}
.veld-team-weg{width:44px;height:44px;min-width:44px;min-height:44px;top:-4px!important;background:transparent;color:#d3cdd7;border:0;border-radius:8px}
.veld-team-weg:after{display:none}.tel-team-wijzig svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.7;fill:none}
.veld-teams>.veld-team:first-child .veld-team-weg{left:-9px}.veld-teams>.veld-team[data-tel-team=away] .veld-team-weg{right:-9px}
.team-zoek-acties{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:-5px}
.team-zoek-knop{background:transparent;border:0;min-height:44px;padding:8px;color:var(--v-navy);font-size:12px;font-weight:700;text-decoration:none}
.team-zoek-acties .team-zoek-knop{color:#f6b089;font-size:10px;min-height:44px;padding:7px}
.veld-stand{margin:0 0 12px;gap:12px}.veld-stand strong{font-family:var(--display);font-size:clamp(86px,27vw,118px);line-height:.92;letter-spacing:-2px;color:#fff6e8;font-weight:700;font-variant-numeric:tabular-nums}
.veld-stand>span{font-size:16px;color:#8d869a;background:#252641;padding:5px}
.veld-plus{gap:12px}.veld-plus-knop{position:relative;min-height:62px;border-radius:14px;background:#ff985e;color:#241f32;font-size:28px;box-shadow:none;font-weight:800;transition:transform 110ms,background-color 110ms}
.veld-plus-knop:active{background:#f27c3c;transform:scale(.96);box-shadow:none}.veld-plus-knop .veld-plus-naam{display:none}
html[data-theme=dark] .veld-plus-knop,html[data-theme=dark] .veld-plus-knop:active{box-shadow:none}
.veld-herstel{gap:12px;margin-top:4px}.veld-herstel .veld-knop{min-height:44px;border:0;background:transparent;color:#dbd3e0;font-size:13px;gap:7px;opacity:1}.veld-herstel .veld-knop:disabled{color:#b1a9bc;opacity:.5}.veld-terug svg{width:15px;height:15px}
.veld-bord-voet{margin:0 -16px;padding:0 10px 0 14px;border-top:1px solid #49465f;border-radius:0;min-height:44px;background:#212239;gap:6px}
.veld-bord-voet .veld-direct,.veld-bord-voet .veld-reset{min-height:44px;color:#c7c0d1;font-size:10px;text-decoration:none}.veld-bord-voet .veld-direct svg{width:13px}.veld-bord-voet .veld-reset{min-width:44px;padding-inline:6px}.veld-eerder{font-size:9px;color:#d5cedb;gap:4px}
.veld-team.is-bewerk{padding:8px 0}.veld-team-invoer{color:#d6cfda}.veld-team-invoer input{font-family:inherit}
/* Clock: quieter than the score, with primary play control within thumb reach. */
.veld-klok{padding:16px 18px;background:var(--v-surface)}
.veld-fase{min-height:24px;gap:8px}.veld-fase .veld-nu{font-size:10px;color:var(--v-muted)}.veld-chip{font-size:11px;min-height:25px;padding:3px 8px}.veld-gespeeld{font-size:10px}.veld-dots{gap:4px}.veld-dots span{width:5px;height:5px}
.veld-tijd{font:700 clamp(52px,15vw,76px)/1 var(--display);letter-spacing:1px;margin:10px 0 12px;color:var(--v-navy);font-variant-numeric:tabular-nums}
.veld-voortgang{height:4px;margin-bottom:8px;background:var(--v-line)}.veld-voortgang span{background:#e8773d}
.veld-bijstel{gap:16px;margin-bottom:8px}.veld-bijstel>span{gap:4px}.veld-bijstel-knop{min-height:44px;font-size:11px;border:0;background:transparent;border-radius:8px;color:var(--v-muted)}
.veld-klokknoppen{gap:8px}.veld-klokknoppen .veld-knop{min-height:50px;border-radius:12px}.veld-hoofdknop{box-shadow:none;font-size:17px;font-weight:800}.veld-setklaar{font-size:11px;padding:0 10px}
.veld-klok[data-mode=paused] .veld-tijd{animation:none}.veld-klok[data-mode=paused]{outline:1px solid var(--v-orange)}
.punt-info{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:20px 4px;border-bottom:1px solid var(--v-line)}.punt-info>div{display:grid;gap:5px}.punt-info strong{font-size:14px;font-weight:800}.punt-info span{font-size:11px;color:var(--v-muted)}.punt-info .veld-knop{font-size:12px;padding-inline:14px;border-radius:12px}
#telWisselHint{grid-column:1/-1;font-size:12px;color:var(--v-orange-tekst)}
body[data-mode=volleybal] .veld-stand strong,body[data-mode=beach] .veld-stand strong{font-size:clamp(110px,34vw,180px)}
body[data-mode=volleybal] .veld-plus-knop,body[data-mode=beach] .veld-plus-knop{min-height:84px}
/* Settings and result: spacious form rows, matching type, no nested chrome. */
.veld-subkop{position:static;padding:8px 0 12px;margin:0;border-bottom:1px solid var(--v-line)}.veld-subtitel{font-size:22px;font-weight:800;letter-spacing:-.6px}.veld-naar-klok{border:0;background:transparent;padding-left:0;font-size:12px}
.tel-instellingen{gap:12px;padding:20px}.tel-veld{gap:8px;font-size:12px}.tel-veld input,.veld-team-invoer input{font:600 16px Manrope,sans-serif;border-width:1px;border-radius:12px;min-height:54px}
.tel-instellingen>.team-zoek-knop{text-align:left;padding:0;margin-top:-8px;color:var(--v-orange-tekst)}.tel-instellingen>.tel-veld:has(.tel-keuze){padding-top:10px;border-top:1px solid var(--v-line)}
.tel-keuze-knop{min-height:48px;border-width:1px;font-family:Manrope,sans-serif;font-size:15px}.tel-keuze-knop[aria-pressed=true]{background:var(--v-navy);color:var(--v-surface);border-color:var(--v-navy)}
.tel-nieuw{margin-top:10px;font-size:13px;background:transparent;border-width:1px;min-height:50px}
.veld-uitslag{gap:18px}.veld-uitslag-kop{font-size:12px}.veld-uitslag-teams strong{font-size:12px}.veld-uitslag-set input{font-family:var(--display);font-size:36px;border-width:1px}.veld-uitslag-punten{font-size:12px}.veld-uitslag-punten strong{font-family:var(--display);font-size:36px}.veld-deel-titel{font-size:12px}
.veld-bevestig{padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:#17162599}.veld-bevestig-kaart{padding:24px;border-radius:24px;box-shadow:none;animation:sheet-in 280ms var(--ease)}.veld-bevestig-kaart h2{font-size:22px;letter-spacing:-.6px}.veld-bevestig-kaart p{font-size:13px;line-height:1.6;margin:10px 0 22px}.veld-bevestig-knoppen .veld-knop{font-size:13px}
/* Team picker is a bottom sheet on phones, a dialog on wider devices. */
.team-zoek-dialog{width:min(560px,100%);max-height:88dvh;margin:auto auto 0;padding:24px 22px max(24px,env(safe-area-inset-bottom));border:0;border-radius:26px 26px 0 0;color:var(--v-text);background:var(--v-surface);overscroll-behavior:contain}
.team-zoek-dialog[open]{animation:sheet-in 280ms var(--ease)}.team-zoek-dialog::backdrop{background:#16162b99}.team-zoek-dialog:before{content:'';display:block;width:32px;height:4px;background:var(--v-line);border-radius:4px;margin:-12px auto 20px}
.team-zoek-kop{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.team-zoek-kop h2{font-size:22px;letter-spacing:-.6px;font-weight:800}.team-zoek-kop button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--v-surface-2);color:var(--v-text)}.team-zoek-kop svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.team-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:13px;background:var(--v-surface-2);margin-bottom:24px}.team-tabs button{min-height:44px;border:0;border-radius:10px;font-size:12px;font-weight:700;background:transparent;color:var(--v-muted)}.team-tabs button[aria-pressed=true]{background:var(--v-surface);color:var(--v-navy);box-shadow:0 1px 4px #1111220c}
#teamZoekForm label,#teamZelfForm label{display:block;margin-bottom:8px;font-size:12px;font-weight:700}.team-zoek-invoer{display:flex;gap:8px}.team-zoek-invoer .veld-knop{font-size:13px;min-height:52px;padding-inline:16px}
#teamZoekInvoer,#teamZelfInvoer{width:100%;min-width:0;min-height:52px;padding:12px;font:500 16px Manrope,sans-serif;border:1px solid var(--v-line);border-radius:12px;background:var(--v-invoer);color:var(--v-text)}#teamZelfForm>.veld-knop{width:100%;margin-top:18px;font-size:14px}
#teamZoekStatus{font-size:12px;color:var(--v-muted);margin:20px 0 12px}#teamZoekLijst{list-style:none;padding:0;margin:0}#teamZoekLijst button{display:flex;align-items:center;gap:14px;text-align:left;min-height:74px;padding:12px 2px;width:100%;border:0;border-top:1px solid var(--v-line);background:transparent;color:var(--v-text)}#teamZoekLijst button span{display:grid;gap:5px;min-width:0}#teamZoekLijst strong{font-size:13px;overflow-wrap:anywhere}#teamZoekLijst small{font-size:11px;color:var(--v-muted)}#teamZoekLijst img{object-fit:contain;flex-shrink:0;background:#fffefa;border-radius:8px;padding:3px}
.team-zoek-bron{margin-top:20px;font-size:10px;line-height:1.5;color:var(--v-muted)}
#telApp:not([hidden]) [data-veld-view]:not([hidden]){animation:page-in 260ms var(--ease)}
.veld-stand strong.is-net{animation:score-in 180ms var(--ease)}
@keyframes score-in{from{transform:translateY(5px) scale(.94);opacity:.65}to{transform:none;opacity:1}}
@keyframes page-in{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes sheet-in{from{transform:translateY(35px);opacity:.4}to{transform:translateY(0);opacity:1}}
@keyframes ball-arrive{from{transform:translate(35px,20px) rotate(30deg);opacity:0}to{transform:rotate(9deg);opacity:1}}
/* Portrait gets the first-class layout. Short screens may scroll, never shrink touch targets. */
@media(max-width:359px){.welkom{padding-inline:14px}.welkom-merk{height:70px}.welkom-intro{min-height:280px;padding:23px 20px}.welkom h1{font-size:66px}.hero-ball{width:216px;height:216px;right:-65px;top:65px}.welkom-boven{font-size:7px;letter-spacing:1px}.hero-caption{font-size:10px}.keuze-kop h2{font-size:16px}.spelkeuze{gap:10px;padding-right:8px}.spel-art{flex-basis:58px}.speltekst strong{font-size:17px}.speltekst>span{font-size:9px}.spel-detail{left:78px}.welkom-voet>span:last-child{display:none}.veld-main{padding-inline:10px}.veld-top-binnen{padding-inline:12px}.veld-team-naam{font-size:11px}.veld-team-weg{top:-6px!important}.veld-stand strong{font-size:86px}.veld-knop{font-size:13px}.veld-bijstel{gap:10px}.punt-info{gap:8px}.punt-info strong{font-size:12px}.punt-info span{font-size:10px}.punt-info .veld-knop{padding-inline:10px}.veld-team-knoppen{gap:6px}}
@media(min-width:600px){.welkom{padding-inline:36px;max-width:680px}.welkom-intro{min-height:340px;padding:34px}.welkom h1{font-size:104px}.hero-ball{width:340px;height:340px;right:-20px;top:40px}.welkom-boven{font-size:10px}.hero-caption{font-size:13px}.spelkeuze{min-height:94px}.speltekst strong{font-size:21px}.speltekst>span{font-size:12px}.spel-detail{left:auto;right:20px;bottom:auto;font-size:9px}.speltekst{padding-bottom:0}.team-zoek-dialog{margin:auto;border-radius:24px;max-height:85dvh}.team-zoek-dialog:before{display:none}.veld-main{max-width:600px;padding-top:20px}.veld-stand strong{font-size:128px}.veld-plus-knop{min-height:80px}.veld-team-naam{font-size:15px}.veld-tijd{font-size:88px}.veld-main>section[data-veld-view=klok]{grid-template-columns:1fr;grid-template-areas:none}.veld-klok,.veld-bord{grid-area:auto}}
@media(min-width:980px){.welkom{max-width:1140px;padding:0 48px;min-height:100svh}.welkom-merk{height:108px}.wordmark{font-size:32px}.merk-door{display:block;font-size:11px}.merk-door strong{font-size:16px;margin-left:5px}.welkom-layout{grid-template-columns:1.15fr 1fr;gap:48px;align-content:center;align-items:center;padding:20px 0 50px}.welkom-intro{min-height:490px;padding:36px}.welkom h1{font-size:116px;margin-top:35px}.hero-ball{width:338px;height:338px;right:-79px;top:132px}.hero-caption{margin-top:40px;font-size:14px}.hero-side{bottom:30px;right:20px}.welkom-boven{font-size:9px}.keuze-kop{display:grid;gap:8px;margin-bottom:22px}.keuze-kop h2{font-size:28px;letter-spacing:-1px}.keuze-kop>span{font-size:12px}.spelkeuze{min-height:108px}.spel-detail{left:94px;bottom:14px;right:auto}.speltekst{padding-bottom:16px}.speltekst strong{font-size:22px}.speltekst>span{font-size:11px}.welkom-voet{padding-bottom:32px;font-size:11px}.welkom-voet>span:last-child{font-size:9px}.veld-top-binnen{max-width:1020px}.veld-main{max-width:1020px;padding:30px 20px}.veld-main>section[data-veld-view=klok]{grid-template-columns:1.15fr 1fr;grid-template-areas:'bord klok';gap:24px;align-items:start}.veld-bord{grid-area:bord}.veld-klok,.punt-info{grid-area:klok}.veld-klok{padding:26px}.veld-tijd{font-size:104px;margin:35px 0}.veld-main>section[data-veld-view=uitslag],.veld-main>section[data-veld-view=wedstrijd]{max-width:600px;width:100%;justify-self:center}.punt-info{padding:24px;background:var(--v-surface);border:0;border-radius:22px}.veld-team-naam{font-size:14px}}
@media(orientation:landscape) and (max-height:540px) and (min-width:600px){.veld-main{max-width:1000px}.veld-main>section[data-veld-view=klok]{grid-template-columns:1.1fr 1fr;grid-template-areas:'bord klok';align-items:start}.veld-bord{grid-area:bord}.veld-klok,.punt-info{grid-area:klok}.veld-stand strong{font-size:78px}.veld-plus-knop{min-height:50px}.veld-team-naam{font-size:11px}.veld-top-binnen{min-height:66px}.score-heading{margin-bottom:10px}.veld-tijd{font-size:68px}.veld-nav-actie{min-height:48px;flex-direction:row;font-size:10px}.veld-nav-actie.active:after{bottom:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Editorial, not playful: one brand image, factual choices, no slogans. */
.welkom-intro{min-height:290px}.welkom h1{font-size:clamp(75px,22vw,110px);margin-top:30px;letter-spacing:-1.4px}.hero-ball{top:55px;right:-65px;width:268px;height:268px}.welkom-boven{font-size:8px;letter-spacing:2px}.welkom-spelen{padding-bottom:30px}.speltekst{padding-bottom:0}.spel-art .timer-art{fill:#f7e6db;stroke:#6c5149;stroke-width:1.5}.spelkeuze{min-height:86px}.keuze-kop h2{font-size:16px;font-weight:700;letter-spacing:-.3px}.wordmark{font-size:25px}.wordmark img{border-radius:8px}.wordmark i{display:none}.welkom-layout{flex:0}.welkom{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:359px){.welkom-intro{min-height:260px}.welkom h1{font-size:75px;margin-top:30px}.hero-ball{width:230px;height:230px;right:-65px;top:58px}}
@media(min-width:600px){.welkom-intro{min-height:360px}.welkom h1{font-size:124px}.hero-ball{width:370px;height:370px;right:-20px;top:25px}.welkom-boven{font-size:10px}.spelkeuze{min-height:94px}}
@media(min-width:980px){.welkom-layout{flex:1;padding-bottom:70px}.welkom-intro{min-height:470px}.welkom h1{font-size:134px;margin-top:45px}.hero-ball{width:352px;height:352px;right:-85px;top:135px}.welkom-boven{font-size:9px}.welkom-spelen{padding:0}.spelkeuze{min-height:108px}.keuze-kop h2{font-size:23px}.speltekst{padding-bottom:0}}
/* Compact courtside entrance: all game choices fit the available phone viewport. */
:root{--v-brand-orange:#ff7e00}
.spelkeuze{border:1.5px solid #e96f16;border-radius:14px}
.spelkeuze:active{border-color:#bc4c00;background:#fff0e5}
@media(hover:hover){.spelkeuze:hover{border-color:#bc4c00;background:#fff6ee}}
.welkom-terug{border-color:#c95a0b}
.team-zoek-knop{border:1px solid var(--v-orange-tekst);border-radius:10px}
.team-zoek-acties{margin-top:4px}
@media(max-width:599px){
 .welkom{padding:0 16px max(12px,env(safe-area-inset-bottom))}
 .welkom-merk{height:54px}.wordmark{font-size:23px}.wordmark img{width:28px;height:28px}
 .welkom-layout{gap:18px}
 .welkom-intro{min-height:0;height:clamp(118px,23svh,172px);padding:16px 18px;border-radius:18px}
 .welkom-boven{font-size:7px;letter-spacing:1.4px;margin:0}
 .welkom h1{font-size:clamp(51px,8svh,66px);line-height:.83;margin-top:12px;max-width:65%;letter-spacing:-.5px}
 .welkom h1 span{margin-top:3px;color:#ff9a55}
 .hero-ball{width:clamp(154px,45vw,210px);height:auto;right:-24px;top:10px}
 .welkom-spelen{padding-bottom:0}.keuze-kop{margin:0 0 10px}.keuze-kop h2{margin:0;font-size:17px}
 .welkom-keuzes{gap:8px}.spelkeuze{min-height:76px;padding:10px;gap:12px}
 .spel-art{flex-basis:50px;height:50px;border-radius:9px}.spel-art svg{width:56px;height:49px}
 .speltekst{gap:4px}.speltekst strong{font-size:18px;letter-spacing:-.5px}.speltekst>span{font-size:11px}
 .welkom-terug{margin-top:10px;min-height:44px}
}
@media(max-width:599px) and (max-height:600px){
 .welkom-merk{height:44px}.welkom-layout{gap:12px}
 .welkom-intro{height:104px;padding:12px 16px}.welkom-boven{font-size:6px;letter-spacing:1px}
 .welkom h1{font-size:43px;margin-top:7px}.hero-ball{width:146px;right:-14px;top:-5px}
 .keuze-kop{margin-bottom:8px}.keuze-kop h2{font-size:16px}
 .spelkeuze{min-height:64px;padding:8px 10px}.spel-art{flex-basis:44px;height:44px}.spel-art svg{width:49px;height:43px}
 .speltekst strong{font-size:17px}
}
@media(orientation:landscape) and (max-height:540px) and (min-width:600px){
 .welkom{max-width:1000px;padding:0 24px 12px}.welkom-merk{height:52px}
 .welkom-layout{grid-template-columns:1fr 1fr;gap:24px;align-items:start;padding:0}
 .welkom-intro{height:240px;min-height:0;padding:20px}.welkom h1{font-size:76px;margin-top:24px}
 .hero-ball{width:230px;height:230px;right:-65px;top:46px}.welkom-boven{font-size:7px}
 .welkom-spelen{padding:0}.keuze-kop{margin:0 0 8px}.keuze-kop h2{margin:0;font-size:17px}
 .welkom-keuzes{gap:8px}.spelkeuze{min-height:64px;padding:8px 10px;gap:12px}
 .spel-art{flex-basis:44px;height:44px}.spel-art svg{width:49px;height:43px}
 .speltekst strong{font-size:17px}.speltekst>span{font-size:10px}.welkom-terug{min-height:44px;margin-top:8px}
}
/* Reset the inherited field-clock header grid and navigation borders. */
.veld-top-binnen{display:flex}.veld-top-tekst{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.veld-top-rechts{display:flex;align-items:center}.veld-top-tekst .app-label{margin:0;line-height:1.3}.veld-top-tekst #telSub{margin:0;line-height:1.4}.veld-top-tekst strong{line-height:1.3}.veld-top-binnen>.veld-thema{margin:0}
.veld-nav .veld-nav-actie{border:0}.veld-nav .veld-nav-icoon{color:currentColor;width:22px;height:22px}
@media(max-width:599px) and (max-height:850px){.veld-main{padding-top:10px}.score-heading{margin-bottom:12px}.veld-stand strong{font-size:clamp(76px,24vw,100px)}.veld-team-naam{min-height:30px}.veld-plus-knop{min-height:56px}.veld-klok{padding:12px 18px}.veld-tijd{margin:6px 0 10px;font-size:52px}.veld-klokknoppen .veld-knop{min-height:48px}.veld-main>section{gap:10px}}
body.veld-body{padding-bottom:calc(86px + env(safe-area-inset-bottom))}body.veld-body.is-welkom{padding-bottom:0}
.veld-nav{position:fixed;bottom:0;left:0;right:0}
/* Setup comes first; anonymous teams remain one tap from the court. */
.instel-spelvorm{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--v-orange-tekst);text-transform:uppercase;margin-bottom:2px}
.tel-start{min-height:54px;font-size:15px;margin-top:8px;background:var(--v-actie);color:var(--v-actie-tekst);border-radius:14px}
.team-club-keuze{display:flex;align-items:center;gap:12px;padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--v-line)}
.team-club-keuze img{object-fit:contain;background:#fffefa;border-radius:8px;padding:4px;flex-shrink:0}
.team-club-keuze strong{flex:1;min-width:0;font-size:14px;overflow-wrap:anywhere}
#teamAndereClub{min-height:44px;min-width:60px;padding:6px;border:0;background:transparent;color:var(--v-orange-tekst);font-size:11px;font-weight:700}
#teamClubKeuze label{display:block;margin-bottom:8px;font-size:12px;font-weight:700}
#teamFilter{width:100%;min-height:52px;padding:12px;font:500 16px Manrope,sans-serif;border:1px solid var(--v-line);border-radius:12px;background:var(--v-invoer);color:var(--v-text)}
