.app{max-width:680px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.app__header{text-align:center}.app__titlerow{display:flex;align-items:center;justify-content:center;gap:.55rem}.app__help{flex:none;width:1.7rem;height:1.7rem;padding:0;border:1.5px solid var(--fg-muted);border-radius:50%;background:transparent;color:var(--fg-muted);font-size:1rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.app__help:hover{color:var(--fg);border-color:var(--fg)}.help{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1rem 1.1rem 2.5rem}.help>*{max-width:46rem;margin-left:auto;margin-right:auto}.help__lead{color:var(--fg);font-size:.95rem;line-height:1.4}.help__release{margin-top:.8rem;padding:.6rem .8rem;border-left:3px solid var(--accent);background:#f4b41a1a;border-radius:6px;font-size:.9rem;line-height:1.4}.help h2{color:var(--accent);font-size:1.05rem;margin:1.5rem auto .5rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.12)}.help__dl{margin:0}.help__dl dt{font-weight:700;margin-top:.75rem}.help__dl dd{margin:.15rem 0 0;color:var(--fg-muted);font-size:.9rem;line-height:1.4}.help__steps{padding-left:1.2rem;display:flex;flex-direction:column;gap:.6rem;color:var(--fg-muted);font-size:.9rem;line-height:1.4}.help b{color:var(--fg)}.help i{color:#7fd1e8;font-style:normal}.help__foot{color:var(--fg-muted);font-size:.85rem;margin-top:1.6rem}.app__title{margin:0;font-size:1.5rem;letter-spacing:.5px}.app__tagline{margin:.2rem 0 0;color:var(--fg-muted);font-size:.85rem}.card{background:var(--bg-panel);border-radius:12px;padding:.85rem 1rem}.card__title{margin:0 0 .6rem;font-size:.95rem;color:var(--accent)}.row{display:flex;align-items:flex-end;gap:.75rem 1rem}.row--wrap{flex-wrap:wrap}.row--actions{margin-top:.75rem;align-items:flex-end;flex-wrap:wrap}.row--actions .info{align-self:center}.field{display:flex;flex-direction:column;gap:.25rem}.field__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted)}.field__inline{display:flex;align-items:center;gap:.35rem}.field__input{background:#0003;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.45rem .5rem;font-size:1rem;min-height:2.4rem}.field__input--num{width:4.5rem}.field__input option{background:var(--bg-panel);color:var(--fg)}.stat{display:flex;flex-direction:column;min-width:4rem}.stat__value{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.stat__value--over{color:var(--danger)}.stat__label{font-size:.7rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.wind{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;flex-basis:100%}.wind__controls{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.wind__opts{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem}.wind__status{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.startplan{flex-basis:100%;display:flex;align-items:flex-end;gap:.75rem 1.25rem}@media(max-width:639px){.startplan{flex-direction:column;align-items:flex-start}}.startplan__go{display:inline-flex;align-items:center;gap:.5rem}.planmode{align-items:flex-start}.planmode .field__label{white-space:nowrap}.seg{display:inline-flex;border:1px solid var(--fg-muted);border-radius:8px;overflow:hidden}.seg__btn{padding:.45rem .85rem;border:none;background:transparent;color:var(--fg);font:inherit;cursor:pointer}.seg__btn+.seg__btn{border-left:1px solid var(--fg-muted)}.seg__btn--on{background:var(--accent);color:#10242e;font-weight:600}.planmode__cov{flex-basis:100%;margin:.4rem 0 0}.info{position:relative;display:inline-flex;vertical-align:middle;text-transform:none;letter-spacing:normal}.info__btn{width:1.05rem;height:1.05rem;padding:0;border:0;background:transparent;color:var(--fg-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.info__btn:hover,.info__btn[aria-expanded=true]{color:var(--fg)}.info__glyph{width:100%;height:100%;display:block}.info__pop{position:absolute;top:calc(100% + 5px);z-index:60;width:max-content;max-width:min(260px,calc(100vw - 2rem));padding:.5rem .6rem;background:#0a3247;border:1px solid rgba(255,255,255,.18);border-radius:8px;font-size:.75rem;font-weight:400;font-style:normal;line-height:1.35;color:var(--fg);box-shadow:0 6px 20px #00000073;white-space:normal}.info__pop code{overflow-wrap:anywhere;font-size:.72rem;color:var(--accent)}.info__pop a{color:#7fd1e8}.info__pop--left{left:0}.info__pop--right{right:0}.muted{color:var(--fg-muted);font-size:.82rem}.err{color:var(--danger);font-size:.82rem}.btn{background:#ffffff1a;color:var(--fg);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:.5rem .8rem;font-size:.85rem;cursor:pointer;min-height:2.4rem}.btn:disabled{opacity:.4;cursor:default}.btn--small{padding:.4rem .6rem}.import__action{display:inline-flex;align-items:center;gap:.5rem}.lijst{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lijst__item--off{opacity:.5}.lijst__item--traject .lijst__btn{box-shadow:inset 0 0 0 1.5px #f4b41a8c}.lijst__alt{color:var(--fg-muted);font-size:.78rem;font-style:italic;padding:.1rem .2rem .15rem}.lijst__btn{width:100%;text-align:left;background:#0000002e;color:var(--fg);border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--accent);border-radius:8px;padding:.6rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.3rem}.lijst__btn:disabled{cursor:default;border-left-color:var(--fg-muted)}.lijst__main{display:flex;justify-content:space-between;align-items:baseline}.lijst__name{font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.lijst__speed{font-size:1.05rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.lijst__meta{display:flex;flex-wrap:wrap;gap:.15rem .9rem;color:var(--fg-muted);font-size:.82rem;font-variant-numeric:tabular-nums}.cur{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.cur--mee{color:#1a9e5f}.cur--tegen{color:#e0492f}.cur--none{color:var(--fg-muted);font-weight:400}.lijst__lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65}.lijst__speedlbl{display:block;font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.04em;opacity:.6;line-height:1}.tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .35rem;border-radius:4px;white-space:nowrap}.tag--lock{background:#7fd1e833;color:#7fd1e8}.tag--max{background:#e8452a33;color:var(--danger)}.tag--traject{background:#f4b41a38;color:#f4b41a;font-weight:700}.tag--windy{background:#e8452a2e;color:var(--danger);font-weight:700}.lijst__tws--windy{color:var(--danger);font-weight:700}.empty{color:var(--fg-muted);margin:.5rem 0}.btn--primary{background:var(--accent);color:#10222c;font-weight:600;border-color:transparent}.btn--warn{background:var(--accent);color:#10222c;font-weight:700;border-color:transparent}.field__static{padding:.45rem 0;font-weight:600;color:var(--accent)}.field--inline{gap:.2rem}.stat__value--pre{color:var(--accent)}.lastround__head{display:flex;flex-direction:column;gap:.25rem}.lastround__row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .75rem}.lastround__buoy{font-size:1.3rem;font-weight:700;text-transform:uppercase;color:var(--accent)}.lastround__time{font-variant-numeric:tabular-nums;font-weight:600}.lastround__actions{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem}.lastround__perf{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .9rem;margin-top:.5rem}.perf{font-variant-numeric:tabular-nums}.perf--low{color:var(--danger)}.perf--high{color:#6ee7a8}.field__static,.field__input--buoy,.lijst__name,.map__label,.traject__to,.traject__start{text-transform:uppercase}.check{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--fg-muted);cursor:pointer}.check input{width:1rem;height:1rem}.import summary{cursor:pointer;-webkit-user-select:none;user-select:none}.import__body{display:flex;flex-direction:column;gap:.9rem;margin-top:.75rem}.import__file{color:var(--fg);font-size:.85rem}.import__file::file-selector-button{background:var(--bg-panel);color:var(--fg);border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:.35rem .6rem;margin-right:.6rem;cursor:pointer}.polarhelp summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--accent);font-size:.9rem}.polarhelp p{color:var(--fg-muted);font-size:.85rem;margin:.5rem 0}.polarhelp a{color:var(--accent)}.planpane{display:flex;flex-direction:column;gap:1rem}.map-toggle{display:flex;align-items:center;gap:.4rem;width:100%;background:none;border:0;padding:0;font:inherit;cursor:pointer}.map-toggle__chev{transition:transform .15s ease;font-size:.8em}.map-collapsible.is-open .map-toggle__chev{transform:rotate(90deg)}.map-collapsible__body{display:none}.map-collapsible.is-open .map-collapsible__body{display:block}.map-collapsible:not(.is-open) .map__enlarge{display:none}@media(min-width:768px){.app{max-width:960px}.planpane{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}.map-collapsible__body{display:block}.map-collapsible:not(.is-open) .map__enlarge{display:inline-block}.map-toggle{cursor:default}.map-toggle__chev{display:none}}.map__svg{width:100%;height:auto;display:block;background:#0a3247;border-radius:8px;touch-action:manipulation}.planpane__map-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.planpane__map-head .card__title{margin-bottom:0}.mapoverlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:var(--bg-panel)}.mapoverlay__bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem}.mapoverlay__title{color:var(--accent);font-weight:600}.mapoverlay__map{flex:1;min-height:0}.mapoverlay__legend{position:absolute;left:.5rem;bottom:.5rem;z-index:1001;display:flex;flex-wrap:wrap;gap:.4rem .7rem;max-width:calc(100% - 1rem);padding:.4rem .6rem;background:#0b3d5cd9;border-radius:8px;font-size:.72rem;color:var(--fg)}.buoy-label.leaflet-tooltip{background:transparent;border:0;box-shadow:none;padding:0;color:#08263a;font-weight:600;font-size:11px;white-space:nowrap;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 3px #fff}.buoy-label.leaflet-tooltip:before{display:none}.mapoverlay__map:not(.labels-on) .buoy-label.leaflet-tooltip{display:none}.map__rak{stroke:#0a283c38;stroke-width:.8}.map__traject{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.map__track{fill:none;stroke:#7fd1e8;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.map__buoy{fill:#cfe6f2;stroke:#0a3247;stroke-width:.5}.map__buoy--start{fill:#6ee7a8}.map__buoy--finish{fill:var(--danger)}.map__buoy--current{fill:var(--accent);stroke:#fff;stroke-width:1}.map__label{fill:#08263a;stroke:#fff;stroke-width:2.5px;paint-order:stroke;font-size:9px;font-weight:600;pointer-events:none}.map__attrib{margin:.15rem 0 0;font-size:.68rem;color:var(--fg-muted)}.map__attrib a{color:inherit}.map__legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:var(--fg-muted)}.map__key{display:inline-flex;align-items:center;gap:.3rem}.map__dot{width:10px;height:10px;border-radius:50%;display:inline-block}.traject{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.15rem}.traject__start{font-weight:600;padding:.3rem .5rem;color:var(--accent)}.traject__leg{border-left:2px solid rgba(255,255,255,.15);margin-left:.5rem}.traject__legbtn{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.45rem .5rem;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:6px}.traject__legbtn:hover,.traject__legbtn--open{background:#ffffff0f}.traject__pin{margin-right:.25rem}.traject__to{font-weight:500}.traject__meta{color:var(--fg-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.reroute{list-style:none;margin:.15rem 0 .4rem;padding:0 0 0 .5rem;display:flex;flex-direction:column;gap:.2rem}.reroute__hint{font-size:.75rem;padding:.1rem .25rem}.reroute__opt{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:inherit;font:inherit;text-align:left;cursor:pointer}.reroute__opt:hover{background:#ffffff17}.reroute__opt:disabled{cursor:default;opacity:.65}.reroute__opt--current{border-style:dashed}.reroute__opt--pinned{background:#6ee7a829;border-color:#6ee7a880}.reroute__opt--pinned:hover{background:#6ee7a838}.tag--pinned{background:#6ee7a838;color:#6ee7a8;font-weight:700}.volgende__now{width:100%;display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;margin-bottom:.5rem;background:#f4b41a24;border:1px solid rgba(244,180,26,.4);border-radius:8px;color:inherit;font:inherit;text-align:left;cursor:pointer}.volgende__now:hover{background:#f4b41a33}.volgende__nowlabel{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.volgende__nowbuoy{font-size:1.5rem;font-weight:700;text-transform:uppercase}.volgende__nowcourse{font-size:.9rem;font-variant-numeric:tabular-nums;opacity:.85}.reroute__li{display:flex;align-items:stretch;gap:.35rem}.reroute__li .reroute__opt{flex:1;width:auto;min-width:0;flex-wrap:wrap}.reroute__undo{flex:0 0 auto;padding:0 .7rem;font-size:1.1rem;line-height:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:6px;color:inherit;cursor:pointer}.reroute__undo:hover{background:#e8452a2e;border-color:var(--danger);color:var(--danger)}.volgende__afterhead{margin:.25rem 0;font-size:.8rem}.route{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column}.route__item{display:flex;align-items:center;gap:.5rem;padding:.2rem .4rem;border-left:2px solid transparent}.route__item--done{opacity:.6;border-left-color:#6ee7a880}.route__item--here{opacity:1;font-weight:700;border-left-color:#f4b41a}.route__item--todo{border-left-color:#ffffff26}.route__name{text-transform:uppercase}.route__time{margin-left:auto;font-size:.8rem;font-variant-numeric:tabular-nums;opacity:.7}.route__hier{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:.1rem .35rem;border-radius:4px;background:#f4b41a38;color:#f4b41a}.reroute__name{font-weight:500}.reroute__meta{color:var(--fg-muted);font-size:.8rem;font-variant-numeric:tabular-nums;margin-left:auto;text-align:right}.reroute__delta,.nowrap{white-space:nowrap}.reroute__delta{font-weight:600}.reroute__delta--gain{color:var(--accent)}.reroute__delta--loss{color:var(--danger)}.reroute__delta--none{color:var(--danger);font-weight:400}.pins{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pins__count{font-size:.8rem;color:var(--fg-muted)}.btn--link{background:transparent;border:0;color:var(--accent);cursor:pointer;padding:.1rem .2rem;font:inherit}.btn--link:hover{text-decoration:underline}.wt-pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.wt-card{position:relative;max-width:min(96vw,760px);max-height:90dvh;overflow:auto;padding:1.6rem 1rem .6rem;background:var(--bg-panel);border-radius:12px;box-shadow:0 10px 40px #00000080}.wt-close{position:absolute;top:.4rem;right:.4rem;width:1.9rem;height:1.9rem;padding:0;line-height:1;border:none;border-radius:6px;background:transparent;color:var(--fg-muted);font-size:1rem;cursor:pointer}.wt-close:hover{color:var(--fg);background:#ffffff14}.wt__scroll{overflow-x:auto}.wt__table{border-collapse:separate;border-spacing:2px;font-variant-numeric:tabular-nums;font-size:.82rem}.wt__th{text-align:center;padding:.15rem .3rem;font-weight:600;white-space:nowrap;color:var(--fg-muted)}.wt__th--loc,.wt__loc{text-align:left;white-space:nowrap;position:sticky;left:0;background:var(--bg-panel)}.wt__loc{padding:.2rem .6rem .2rem 0;font-weight:600;font-size:.8rem}.wt__cell{text-align:center;padding:.2rem .35rem;white-space:nowrap;border-radius:4px;color:#10242e;line-height:1.05}.wt__cell--empty{background:#ffffff0d;color:var(--fg-muted)}.wt__cell--light{color:#fff}.wt__arrow{display:block;width:14px;height:14px;margin:0 auto}.wt__spd{display:block;font-weight:700}.wt__gust{display:block;font-size:.72rem;font-weight:500;opacity:.75}.wt__legend{margin:.5rem 0 .2rem;font-size:.72rem}.warn{color:#f4b41a;font-size:.82rem}.reroute__more{margin-top:.4rem}.reroute__more>summary{cursor:pointer;color:var(--fg-muted);font-size:.82rem;padding:.3rem 0;list-style:none}.reroute__more>summary:before{content:"▸ "}.reroute__more[open]>summary:before{content:"▾ "}.reroute__more>summary::-webkit-details-marker{display:none}.logbook{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.08)}.logbook__btns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.logbook__btns>.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.logbook__btns>:last-child:nth-child(odd){grid-column:1 / -1}@media(min-width:640px){.logbook__btns{display:flex;flex-wrap:wrap}}:root{--bg: #0b3d5c;--bg-panel: #0f4f76;--fg: #f2f7fa;--fg-muted: #a9c4d4;--accent: #f4b41a;--danger: #e8452a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100dvh}body{background:var(--bg);color:var(--fg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
