/* nochfrei v203 — consolidated UI stylesheet. Exact duplicate top-level selectors from the v203 mockup pass were merged into their canonical rules. */
:root{--ink:#11110f;--muted:#6f706d;--muted-2:#969791;--line:rgba(17,17,15,.10);--line-strong:rgba(17,17,15,.18);
  --paper:#f5f4f0;--panel:#fbfbf9;--white:#fff;--soft:rgba(237,237,232,.72);--accent:#4C6FFF;--danger:#a33b27;
  --radius:24px;--radius-sm:16px;--pill:999px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Inter,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  --glass:rgba(255,255,255,.72);--glass-strong:rgba(255,255,255,.86);--glass-soft:rgba(248,248,245,.60);
  --glass-border:rgba(255,255,255,.72);--glass-hairline:rgba(17,17,15,.11);
  --shadow:0 18px 55px rgba(20,20,16,.10),0 2px 12px rgba(20,20,16,.05);
  --shadow-control:0 7px 24px rgba(20,20,16,.09),inset 0 1px 0 rgba(255,255,255,.86);}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button{cursor:pointer;-webkit-appearance:none;appearance:none}
button:disabled{cursor:default}
button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.nf-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#map{position:fixed;inset:0;background:#ededE9;transition:opacity .18s ease}
.leaflet-container{font-family:var(--font);background:#ededE9}
.leaflet-control-container{display:none}
body[data-nf-ui-state="home"] #map{visibility:hidden}
[data-nf-shell-root],[data-nf-hub-root]{position:relative;z-index:20}
[data-nf-shell-root]{z-index:45}
.nf-shell{position:fixed;inset:0;pointer-events:none}
.nf-shell>*{pointer-events:auto}
.nf-brand{position:fixed;top:max(14px,calc(env(safe-area-inset-top) + 8px));left:max(14px,calc(env(safe-area-inset-left) + 8px));width:48px;height:48px;padding:10px;border:1px solid var(--glass-border);border-radius:50%;background:var(--glass);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);display:grid;place-items:center;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.nf-brand:hover{background:var(--glass-strong);transform:scale(1.025)}
.nf-brand:active{transform:scale(.965)}
.nf-brand img{display:block;width:100%;height:100%;object-fit:contain}
.nf-brand-menu{position:fixed;top:max(72px,calc(env(safe-area-inset-top) + 66px));left:max(14px,calc(env(safe-area-inset-left) + 8px));width:232px;padding:7px;border:1px solid var(--glass-border);border-radius:22px;background:var(--glass-strong);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(30px) saturate(185%);backdrop-filter:blur(30px) saturate(185%);overflow:hidden}
.nf-brand-menu-mark{height:42px;padding:8px 10px 9px;border-bottom:1px solid var(--line);display:flex;align-items:center}
.nf-brand-menu-mark img{display:block;width:108px;height:auto}
.nf-brand-menu button{width:100%;min-height:42px;padding:0 12px;border:0;border-radius:15px;background:transparent;text-align:left;font-size:12px;font-weight:560}
.nf-brand-menu button:hover{background:rgba(17,17,15,.055)}
.nf-map-zoom{position:fixed;top:max(14px,calc(env(safe-area-inset-top) + 8px));right:max(14px,calc(env(safe-area-inset-right) + 8px));display:flex;gap:5px;padding:4px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);transition:right .18s ease}
.nf-map-zoom button{width:40px;height:40px;border:0;border-radius:50%;background:transparent;display:grid;place-items:center;transition:background .14s ease,transform .14s ease}
.nf-map-zoom button:hover{background:rgba(255,255,255,.72)}
.nf-map-zoom button:active{transform:scale(.94);background:rgba(17,17,15,.07)}
.nf-map-zoom svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nf-attribution{position:fixed;left:12px;bottom:8px;max-width:48vw;padding:4px 8px;border-radius:var(--pill);background:rgba(255,255,255,.88);font-size:8px;color:#777}
.nf-attribution a{color:inherit}
.nf-plan-overlay-icon{background:transparent!important;border:0!important}
.nf-plan-overlay-icon span{display:block;transform:translate(-50%,-50%);white-space:nowrap;padding:5px 8px;border:1px solid rgba(17,17,15,.18);border-radius:var(--pill);background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(20,20,16,.08);font:700 9px/1 var(--mono);color:var(--ink)}
.nf-plan-overlay-icon span[data-kind="accent"]{border-color:var(--accent);color:var(--accent)}
.nf-plan-overlay-icon span[data-kind="ok"]{border-color:var(--ink)}
.nf-shell-toast{position:fixed;z-index:90;top:70px;left:50%;transform:translateX(-50%);max-width:min(480px,calc(100vw - 28px));padding:10px 14px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;box-shadow:var(--shadow);font-size:11px}
body[data-nf-ui-state="home"] .nf-map-zoom,body[data-nf-ui-state="home"] .nf-attribution{display:none}
.nf-product-panel{position:fixed;z-index:30;top:12px;right:12px;bottom:12px;width:430px;overflow:hidden;border:1px solid rgba(255,255,255,.90);border-radius:30px;background:rgba(250,250,247,.84);box-shadow:0 18px 55px rgba(20,20,16,.11),inset 0 1px 0 rgba(255,255,255,.82);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%)}
.nf-product-view{height:100%;overflow:auto;overscroll-behavior:contain;padding:0 18px 28px;scrollbar-width:thin;scrollbar-color:rgba(17,17,15,.24) transparent}
.nf-toast{position:fixed;z-index:90;right:462px;bottom:18px;max-width:360px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;box-shadow:var(--shadow);font-size:11px}
.nf-toast[data-kind="error"]{border-color:#e4b4aa;color:var(--danger)}
body[data-nf-ui-state="workspace"] .nf-map-zoom,body[data-nf-ui-state="library"] .nf-map-zoom,body[data-nf-ui-state="info"] .nf-map-zoom,body[data-nf-ui-state="privacy"] .nf-map-zoom,body[data-nf-ui-state="imprint"] .nf-map-zoom{right:468px}
.nf-product-panel[data-view="home"]{inset:0;width:auto;border:0;border-radius:0;background:var(--paper);box-shadow:none;backdrop-filter:none}
.nf-product-panel[data-view="home"] .nf-product-view{padding:0;overflow:auto}
.nf-atlas-home{min-height:100vh;display:grid;grid-template-columns:minmax(360px,42vw) 1fr;grid-template-rows:minmax(620px,calc(100vh - 112px)) auto;position:relative}
.nf-atlas-intro{align-self:center;padding:96px 3.2vw 64px max(4vw,42px);position:relative;z-index:5}
.nf-atlas-wordmark{display:block;width:min(168px,46vw);height:auto;margin:0 0 28px}
.nf-eyebrow,.nf-group-label,.nf-work-head>div>span,.nf-library header span,.nf-static>span,.nf-subhead,.nf-pick-mode span{font:700 9px/1.2 var(--mono);letter-spacing:.16em;color:var(--muted)}
.nf-atlas-intro h1{margin:12px 0 18px;font-size:clamp(46px,5vw,82px);line-height:.91;letter-spacing:-.065em;font-weight:850;max-width:7.5em}
.nf-atlas-intro>p{max-width:31em;margin:0 0 24px;font-size:15px;line-height:1.48;color:#72736f}
.nf-atlas-search{position:relative;max-width:560px}
.nf-atlas-search .nf-search-results{position:absolute;z-index:20;left:0;right:0;top:58px;max-height:270px;overflow:auto;box-shadow:var(--shadow)}
.nf-atlas-search .nf-search-state{position:absolute;z-index:20;left:10px;top:60px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;box-shadow:0 7px 22px rgba(20,20,16,.08)}
.nf-atlas-canvas{position:relative;min-height:560px;margin:56px 28px 32px 0;overflow:hidden}
.nf-atlas-world{position:absolute;inset:4% 0 2%;width:100%;height:94%}
.nf-atlas-marker{--x:50%;--y:50%;position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;z-index:4}
.nf-atlas-marker i{display:block;width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 6px rgba(255,255,255,.78)}
.nf-atlas-marker span{opacity:0;transform:translateY(4px) scale(.98);pointer-events:none;white-space:nowrap;padding:7px 10px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass-strong);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);font:650 10px/1 var(--mono);transition:.15s ease}
.nf-atlas-marker:hover span,.nf-atlas-marker:focus-visible span,.nf-atlas-marker.is-featured span{opacity:1;transform:none}
.nf-atlas-marker.is-featured i{background:var(--accent)}
.nf-atlas-marker.is-saved i{width:10px;height:10px;background:#fff;border:2px solid var(--accent);box-shadow:0 0 0 4px rgba(255,255,255,.9)}
.nf-atlas-legend{position:absolute;right:14px;bottom:18px;display:flex;gap:14px;padding:9px 12px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);font:600 9px/1 var(--mono);color:var(--muted)}
.nf-atlas-legend span{display:flex;align-items:center;gap:6px}
.nf-atlas-legend i{width:6px;height:6px;border-radius:50%;background:var(--ink)}
.nf-atlas-legend i.saved{background:#fff;border:1.5px solid var(--accent)}
.nf-atlas-index{grid-column:1/-1;display:grid;grid-template-columns:110px minmax(0,1fr) minmax(260px,420px);gap:16px;align-items:center;padding:18px max(4vw,42px) 22px;border-top:1px solid var(--line);background:rgba(255,255,255,.28)}
.nf-atlas-index>span{font:700 9px/1 var(--mono);letter-spacing:.15em;color:var(--muted)}
.nf-atlas-index>div{display:flex;gap:7px;flex-wrap:wrap}
.nf-atlas-index button,.nf-home-actions button{min-height:42px;padding:0 14px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass);box-shadow:inset 0 1px 0 rgba(255,255,255,.70);-webkit-backdrop-filter:blur(16px) saturate(165%);backdrop-filter:blur(16px) saturate(165%);font-size:10.5px;font-weight:650}
.nf-atlas-index button:hover,.nf-home-actions button:hover{border-color:var(--ink);background:#fff}
.nf-atlas-index small{font-size:9px;line-height:1.45;color:var(--muted)}
.nf-home-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.nf-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:4px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass-strong);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.nf-search input{min-width:0;height:46px;padding:0 15px;border:0;border-radius:var(--pill);background:transparent;font-size:14px;outline:0}
.nf-search button{height:42px;padding:0 18px;border:0;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.nf-search button:hover{background:#2a2a26}
.nf-search--compact input{height:40px;font-size:13px}
.nf-search--compact button{height:36px}
.nf-search-state{padding:10px 4px;font-size:10px;color:var(--muted)}
.nf-search-state.nf-error{color:var(--danger)}
.nf-search-results{margin-top:7px;padding:6px;border:1px solid var(--glass-border);border-radius:20px;background:var(--glass-strong);box-shadow:var(--shadow-control);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%)}
.nf-search-results button{width:100%;min-height:48px;padding:8px 10px;border:0;border-radius:12px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}
.nf-search-results button:hover{background:var(--soft)}
.nf-search-results strong,.nf-search-results small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-search-results strong{font-size:11px}
.nf-search-results small{margin-top:3px;font-size:9px;color:var(--muted)}
.nf-search-results em{font:600 8px/1 var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.nf-product-panel[data-view="pick"]{top:auto;left:50%;right:auto;bottom:20px;width:min(520px,calc(100vw - 28px));height:auto;transform:translateX(-50%);border-radius:24px}
.nf-product-panel[data-view="pick"] .nf-product-view{overflow:visible;padding:0}
.nf-pick-mode{display:flex;align-items:center;gap:18px;padding:16px 16px 16px 18px}
.nf-pick-mode>div{min-width:0;display:grid;gap:4px;flex:1}
.nf-pick-mode strong{font-size:13px}
.nf-pick-mode small{font-size:9px;color:var(--muted);line-height:1.35}
.nf-pick-mode .nf-pick-focus{color:var(--ink);font:650 9px/1.2 var(--mono);letter-spacing:.02em}
.nf-pick-mode button{height:38px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:10px}
.nf-workspace{padding:14px 0 10px}
.nf-work-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding-bottom:12px}
.nf-work-head h1{margin:7px 0 4px;font-size:30px;line-height:.96;letter-spacing:-.055em}
.nf-library h1,.nf-static h1{margin:5px 0 0;font-size:24px;line-height:1.02;letter-spacing:-.045em}
.nf-work-head p{margin:0;font-size:12px;color:var(--muted)}
.nf-work-head>div:last-child{display:flex;gap:6px}
.nf-work-head button,.nf-work-search>button,.nf-work-footer button,.nf-library header>button{min-height:40px;padding:0 14px;border:1px solid var(--glass-border);border-radius:var(--pill);background:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);font-size:10px;font-weight:650}
.nf-static>button{min-height:36px;margin-bottom:18px;padding:0 12px;border:1px solid var(--glass-border);border-radius:var(--pill);background:var(--glass);font-size:9px;font-weight:600}
.nf-work-head button:hover,.nf-work-search>button:hover,.nf-work-footer button:hover{border-color:var(--ink)}
.nf-work-head button:last-child{background:var(--ink);border-color:var(--ink);color:#fff}
.nf-work-search{padding:12px 0 2px;border-top:1px solid var(--line)}
.nf-work-search>button{margin-top:7px}
.nf-place-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:2px 0 12px;border:1px solid var(--glass-border);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.62);box-shadow:inset 0 1px 0 rgba(255,255,255,.78)}
.nf-place-strip>span{min-width:0;padding:14px 14px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.nf-place-strip>span:first-child{padding-left:14px}
.nf-place-strip>span:last-child{border-right:0}
.nf-place-strip>span:nth-child(2n){border-right:0}
.nf-place-strip>span:nth-last-child(-n+2){border-bottom:0}
.nf-place-strip i,.nf-place-strip b{display:block;font-style:normal}
.nf-place-strip i{font-size:7.5px;color:var(--muted-2);font:700 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.nf-place-strip b{margin-top:7px;font-size:20px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.035em}
.nf-group{padding:16px 0;border-top:1px solid var(--line)}
.nf-group-label{margin-bottom:10px;color:#5f5f59;font-size:9px}
.nf-reps{display:flex;gap:6px;overflow:auto;padding:1px 0 3px;scrollbar-width:none}
.nf-reps::-webkit-scrollbar{display:none}
.nf-reps button{flex:0 0 auto;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.95);border-radius:var(--pill);background:rgba(255,255,255,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.nf-reps button strong{font-size:10px;font-weight:650}
.nf-reps button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.nf-reps button:disabled{border-style:dashed;color:var(--muted-2);background:transparent;opacity:.75}
.nf-tool-list{display:grid;border-top:0}
.nf-tool-item{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;overflow:visible}
.nf-tool-item:has(.nf-tool-row[aria-expanded="true"]){background:transparent}
.nf-tool-row{width:100%;min-height:58px;padding:10px 2px;border:0;background:transparent;display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:10px;align-items:center;text-align:left}
.nf-tool-row span strong,.nf-tool-row span small{display:block}
.nf-tool-row strong{font-size:14px;letter-spacing:-.025em}
.nf-tool-row small{margin-top:3px;font-size:11px;color:var(--muted)}
.nf-tool-row>b{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:400;background:rgba(255,255,255,.92)}
.nf-tool-row[aria-expanded="true"] strong{color:var(--accent)}
.nf-tool-row[aria-expanded="true"]>b{border-color:var(--accent);color:var(--accent)}
.nf-tool-body{margin:0 0 10px;padding:13px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:none}
.nf-tool-visual,.nf-setback-visual{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.nf-tool-visual>div+div{border-top:1px solid var(--line)}
.nf-tool-visual svg,.nf-setback-visual svg{display:block;width:100%;height:auto}
.nf-controls{display:grid;gap:3px;margin-top:10px}
.nf-controls label{min-height:45px;display:grid;grid-template-columns:148px minmax(0,1fr);gap:10px;align-items:center;padding:0 2px}
.nf-controls label>span{font-size:9px;color:var(--muted)}
.nf-controls b{font-size:9px;color:var(--ink);font-weight:700}
.nf-controls input[type="range"]{width:100%;accent-color:var(--accent)}
.nf-result-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:9px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.nf-result-line span{padding:9px;border-right:1px solid var(--line);font-size:8px;color:var(--muted)}
.nf-result-line span:last-child{border-right:0}
.nf-result-line b{display:block;margin-top:3px;color:var(--ink);font-size:10px}
.nf-inline-actions{display:flex;gap:6px;margin-top:8px}
.nf-inline-actions button{min-height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:8.5px}
.nf-inline-actions button:hover{border-color:var(--ink)}
.nf-setback-result{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:end;margin-top:9px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.nf-setback-result span{font-size:8px;color:var(--muted)}
.nf-setback-result strong{font-size:16px}
.nf-setback-result em{grid-column:1/-1;font-size:8px;font-style:normal;color:var(--muted)}
.nf-setback-result[data-ok="false"] strong,.nf-setback-result[data-ok="false"] em{color:var(--accent)}
.nf-note{margin:9px 2px 0;font-size:8px;line-height:1.45;color:var(--muted)}
.nf-table{display:grid;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.nf-table>div{min-height:39px;padding:7px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--line)}
.nf-table>div:last-child{border-bottom:0}
.nf-table span{font-size:9px;color:var(--muted)}
.nf-table strong{font-size:10px;text-align:right}
.nf-table--sources span small{display:block;margin-top:2px;font-size:7px;color:#aaa}
.nf-potentials{display:grid;gap:5px;margin-top:8px}
.nf-potentials button{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
.nf-potentials button span,.nf-potentials button strong{font-size:9px}
.nf-potentials button small{grid-column:1/-1;font-size:8px;line-height:1.35;color:var(--muted)}
.nf-potentials button:disabled{opacity:.55}
.nf-source-summary{margin-top:8px;font-size:8px;color:var(--muted)}
.nf-own-data,.nf-finance{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:11px}
.nf-subhead{grid-column:1/-1;padding:0 2px 4px}
.nf-own-data label,.nf-finance label{display:grid;gap:4px}
.nf-own-data label span,.nf-finance label span{font-size:8px;color:var(--muted)}
.nf-own-data input,.nf-finance input{height:39px;padding:0 11px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;font-size:11px}
.nf-own-data button,.nf-finance button{min-height:39px;border:0;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:9px;align-self:end}
.nf-finance-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:9px}
.nf-finance-result>div{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.nf-finance-result span{display:block;font-size:8px;color:var(--muted)}
.nf-finance-result strong{display:block;margin-top:4px;font-size:10px}
.nf-work-footer{display:grid;grid-template-columns:auto auto 1fr;gap:6px;align-items:center;padding:12px 0 3px;padding-top:14px}
.nf-work-footer span{font-size:8.5px;text-align:right;color:var(--muted)}
.nf-library,.nf-static{padding:18px 0}
.nf-library header{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;padding-bottom:12px}
.nf-library-list{display:grid;gap:6px;margin-top:10px}
.nf-library-list article{display:grid;grid-template-columns:minmax(0,1fr) 78px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.nf-library-list button{min-height:56px;border:0;background:#fff;text-align:left;padding:8px 10px}
.nf-library-list button+button{border-left:1px solid var(--line);text-align:center;font-size:8.5px}
.nf-library-list strong,.nf-library-list small{display:block}
.nf-library-list strong{font-size:10.5px}
.nf-library-list small{margin-top:4px;font-size:8px;color:var(--muted)}
.nf-compare{width:100%;height:40px;margin-top:9px;border:0;border-radius:var(--pill);background:var(--ink);color:#fff;font-size:9px}
.nf-compare:disabled{background:#e7e7e2;color:#999}
.nf-empty{font-size:10px;color:var(--muted)}
.nf-compare-table{margin-top:12px;overflow:auto;border:1px solid var(--line);border-radius:13px}
.nf-compare-row{min-width:520px;display:grid;grid-template-columns:120px repeat(3,minmax(110px,1fr))}
.nf-compare-row>*{padding:8px;border-right:1px solid var(--line);font-size:9px}
.nf-compare-row>*:last-child{border-right:0}
.nf-compare-row+.nf-compare-row{border-top:1px solid var(--line)}
.nf-compare-row--head{background:var(--soft)}
.nf-static p{max-width:34em;font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:1100px) and (min-width:900px){
  .nf-atlas-home{grid-template-columns:minmax(340px,46vw) 1fr}.nf-atlas-intro{padding-left:36px}.nf-atlas-index{padding-left:36px;padding-right:36px;grid-template-columns:80px 1fr}.nf-atlas-index small{display:none}
}
@media(max-width:899px){
  body[data-nf-ui-state="workspace"] .nf-map-zoom,body[data-nf-ui-state="library"] .nf-map-zoom,body[data-nf-ui-state="info"] .nf-map-zoom,body[data-nf-ui-state="privacy"] .nf-map-zoom,body[data-nf-ui-state="imprint"] .nf-map-zoom{right:max(14px,calc(env(safe-area-inset-right) + 8px))}
  .nf-attribution{bottom:calc(56dvh + 12px);max-width:55vw}.nf-product-panel:not([data-view="home"]):not([data-view="pick"]){top:auto;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:auto;height:min(56dvh,590px);border-radius:26px;transition:height .18s ease;border-color:var(--glass-border);background:rgba(249,249,246,.82);box-shadow:0 -14px 46px rgba(20,20,16,.12),inset 0 1px 0 rgba(255,255,255,.82);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%)}.nf-product-panel[data-has-project="false"]:not([data-view="home"]):not([data-view="pick"]){height:min(43dvh,420px)}.nf-product-panel[data-tool]:not([data-tool=""]):not([data-view="home"]):not([data-view="pick"]){height:min(72dvh,720px)}.nf-product-panel[data-view="library"],.nf-product-panel[data-view="info"],.nf-product-panel[data-view="privacy"],.nf-product-panel[data-view="imprint"]{height:min(76dvh,760px)!important}.nf-product-view{padding:0 14px calc(12px + env(safe-area-inset-bottom))}.nf-toast{right:auto;left:50%;transform:translateX(-50%);bottom:calc(min(56dvh,590px) + 18px);max-width:calc(100vw - 28px)}
  .nf-atlas-home{display:block;min-height:100vh;padding-bottom:0}.nf-atlas-intro{padding:112px 24px 18px;max-width:650px}.nf-atlas-intro h1{font-size:48px;max-width:7.6em}.nf-atlas-intro>p{font-size:12px}.nf-atlas-canvas{height:46vh;min-height:360px;margin:0 12px 16px}.nf-atlas-marker span{display:none}.nf-atlas-marker.is-featured span{display:block;font-size:8px;padding:5px 7px}.nf-atlas-index{display:block;padding:16px 18px 22px}.nf-atlas-index>span{display:block;margin-bottom:10px}.nf-atlas-index small{display:block;margin-top:10px}.nf-atlas-index>div{gap:6px}
}
@media(max-width:500px){
  .nf-brand{width:44px;height:44px;padding:9px}.nf-map-zoom{gap:5px}.nf-map-zoom button{width:38px;height:38px;min-height:40px}.nf-atlas-intro{padding-top:96px}.nf-atlas-intro h1{font-size:46px}.nf-atlas-search .nf-search-results{top:56px}.nf-atlas-canvas{height:42vh;min-height:320px;margin-inline:6px}.nf-atlas-world{inset:2% -8% 0;width:116%}.nf-atlas-marker.is-featured span{display:none}.nf-atlas-legend{right:8px;bottom:10px}.nf-home-actions{flex-wrap:wrap}
  .nf-workspace{padding-top:14px}.nf-work-head{grid-template-columns:1fr}.nf-work-head>div:last-child{justify-content:flex-start}.nf-work-head h1{font-size:22px}.nf-place-strip{grid-template-columns:1fr 1fr}.nf-place-strip>span:nth-child(2){border-right:0}.nf-place-strip>span:nth-child(-n/**/+2){border-bottom:1px solid var(--line)}.nf-controls label{grid-template-columns:116px minmax(0,1fr)}.nf-result-line{grid-template-columns:1fr}.nf-result-line span{border-right:0;border-bottom:1px solid var(--line)}.nf-result-line span:last-child{border-bottom:0}.nf-own-data,.nf-finance{grid-template-columns:1fr}.nf-subhead{grid-column:auto}.nf-finance-result{grid-template-columns:1fr}.nf-work-footer{grid-template-columns:auto auto}.nf-work-footer span{grid-column:1/-1;text-align:left}.nf-toast{bottom:calc(min(56dvh,590px) + 16px)}.nf-pick-mode{align-items:flex-start}.nf-pick-mode button{flex:0 0 auto}
}
.nf-terrain-inline{margin-top:8px;padding:10px 11px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.82);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center}
.nf-terrain-inline>span{grid-column:1/-1;font-size:8.5px;color:var(--muted)}
.nf-terrain-inline>div:first-child strong,.nf-terrain-inline>div:first-child small{display:block}
.nf-terrain-inline>div:first-child strong{font-size:12px}
.nf-terrain-inline>div:first-child small{margin-top:3px;font-size:8px;color:var(--muted)}
.nf-terrain-inline>p{grid-column:1/-1;margin:0;font-size:7.5px;color:var(--muted-2)}
.nf-terrain-inline>button{justify-self:end;min-height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:8px}
.nf-terrain-intervals{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.nf-terrain-intervals button{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:var(--pill);background:#fff;font-size:7.5px}
.nf-terrain-intervals button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
.nf-terrain-label-icon{background:transparent!important;border:0!important}
.nf-terrain-label-icon span{display:block;transform:translate(3px,-50%);padding:2px 4px;border-radius:6px;background:rgba(247,246,242,.88);font:600 7px/1 var(--mono);color:#555;white-space:nowrap}
.nf-measured-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;margin-top:9px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.nf-measured-line span{font-size:8px;color:var(--muted)}
.nf-measured-line strong{font-size:10px}
.nf-measured-line button{height:29px;padding:0 9px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:7.5px}
.nf-output-note{margin:9px 2px 0;font-size:8px;line-height:1.45;color:var(--muted)}
@media(max-width:500px){.nf-terrain-inline{grid-template-columns:1fr}.nf-terrain-intervals{justify-content:flex-start}.nf-measured-line{grid-template-columns:1fr auto}.nf-measured-line button{grid-column:1/-1;justify-self:start}}
.nf-direct-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:9px;padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}
.nf-direct-edit strong,.nf-direct-edit small{display:block}
.nf-direct-edit strong{font-size:10px}
.nf-direct-edit small{margin-top:3px;font-size:7.7px;line-height:1.35;color:var(--muted)}
.nf-edit-history{display:flex;gap:4px;align-items:center}
.nf-edit-history button{height:30px;min-width:30px;padding:0 9px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:10px}
.nf-edit-history button:last-child{font-size:7.5px;text-transform:uppercase;letter-spacing:.04em}
.nf-edit-history button:disabled{opacity:.35}
.nf-tool-visual--height{margin-bottom:7px}
.nf-tool-visual--height>div{border-top:0!important}
.nf-plan-handle{background:transparent!important;border:0!important;pointer-events:auto!important}
.nf-plan-handle span{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(17,17,15,.24);border-radius:50%;background:rgba(255,255,255,.97);box-shadow:0 4px 14px rgba(20,20,16,.12);color:var(--ink);font:800 14px/1 var(--font);user-select:none;-webkit-user-select:none;touch-action:none}
.nf-plan-handle--resize span{width:18px;height:18px;margin:6px;border:2px solid #fff;background:var(--accent);box-shadow:0 0 0 1px rgba(17,17,15,.25),0 3px 10px rgba(20,20,16,.14)}
.nf-plan-handle--move span{border-color:var(--accent);color:var(--accent);font-size:12px;cursor:move}
.nf-plan-handle--step span{border-color:var(--ink);background:var(--ink);color:#fff;font-size:17px;cursor:pointer}
.nf-plan-handle--split span{width:26px;height:26px;margin:2px;border-color:var(--accent);color:var(--accent);font-size:16px;cursor:ew-resize}
.nfToolHandlePane,.leaflet-nfToolHandle-pane{pointer-events:none}
.nfToolHandlePane .leaflet-marker-icon,.leaflet-nfToolHandle-pane .leaflet-marker-icon{pointer-events:auto}
@media(max-width:500px){.nf-direct-edit{grid-template-columns:1fr}.nf-edit-history{justify-content:flex-start}.nf-plan-handle span{width:34px;height:34px}.nf-plan-handle--resize span{width:22px;height:22px;margin:6px}}
.nf-terrain-primary strong,.nf-terrain-primary small{display:block}
.nf-terrain-primary strong{font-size:15px;letter-spacing:-.02em}
.nf-terrain-primary small{margin-top:3px;font-size:8px;color:var(--muted)}
.nf-terrain-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nf-terrain-stats span{min-width:0;padding:7px 8px 7px 0}
.nf-terrain-stats span+span{padding-left:8px;border-left:1px solid var(--line)}
.nf-terrain-stats i,.nf-terrain-stats b{display:block;font-style:normal}
.nf-terrain-stats i{font-size:7px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em}
.nf-terrain-stats b{margin-top:3px;font-size:9px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nfTerrainPane path{vector-effect:non-scaling-stroke}
@media(max-width:500px){.nf-terrain-stats{grid-template-columns:1fr 1fr}.nf-terrain-stats span:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0}}
.nf-tool-context{margin-bottom:9px;padding:9px 11px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.nf-tool-context strong,.nf-tool-context small{display:block}
.nf-tool-context strong{font-size:9px}
.nf-tool-context small{margin-top:3px;font-size:7.6px;line-height:1.4;color:var(--muted)}
.nf-measured-line--auto{grid-template-columns:minmax(0,1fr) auto}
.nf-measured-line--auto strong{font-size:11px}
.nf-output-rows{display:grid;gap:0;border:1px solid var(--glass-border);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.60);box-shadow:inset 0 1px 0 rgba(255,255,255,.72);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.nf-output-row{min-height:48px;padding:7px 10px 7px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.nf-output-row:last-child{border-bottom:0}
.nf-output-row>span{font-size:11px;font-weight:650;color:var(--ink)}
.nf-output-row>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.nf-output-row button{height:36px;padding:0 12px;border:1px solid var(--glass-border);border-radius:999px;background:rgba(255,255,255,.88);font-size:9px;font-weight:650;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.nf-output-row button:hover{border-color:var(--ink);background:#fff}
.nf-output-more{width:100%;min-height:40px;margin-top:8px;border:1px solid var(--glass-border);border-radius:var(--pill);background:rgba(255,255,255,.66);font-size:9px;font-weight:650;color:var(--muted)}
.nf-output-more:hover{background:#fff;color:var(--ink);border-color:var(--ink)}
@media(max-width:600px){.nf-output-row{padding-left:10px}.nf-output-row button{padding:0 8px}}
.nf-layer-toggles{display:flex;gap:6px;overflow:auto;padding:5px 0 1px;scrollbar-width:none;padding-top:7px}
.nf-layer-toggles::-webkit-scrollbar{display:none}
.nf-layer-toggles button{flex:0 0 auto;height:30px;padding:0 10px;border:1px solid var(--glass-border);border-radius:var(--pill);background:rgba(255,255,255,.62);font:650 7.5px/1 var(--mono);color:var(--muted);box-shadow:inset 0 1px 0 rgba(255,255,255,.68);font-size:8px}
.nf-layer-toggles button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:#fff}
#map.nf-measure-active,.nf-measure-active{cursor:crosshair!important}
.nf-measure-point,.nf-measure-label{background:transparent!important;border:0!important;pointer-events:none!important}
.nf-measure-point span{width:24px;height:24px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;background:#fff;box-shadow:0 3px 12px rgba(20,20,16,.14);font:800 8px/1 var(--mono);color:var(--ink)}
.nf-measure-label span{display:block;transform:translate(7px,-50%);white-space:nowrap;padding:5px 8px;border:1px solid var(--accent);border-radius:var(--pill);background:rgba(255,255,255,.97);box-shadow:0 4px 14px rgba(20,20,16,.09);font:750 8px/1 var(--mono);color:var(--ink)}
.nf-measure-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:8px}
.nf-measure-head strong,.nf-measure-head small{display:block}
.nf-measure-head strong{font-size:10px}
.nf-measure-head small{margin-top:3px;font-size:7.7px;line-height:1.35;color:var(--muted)}
.nf-measure-head>button{height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:7.5px}
.nf-measure-head>button:disabled{opacity:.35}
.nf-measure-modes{display:grid;gap:5px;flex-wrap:wrap;margin-bottom:8px;grid-template-columns:repeat(4,minmax(0,1fr))}
.nf-measure-modes button{height:31px;padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--pill);background:#fff;font-size:8px;min-width:0;padding-left:7px;padding-right:7px}
.nf-measure-modes button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.nf-measure-result{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.nf-measure-result span{font-size:9px;font-weight:700}
.nf-measure-result b{font:650 7.5px/1 var(--mono);color:var(--muted)}
.nf-profile-chart{margin-top:8px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.nf-profile-chart svg{display:block;width:100%;height:auto}
@media(max-width:500px){.nf-layer-toggles{padding-bottom:3px}.nf-layer-toggles button{height:30px}.nf-measure-head{grid-template-columns:1fr auto}.nf-measure-modes button{min-height:32px}}
.nf-source-notice{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:7px 0 2px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.66)}
.nf-source-notice span{font:650 7.5px/1.25 var(--mono);color:var(--muted)}
.nf-source-notice small{font-size:7.3px;color:var(--muted-2);text-align:right}
.nf-source-notice[data-errors]:not([data-errors="0"]){border-color:#e7c4bb}
@media(max-width:500px){.nf-source-notice{display:block}.nf-source-notice small{display:block;margin-top:4px;text-align:left}}
.nf-sun-visual{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:8px}
.nf-sun-visual svg{display:block;width:100%;height:auto}
.nf-sun-result{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:end;margin-top:9px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.nf-sun-result span{font-size:8px;color:var(--muted)}
.nf-sun-result strong{font-size:16px}
.nf-sun-result em{grid-column:1/-1;font-size:8px;font-style:normal;color:var(--muted)}
.nf-sun-result[data-above="false"] strong,.nf-sun-result[data-above="false"] em{color:var(--muted)}
.nf-section-chart{background:#fff}
@media(max-width:500px){.nf-measure-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.nf-sun-result{grid-template-columns:1fr auto}}
.nf-height-inline{margin-top:7px;padding:8px 10px;border:1px solid var(--line);border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}
.nf-height-inline span{font:650 7.5px/1 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.nf-height-inline strong{font-size:8.5px;font-weight:650;color:var(--ink)}
.nf-height-label{background:transparent;border:0}
.nf-height-label span{display:block;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(23,25,23,.18);font:700 8px/18px var(--mono);text-align:center;color:#171917;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.nf-height-label span[data-selected="true"]{background:#4C6FFF;color:#fff;border-color:#4C6FFF}
.nf-version-panel{margin:-2px 0 12px;padding:10px;border:1px solid var(--glass-border);border-radius:18px;background:rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.nf-version-head{padding:2px 2px 8px}
.nf-version-head strong,.nf-version-head small{display:block}
.nf-version-head strong{font-size:9.5px}
.nf-version-head small{margin-top:3px;font-size:7.6px;line-height:1.4;color:var(--muted)}
.nf-version-panel>button{width:100%;min-height:38px;padding:7px 9px;border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;color:var(--ink)}
.nf-version-panel>button span{font-size:8.5px;font-weight:650}
.nf-version-panel>button time{font:600 7.5px/1 var(--mono);color:var(--muted)}
.nf-version-panel>button:hover{background:var(--paper)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media (prefers-reduced-transparency:reduce){.nf-brand,.nf-brand-menu,.nf-map-zoom,.nf-product-panel,.nf-search,.nf-search-results,.nf-atlas-marker span,.nf-atlas-legend,.nf-version-panel{background:#fbfbf9!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nf-brand,.nf-brand-menu,.nf-map-zoom,.nf-product-panel,.nf-search,.nf-search-results,.nf-atlas-marker span,.nf-atlas-legend,.nf-version-panel{background:rgba(251,251,249,.97)}}
@media(max-width:500px){button{min-height:38px}.nf-search button{min-height:42px}.nf-atlas-wordmark{width:140px;margin-bottom:22px}}
.nf-atlas-intro h1 span{color:var(--accent)}
.nf-home-actions button{min-width:168px;padding-inline:18px;background:rgba(255,255,255,.78)}
.nf-mini-status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-2px 0 12px;padding:10px 12px;border:1px solid var(--glass-border);border-radius:18px;background:rgba(255,255,255,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.nf-mini-status span{font:650 8px/1.25 var(--mono);color:var(--muted)}
.nf-mini-status button{min-height:34px;padding:0 12px;border:1px solid var(--glass-border);border-radius:var(--pill);background:#fff;font-size:8.5px;font-weight:650}
@media(max-width:899px){
  .nf-home-actions button{min-width:0;flex:1 1 180px}
  .nf-mini-status{padding:9px 10px}
}
@media(max-width:500px){
  .nf-atlas-intro>p{font-size:13px}
  .nf-place-strip b{font-size:16px}
}
