/* The Race App — v0.4 "racing" theme */
@font-face{font-family:"Saira";font-weight:500;font-display:swap;src:url(fonts/saira-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Saira";font-weight:700;font-display:swap;src:url(fonts/saira-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Saira Condensed";font-weight:700;font-display:swap;src:url(fonts/saira-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Saira Condensed";font-weight:800;font-display:swap;src:url(fonts/saira-condensed-latin-800-normal.woff2) format("woff2")}

:root{
  /* cold */
  --turq:#00e0c6; --turq-2:#00b3a4; --deep:#0a5566; --deep-2:#073a47;
  /* warm / warnings */
  --purple:#9b3bff; --pink:#ff2e93; --magenta:#ff1fd2; --cyclamen:#d4127a;
  /* base (dark) */
  --bg:#05070a; --surface:#0c1216; --surface-2:#131b21; --line:#1e2a32;
  --fg:#eef3f5; --muted:#86949d; --on-accent:#021013;
  --off:#1a242b;
  --f-ui:"Saira",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-num:"Saira Condensed","Saira",system-ui,sans-serif;
}
.theme-day{
  --bg:#eef1f3; --surface:#ffffff; --surface-2:#e3e8eb; --line:#c9d1d6;
  --fg:#05070a; --muted:#4f5c64; --off:#d3dadf; --turq:#00a896;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-weight:500;overscroll-behavior:none}
body{user-select:none;-webkit-user-select:none}
button{font:inherit;color:inherit;cursor:pointer}
.hidden{display:none!important}

.version{position:fixed;right:10px;bottom:6px;font-size:11px;color:var(--muted);z-index:50;pointer-events:auto;padding:6px;font-family:var(--f-num);letter-spacing:.06em}
.update{position:fixed;left:0;right:0;top:0;background:linear-gradient(90deg,var(--purple),var(--pink));color:#fff;
  padding:12px 16px;text-align:center;font-weight:700;z-index:60;letter-spacing:.02em}
.toast{position:fixed;left:50%;bottom:64px;transform:translateX(-50%);background:var(--surface-2);color:var(--fg);border:1px solid var(--line);
  border-left:4px solid var(--turq);padding:12px 16px;border-radius:8px;font-weight:700;z-index:70;display:flex;gap:14px;align-items:center;max-width:92vw;
  box-shadow:0 10px 30px rgba(0,0,0,.45)}
.toast button{background:none;border:0;color:var(--turq);font-weight:700;padding:0;text-transform:uppercase;letter-spacing:.06em}

.view{display:none;height:100%;height:100dvh;flex-direction:column}
.view.active{display:flex}
.lbl{font-family:var(--f-ui);font-weight:700;font-size:13px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}
.unit{font-weight:500;letter-spacing:.04em;text-transform:none}

/* MENU */
.menu-head{padding:32px 16px 10px}
.brand-mark{width:44px;height:6px;border-radius:3px;background:linear-gradient(90deg,var(--turq),var(--purple),var(--pink));margin-bottom:14px}
.menu-head h1{margin:0;font-family:var(--f-num);font-weight:800;font-size:38px;letter-spacing:.04em;line-height:1}
.menu-head p{margin:6px 0 0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.menu-list{display:flex;flex-direction:column;gap:8px;padding:14px 16px 40px;overflow-y:auto;flex:1;min-height:0}
.menu-item{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:14px 16px;border-radius:8px;
  border:1px solid var(--line);background:var(--surface);font-family:var(--f-num);font-weight:800;font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.menu-item span{font-family:var(--f-ui);font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.04em;text-transform:none}
.menu-item.primary{background:linear-gradient(120deg,var(--deep-2),var(--deep) 55%,#0b6b73);border-color:transparent;color:#fff;position:relative;overflow:hidden}
.menu-item.primary::after{content:"";position:absolute;right:-20px;top:0;bottom:0;width:90px;background:linear-gradient(100deg,transparent 0 30%,var(--turq) 30% 38%,transparent 38% 52%,var(--pink) 52% 58%,transparent 58%);opacity:.9}
.menu-item.primary span{color:#bfe9e5}
.menu-item.soon{opacity:.45}

/* RACE */
.race-top{display:flex;align-items:center;gap:8px;padding:10px 10px 6px;padding-top:max(10px,env(safe-area-inset-top))}
.icon-btn{min-width:48px;height:44px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:18px;font-weight:700;font-family:var(--f-num);letter-spacing:.06em}
.heel{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;gap:4px;height:44px;touch-action:none}
.heel i{flex:0 1 20px;min-width:0;aspect-ratio:1/1;border-radius:50%;background:var(--off);transition:background .12s,box-shadow .12s}
.heel i.c{flex-basis:24px}
.heel i.g{background:var(--turq);box-shadow:0 0 10px var(--turq)}
.heel i.w{background:var(--purple);box-shadow:0 0 10px var(--purple)}
.heel i.b{background:var(--pink);box-shadow:0 0 10px var(--pink)}
.heel.pressing{outline:2px solid var(--turq);border-radius:10px}
.heel-set{height:56px;margin:8px 0}

.pager{flex:1;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
.pager::-webkit-scrollbar{display:none}
.page{flex:0 0 100%;width:100%;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 16px 16px;overflow:hidden}
.dots{display:flex;justify-content:center;gap:8px;padding:6px 0 20px}
.dots i{width:18px;height:4px;border-radius:2px;background:var(--off)}
.dots i.on{background:var(--turq)}

.adj-row{display:flex;gap:10px;width:100%}
.adj{flex:1;height:58px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-family:var(--f-num);font-size:24px;font-weight:800;letter-spacing:.06em}
.adj:active{background:var(--surface-2);border-color:var(--turq)}
.time-block{text-align:center}
.timer{font-family:var(--f-num);font-size:min(40vw,32vh);font-weight:800;font-variant-numeric:tabular-nums;line-height:.95;letter-spacing:-.01em}
.timer.last{color:var(--pink);text-shadow:0 0 24px rgba(255,46,147,.35)}
.timer.up{font-size:min(28vw,22vh)}
.sync{width:min(60vw,32vh);height:min(60vw,32vh);border-radius:50%;border:0;color:var(--on-accent);
  background:radial-gradient(circle at 35% 30%,#5ff5e3,var(--turq) 45%,var(--turq-2));
  font-family:var(--f-num);font-size:44px;font-weight:800;letter-spacing:.08em;
  box-shadow:0 0 0 6px var(--bg),0 0 0 8px var(--deep),0 12px 40px rgba(0,224,198,.25)}
.sync:active{transform:scale(.97)}

.elapsed{font-family:var(--f-num);font-size:28px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.big-block{text-align:center;width:100%}
.big{font-family:var(--f-num);font-size:min(30vw,15vh);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.gps-note{font-size:12px;color:var(--muted);letter-spacing:.04em}
.soon-page{justify-content:center;color:var(--muted)}
.soon-page h2{font-family:var(--f-num);font-weight:800;letter-spacing:.06em;color:var(--fg)}
.sensors-btn{margin:0 16px 16px;height:54px;border-radius:8px;border:0;background:linear-gradient(90deg,var(--purple),var(--pink));color:#fff;font-size:16px;font-weight:700;letter-spacing:.03em}

/* START LINE */
.line-block{text-align:center;width:100%}
.dtl{font-family:var(--f-num);font-size:min(30vw,17vh);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;border-radius:10px;padding:2px 0 6px;color:#fff;background:var(--surface-2)}
.dtl.late{background:linear-gradient(120deg,#0b3d91,#1f6fff)}
.dtl.ok{background:var(--turq);color:var(--on-accent)}
.dtl.early{background:linear-gradient(120deg,#6a1fd1,var(--purple))}
.dtl.ocs{background:linear-gradient(120deg,var(--pink),var(--magenta));animation:blink .6s steps(2) infinite}
.dtl.none{background:var(--surface);color:var(--muted)}
@keyframes blink{50%{opacity:.35}}
.line-info{font-size:12px;color:var(--muted);margin-top:4px;letter-spacing:.04em}
.line-row{display:flex;gap:10px;width:100%;align-items:center}
.line-btn{flex:1;height:52px;border-radius:8px;border:1px dashed var(--muted);background:var(--surface);font-family:var(--f-num);font-size:22px;font-weight:800;letter-spacing:.08em}
.line-btn.set{border:1px solid var(--turq);background:rgba(0,224,198,.12);color:var(--turq)}
.line-clear{width:52px;height:52px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:18px;font-weight:700}
#p-timer.lined .timer{font-size:min(24vw,12vh)}
#p-timer.lined .sync{width:min(36vw,18vh);height:min(36vw,18vh);font-size:30px}

/* LIFT / HEADER */
.lift-block{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 12px;text-align:center;background:var(--surface)}
.lift-block:active{border-color:var(--turq)}
.lift-top{display:flex;justify-content:space-between;align-items:center}
.leg-chip{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:5px 12px;font-family:var(--f-num);font-weight:800;font-size:14px;letter-spacing:.08em}
.lift-val{font-family:var(--f-num);font-size:min(18vw,10vh);font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.lift-val.good{color:var(--turq)} .lift-val.bad{color:var(--pink)}
.lift-val.wait{color:var(--muted);font-size:min(9vw,5vh);padding:10px 0;letter-spacing:.1em}
.lift-sub{font-size:12px;color:var(--muted);letter-spacing:.03em}
.sim-badge{position:fixed;left:10px;bottom:6px;font-size:11px;font-weight:700;color:#fff;background:var(--purple);border-radius:3px;padding:1px 6px;z-index:50;letter-spacing:.1em}

/* SETTINGS */
.set-head{display:flex;align-items:center;gap:12px;padding:10px;padding-top:max(10px,env(safe-area-inset-top))}
.set-head h2{margin:0;font-family:var(--f-num);font-weight:800;letter-spacing:.06em;font-size:28px}
.set-body{overflow:auto;padding:4px 16px 48px;display:flex;flex-direction:column;gap:10px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px}
.card h3{margin:0 0 6px;font-family:var(--f-num);font-weight:800;font-size:19px;letter-spacing:.06em;text-transform:uppercase}
.card p{margin:0 0 8px;font-size:14px;color:var(--muted)}
.small{font-size:13px;color:var(--muted)}
.row{display:flex;gap:8px;flex-wrap:wrap}
.btn{flex:1;min-height:46px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);font-weight:700;padding:0 12px;letter-spacing:.03em}
.btn.primary{background:var(--turq);color:var(--on-accent);border-color:var(--turq)}
.btn.on{background:var(--deep);color:#fff;border-color:var(--turq)}
.pro{font-size:10px;background:linear-gradient(90deg,var(--purple),var(--pink));color:#fff;border-radius:3px;padding:1px 5px;margin-left:4px;vertical-align:middle;letter-spacing:.08em}
input[type=range]{width:100%;height:36px;accent-color:var(--turq)}
input[type=checkbox]{accent-color:var(--turq);width:18px;height:18px}
.check{display:flex;gap:8px;align-items:center;font-size:15px;margin-bottom:8px}
select{font:inherit;padding:4px 6px;background:var(--surface-2);color:var(--fg);border:1px solid var(--line);border-radius:6px}
.diag{white-space:pre-wrap;font-size:12px;background:var(--bg);border-radius:8px;padding:10px;margin:0 0 8px;user-select:text;-webkit-user-select:text;color:var(--muted)}

/* WEATHER (v0.5) */
.wx-refresh{margin-left:auto}
.wx-body{overflow:auto;padding:4px 16px 48px;display:flex;flex-direction:column;gap:10px}
.wx-controls{display:flex;gap:8px}
.wx-controls select{flex:1;min-height:44px;font-weight:700}
.wx-status{font-size:12px;color:var(--muted);letter-spacing:.03em}
.wx-status.err{color:var(--pink)}
.wx-now{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wx-tile{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.wx-tile .lbl{font-size:11px}
.wx-tile .v{font-family:var(--f-num);font-weight:800;font-size:40px;line-height:1.05;font-variant-numeric:tabular-nums}
.wx-tile .v small{font-size:16px;color:var(--muted);font-weight:700;margin-left:3px}
.wx-tile.hot .v{color:var(--pink)}
.wx-arrow{display:inline-block;width:.8em;text-align:center;color:var(--turq)}
.wx-chart{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px}
.wx-chart svg{display:block;width:100%;height:auto}
.wx-table{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.wx-row{display:grid;grid-template-columns:52px 1fr 66px 48px;align-items:center;gap:6px;padding:8px 10px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.wx-row:first-child{border-top:0}
.wx-row.head{font-size:11px;color:var(--muted);letter-spacing:.12em;font-weight:700;background:var(--surface-2)}
.wx-row .t{font-family:var(--f-num);font-weight:700;font-size:17px}
.wx-row .t.day{color:var(--turq)}
.wx-wind{display:flex;align-items:center;gap:8px}
.wx-wind b{font-family:var(--f-num);font-weight:800;font-size:22px;min-width:64px}
.wx-wind b span{color:var(--muted);font-weight:700;font-size:16px}
.wx-bar{flex:1;height:8px;border-radius:4px;background:var(--off);position:relative;overflow:hidden}
.wx-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:4px}
.wx-bar i.g{background:linear-gradient(90deg,var(--purple),var(--pink));opacity:.55}
.wx-bar i.a{background:var(--turq)}
.wx-dir{font-family:var(--f-num);font-weight:800;font-size:18px;text-align:right}
.wx-dir .wx-arrow{margin-left:4px}
.wx-misc{font-size:12px;color:var(--muted);text-align:right;line-height:1.2}
.wx-sea{grid-column:2 / -1;font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}
.wx-sea b{color:var(--fg);font-weight:700}
.wx-save{display:flex;gap:8px;flex-wrap:wrap}
.wx-find{margin:10px 0}
.wx-find-row{display:flex;gap:8px}
.wx-find-row input{flex:1;min-width:0;min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit}
.wx-find-res{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.wx-find-res button{text-align:left;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit}
.wx-find-res button span{display:block;font-size:12px;color:var(--muted)}
.wx-save input{flex:1 1 100%;min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit}
.wx-credit a{color:var(--turq)}
.set-body > *, .wx-body > *{flex-shrink:0}
.wx-sea{row-gap:2px;column-gap:12px}

/* v0.5.1 weather table + map */
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg button{flex:1;height:40px;border:0;background:var(--surface);color:var(--muted);font-family:var(--f-num);font-weight:800;font-size:16px;letter-spacing:.12em}
.seg button.on{background:var(--deep);color:#fff;box-shadow:inset 0 -3px 0 var(--turq)}
.wx-day{padding:8px 10px 6px;font-family:var(--f-num);font-weight:800;letter-spacing:.14em;font-size:14px;color:var(--turq);background:var(--bg);border-top:1px solid var(--line)}
.wx-day:first-child{border-top:0}
.wx-wg-h{display:grid;grid-template-columns:1fr 1fr;text-align:center}
.wx-wg{display:grid;grid-template-columns:1fr 1fr;align-items:center;height:38px;border-radius:6px;
  background:linear-gradient(90deg,var(--turq) 0,var(--turq) calc(var(--r) - 12%),var(--purple) calc(var(--r) + 12%),var(--pink) 100%)}
.wx-wg b{font-family:var(--f-num);font-weight:800;font-size:24px;text-align:center;line-height:1}
.wx-wg b:first-child{color:var(--on-accent)}
.wx-wg b:last-child{color:#fff}
.wx-map{height:62vh;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.wx-map iframe{width:100%;height:100%;border:0;display:block}
body:not([data-view="menu"]):not([data-view="settings"]) .version{display:none}

/* v0.6 own wind map */
.wx-map{position:relative;height:66vh}
.wm-map{position:absolute!important;left:0;top:0;width:100%;height:100%}
.wm-layer{position:absolute;left:0;top:0;pointer-events:none}
.wm-ui{position:absolute;left:8px;right:8px;bottom:8px;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.wm-ui > *{pointer-events:auto}
.wm-read{align-self:flex-start;background:rgba(5,7,10,.82);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;color:var(--muted)}
.wm-read b{color:var(--fg);font-family:var(--f-num);font-size:18px}
.wm-time{display:flex;align-items:center;gap:10px;background:rgba(5,7,10,.82);border:1px solid var(--line);border-radius:8px;padding:4px 10px}
.wm-time span{font-family:var(--f-num);font-weight:800;font-size:17px;min-width:92px}
.wm-time input{flex:1;accent-color:var(--turq)}
.wm-legend{position:relative;display:flex;justify-content:space-between;font-size:10px;color:var(--fg);background:rgba(5,7,10,.82);border-radius:6px;padding:12px 8px 3px}
.wm-legend i{position:absolute;left:8px;right:8px;top:4px;height:6px;border-radius:3px;background:linear-gradient(90deg,#073a47 0%,#0a5566 21%,#00e0c6 36%,#9b3bff 54%,#ff2e93 71%,#ff1fd2 100%)}
.wm-dot{width:16px;height:16px;border-radius:50%;background:var(--turq);border:3px solid #05070a;box-shadow:0 0 0 2px var(--turq),0 0 14px var(--turq)}
.maplibregl-ctrl-attrib{font-size:10px}

/* v0.7 CHECKLIST */
.cl-card{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;text-align:left;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);width:100%}
.cl-name{font-family:var(--f-num);font-weight:800;font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.cl-meta{font-family:var(--f-num);font-weight:700;font-size:16px;color:var(--muted)}
.cl-bar{grid-column:1 / -1;height:5px;border-radius:3px;background:var(--off);overflow:hidden}
.cl-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--deep),var(--turq));border-radius:3px}
.cl-card.done{background:var(--turq);border-color:var(--turq);color:var(--on-accent)}
.cl-card.done .cl-meta{color:var(--on-accent)}
.cl-card.done .cl-bar{background:rgba(2,16,19,.25)} .cl-card.done .cl-bar i{background:var(--on-accent)}
.cl-card.done .cl-name::after{content:" ✓"}
.cl-sum{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);letter-spacing:.03em}
.cl-sum .cl-bar{grid-column:auto}
.cl-sum.done{color:var(--turq)}
.cl-items{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.cl-h{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 6px;font-family:var(--f-num);font-weight:800;font-size:14px;letter-spacing:.14em;color:var(--turq);text-transform:uppercase;background:var(--bg);border-top:1px solid var(--line)}
.cl-h:first-child{border-top:0}
.cl-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid var(--line);min-height:52px;cursor:pointer}
.cl-items > .cl-item:first-child{border-top:0}
.cl-box{flex:0 0 26px;height:26px;border-radius:6px;border:2px solid var(--muted);position:relative}
.cl-item.on .cl-box{background:var(--turq);border-color:var(--turq)}
.cl-item.on .cl-box::after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid var(--on-accent);border-width:0 3px 3px 0;transform:rotate(45deg)}
.cl-t{flex:1;font-size:16px;line-height:1.3}
.cl-item.on .cl-t{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(134,148,157,.5)}
.cl-del{flex:0 0 36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--pink);font-weight:800}
.cl-new,.cl-edit{display:flex;gap:8px;flex-wrap:wrap}
.cl-new input,.cl-edit input{flex:1 1 100%;min-height:46px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit}
.btn.danger{color:var(--pink);border-color:var(--pink)}
.icon-btn.cl-act{margin-left:auto}
.icon-btn.on{background:var(--deep);border-color:var(--turq)}
.soon-page p{text-align:center;max-width:300px;line-height:1.4}
.cl-na{flex:0 0 auto;height:32px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--f-num);font-weight:800;font-size:13px;letter-spacing:.08em}
.cl-item.na .cl-na{background:var(--deep);border-color:var(--turq);color:#fff}
.cl-item.na .cl-box{border-color:var(--deep);background:var(--deep)}
.cl-item.na .cl-box::after{content:"";position:absolute;left:5px;right:5px;top:10px;height:3px;background:#fff;border-radius:2px}
.cl-item.na .cl-t{color:var(--muted);font-style:italic}
.cl-draft{font-style:normal;font-family:var(--f-ui);font-size:10px;letter-spacing:.1em;vertical-align:middle;background:linear-gradient(90deg,var(--purple),var(--pink));color:#fff;border-radius:3px;padding:2px 5px;margin-left:6px}

/* v0.8 NoR / SI */
.page.nor-page{justify-content:flex-start;overflow-y:auto;gap:10px;align-items:stretch}
.nor-page > *{flex-shrink:0}
.nor-head{display:flex;gap:8px}
.nor-head select{flex:1;min-height:44px;font-weight:700}
.nor-empty{text-align:center;color:var(--muted);padding:40px 10px}
.nor-empty h2{font-family:var(--f-num);font-weight:800;letter-spacing:.06em;color:var(--fg)}
.nor-title{display:flex;flex-direction:column;gap:2px}
.nor-title b{font-family:var(--f-num);font-weight:800;font-size:24px;letter-spacing:.03em;text-transform:uppercase}
.nor-title span{font-size:13px;color:var(--muted)}
.nor-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.nor-tile{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--turq);border-radius:8px;padding:8px 10px}
.nor-tile span{display:block;font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-weight:700}
.nor-tile b{font-family:var(--f-num);font-weight:800;font-size:22px;line-height:1.1}
.nor-changes{background:rgba(155,59,255,.12);border:1px solid var(--purple);border-radius:10px;padding:8px 12px}
.nor-changes h3,.nor-sec h3{margin:0 0 6px;font-family:var(--f-num);font-weight:800;font-size:15px;letter-spacing:.14em;color:var(--turq);text-transform:uppercase}
.nor-changes h3{color:#d7b6ff}
.nor-sec{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.nor-sec p,.nor-sec li,.nor-changes li{font-size:15px;line-height:1.4;margin:0 0 4px}
.nor-sec ul,.nor-changes ul{margin:0;padding-left:18px}
.nor-day{font-weight:700;color:var(--fg);margin-top:6px!important}
.nor-course{padding:6px 0;border-top:1px solid var(--line)}
.nor-course:first-of-type{border-top:0}
.nor-course b{font-family:var(--f-num);font-size:18px;letter-spacing:.04em}
.nor-seq{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:6px 0}
.nor-seq span{background:var(--deep);color:#fff;border-radius:6px;padding:3px 8px;font-family:var(--f-num);font-weight:700;font-size:16px}
.nor-seq i{color:var(--turq);font-style:normal;font-weight:800}
.nor-foot{margin:4px 0 20px;overflow-wrap:anywhere}
.nor-manage{display:flex;flex-direction:column;gap:10px}
.nor-doc{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line)}
.nor-doc span{flex:1;font-size:14px;word-break:break-word}
.nor-doc em{color:var(--muted);font-style:normal;font-size:12px}
.nor-doc .btn{flex:0 0 auto;min-height:36px}
.nor-file{display:flex;align-items:center;justify-content:center;margin-top:8px;cursor:pointer}
.nor-manage textarea{width:100%;margin:8px 0;min-height:110px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;font-size:13px;padding:8px}
.nor-manage a.btn{display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--fg)}
.nor-cname{display:flex;align-items:center;gap:10px}
.nor-cname .pennant{flex:0 0 auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.nor-dia{background:#05070a;border:1px solid var(--line);border-radius:8px;margin:8px 0 4px;padding:4px}
.nor-dia svg{display:block;width:100%;height:auto;max-height:300px}
.nor-dia{background:#05070a;border:1px solid var(--line);border-radius:8px;margin:4px 0 8px;padding:8px;text-align:center}
.nor-dia img{display:block;width:auto;max-width:100%;max-height:75vh;margin:0 auto;height:auto;filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(1.1);mix-blend-mode:screen}
.nor-dia span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.theme-day .nor-dia{background:#fff} .theme-day .nor-dia img{filter:none;mix-blend-mode:normal}
.nor-thumb{width:48px;height:40px;object-fit:contain;background:#fff;border-radius:4px}
.nor-crop{display:block;width:100%;height:auto;background:#fff;border-radius:6px;margin:8px 0}
.crop-sl{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-size:12px;color:var(--muted);margin-bottom:8px}
.crop-sl input{width:100%}
#norDiaPage{min-height:44px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;padding:0 8px}
.nor-head{width:100%;min-width:0}
.nor-head select{flex:1 1 0;min-width:0;width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.nor-head .icon-btn{flex:0 0 48px}
.wx-controls select{min-width:0;width:0;text-overflow:ellipsis}

/* v0.9 TRACKING */
.page.track-page{padding:0 0 8px;justify-content:flex-start;position:relative}
.trk-live-map{position:relative;flex:1 1 auto;width:100%;min-height:200px;background:var(--surface)}
.trk-live-map .maplibregl-map,.trk-map .maplibregl-map{position:absolute!important;inset:0}
.trk-live-ui{width:100%;padding:8px 12px 0;display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.trk-live-data{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.trk-live-data span,.trk-tele div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 8px;text-align:center}
.trk-live-data em,.trk-tele em{display:block;font-style:normal;font-size:10px;letter-spacing:.14em;color:var(--muted);font-weight:700}
.trk-live-data b,.trk-tele b{font-family:var(--f-num);font-weight:800;font-size:24px;line-height:1.1}
.trk-rec{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;border-radius:10px;border:1px solid var(--turq);background:rgba(0,224,198,.1);color:var(--turq);font-family:var(--f-num);font-weight:800;font-size:20px;letter-spacing:.1em}
.trk-rec i{width:14px;height:14px;border-radius:50%;background:var(--turq)}
.trk-rec.on{border-color:var(--pink);background:rgba(255,46,147,.12);color:var(--pink)}
.trk-rec.on i{background:var(--pink);animation:blink 1s steps(2) infinite;border-radius:3px}
.trk-boat{width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--turq);box-shadow:0 0 12px var(--turq)}
.trk-recnow{display:flex;align-items:center;gap:8px;color:var(--pink);font-weight:700;font-size:14px}
.trk-recnow i{width:10px;height:10px;border-radius:50%;background:var(--pink);animation:blink 1s steps(2) infinite}
.trk-meta{grid-column:1 / -1;font-size:12px;color:var(--muted)}
.trk-name b{display:block;font-family:var(--f-num);font-weight:800;font-size:22px;letter-spacing:.03em;text-transform:uppercase}
.trk-name span{font-size:12px;color:var(--muted)}
.trk-map{position:relative;height:46vh;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.trk-tele{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.trk-heel{height:28px}
.trk-ctrl{display:flex;gap:8px;align-items:center}
.trk-ctrl input{flex:1;accent-color:var(--turq)}
.trk-legend{position:relative}
.trk-live-data.two{grid-template-columns:1fr 1fr}
.trk-live-data.two b{font-size:34px}
.trk-tele{grid-template-columns:repeat(5,1fr)}
.trk-tele b{font-size:20px}
.trk-page-row .btn{min-width:0}
.hold{opacity:.55}

html,body{touch-action:pan-x pan-y}
.swipe-lock .pager{overflow-x:hidden;touch-action:none}
.pg-arrow{display:none}
.swipe-lock .pg-arrow{display:inline-flex;align-items:center;justify-content:center;font-size:30px;line-height:1;padding:0}
.ld-box{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}
.ld-btn{width:52px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;font-size:24px;font-weight:700}
.ld-lbl{font-size:13px;letter-spacing:.06em;opacity:.8}
.ld-lbl b{font-size:18px;opacity:1}

.lift-chips{display:flex;gap:8px}
.learn-chip.on{background:var(--turq);color:#001a17;border-color:var(--turq)}
.vmg{font-family:var(--f-num);font-size:15px;letter-spacing:.06em;opacity:.8;min-height:18px;margin-top:2px;text-align:center}

.mnv{margin-top:12px}
.mnv-head{font-family:var(--f-num);font-weight:800;letter-spacing:.12em;font-size:14px;color:var(--muted);display:flex;justify-content:space-between}
.mnv-head span{letter-spacing:.04em}
.mnv-sums{display:flex;gap:10px;margin:8px 0}
.mnv-sum{flex:1;background:var(--surface-2);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}
.mnv-sum b{font-family:var(--f-num);font-size:18px;letter-spacing:.06em}
.mnv-sum span{font-size:13px;opacity:.8}
.mnv-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:5px solid #8a969d;border-radius:10px;padding:8px 10px;margin:6px 0;color:var(--fg);font:inherit}
.mnv-row.good{border-left-color:var(--turq)} .mnv-row.ok{border-left-color:var(--purple)} .mnv-row.bad{border-left-color:var(--pink)}
.mnv-k{font-family:var(--f-num);font-weight:800;opacity:.6;min-width:18px}
.mnv-main{flex:1;min-width:0;display:flex;flex-direction:column;font-size:14px}
.mnv-main b{font-family:var(--f-num);letter-spacing:.08em}
.mnv-main em{font-style:normal;opacity:.75;font-size:13px}
.mnv-loss{font-family:var(--f-num);font-weight:800;font-size:18px;white-space:nowrap}
.mnv-row.good .mnv-loss{color:var(--turq)} .mnv-row.ok .mnv-loss{color:var(--purple)} .mnv-row.bad .mnv-loss{color:var(--pink)}

.line-fav{font-family:var(--f-num);font-weight:800;letter-spacing:.08em;font-size:16px;text-align:center;min-height:20px;margin-top:4px}
.line-fav.pin,.line-fav.boat{color:var(--turq)} .line-fav.even{color:var(--muted)}

.tac-info{font-family:var(--f-num);font-weight:700;letter-spacing:.06em;font-size:15px;text-align:center;min-height:20px;color:var(--fg)}
.tac-row{display:flex;gap:8px}
.tac-row .trk-rec{flex:1}
.tac-mark{flex:0 0 96px;font-family:var(--f-num);font-weight:800;letter-spacing:.1em;border-color:#ffb300;color:#ffb300}

.nor-quick{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;margin:10px 0;display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.nor-quick h3{margin:0;font-family:var(--f-num);letter-spacing:.12em}
.nor-quick input[type=text]{font-size:18px;padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg)}
.nor-go{height:52px;font-family:var(--f-num);font-weight:800;letter-spacing:.12em;font-size:18px}
.nor-amend{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;flex-shrink:0}
.nor-busy{opacity:.6;pointer-events:none}
.nor-csig{font-weight:700;color:var(--turq)}
.nor-mo{margin:14px 0 6px;font-size:13px;letter-spacing:.08em;color:var(--turq)}
.nor-cs{font-size:13px;opacity:.8;margin-left:8px}

.nor-dates{display:flex;gap:8px}
.nor-dates label{flex:1;display:flex;flex-direction:column;font-size:12px;letter-spacing:.1em;color:var(--muted);gap:4px}
.nor-dates input,.nor-place input{font-size:16px;padding:9px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);min-width:0}
.nor-place{display:flex;gap:8px}.nor-place input{flex:1}
.nor-fc{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:10px 0;overflow:hidden;flex-shrink:0}
.nor-fc-head{display:flex;align-items:center;gap:8px;padding:10px 12px}
.nor-fc-head h3{margin:0;flex:1;font-family:var(--f-num);letter-spacing:.12em;color:var(--turq)}
.nor-fc-head select{background:var(--surface-2);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:6px}
.nor-fc .wx-row{grid-template-columns:52px 1fr 66px 48px}
.nor-fc-note{padding:6px 12px 10px;font-size:13px;color:var(--muted)}

.wx-rain{font-size:12px;color:var(--muted);white-space:nowrap}
.wx-rain.wet{color:#4da3ff;font-weight:700}
.wx-misc{text-align:right}
.wx-rain small{display:block;font-size:11px;font-weight:600;opacity:.9}

.wx-drops{display:block;font-size:10px;line-height:1;letter-spacing:-1px;margin-bottom:2px}
.wx-misc{font-family:var(--f-num);font-weight:700;font-size:17px}

.nor-tile.big b{font-size:34px}
.nor-more{margin:10px 0;border:1px solid var(--line);border-radius:12px;padding:8px 12px;flex-shrink:0}
.nor-more summary{font-family:var(--f-num);font-weight:800;letter-spacing:.1em;color:var(--muted);padding:6px 0}
.nor-open{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;flex-shrink:0}
.nor-keys{display:flex;gap:8px;margin:8px 0;flex-shrink:0}
.nor-vhf,.nor-fw{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:6px 12px;display:flex;flex-direction:column;justify-content:center}
.nor-vhf{flex:0 0 auto;text-align:center}
.nor-fw{flex:1;min-width:0}
.nor-vhf span,.nor-fw span{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:700}
.nor-vhf b{font-family:var(--f-num);font-size:28px;line-height:1.1;color:var(--turq)}
.nor-fw b{font-family:var(--f-num);font-size:17px;line-height:1.3;font-weight:700}
.nor-dia{margin:0 -12px 10px;cursor:zoom-in}
.nor-read{font-family:var(--f-num);font-weight:800;letter-spacing:.08em}
.nor-zoom{position:fixed;inset:0;z-index:200;background:#05070a;display:flex;flex-direction:column}
.nor-zoom-bar{display:flex;gap:8px;padding:10px;justify-content:flex-end}
.nor-zoom-sc{flex:1;overflow:auto;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}
.nor-zoom-sc img{width:100%;display:block;filter:invert(1) hue-rotate(180deg) brightness(.95) contrast(1.1)}

/* replay: kontrole odmah ispod mape + full screen */
.trk-stage{display:flex;flex-direction:column;gap:8px}
.trk-fsbtns{position:absolute;top:8px;right:8px;z-index:5;display:flex;flex-direction:column;gap:6px}
.trk-fsbtns .icon-btn{width:44px;height:44px;background:rgba(5,7,10,.78);font-size:22px}
.trk-zin{display:none}
.trk-stage.fs{position:fixed;inset:0;z-index:1000;background:var(--bg,#05070a);padding:calc(env(safe-area-inset-top) + 8px) 10px calc(env(safe-area-inset-bottom) + 10px);gap:6px}
.trk-stage.fs .trk-map{flex:1 1 0;height:auto;min-height:0}
.trk-stage.fs .trk-zin{display:inline-flex;align-items:center;justify-content:center}
.trk-stage.fs .trk-tele b{font-size:18px}
.trk-stage.fs .trk-heel{height:22px;flex:0 0 auto;margin:0}
body.trk-fs-on{overflow:hidden}
@media (orientation:landscape){.trk-stage.fs .trk-tele{grid-template-columns:repeat(5,1fr)}.trk-stage.fs .trk-heel{display:none}}

/* Coaching / Race Log */
.co-sec{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.co-sec h3{margin:0 0 8px;font-family:var(--f-num);letter-spacing:.12em;font-size:14px;color:var(--turq)}
.co-soon{opacity:.6}
.co-imp{display:inline-flex;align-items:center;cursor:pointer}
.co-filter,.co-full,.co-lbl input,.co-title,#coBody textarea{width:100%;min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);font:inherit;box-sizing:border-box}
.co-filter{margin:10px 0 4px}

.co-sub{grid-column:1 / -1;font-size:12px;color:var(--muted);text-align:left}
.co-title{font-family:var(--f-num);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.03em}
.co-when{font-size:13px;color:var(--muted);margin:6px 0 10px}
.co-lbl{display:block;font-size:12px;color:var(--muted);letter-spacing:.06em;margin:8px 0}
.co-lbl input{margin-top:4px}
.co-wx{font-size:17px;font-weight:700;margin:0 0 6px}
.co-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.co-tiles div{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px;text-align:center}
.co-tiles em{display:block;font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:700}
.co-tiles b{font-family:var(--f-num);font-weight:800;font-size:18px}
#coBody textarea{min-height:140px;resize:vertical}

.co-tip{margin:0 0 8px;font-size:15px;line-height:1.4}
.co-tbl-w{overflow-x:auto;margin:6px -4px}
.co-tbl{border-collapse:collapse;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.co-tbl th{font-size:10px;letter-spacing:.06em;color:var(--muted);text-align:left;padding:4px;border-bottom:1px solid var(--line);white-space:nowrap}
.co-tbl td{padding:5px 4px;border-bottom:1px solid var(--line);white-space:nowrap}
.co-tbl tr.me td{color:var(--turq);font-weight:700}
.co-race summary{font-family:var(--f-num);font-weight:700;letter-spacing:.04em;cursor:pointer;padding:2px 0}
.co-rgt{font-size:20px}

/* fleet replay */
.rr-stage{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.rr-map{position:relative;height:52vh;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.rr-map .maplibregl-map{position:absolute!important;inset:0}
.rr-leg{position:absolute;left:8px;top:8px;z-index:5;background:rgba(5,7,10,.82);border:1px solid var(--line);border-radius:8px;padding:6px 10px;display:flex;flex-direction:column;gap:2px;font-size:12px;max-width:70%}
.rr-leg:empty{display:none}
.rr-leg b{font-family:var(--f-num);letter-spacing:.08em;color:var(--turq);font-size:14px}
.rr-time{font-family:var(--f-num);font-weight:700;letter-spacing:.06em;color:var(--muted);text-align:center}
.rr-chips{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px}
.rr-chip{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.rr-chip.me{color:var(--fg);font-weight:700}
.rr-chip i{width:12px;height:4px;border-radius:2px;display:inline-block}
.rr-lane-i{width:18px!important;height:10px!important;background:rgba(0,224,198,.45);box-shadow:0 0 6px rgba(0,224,198,.6)}
.rr-boat{min-width:22px;height:18px;padding:0 3px;border-radius:9px;font:700 10px/18px var(--f-num);color:#05070a;text-align:center;border:1.5px solid #05070a;box-shadow:0 0 4px rgba(0,0,0,.6)}
.rr-boat.me{box-shadow:0 0 10px #fff}
.co-leg{background:none;border:1px solid var(--line);border-radius:6px;color:var(--turq);font:700 12px var(--f-num);padding:4px 8px}
.rr-full{font-family:var(--f-num);font-weight:800;font-size:14px}

.rr-ideal-i{width:18px!important;height:0!important;border-top:2px dashed #fff;border-radius:0!important}
.rr-ideal{color:#fff}
.co-selb{display:flex;align-items:center;gap:8px;margin:4px 0 6px;font-size:13px;color:var(--muted)}
.co-selb select{flex:1;max-width:260px}
.co-gain{color:var(--turq)}
.co-wait{color:var(--muted);animation:coPulse 1s infinite alternate}
@keyframes coPulse{from{opacity:.3}to{opacity:1}}

.co-me{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;font-size:14px}
.co-me .btn.sm{padding:4px 10px;font-size:12px}
.co-warn{border:1px solid #ffb020;color:#ffb020;border-radius:8px;padding:8px 10px;font-size:13px}
.cl-card.on{border-color:var(--turq)}

.rr-best-i{width:18px!important;height:0!important;border-top:2.5px dashed #ffc83d;border-radius:0!important;background:none!important}
.rr-bestt{color:#ffc83d}
.rr-ideal{color:#00e0c6;font-weight:700}
.rr-map .trk-fsbtns .rr-z{display:none}
.rr-stage.fs{position:fixed;inset:0;z-index:1000;margin:0;background:var(--bg,#05070a);padding:calc(env(safe-area-inset-top) + 8px) 10px calc(env(safe-area-inset-bottom) + 10px);gap:6px}
.rr-stage.fs .rr-map{flex:1 1 0;height:auto;min-height:0}
.rr-stage.fs .trk-fsbtns .rr-z{display:inline-flex;align-items:center;justify-content:center}
.rr-stage.fs .rr-chips{max-height:22vh;overflow:auto}
.rr-spd{font-family:var(--f-num);font-weight:800;font-size:15px;min-width:52px}
.rr-sn{font-family:var(--f-num);font-weight:800;color:var(--fg)}

.rr-wbtn{font-size:22px}
.rr-wbtn.off{opacity:.45}
.rr-map .trk-fsbtns .rr-wbtn:not([hidden]){display:inline-flex;align-items:center;justify-content:center}
.rr-wkey{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.rr-wkey i{flex:0 0 120px;height:8px;border-radius:4px;background:linear-gradient(90deg,#3b4cc0,#2fa3d6,#35b779,#f2c12e,#e8572f)}
.rr-wkey small{flex-basis:100%;font-size:10px}
.rr-wbtn[hidden],.rr-wkey[hidden]{display:none!important}

.rr-pop .maplibregl-popup-content{background:rgba(5,7,10,.9);color:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 26px 8px 10px;display:flex;flex-direction:column;gap:2px;font-size:12px}
.rr-pop .maplibregl-popup-content b{font-family:var(--f-num);font-size:15px;letter-spacing:.04em;color:var(--turq)}
.rr-pop .maplibregl-popup-tip{border-top-color:rgba(5,7,10,.9)!important;border-bottom-color:rgba(5,7,10,.9)!important}
.rr-pop .maplibregl-popup-close-button{color:#fff;font-size:18px;right:4px;top:2px}
.rr-pq{color:var(--muted);font-size:11px}

.rr-stage .rr-leg{position:static;max-width:none;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;padding:8px 10px}
.rr-stage .rr-leg b{grid-column:1/-1}
.rr-stage .rr-leg span:last-child{grid-column:1/-1;color:var(--muted)}
.rr-stage.fs .rr-chips{display:none}

.trk-imp{display:inline-block;font:700 9px/14px var(--f-num);letter-spacing:.08em;color:#ffc83d;border:1px solid #ffc83d;border-radius:4px;padding:0 4px;margin-right:4px;vertical-align:1px}

.br-sec{margin:14px 0}
.br-sec h3{font-family:var(--f-num);letter-spacing:.1em;font-size:14px;color:var(--muted);margin:0 0 6px}
.br-item{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--line);background:var(--surface);border-radius:6px;padding:8px 10px;margin:6px 0;font-size:14px}
.br-item b{font-size:14px}
.br-item span{color:var(--muted);line-height:1.35}
.br-item.focus{border-left-color:#ff6b6b}
.br-item.good{border-left-color:#35b779}
.br-item.wx{border-left-color:#2fa3d6}
.br-fc{font-size:15px;margin:4px 0 8px}
.br-map{position:relative;height:300px;border-radius:10px;overflow:hidden;border:1px solid var(--line);margin:6px 0}
.br-map .maplibregl-map{position:absolute!important;inset:0}

.wind-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;max-width:520px}
.wind-strip.hidden{display:none}
.wind-strip div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px 6px;text-align:center;display:flex;flex-direction:column}
.wind-strip span{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.wind-strip b{font-family:var(--f-num);font-size:26px;line-height:1.1}
.nor-addnew{margin-top:10px;width:100%}
.nor-old{opacity:.75}

.prof-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0;font-size:14px}
.prof-row input,.prof-row select{flex:0 1 60%;min-width:0}
.prof-col{display:flex;flex-direction:column;gap:4px;margin:8px 0;font-size:13px;color:var(--muted)}
.prof-col textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px}
.prof-polar{width:100%;max-width:320px;aspect-ratio:2/3;display:block;margin:6px auto}
.prof-custom{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}

.prof-row input,.prof-col textarea{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px;font-size:14px}

.prof-guide{margin:8px 0}.prof-guide summary{font-size:13px;color:var(--turq);cursor:pointer}.prof-guide .co-tbl td,.prof-guide .co-tbl th{padding:3px 5px;font-size:12px}
.co-theory{border-left:3px solid #2fa3d6;padding-left:8px}
