#nf-app{--ink:#14213D;--muted:#4A5568;--line:#DADDD6;--ground:#F4F5F2;--accent:#0E6B5C;--accent-dk:#0A4F44;--tint:#E3EFEC;--amber:#8A4005;--amber-bg:#FFF7E6;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--ground);max-width:560px;margin:0 auto;display:flex;flex-direction:column;border:1px solid #D9E2EC;border-radius:12px;box-shadow:0 10px 30px rgba(11,31,51,0.08);overflow:hidden}
#nf-app *{box-sizing:border-box}
#nf-app .dev{background:var(--amber-bg);border-bottom:1px dashed #B45309;padding:8px 16px;font-size:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
#nf-app .dev b{color:var(--amber);margin-right:4px}
#nf-app .dev button{min-height:32px;padding:0 10px;border-radius:8px;border:1px solid #B45309;background:#fff;color:var(--amber);font:600 12px Inter,sans-serif;cursor:pointer}
#nf-app .dev button[aria-pressed="true"]{background:var(--amber);color:#fff}
#nf-app header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line)}
#nf-app .logo{font:800 18px 'Newsreader',Georgia,serif}
#nf-app .who{background:none;border:0;font:600 14px Inter,sans-serif;color:var(--accent);cursor:pointer;min-height:44px;padding:0}
#nf-app main{padding:16px 20px 24px;flex:1;display:flex;flex-direction:column;gap:14px}
#nf-app .top{display:flex;justify-content:space-between;align-items:center;min-height:44px}
#nf-app .back{background:none;border:0;color:var(--accent);font:600 14px Inter,sans-serif;min-height:44px;cursor:pointer;padding:0}
#nf-app .step{font-size:13px;font-weight:600;color:var(--muted)}
/* stepper */
#nf-app .stepper{display:flex;align-items:flex-start;gap:0;list-style:none;margin:0;padding:0}
#nf-app .stepper li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;min-width:0}
#nf-app .stepper li:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 17px);right:calc(-50% + 17px);height:2px;background:var(--line)}
#nf-app .stepper li.done:not(:last-child)::after{background:var(--accent)}
#nf-app .stepper .dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 13px Inter,sans-serif;background:#fff;border:2px solid var(--line);color:var(--muted)}
#nf-app .stepper li.done .dot{background:var(--accent);border-color:var(--accent);color:#fff;cursor:pointer}
#nf-app .stepper li.cur .dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px var(--tint)}
#nf-app .stepper span.l{font-size:11px;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap}
#nf-app .stepper li.cur span.l{color:var(--ink)}
#nf-app .stepper button{background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font:inherit}
/* niche builder */
#nf-app .builder{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
#nf-app .builder .lbl{margin-bottom:4px}
#nf-app .brow{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:34px;font-size:14px;border-radius:8px;padding:0 6px;margin:0 -6px}
#nf-app .brow .k{color:var(--muted);flex:none;width:72px}
#nf-app .brow .v{flex:1;font-weight:600;text-align:left}
#nf-app .brow .v.empty{font-weight:400;color:#8B94A3}
#nf-app .brow.cur{background:var(--tint)}
#nf-app .brow.cur .v.empty{color:var(--accent-dk);font-weight:600}
#nf-app .brow .ed{background:none;border:0;color:var(--accent);font:600 13px Inter,sans-serif;cursor:pointer;min-height:34px;padding:0 4px}
#nf-app h1{margin:2px 0 0;font:800 26px/1.15 'Newsreader',Georgia,serif;letter-spacing:-.3px}
#nf-app h2{margin:0;font:800 20px/1.2 'Newsreader',Georgia,serif}
#nf-app p.sub{margin:0;font-size:15px;line-height:1.45;color:var(--muted)}
#nf-app .chips{display:flex;gap:6px;flex-wrap:wrap}
#nf-app .seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#E6E8E2;border-radius:12px}
#nf-app .seg button{min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:500 15px Inter,sans-serif;cursor:pointer}
#nf-app .seg button[aria-pressed="true"]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(20,33,61,.12)}
#nf-app .list{display:flex;flex-direction:column;gap:8px}
#nf-app .opt{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:10px 14px 10px 16px;border:2px solid var(--line);border-radius:12px;background:#fff;font:600 16px Inter,sans-serif;color:var(--ink);text-align:left;cursor:pointer;width:100%;transition:background .15s,border-color .15s}
#nf-app .opt small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:2px}
#nf-app .opt .ck{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;color:transparent}
#nf-app .opt[aria-pressed="true"]{border-color:var(--accent);background:var(--tint)}
#nf-app .opt[aria-pressed="true"] .ck{background:var(--accent);border-color:var(--accent);color:#fff}
#nf-app .card{padding:16px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
#nf-app .dark{background:var(--ink);color:#fff;border:0}
#nf-app .dark .lbl{color:#B9C3D6}
#nf-app .lbl{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
#nf-app .big{font:700 20px/1.25 'Newsreader',Georgia,serif}
#nf-app label{font-size:14px;font-weight:600}
#nf-app .fld{display:flex;flex-direction:column;gap:6px}
#nf-app input[type=text],#nf-app input[type=email],#nf-app input[type=tel]{min-height:50px;padding:0 14px;border:1px solid #A7ADA2;border-radius:12px;font:16px Inter,sans-serif;color:var(--ink);background:#fff;width:100%}
#nf-app .row{display:flex;gap:8px}
#nf-app .btn{display:flex;justify-content:center;align-items:center;text-align:center;min-height:52px;padding:0 18px;border:0;border-radius:12px;background:var(--accent);color:#fff;font:700 16px Inter,sans-serif;cursor:pointer;text-decoration:none;width:100%}
#nf-app .btn.ink{background:var(--ink)}
#nf-app .btn.ghost{background:#fff;color:var(--ink);border:1px solid #A7ADA2}
#nf-app .btn.sm{min-height:44px;font-size:14px;width:auto}
#nf-app .btn[disabled]{opacity:.45;cursor:not-allowed}
#nf-app .tlink{background:none;border:0;padding:0;color:var(--accent);font:600 15px/1.45 Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
#nf-app .err{font-size:13px;color:#B42318;min-height:0}
#nf-app .note{font-size:13px;line-height:1.45;color:var(--muted)}
#nf-app .pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}
#nf-app .pill.open{background:var(--tint);color:var(--accent-dk)}
#nf-app .pill.held{background:var(--amber-bg);color:var(--amber);border:1px solid #F0C98A}
#nf-app .pill.claimed{background:#ECEDF1;color:#3B4458}
#nf-app .admin{background:var(--amber-bg);border:1px dashed #B45309}
#nf-app .admin .lbl{color:var(--amber)}
#nf-app footer{position:sticky;bottom:0;padding:12px 20px 18px;background:#fff;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;box-shadow:0 -4px 12px rgba(20,33,61,.06)}
#nf-app footer .sel{font-size:13px;color:var(--muted);min-height:18px}
#nf-app footer .sel b{color:var(--ink)}
#nf-app .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#nf-app .tag{font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;background:#E6E8E2}
#nf-app .toast{background:var(--accent);color:#fff;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45}
#nf-app .banner{background:var(--accent);color:#fff;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
#nf-app .banner .hl{font:700 18px/1.25 'Newsreader',Georgia,serif}
#nf-app .rep{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}
#nf-app .rep[aria-pressed="true"]{border-color:var(--accent);background:var(--tint)}
#nf-app .grade{min-width:44px;height:44px;border-radius:10px;background:var(--tint);color:var(--accent-dk);display:flex;justify-content:center;align-items:center;font:800 18px 'Newsreader',Georgia,serif}
#nf-app .ziprow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #E6E8E2}
#nf-app .check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;font-weight:400}
#nf-app .check input{width:20px;height:20px;margin:1px 0 0;flex:none}
#nf-app .hero{flex-direction:row;align-items:center;gap:16px}
#nf-app .ring{--p:0;flex:none;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p)*1%), #E6E8E2 0);display:flex;align-items:center;justify-content:center}
#nf-app .ring>div{width:88px;height:88px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
#nf-app .ring b{font:800 34px/1 'Newsreader',Georgia,serif}
#nf-app .ring span{font-size:11px;color:var(--muted);margin-top:2px}
#nf-app .gradepill{display:inline-block;padding:5px 10px;border-radius:999px;font-weight:700;font-size:13px;background:var(--tint);color:var(--accent-dk)}
#nf-app .gradepill.gC{background:#FFF7E6;color:#8A4005}
#nf-app .gradepill.gD{background:#FDECEA;color:#9B1C1C}
#nf-app .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#nf-app .stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:4px}
#nf-app .stat b{font:800 24px/1 'Newsreader',Georgia,serif}
#nf-app .stat span{font-size:12px;line-height:1.3;color:var(--muted)}
#nf-app .part{display:flex;flex-direction:column;gap:6px;padding:4px 0}
#nf-app .prow{display:flex;justify-content:space-between;align-items:center;font-size:15px}
#nf-app .lvl{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px}
#nf-app .lvl.hi{background:var(--tint);color:var(--accent-dk)}
#nf-app .lvl.mid{background:#FFF7E6;color:#8A4005}
#nf-app .lvl.lo{background:#FDECEA;color:#9B1C1C}
#nf-app .pbar{height:8px;border-radius:4px;background:#E6E8E2}
#nf-app .pbar i{display:block;height:8px;border-radius:4px;background:var(--accent)}
#nf-app .pbar i.mid{background:#D08A2E}
#nf-app .pbar i.lo{background:#C2412D}
#nf-app .sw .card{gap:6px}
#nf-app .sidepick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#nf-app .sidepick button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:84px;padding:14px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;font:inherit}
#nf-app .sidepick b{font:800 18px 'Newsreader',Georgia,serif}
#nf-app .sidepick small{font-size:13px;color:var(--muted)}
#nf-app .sidepick .ck{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:13px;color:transparent}
#nf-app .sidepick button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
#nf-app .sidepick button[aria-pressed="true"] small{color:#E3EFEC}
#nf-app .sidepick button[aria-pressed="true"] .ck{background:#fff;border-color:#fff;color:var(--accent)}
#nf-app .tease{border:2px dashed #9CC5BC;background:#F7FBFA}
#nf-app .mystery{min-width:36px;height:36px;border-radius:10px;background:repeating-linear-gradient(45deg,#E3EFEC,#E3EFEC 6px,#D3E6E1 6px,#D3E6E1 12px);color:var(--accent-dk);display:flex;align-items:center;justify-content:center;font:800 16px 'Newsreader',Georgia,serif}
#nf-app .kitgrp{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--accent-dk);margin-top:6px}
#nf-app .kititem{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.35}
#nf-app .kck{flex:none;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:1px}
#nf-app .kitbonus{background:var(--tint);color:var(--accent-dk);border-radius:10px;padding:10px 12px;font-size:14px}
#nf-app .kitfor{border:2px solid var(--accent);background:#F7FBFA}
#nf-app .nchips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#nf-app .nchips span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-weight:700;font-size:14px;line-height:1.3}
#nf-app .nchips small{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
#nf-app .win{border:2px solid var(--accent);background:#F7FBFA}
#nf-app .stickymsg{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:560px;padding:12px 20px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 12px rgba(20,33,61,.08);display:flex;align-items:center;gap:10px;transition:transform .2s ease,opacity .2s ease;z-index:5}
#nf-app .stickymsg[hidden],#nf-app footer[hidden]{display:none}
#nf-app .stickymsg.off{transform:translate(-50%,110%);opacity:0;pointer-events:none}
#nf-app .stickymsg .hl{flex:1;font-size:13px;line-height:1.35;font-weight:600}
#nf-app.has-sticky main{padding-bottom:96px}
#nf-app .qa{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #E6E8E2}
#nf-app .qa:first-of-type{border-top:0}
#nf-app .qn{flex:none;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font:700 12px Inter,sans-serif;display:flex;align-items:center;justify-content:center;margin-top:1px}
#nf-app .alt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #E6E8E2}
#nf-app .grp{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:8px 0 -2px}
#nf-app .xchips{display:flex;flex-wrap:wrap;gap:8px}
#nf-app .xchips button{min-height:44px;padding:0 14px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);font:600 14px Inter,sans-serif;cursor:pointer}
#nf-app .xchips button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
#nf-app .xchips button[disabled]{opacity:.4;cursor:not-allowed}
#nf-app .opt[disabled]{opacity:.45;cursor:not-allowed}
#nf-app .suggbox{border-style:dashed;border-color:var(--accent)}
#nf-app .hero1{display:flex;flex-direction:column;gap:6px;padding:4px 0 2px}
#nf-app .mapctl{display:flex;flex-direction:column;gap:8px}
#nf-app select{min-height:48px;padding:0 12px;border:1px solid #A7ADA2;border-radius:12px;font:15px Inter,sans-serif;color:var(--ink);background:#fff;width:100%}
#nf-app .seg3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;background:#E6E8E2;border-radius:12px}
#nf-app .seg3 button{min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:600 14px Inter,sans-serif;cursor:pointer}
#nf-app .seg3 button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(20,33,61,.12)}
#nf-app .mapwrap{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px}
#nf-app .usmap{display:block;width:100%;height:auto}
#nf-app .usmap path[data-geo]{cursor:pointer}
#nf-app .usmap path[data-geo]:hover{opacity:.8}
#nf-app .legend{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
#nf-app .legend i{flex:1;height:10px;border-radius:2px}
#nf-app .crumbs{font-size:14px}
#nf-app .crumbs .tlink{font-size:14px}
#nf-app .toprow{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 0;border:0;border-top:1px solid #E6E8E2;background:none;font:15px Inter,sans-serif;color:var(--ink);cursor:pointer}
#nf-app .toprow .rk{width:24px;height:24px;border-radius:50%;background:var(--tint);color:var(--accent-dk);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
#nf-app .lockbox{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:12px;border:2px dashed #9CC5BC;background:#F7FBFA}
#nf-app .hero1 h1{font-size:30px}
#nf-app .mapcta{display:flex;align-items:center;gap:12px;width:100%;padding:16px;border-radius:14px;border:0;background:var(--ink);color:#fff;text-align:left;cursor:pointer;font:inherit}
#nf-app .mapcta b{font:800 17px 'Newsreader',Georgia,serif;display:block}
#nf-app .mapcta small{display:block;font-size:13px;color:#C9D2E3;margin-top:3px;line-height:1.35}
#nf-app .mapcta>span:last-child{font-size:26px}
#nf-app .cgrp[aria-expanded="true"]{border-color:var(--accent)}
#nf-app .sublist{display:flex;flex-direction:column;gap:6px;padding:2px 0 6px 14px;border-left:3px solid var(--tint);margin-left:6px}
#nf-app .sublist .opt{min-height:50px;font-size:15px}
#nf-app .paybar{display:flex;height:12px;border-radius:6px;overflow:hidden;background:#E6E8E2}
#nf-app .paybar i{display:block;height:12px}
#nf-app .paykey{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;font-size:14px}
#nf-app .paykey span{display:flex;align-items:center;gap:6px}
#nf-app .paykey b{margin-left:auto}
#nf-app .sw2{width:10px;height:10px;border-radius:3px;flex:none}

/* WordPress: site palette */
#nf-app{--ink:#0B1F33;--muted:#4A5560;--line:#D9E2EC;--ground:#FFFFFF;--accent:#C2410C;--accent-dk:#9A3412;--tint:#FBE9E0}
#nf-app .grade,#nf-app .gradepill{background:#E3EFEC;color:#0A4F44}
#nf-app header{justify-content:flex-end}
#nf-app .logo{display:none}
#nf-app h1,#nf-app h2,#nf-app .big{font-weight:700}
