/* NextFairway Vorgaben-Rechner. Alle Regeln sind auf .nf-vr beschränkt. Schriften: --nf-font und --nf-font-head im Theme setzen, sonst erbt das Widget die Theme-Schrift. */
.nf-vr{--bg:#FFFFFF; --ink:#000000; --mute:#5F6155; --tint:#EEF3D8; --line:#D9DDC8;
  --violet:#5E17EB; --violet-text:#5E17EB; --chip-bg:#000000; --chip-fg:#FFFFFF;
  --dash:#9A9C8E; --input-bg:#FFFFFF;
  box-sizing:border-box;}
.nf-vr{margin:0;background:var(--bg);color:var(--ink);font-family:var(--nf-font,inherit);font-size:16px;-webkit-text-size-adjust:100%}
.nf-vr .wrap{max-width:480px;margin:0 auto;padding:20px 20px 32px;display:flex;flex-direction:column;gap:18px}
.nf-vr .top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nf-vr .badge{background:var(--chip-bg);color:var(--chip-fg);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.nf-vr .course{font-size:15px;font-weight:500;color:var(--mute)}
.nf-vr h1{margin:0;font-family:var(--nf-font-head,inherit);font-weight:400;font-size:28px;line-height:1.1}
.nf-vr .label{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:6px}
.nf-vr .seg{display:flex;gap:6px}
.nf-vr .seg button{flex:1 1 0;min-width:0;height:46px;border:2px solid var(--ink);border-radius:12px;background:var(--bg);color:var(--ink);font-family:inherit;font-weight:700;font-size:18px;cursor:pointer}
.nf-vr .seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.nf-vr .seg button:disabled{opacity:.45;cursor:not-allowed}
.nf-vr .demo{border:2px dashed var(--line);border-radius:14px;padding:10px 12px}
.nf-vr .demo .seg button{height:40px;font-size:16px}
.nf-vr .demo small{display:block;font-size:13px;font-weight:500;color:var(--mute);margin-top:6px}
.nf-vr .group{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.nf-vr .group h3{margin:0;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.nf-vr .fmt{width:100%;box-sizing:border-box;min-height:64px;text-align:left;display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid var(--ink);border-radius:14px;background:var(--bg);color:var(--ink);font-family:inherit;cursor:pointer}
.nf-vr .fmt[aria-pressed="true"]{border:4px solid var(--violet-text);padding:8px 12px}
.nf-vr .fmt .t{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.nf-vr .fmt .t b{font-size:18px;font-weight:700}
.nf-vr .fmt .t span{font-size:14px;font-weight:500;color:var(--mute)}
.nf-vr .fmt .r{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.nf-vr .chip{background:var(--chip-bg);color:var(--chip-fg);font-size:14px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}
.nf-vr .tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-text)}
.nf-vr .card{background:var(--tint);border-radius:16px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.nf-vr .card .hd{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}
.nf-vr .card .nm{flex:1 1 0;min-width:0;border:0;border-bottom:2px dashed var(--line);background:transparent;color:var(--ink);font-family:var(--nf-font-head,inherit);font-size:17px;padding:2px 0}
.nf-vr .card .nm::placeholder{color:var(--ink);opacity:1}
.nf-vr .hcp{width:100%;height:46px;box-sizing:border-box;border:2px solid var(--ink);border-radius:12px;padding:0 12px;font-family:inherit;font-weight:700;font-size:22px;background:var(--input-bg);color:var(--ink)}
.nf-vr .hcp[aria-invalid="true"]{border-color:#D14343}
.nf-vr .hint{font-size:16px;font-weight:600;color:var(--ink);border:2px solid var(--ink);border-radius:14px;padding:14px 16px}
.nf-vr .hero{background:var(--violet);color:#FFFFFF;border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.nf-vr .hl{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.nf-vr .big{display:flex;align-items:baseline;gap:10px}
.nf-vr .num{font-family:var(--nf-font-head,inherit);font-size:68px;line-height:1}
.nf-vr .unit{font-size:22px;font-weight:600}
.nf-vr .grid{display:flex;gap:8px}
.nf-vr .g{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center}
.nf-vr .gl{font-size:14px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-vr .gn{font-family:var(--nf-font-head,inherit);font-size:44px;line-height:1.1}
.nf-vr .fl{font-size:16px;font-weight:500}
.nf-vr .nt{font-size:17px;font-weight:600;margin-top:4px}
.nf-vr .blk{display:flex;flex-direction:column;gap:3px;margin-top:14px}
.nf-vr .blk h4{margin:0 0 2px;font-size:16px;font-weight:700}
.nf-vr .row{display:flex;align-items:center;gap:2px}
.nf-vr .row .lab{flex:0 0 56px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.nf-vr .row .lab.v{color:var(--violet-text);font-size:13px;font-weight:700}
.nf-vr .row .c{flex:1 1 0;min-width:0;text-align:center;display:flex;justify-content:center}
.nf-vr .r1{height:28px;font-size:16px;font-weight:700}
.nf-vr .r2{height:24px;font-size:15px;font-weight:500}
.nf-vr .r3{height:24px;font-size:14px;font-weight:500;color:var(--mute);padding-bottom:4px;border-bottom:1px solid var(--line)}
.nf-vr .r4{height:34px}
.nf-vr .dot{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700}
.nf-vr .dot.one{background:var(--violet);color:#FFFFFF}
.nf-vr .dot.two{background:var(--chip-bg);color:var(--chip-fg)}
.nf-vr .dot.neg{border:2px solid var(--ink);color:var(--ink)}
.nf-vr .dash{color:var(--dash);font-size:15px}
.nf-vr .legend{font-size:14px;font-weight:500;color:var(--mute);margin-top:6px}
.nf-vr .cmp{border:2px solid var(--ink);border-radius:16px;padding:14px 16px}
.nf-vr .cmp small{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.nf-vr .cmp b{font-size:18px}
.nf-vr .share{height:50px;border:2px solid var(--violet-text);border-radius:12px;background:var(--bg);color:var(--violet-text);font-family:inherit;font-weight:700;font-size:18px;cursor:pointer}
.nf-vr .linkout{width:100%;box-sizing:border-box;height:44px;border:2px solid var(--ink);border-radius:12px;padding:0 10px;background:var(--input-bg);color:var(--ink);font-family:inherit;font-size:14px}
.nf-vr .foot{border-top:2px solid var(--ink);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.nf-vr .foot span{font-size:15px;font-weight:500;color:var(--mute)}
.nf-vr .foot small{font-size:13px;font-weight:500;color:var(--mute)}
.nf-vr .allow{margin-top:-6px}
.nf-vr .note{border:2px solid var(--ink);border-radius:14px;padding:12px 14px;font-size:16px;font-weight:500;line-height:1.3}
.nf-vr .note b{font-weight:700}
.nf-vr .note.warn{border-color:#B45F06}
.nf-vr .note.ok{border-color:var(--line);color:var(--mute);font-size:14px;padding:8px 12px}
.nf-vr .note details{margin-top:8px;font-size:14px;font-weight:400;color:var(--mute)}
.nf-vr .note summary{cursor:pointer;font-weight:600;color:var(--ink);padding:6px 0}
.nf-vr .note details p{margin:4px 0 0}
.nf-vr .scorecard .sc-h{font-size:22px;font-weight:800;margin:0 0 4px}
.nf-vr .sc-w{overflow-x:auto;margin-top:8px;-webkit-overflow-scrolling:touch}
.nf-vr .sc-t{border-collapse:collapse;width:100%;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;border:2px solid var(--ink)}
.nf-vr .sc-t th,.nf-vr .sc-t td{padding:6px 5px;text-align:center;border:1px solid var(--line)}
.nf-vr .sc-t th[scope=row]{text-align:left;white-space:nowrap;font-weight:700}
.nf-vr .sc-t thead th{background:var(--chip-bg);color:var(--chip-fg);font-weight:700}
.nf-vr .sc-t caption{caption-side:top;text-align:left;font-weight:700;padding:10px 0 4px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.nf-vr .sc-t .sc-b th,.nf-vr .sc-t .sc-b td{font-weight:800}
.nf-vr .sc-t td.sc-s{font-weight:700;background:var(--tint)}
.nf-vr .sc-note{margin:8px 0 0;font-size:14px;font-weight:500;color:var(--mute)}
.nf-vr .mrow{display:flex;gap:8px;margin-top:10px}
.nf-vr .mrow>div{flex:1 1 0;min-width:0}
.nf-vr .mrow .hcp{font-size:20px}
.nf-vr .demo .seg{flex-wrap:wrap}
.nf-vr .demo .seg button{flex:1 1 30%}
.nf-vr .sibox{margin-top:10px}
.nf-vr .sibox .hcp{font-size:17px}
.nf-vr .tms{display:flex;gap:14px}
.nf-vr .tm{flex:1 1 0;min-width:0}
.nf-vr .tml{display:block;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}

.nf-vr h1,.nf-vr .num,.nf-vr .gn,.nf-vr .card .nm{font-weight:800}
.nf-vr button,.nf-vr input,.nf-vr select{font-family:inherit;box-sizing:border-box;line-height:normal}
.nf-vr select.hcp{width:100%}
.nf-vr .wrap{margin-left:auto;margin-right:auto}

/* 0.3.3: Abschlag-Buttons umbrechen statt abschneiden */
.nf-vr #seg-tee{flex-wrap:wrap}
.nf-vr #seg-tee button{flex:1 1 calc(33.333% - 6px);min-width:96px;height:auto;min-height:46px;padding:6px 8px;font-size:16px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
@media (max-width:480px){.nf-vr #seg-tee button{flex-basis:calc(50% - 6px)}.nf-vr input{min-height:44px}}
/* 0.3.4: Titel ist keine H1 mehr (Seite hat eigene H1); Theme-Farben für Überschriften und Tabellen im Widget überschreiben */
.nf-vr .nf-vr-title{margin:0;font-family:var(--nf-font-head,inherit);font-weight:800;font-size:28px;line-height:1.1;color:var(--ink)!important}
.nf-vr h2,.nf-vr h3,.nf-vr h4{color:inherit!important;background:none}
.nf-vr .group h3{color:var(--mute)!important}
/* 0.3.5: Rechner klappbar */
.nf-vr .nf-vr-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:12px 18px;border:0;border-radius:12px;background:var(--violet);color:#fff;font-family:inherit;font-weight:700;font-size:18px;text-align:left;cursor:pointer}
.nf-vr .nf-vr-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.nf-vr .nf-vr-chev{width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);margin-top:-5px;transition:transform .2s;flex:none}
.nf-vr .nf-vr-toggle[aria-expanded="true"] .nf-vr-chev{transform:rotate(-135deg);margin-top:5px}
.nf-vr .nf-vr-calc{display:flex;flex-direction:column;gap:18px}
.nf-vr .nf-vr-calc[hidden]{display:none}

/* 0.4.0: Scorekarte teilen, freier Rechner, Live-Runde */
.nf-vr .nf-contrib{margin-top:14px;border:2px dashed var(--violet-text);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.nf-vr .nf-contrib-h{margin:0;font-weight:800;font-size:18px}
.nf-vr .nf-contrib-t{margin:0;font-size:15px;font-weight:500;color:var(--mute);line-height:1.35}
.nf-vr .nf-contrib-msg{margin:0;font-size:15px;font-weight:600;line-height:1.35}
.nf-vr .nf-contrib-s{display:block;font-size:13px;font-weight:500;color:var(--mute);line-height:1.35}
.nf-vr .nf-c-in{font-size:17px}
.nf-vr .nf-upl{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;border:2px solid var(--ink);border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;text-align:center;padding:6px 12px}
.nf-vr .nf-upl input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.nf-vr .nf-upl:focus-within{outline:3px solid var(--violet-text);outline-offset:2px}
.nf-vr .nf-gt{flex-wrap:wrap}
.nf-vr .nf-gt button{flex:1 1 calc(50% - 6px);height:auto;min-height:46px;padding:6px 8px;font-size:15px;line-height:1.2;display:flex;flex-direction:column;align-items:center}
.nf-vr .nf-gt button small{font-size:12px;font-weight:600;opacity:.8}
.nf-vr .nf-c-save:disabled{opacity:.6;cursor:default}
.nf-vr .nf-live-btn{background:var(--violet);color:#fff;border-color:var(--violet)}
.nf-vr #livebox{display:flex;flex-direction:column;gap:8px}
.nf-vr #livebox[hidden]{display:none}
.nf-vr .nf-live-acts{display:flex;gap:8px}
.nf-vr .nf-live-acts>*{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.nf-vr .nf-live-open{background:var(--violet);color:#fff!important}
.nf-vr.nf-vr-frei>.nf-pick{padding-bottom:0;gap:8px}
.nf-vr .nf-pick-in{font-size:18px}
.nf-vr .nf-pick-t{margin:0;font-size:14px;font-weight:500;color:var(--mute)}
.nf-vr.nf-vr-frei .nf-vr .top{display:none}
.nf-vr .nf-contrib-h,.nf-vr .nf-contrib-msg,.nf-vr .nf-upl,.nf-vr .nf-upl span{color:var(--ink)!important}
.nf-vr .nf-contrib-t,.nf-vr .nf-contrib-s,.nf-vr .nf-pick-t{color:var(--mute)!important}
.nf-vr .nf-pick .nf-vr-title{margin-top:4px}
/* 0.4.2: kompakte Auswahl Werte eintragen / Scorekarte hochladen */
.nf-vr .nf-m-intro{margin:0 0 8px;font-size:15px;font-weight:600;line-height:1.35;color:var(--ink)!important}
.nf-vr .nf-m-pick{flex-wrap:wrap}
.nf-vr .nf-m-pick button{flex:1 1 calc(50% - 6px);height:auto;min-height:48px;padding:6px 8px;font-size:16px;line-height:1.2}
.nf-vr .nf-m-panel{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.nf-vr .nf-more{border-top:1px solid var(--line);padding-top:2px}
.nf-vr .nf-more summary{cursor:pointer;font-weight:700;font-size:15px;padding:8px 0;color:var(--ink)}
.nf-vr .nf-more[open] summary{margin-bottom:4px}
.nf-vr .nf-share-box{border:2px dashed var(--violet-text);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.nf-vr .nf-share-box .label{margin-bottom:2px}
.nf-vr .nf-need>#notice~section,.nf-vr .nf-need>#share,.nf-vr .nf-need>#livestart,.nf-vr .nf-need>#linkbox,.nf-vr .nf-need>#livebox,.nf-vr .nf-need>.foot{display:none!important}
/* 0.4.3: freier Rechner ohne doppelten Titel und ohne Klapp-Button */
.nf-vr.nf-vr-frei .nf-vr .nf-vr-toggle,.nf-vr.nf-vr-frei .nf-vr .nf-vr-calc>.nf-vr-title{display:none!important}
.nf-vr.nf-vr-frei>.nf-vr>.wrap{padding-top:8px}
/* 0.4.5: NextFairway-Branding (Rasenfoto, Wortmarke NEXT/FAIRWAY, Violett nur für Aussagen) */
.nf-vr .top.nf-brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:10px;min-height:128px;padding:16px 18px;border-radius:16px;overflow:hidden;background:#A6BF59 url(../../nextfairway-live-runde/assets/header.jpg) right center/cover no-repeat;flex-wrap:nowrap}
.nf-vr .nf-wm{display:flex;flex-direction:column;line-height:.86;font-family:"Archivo Black","Inter Black","Arial Black","Helvetica Neue",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.nf-vr .nf-wm .w1{color:#000!important;font-size:32px}
.nf-vr .nf-wm .w2{color:#fff!important;font-size:32px}
.nf-vr .nf-wm .cl{color:#000!important;font-family:"Barlow Condensed","Roboto Condensed","Arial Narrow",sans-serif;font-weight:300;font-size:16px;letter-spacing:.02em;text-transform:none;line-height:1;margin-top:6px}
.nf-vr .nf-brand .course{background:var(--violet);color:#fff!important;font-weight:700;font-size:14px;padding:5px 12px;border-radius:999px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-vr .nf-brand .course:empty{display:none}
.nf-vr .nf-vr-toggle{background:#000}
.nf-vr .nf-vr-toggle:focus-visible{outline-color:var(--violet)}
.nf-vr .hero{border-radius:18px 18px 18px 4px}
.nf-vr .scorecard .sc-h{font-family:"Archivo Black","Arial Black",sans-serif;letter-spacing:-.01em}
.nf-vr .nf-vr-title{font-family:"Archivo Black","Arial Black",sans-serif;letter-spacing:-.01em}
@media (max-width:420px){.nf-vr .nf-wm .w1,.nf-vr .nf-wm .w2{font-size:28px}}
/* 0.4.7: Anteil der Spielvorgabe eingeklappt */
.nf-vr .allow{margin-top:-4px}
.nf-vr .nf-allow summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--mute);padding:6px 0}
.nf-vr .nf-allow[open] summary{color:var(--ink)}
.nf-vr .nf-allow-t{margin:2px 0 8px;font-size:14px;font-weight:500;line-height:1.35;color:var(--mute)!important}
.nf-vr #seg-allow button{font-size:15px;height:auto;min-height:44px;padding:6px 8px}
/* 0.4.8: freier Rechner als Karte */
.nf-vr.nf-vr-frei{border-radius:16px;overflow:hidden;margin:24px 0}

/* Fairway Matchmaker: Vorgabe im Match (Offiziell / Ohne Vorgabe / Freundschaft) */
.nf-mm{margin-top:16px}
.nf-mm .seg{margin-top:6px}
.nf-mm-t{display:block;margin-top:8px;font-size:13px;line-height:1.4;opacity:.8}
.nf-step{display:inline-flex;align-items:center;gap:16px;margin-top:8px}
.nf-step button{width:44px;height:44px;padding:0;border-radius:50%;border:2px solid #000;background:#fff;color:#000;font-size:22px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nf-step button:hover{background:#5E17EB;border-color:#5E17EB;color:#fff}
.nf-step b{min-width:2.2ch;text-align:center;font-size:26px;font-weight:800}

/* Fairway Matchmaker: Schnellstart ohne Platzdaten */
.nf-quick{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:10px;padding:12px 14px;border:2px dashed #5E17EB;border-radius:14px;background:#fff;color:#000;text-align:left;cursor:pointer;font:inherit}
.nf-quick b{font-size:16px;color:#5E17EB}
.nf-quick span{font-size:13px;line-height:1.4;opacity:.85}
.nf-quick:hover{background:#5E17EB;color:#fff}
.nf-quick:hover b{color:#fff}
.nf-quick-on{margin:10px 0 0;padding:10px 14px;border-radius:14px;background:#5E17EB;color:#fff;font-size:14px;font-weight:600}

/* Fairway Matchmaker: Vorgabe-Schalter ohne abgeschnittenen Text */
.nf-vr .nf-mm .seg button{height:auto;min-height:46px;line-height:1.15;padding:6px 8px;white-space:normal;font-size:17px}
@media (max-width:420px){.nf-vr .nf-mm .seg button{font-size:15px;padding:6px 4px}}

/* Fairway Matchmaker: Modus ohne Platzdaten */
.nf-free{margin-top:10px}
.nf-free .nf-quick-on{margin-top:0}
.nf-free .label{margin-top:12px}
.nf-free-note{margin:10px 0 0;font-size:13px;line-height:1.4;opacity:.8}

/* Fairway Matchmaker: kompaktere Oberfläche */
.nf-vr .sc-more{margin:4px 0 14px}
.nf-vr .sc-more>summary{cursor:pointer;font-size:14px;font-weight:700;color:#5E17EB;padding:6px 0}
.nf-vr .nf-link{background:none;border:0;padding:0;margin:0;font:inherit;font-weight:700;color:#5E17EB;text-decoration:underline;cursor:pointer;height:auto;min-height:0;width:auto;display:inline}
.nf-vr #formats .nf-mm{margin:8px 0 14px;padding:12px;border-radius:14px;background:#f3eefe}

/* Fairway Matchmaker: Beta-Kennzeichnung und Feedback */
.nf-vr .nf-beta{display:inline-block;vertical-align:middle;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#5E17EB;color:#fff;border-radius:99px;padding:3px 8px;margin-left:6px;line-height:1.2}
.nf-vr .nf-fb{margin-top:18px;padding:14px;border:2px dashed #5E17EB;border-radius:14px;position:relative}
.nf-vr .nf-fb-open{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;font-weight:700;color:#5E17EB;cursor:pointer;height:auto;min-height:0;width:auto}
.nf-vr .nf-fb-open .nf-beta{margin-left:0}
.nf-vr .nf-fb-s{display:block;margin-top:6px;font-size:13px;line-height:1.4;opacity:.8}
.nf-vr .nf-fb-h{margin:0 0 8px;font-weight:800;font-size:17px}
.nf-vr .nf-fb .label{margin-top:12px}
.nf-vr .nf-fb-t{min-height:84px;resize:vertical;font-size:16px;width:100%;box-sizing:border-box;font-family:inherit}
.nf-vr .nf-fb-a{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.nf-vr .nf-fb-a .share{flex:1;margin:0}
.nf-vr .nf-fb-done{margin:0;font-weight:700;color:#5E17EB}
/* Spracheingabe für Kursdaten */
.nfv{margin:0 0 14px;padding:12px 14px;border:2px solid #5E17EB;border-radius:14px;background:#F6F2FF}
.nfv-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.nfv-mic{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:999px;background:#5E17EB;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.nfv-mic.on{background:#000;animation:nfvPulse 1.2s ease-in-out infinite}
@keyframes nfvPulse{0%,100%{box-shadow:0 0 0 0 rgba(94,23,235,.45)}50%{box-shadow:0 0 0 8px rgba(94,23,235,0)}}
.nfv-ex{flex:1 1 220px;margin:0;font-size:.85em;color:#333}
.nfv-txt{margin:10px 0 0;padding:8px 10px;background:#fff;border-radius:10px;font-style:italic;color:#333}
.nfv-list{list-style:none;margin:10px 0 0;padding:0}
.nfv-list li{padding:6px 0;border-bottom:1px solid #E3DAF8;font-size:.92em;word-break:break-word}
.nfv-list li b{display:inline-block;min-width:96px}
.nfv-w{display:block;color:#B00020;font-size:.88em;margin-top:2px}
.nfv-hint,.nfv-msg{margin:8px 0 0;font-size:.85em;color:#333}
.nfv-acts{display:flex;gap:8px;margin-top:10px}
.nfv-acts .share{flex:1;margin:0}
.nfv-no{background:#fff!important;color:#000!important;border:2px solid #000!important}
.nfv-note{display:block;margin-top:8px;font-size:.75em;color:#666}
@media (prefers-reduced-motion:reduce){.nfv-mic.on{animation:none}}
.nfv-ok{background:#5E17EB!important;color:#fff!important;border:2px solid #5E17EB!important}
/* Hinweis unter der Platzsuche */
.nf-pick-hint{margin:6px 0 0;font-size:.85em;line-height:1.4;color:#333}
.nf-pick-hint:empty{display:none}
.nf-pick-hint.nf-pick-ok{color:#2E7D32;font-weight:600}
.nf-pick-hint.nf-pick-new,.nf-pick-hint.nf-pick-part{color:#5E17EB}
/* Platzauswahl als Dropdown */
.nf-pick-wait [data-nf-vr]{display:none!important}
.nf-cb{position:relative}
.nf-cb-f{position:relative}
.nf-cb .nf-pick-in{width:100%;padding-right:46px;box-sizing:border-box}
.nf-cb-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;padding:6px;cursor:pointer;color:#000;line-height:0}
.nf-cb-list{position:static;margin:6px 0 0;padding:6px;list-style:none;background:#fff;border:2px solid #000;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.18);max-height:340px;overflow-y:auto;text-align:left}
.nf-cb-list li{padding:9px 10px;border-radius:8px;cursor:pointer;line-height:1.3;color:#000;font-size:15px}
.nf-cb-list li.on,.nf-cb-list li[role="option"]:hover{background:#F1EBFE}
.nf-cb-list .nf-cb-own{font-weight:700;color:#5E17EB}
.nf-cb-own small{display:block;font-weight:400;color:#555;font-size:12px;margin-top:2px}
.nf-cb-list .nf-cb-h{padding:10px 10px 4px;margin-top:4px;border-top:1px solid #eee;border-radius:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#666;cursor:default;background:none}
.nf-cb-list .nf-cb-empty{color:#666;cursor:default;background:none}
.nf-cb-list mark{background:none;color:#5E17EB;font-weight:700;padding:0}
.nf-pick-hint.nf-pick-own{color:#5E17EB}
.nf-pick-hint.nf-pick-own,.nf-pick-hint.nf-pick-start{font-size:.85em}

/* Spracheingabe Kursdaten (0.6.7): klarer Start/Stopp, Werte direkt in den Feldern */
.nfv [hidden]{display:none!important}
.nfv-head{display:block}
.nfv-mic{width:100%;justify-content:center;padding:14px 18px;font-size:1.05em;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.nfv-mic.on{background:#B00020;animation:nfvPulse 1.2s ease-in-out infinite}
.nfv-mic.busy{background:#444;cursor:wait;animation:none}
.nfv-ex{display:block;margin:10px 0 0;font-size:.85em;color:#333}
.nfv-txt{min-height:1.4em}
.nfv-ok-h{margin:12px 0 0;font-weight:800;color:#1B7F3B}
.nfv-res .nfv-list li{display:grid;grid-template-columns:110px 1fr;gap:2px 10px;align-items:baseline}
.nfv-k{font-weight:700}
.nfv-v small{display:block;margin-top:2px;color:#555;font-size:.85em;letter-spacing:.02em}
.nfv-s{grid-column:2;font-size:.85em;font-weight:600;color:#1B7F3B}
.nfv-s em{display:block;font-style:normal;font-weight:600;color:#A15C00}
.nfv-heard{margin:8px 0 0;font-size:.8em;color:#666;font-style:italic;word-break:break-word}
.nfv-hit{box-shadow:0 0 0 3px #5E17EB!important;background:#F6F2FF!important;transition:box-shadow .3s,background .3s}
@media (max-width:420px){.nfv-res .nfv-list li{grid-template-columns:1fr}.nfv-s{grid-column:1}}
/* 0.7.0: drei Wege zu den Platzdaten */
.nf-vr .nf-m-pick button{flex-basis:calc(33.33% - 6px)}
@media (max-width:420px){.nf-vr .nf-m-pick button{font-size:14px;padding:6px 4px}}

/* 0.7.1: Rückmeldung nach dem Scorekarten-Upload */
.nf-vr .nf-res{border:2px solid var(--violet-text);border-radius:14px;padding:14px 16px;margin:0 0 14px;background:var(--bg);color:var(--ink);outline:none;box-shadow:0 0 0 4px rgba(94,23,235,.12)}
.nf-vr .nf-res.nf-res-warn{border-color:#C2410C;box-shadow:0 0 0 4px rgba(194,65,12,.12)}
.nf-vr .nf-res-h{display:block;font-weight:800;font-size:18px;line-height:1.25;margin:0 0 8px}
.nf-vr .nf-res ul{list-style:none;margin:0 0 6px;padding:0}
.nf-vr .nf-res li{display:flex;gap:10px;align-items:flex-start;margin:6px 0;font-size:15px;line-height:1.35}
.nf-vr .nf-res li i{font-style:normal;flex:0 0 22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:var(--violet);color:#FFFFFF}
.nf-vr .nf-res li.no i{background:var(--line);color:var(--mute)}
.nf-vr .nf-res li.no span{color:var(--mute)}
.nf-vr .nf-res p{margin:8px 0 0;font-size:15px;line-height:1.4}
.nf-vr .nf-res .nf-res-save{font-weight:700;color:var(--violet-text)}
.nf-vr .nf-res-busy{display:flex;align-items:center;gap:14px}
.nf-vr .nf-res-busy .nf-res-h{margin:0 0 2px}
.nf-vr .nf-res-busy span{font-size:14px;color:var(--mute)}
.nf-vr .nf-spin{flex:0 0 26px;width:26px;height:26px;box-sizing:border-box;border:3px solid var(--line);border-top-color:var(--violet);border-radius:50%;animation:nfvr-spin .8s linear infinite}
@keyframes nfvr-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.nf-vr .nf-spin{animation-duration:2.4s}}
.nf-vr .nf-res .nf-res-go{display:block;width:100%;margin-top:12px;background:var(--violet);color:#FFFFFF;border-color:var(--violet)}
.nf-vr .seg.nf-tee-wrap{flex-wrap:wrap}
.nf-vr .seg.nf-tee-wrap button{flex:1 1 40%;height:auto;min-height:46px;padding:6px 8px;font-size:16px}

/* 0.9.3: Mobil-Feinschliff */
.nf-vr .chip[hidden]{display:none}
.nf-vr .seg button[data-mm]{font-size:15px!important;line-height:1.15;padding:4px 6px!important;white-space:normal!important;height:auto!important;min-height:46px;hyphens:manual;overflow-wrap:anywhere}
