:root{color-scheme:dark;--bg:#141213;--panel:#1c191a;--ink:#f9f5ed;--muted:#b4aca8;--faint:#898181;--line:rgba(255,255,255,.12);--wine:#9b4156;--rose:#e4a5b5;--active:#d9bba4;--ease:cubic-bezier(.2,.8,.2,1);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.4;overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:4px}button{border:0}a{color:var(--rose)}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}i[data-icon]{display:inline-flex;align-items:center;justify-content:center;font-style:normal}h1,h2,h3,p{margin:0}button,input,textarea,select{border-radius:0}.skip-link{position:fixed;left:15px;top:-60px;z-index:1000;padding:12px;background:var(--ink);color:var(--bg)}.skip-link:focus{top:10px}.app-shell{display:grid;grid-template-columns:82px minmax(0,1fr) 372px;height:100dvh}.rail{background:#171416;border-right:1px solid var(--line);z-index:5;display:flex;align-items:center;flex-direction:column;padding:28px 9px 20px}.brand-mark{color:var(--ink);font:italic 38px Georgia,serif;text-decoration:none;letter-spacing:-6px;width:48px;height:52px;text-align:center}.brand-mark span{color:var(--rose);font-style:normal;font-size:40px}.rail-items{margin:auto 0;display:grid;gap:12px;width:100%}.nav-item{background:transparent;color:var(--faint);border-radius:18px;min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:background .25s,color .25s}.nav-item span{font-size:12px;font-weight:600}.nav-item svg{width:23px;height:23px}.nav-item:hover,.nav-item.active{color:var(--ink);background:rgba(255,255,255,.075)}.nav-item.active{box-shadow:inset 0 0 0 1px var(--line)}.profile-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted)}.workspace{position:relative;min-width:0;overflow:hidden;isolation:isolate}.map{position:absolute;inset:0;background:#33372e}.map-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(17,18,16,.69),transparent 65%),linear-gradient(0deg,rgba(16,17,15,.72),transparent 38%),linear-gradient(180deg,rgba(12,14,12,.58),transparent 24%);z-index:1}.topbar{position:relative;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px 32px}.wordmark{display:grid;gap:3px}.wordmark>span{font-size:17px;font-weight:740;letter-spacing:.14em}.wordmark>small{font-size:10px;letter-spacing:.2em;color:#c6c3bb}.header-center{display:flex;align-items:center;gap:7px;font-size:12px;color:#e2ded5}.header-center svg{width:15px;height:15px}.topbar-actions{display:flex;align-items:center;gap:14px}.save-status{font-size:12px;color:#c5c3b9;white-space:nowrap}.save-status.error{color:var(--rose)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:rgba(22,21,20,.42);color:var(--ink);transition:background .2s,transform .2s}.icon-button:hover{background:rgba(255,255,255,.13)}.icon-button:active,.button:active{transform:scale(.97)}.map-toolbar{position:absolute;z-index:4;right:32px;top:116px;display:flex;gap:10px;align-items:center}.segmented{display:flex;border:1px solid var(--line);border-radius:30px;padding:4px;background:rgba(20,21,18,.65);backdrop-filter:blur(20px)}.segmented button{font-size:12px;font-weight:600;padding:9px 15px;border-radius:24px;background:transparent;color:var(--muted)}.segmented button.active{background:var(--ink);color:#28241f}.map-overview{position:absolute;top:142px;left:38px;z-index:3;pointer-events:none}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.15em;color:var(--muted);line-height:1.4}.overview-intro>.eyebrow{color:#e4ded1}.overview-intro h1{font-size:clamp(42px,4vw,72px);line-height:1.04;font-weight:580;letter-spacing:-.065em;margin:18px 0 28px;text-shadow:0 2px 25px rgba(0,0,0,.2)}.overview-intro h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;color:#e0c3b6}.field-stats{display:flex;gap:20px;align-items:center;pointer-events:auto}.field-stats button{display:grid;text-align:left;background:transparent;padding:0}.field-stats strong{font-size:32px;font-weight:550;letter-spacing:-.05em}.field-stats span{font-size:12px;color:#dad5c8}.stat-divider{height:35px;width:1px;background:rgba(255,255,255,.25)}.glass{background:rgba(29,26,25,.83);backdrop-filter:blur(26px) saturate(120%);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 55px rgba(0,0,0,.25)}.partner-focus{position:absolute;z-index:4;bottom:42px;left:34px;width:min(430px,calc(100% - 68px));border-radius:26px;padding:23px;animation:enter .45s var(--ease)}.focus-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.focus-top .eyebrow{font-size:10px}.stage-label{font-size:11px;border:1px solid var(--line);padding:4px 9px;border-radius:20px;color:var(--muted)}.stage-label.active,.stage-label.visited{color:var(--rose);border-color:rgba(228,165,181,.3)}.focus-title{display:flex;align-items:center;gap:14px}.partner-icon{width:50px;height:50px;flex-shrink:0;border:1px solid rgba(228,165,181,.25);border-radius:16px;background:rgba(155,65,86,.15);display:grid;place-items:center;color:#e7b5bd}.partner-icon svg{width:27px;height:27px}.focus-title h2{font-size:23px;line-height:1.15;letter-spacing:-.045em;font-weight:560}.focus-title p{font-size:12px;margin-top:6px;color:var(--muted)}.focus-actions{display:flex;gap:8px;margin-top:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border:1px solid transparent;border-radius:13px;min-height:46px;font-size:14px;font-weight:650;transition:transform .2s,background .2s;text-decoration:none}.button svg{width:18px;height:18px}.primary{background:var(--wine);color:#fff}.primary:hover{background:#ae4b62}.secondary{background:rgba(255,255,255,.045);border-color:var(--line);color:var(--ink)}.secondary:hover{background:rgba(255,255,255,.1)}.focus-actions>.button{flex:1;white-space:nowrap}.focus-actions>.icon-button{border-radius:13px;height:46px}.full{width:100%}.map-footnote{position:absolute;bottom:13px;left:38px;z-index:3;display:flex;align-items:center;gap:7px;font-size:10px;color:#d1cec1}.pin-legend{width:6px;height:6px;border-radius:50%;background:var(--rose)}.visit-plan{position:absolute;z-index:4;right:25px;bottom:42px;width:220px;border-radius:23px;padding:18px}.visit-plan>div{display:flex;justify-content:space-between;align-items:center}.visit-plan .eyebrow{font-size:10px}.visit-plan ol{margin:14px 0;padding:0;list-style:none;display:grid;gap:10px}.visit-plan li{display:flex;gap:9px;align-items:center}.visit-plan li>span{border:1px solid var(--line);width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-size:10px;color:var(--rose)}.visit-plan li button{background:transparent;font-size:12px;text-align:left;padding:0}.visit-plan small{font-size:10px;color:var(--muted)}.text-button{background:transparent;color:var(--rose);font-size:12px;min-height:36px;padding:4px}.content-panel{position:absolute;inset:104px 22px 24px;z-index:5;border:1px solid var(--line);background:rgba(23,22,21,.95);backdrop-filter:blur(30px);border-radius:28px;padding:28px;overflow:auto;animation:enter .35s var(--ease)}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.panel-heading h1{font-size:37px;font-weight:550;letter-spacing:-.06em;line-height:1.1;margin-top:5px}.network-search{position:relative;margin-bottom:20px}.network-search input{width:100%;height:46px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:14px;padding:0 16px 0 43px;color:var(--ink);font-size:16px}.network-search>svg{position:absolute;left:14px;top:13px;width:19px;height:19px;color:var(--muted)}.network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.network-card{position:relative;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:20px;text-align:left;padding:20px;min-height:172px;transition:transform .25s,background .25s}.network-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.065)}.network-card .card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.network-card .partner-icon{width:39px;height:39px;border-radius:13px}.network-card .partner-icon svg{width:22px;height:22px}.network-card .stage-label{font-size:10px}.network-card h3{font-size:17px;letter-spacing:-.03em;font-weight:560}.network-card p{font-size:12px;color:var(--muted);margin-top:5px}.network-card .card-arrow{position:absolute;right:19px;bottom:24px;width:15px;height:15px;color:var(--muted)}.momentum-hero{display:grid;grid-template-columns:170px 1fr;gap:25px;align-items:center;background:rgba(255,255,255,.025);padding:27px;border-radius:24px;border:1px solid var(--line);margin-bottom:20px}.progress-ring{position:relative;width:155px;height:155px;display:grid;place-items:center}.progress-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);stroke-width:6}.progress-ring .ring-track{stroke:rgba(255,255,255,.08)}.progress-ring .ring-progress{stroke:var(--rose);stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease)}.progress-ring>div{text-align:center}.progress-ring strong{font-size:42px;line-height:1;letter-spacing:-.07em;font-weight:500}.progress-ring small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.momentum-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.momentum-metrics strong{font-size:30px;font-weight:550;letter-spacing:-.05em;display:block}.momentum-metrics span{font-size:12px;color:var(--muted)}.goal-row{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;gap:16px;padding:14px 0}.goal-row>span{font-size:13px;color:var(--muted)}.goal-row>strong{text-align:right;font-size:13px;font-weight:500}.goal-track{height:5px;background:rgba(255,255,255,.07);border-radius:5px;overflow:hidden}.goal-track>span{display:block;height:100%;background:var(--rose);border-radius:5px;transition:width .5s}.section-label{font-size:13px;letter-spacing:-.01em;font-weight:600;margin:26px 0 14px}.history-item{position:relative;padding:3px 0 22px 28px;border-left:1px solid var(--line);margin-left:5px}.history-item:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;left:-4px;top:9px;background:var(--rose)}.history-item b{font-size:14px;font-weight:600}.history-item time{display:block;font-size:11px;color:var(--faint);margin-top:4px}.history-item p{font-size:13px;color:var(--muted);margin-top:7px}.history-item .next-step{color:var(--rose)}.empty-state{padding:26px 20px;border:1px dashed var(--line);border-radius:20px;color:var(--muted);font-size:14px;text-align:center;display:grid;justify-items:center;gap:12px}.empty-state>svg{width:33px;height:33px;color:var(--rose)}.playbook-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.playbook-card{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.035);overflow:hidden}.playbook-card:first-child{grid-column:1/-1}.playbook-card summary{list-style:none;cursor:pointer;padding:23px}.playbook-card summary::-webkit-details-marker{display:none}.playbook-card .chapter{display:flex;justify-content:space-between;color:var(--rose);font-size:12px;margin-bottom:25px}.playbook-card h3{font-size:23px;letter-spacing:-.04em;font-weight:500;margin-bottom:6px}.playbook-card summary>p{font-size:12px;color:var(--muted)}.playbook-card>.chapter-text{font-size:14px;color:var(--muted);padding:0 23px 23px;line-height:1.7}.playbook-flow{display:flex;align-items:center;gap:12px;margin:0 0 24px}.playbook-flow>span{display:grid;place-items:center;height:54px;width:54px;border:1px solid rgba(228,165,181,.23);border-radius:17px;color:var(--rose);background:rgba(155,65,86,.1)}.playbook-flow>svg{width:17px;color:var(--faint)}.note-compose{border:1px solid var(--line);border-radius:20px;padding:17px;background:rgba(255,255,255,.03);display:grid;gap:12px;margin-bottom:22px}.note-compose textarea{background:transparent;border:0;color:var(--ink);font-size:16px;resize:vertical;min-height:100px;width:100%;outline-offset:0}.note-compose .button{justify-self:end}.note-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);margin-bottom:12px}.note-card p{font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.note-card time{display:block;font-size:11px;color:var(--faint);margin-top:15px}.guide-panel{position:relative;z-index:10;background:linear-gradient(160deg,#211b1e,#181618 60%);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;min-height:0}.guide-header{display:flex;align-items:center;justify-content:space-between;padding:26px 23px 20px}.guide-identity{display:flex;gap:10px;align-items:center}.guide-mark{width:38px;height:38px;border:1px solid rgba(228,165,181,.3);border-radius:13px;display:grid;place-items:center;color:var(--rose);background:rgba(155,65,86,.2);flex-shrink:0}.guide-mark svg{width:20px;height:20px}.guide-identity h2{font-size:17px;font-weight:600;letter-spacing:-.03em}.guide-identity small{font-size:11px;color:var(--muted)}.guide-header .icon-button{width:37px;height:37px;background:transparent}.guide-header .icon-button svg{width:18px;height:18px}.guide-header-actions{display:flex;gap:6px}.context-strip{display:flex;align-items:center;gap:7px;text-align:left;margin:0 22px 15px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:11px;background:transparent}.context-strip>svg{width:13px;height:13px;margin-left:auto}.context-dot{width:5px;height:5px;border-radius:50%;background:var(--rose);flex-shrink:0}.chat-scroll{overflow:auto;flex:1;padding:0 22px;scroll-behavior:smooth;overscroll-behavior:contain}.guide-welcome{padding:36px 0 15px}.guide-emblem{width:72px;height:72px;border-radius:25px;background:radial-gradient(circle at 32% 20%,#8d4b5b,#4c2a35 55%,#251b21);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 12px 40px rgba(116,47,69,.12);display:grid;place-items:center;color:#f0c3cb;margin:0 0 28px}.guide-emblem svg{width:31px;height:31px}.guide-welcome>.eyebrow{font-size:8px;letter-spacing:.13em}.guide-welcome h3{font-size:34px;letter-spacing:-.055em;line-height:1.12;font-weight:470;margin:13px 0 25px}.suggestions{display:grid;gap:8px}.suggestions button{display:flex;align-items:center;gap:11px;padding:13px 12px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:13px;font-size:12px;text-align:left;transition:background .2s}.suggestions button:hover{background:rgba(255,255,255,.06)}.suggestions button>svg{width:17px;height:17px;color:var(--muted)}.suggestions button>svg:last-child{margin-left:auto;width:14px}.messages{display:grid;gap:15px;padding:12px 0 20px}.message{font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;animation:enter .3s var(--ease)}.message.user{background:#683142;border:1px solid rgba(228,165,181,.17);padding:12px 14px;border-radius:17px 17px 5px 17px;justify-self:end;max-width:90%}.message.assistant{padding:6px 1px;color:#e2dbd7}.message.action{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid rgba(228,165,181,.25);border-radius:12px;font-size:12px;color:var(--rose);background:rgba(155,65,86,.08)}.message.action svg{width:17px;height:17px}.message.system{font-size:13px;color:var(--muted);border-left:2px solid var(--rose);padding:8px 12px;background:rgba(255,255,255,.035)}.working{display:flex;align-items:center;gap:4px;padding:12px 0}.working>span{width:4px;height:4px;background:var(--rose);border-radius:50%;animation:pulse 1.2s infinite}.working>span:nth-child(2){animation-delay:.15s}.working>span:nth-child(3){animation-delay:.3s}.working>small{font-size:11px;color:var(--muted);margin-left:8px}.guide-bottom{padding:18px 18px 22px;background:linear-gradient(0deg,#1d181c,transparent)}.guide-status{font-size:12px;line-height:1.5;color:var(--muted);padding:0 4px 10px}.composer{display:flex;align-items:flex-end;gap:4px;padding:7px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.04);box-shadow:0 7px 25px rgba(0,0,0,.15)}.composer textarea{min-width:0;width:100%;background:transparent;border:0;resize:none;outline:0;color:var(--ink);font-size:16px;line-height:1.45;max-height:130px;padding:9px 7px}.composer textarea::placeholder{color:#a69b9f;font-size:14px}.composer-voice,.composer-send{width:38px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:transparent;color:var(--muted)}.composer-send{background:#8e3e52;color:white}.composer-voice:hover{background:rgba(255,255,255,.07);color:var(--ink)}.composer svg{width:19px;height:19px}.guide-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--faint);padding:10px 3px 0}.voice-dock{display:flex;align-items:center;gap:9px;padding:11px 4px 16px}.voice-meter{display:flex;align-items:center;gap:3px;flex:1;height:32px}.voice-meter>span{display:block;width:3px;background:var(--rose);border-radius:4px;height:4px;transition:height .07s linear}.voice-dock>span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.voice-dock .icon-button{width:36px;height:36px}.voice-dock svg{width:17px;height:17px}.end-call{width:40px;height:36px;display:grid;place-items:center;border-radius:14px;background:#a93f52}.end-call svg{transform:rotate(135deg)}.voice-recovery{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:0 4px 10px}.voice-recovery a{color:var(--rose);text-decoration:none}.playback-button{width:100%;margin-bottom:10px;font-size:13px}.mobile-only,.mobile-nav,.mobile-guide-launch,.guide-drag{display:none}.dialog{color:var(--ink);background:#211c1f;border:1px solid rgba(255,255,255,.18);border-radius:28px;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;box-shadow:0 30px 120px rgba(0,0,0,.5)}.dialog::backdrop{background:rgba(9,8,10,.64);backdrop-filter:blur(14px)}.dialog header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:24px}.dialog h2{font-size:28px;letter-spacing:-.045em;font-weight:550}.dialog header .eyebrow{font-size:10px;display:block;margin-bottom:5px}.dialog label{display:grid;gap:8px;font-size:13px;color:var(--muted);margin-bottom:18px}.dialog input,.dialog textarea,.dialog select{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:12px;color:var(--ink);width:100%;font-size:16px;padding:12px}.dialog textarea{resize:vertical}.dialog option{background:#211c1f}.form-error{font-size:13px;color:var(--rose);margin-bottom:13px}.stage-options{display:grid;gap:8px}.stage-options button{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;gap:14px;padding:16px;text-align:left;font-size:15px}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.context-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.context-card svg{color:var(--rose);display:block;margin-bottom:15px}.context-card strong{display:block;font-size:27px;letter-spacing:-.04em;font-weight:500}.context-card span{font-size:12px;color:var(--muted)}.context-detail{font-size:13px;color:var(--muted);line-height:1.6;margin-top:20px}.context-detail strong{color:var(--ink);font-weight:500}.toast{position:fixed;z-index:110;left:50%;bottom:28px;transform:translate(-50%,15px);padding:12px 18px;max-width:calc(100% - 32px);background:var(--ink);color:#241b20;font-size:14px;border-radius:14px;box-shadow:0 14px 45px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.load-error{position:fixed;z-index:100;inset:0;background:rgba(20,18,19,.97);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px;gap:20px}.load-error>svg{width:45px;height:45px;color:var(--rose)}.load-error h2{font-size:28px;letter-spacing:-.04em}.load-error p{max-width:430px;color:var(--muted)}.map-unavailable{position:absolute;inset:30% 20% auto;z-index:3;padding:22px;border-radius:24px;background:rgba(25,25,22,.92);text-align:center}.map-unavailable>svg{width:35px;height:35px;color:var(--rose);margin-bottom:12px}.map-unavailable h2{font-size:21px}.map-unavailable p{font-size:13px;color:var(--muted);margin:8px 0}.map-pin{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#542738;box-shadow:0 4px 15px rgba(0,0,0,.35);color:#f8e4e9;transition:box-shadow .25s,background .25s}.map-pin svg{width:17px;height:17px}.map-pin.selected{background:var(--ink);color:#63283c;box-shadow:0 0 0 7px rgba(245,229,217,.14),0 5px 20px rgba(0,0,0,.4)}.map-pin.visited{background:#5c6460}.map-pin .pin-number{font-size:14px;font-weight:650}.mapboxgl-ctrl-group{background:#211d1d!important;border:1px solid var(--line)!important;border-radius:13px!important;overflow:hidden}.mapboxgl-ctrl-group button{filter:invert(.8)}.mapboxgl-ctrl-bottom-right{right:14px;bottom:15px}.mapboxgl-ctrl-attrib{font-size:10px!important}.mapboxgl-ctrl-logo{opacity:.6}.network-note{font-size:12px;color:var(--faint);margin:16px 0}.import-card{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:15px;padding:14px;margin-top:18px;font-size:13px}.import-card .button{font-size:12px;padding:8px 12px}.notes-error{color:var(--rose);font-size:13px}.guide-panel[data-voice="live"] .guide-mark{border-color:var(--rose);box-shadow:0 0 18px rgba(228,165,181,.14)}
@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.25;transform:translateY(-2px)}}
@media(min-width:1600px){.app-shell{grid-template-columns:90px minmax(0,1fr) 410px}.guide-header{padding:30px}.chat-scroll{padding:0 30px}.context-strip{margin-left:30px;margin-right:30px}.guide-bottom{padding:22px 26px 27px}.partner-focus{width:440px}.guide-welcome{padding-top:60px}}
@media(max-width:1200px){.app-shell{grid-template-columns:72px minmax(0,1fr) 330px}.rail{padding-left:6px;padding-right:6px}.header-center{display:none}.topbar{padding:25px}.map-overview{left:28px;top:145px}.overview-intro h1{font-size:48px}.partner-focus{left:24px;bottom:45px;width:calc(100% - 48px);max-width:420px;padding:20px}.map-toolbar{right:25px;top:105px}.visit-plan{bottom:260px;left:24px;right:auto;width:220px}.guide-header{padding:24px 18px 18px}.guide-welcome h3{font-size:31px}.content-panel{inset:96px 16px 20px;padding:24px}.network-grid{grid-template-columns:1fr}.network-card{min-height:120px;display:flex;gap:17px;align-items:center;padding:18px}.network-card .card-top{margin:0}.network-card .stage-label{position:absolute;right:15px;top:15px;font-size:9px}.network-card p{margin-right:20px}.network-card .card-arrow{bottom:20px}.momentum-hero{grid-template-columns:130px 1fr;padding:20px;gap:15px}.progress-ring{width:125px;height:125px}.progress-ring strong{font-size:34px}.momentum-metrics{gap:15px}.momentum-metrics strong{font-size:26px}.goal-row{grid-template-columns:110px 1fr 35px;gap:10px}.playbook-grid{grid-template-columns:1fr}.playbook-card:first-child{grid-column:auto}.save-status{font-size:11px}.guide-welcome>.eyebrow{font-size:8px}}
@media(max-width:900px){.app-shell{display:block}.rail{display:none}.workspace{height:100dvh}.guide-panel{position:fixed;inset:auto 0 0;height:min(86dvh,850px);border:1px solid rgba(255,255,255,.2);border-bottom:0;border-radius:30px 30px 0 0;transform:translateY(105%);transition:transform .38s var(--ease);box-shadow:0 -30px 100px rgba(0,0,0,.4);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.guide-panel.open{transform:translateY(0)}.guide-drag{display:block;height:4px;width:38px;flex-shrink:0;border-radius:8px;background:rgba(255,255,255,.2);margin:11px auto 0}.guide-header{padding:16px 22px 13px}.guide-header-actions .mobile-only{display:inline-flex}.guide-header .icon-button{width:40px;height:40px}.context-strip{margin-bottom:0}.guide-welcome{padding:25px 0 8px}.guide-emblem{width:53px;height:53px;border-radius:18px;margin-bottom:20px}.guide-emblem svg{width:26px;height:26px}.guide-welcome>.eyebrow{font-size:9px}.guide-welcome h3{font-size:34px;margin:12px 0 21px}.guide-bottom{padding-bottom:17px}.topbar{padding:calc(20px + env(safe-area-inset-top)) 22px 16px;gap:10px}.wordmark>span{font-size:15px}.wordmark>small{font-size:9px}.topbar-actions{gap:10px}.topbar .icon-button{width:40px;height:40px}.map-toolbar{right:20px;top:calc(96px + env(safe-area-inset-top));gap:8px}.map-toolbar .icon-button{width:38px;height:38px}.segmented button{padding:7px 12px;font-size:11px}.map-overview{top:calc(155px + env(safe-area-inset-top));left:25px}.overview-intro h1{font-size:56px;margin:13px 0 22px}.overview-intro>.eyebrow{font-size:10px}.field-stats strong{font-size:27px}.field-stats span{font-size:11px}.partner-focus{left:16px;right:16px;bottom:calc(160px + env(safe-area-inset-bottom));width:auto;max-width:470px;padding:18px;border-radius:23px}.focus-top{margin-bottom:14px}.focus-title h2{font-size:23px}.focus-title p{font-size:12px}.partner-icon{width:45px;height:45px;border-radius:15px}.focus-actions{margin-top:18px}.map-footnote{bottom:calc(145px + env(safe-area-inset-bottom));left:24px;font-size:9px}.mobile-guide-launch{position:fixed;z-index:12;left:16px;right:16px;bottom:calc(85px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.2);border-radius:20px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(42,29,35,.88);backdrop-filter:blur(25px);height:56px;box-shadow:0 10px 35px rgba(0,0,0,.25);text-align:left;font-size:15px;font-weight:500}.mobile-guide-launch>.guide-mark{width:32px;height:32px;border-radius:11px}.mobile-guide-launch>svg{margin-left:auto;width:21px;color:var(--rose)}.mobile-nav{position:fixed;z-index:11;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(77px + env(safe-area-inset-bottom));padding:9px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(22,20,21,.94);backdrop-filter:blur(24px);border-top:1px solid var(--line)}.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;background:transparent;border-radius:13px;color:var(--faint);font-size:10px}.mobile-nav button>svg{width:21px;height:21px}.mobile-nav button.active{color:var(--rose);background:rgba(228,165,181,.045)}.content-panel{inset:calc(95px + env(safe-area-inset-top)) 10px calc(151px + env(safe-area-inset-bottom));padding:22px;border-radius:25px}.panel-heading{margin-bottom:20px}.panel-heading h1{font-size:35px}.panel-heading .eyebrow{font-size:10px}.network-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.network-card{display:block;min-height:155px;padding:16px}.network-card .card-top{margin-bottom:22px}.network-card .stage-label{right:12px;top:17px;font-size:8px;max-width:80px;padding:3px 7px}.network-card h3{font-size:15px;margin-right:10px}.network-card p{font-size:11px}.network-card .card-arrow{right:13px;bottom:22px;width:13px}.network-note{font-size:11px}.visit-plan{bottom:calc(380px + env(safe-area-inset-bottom));right:16px;left:auto;width:190px;padding:14px;background:rgba(29,26,25,.95)}.visit-plan ol{max-height:114px;overflow:auto}.visit-plan small{font-size:9px}.mapboxgl-ctrl-bottom-right{bottom:calc(365px + env(safe-area-inset-bottom));right:12px}.mapboxgl-ctrl-bottom-left{bottom:calc(150px + env(safe-area-inset-bottom))}.mapboxgl-ctrl-attrib{display:none}.map-unavailable{inset:calc(210px + env(safe-area-inset-top)) 28px auto;max-width:380px}.toast{bottom:calc(148px + env(safe-area-inset-bottom));font-size:13px}.dialog{padding:23px}.chat-scroll{padding:0 22px}.momentum-hero{grid-template-columns:135px 1fr;gap:20px}.progress-ring{width:130px;height:130px}.context-card{padding:17px}}
@media(max-width:440px){.overview-intro h1{font-size:50px}.network-card .stage-label{position:static;font-size:8px;margin-left:auto}.network-card .card-top{gap:5px}.network-card .partner-icon{width:31px;height:31px;border-radius:10px}.network-card .partner-icon svg{width:18px;height:18px}.network-card h3{font-size:14px}.network-card .card-arrow{display:none}.network-card p{margin-right:0}.content-panel{padding:19px}.momentum-hero{grid-template-columns:118px 1fr;padding:17px;gap:15px}.progress-ring{width:116px;height:116px}.momentum-metrics strong{font-size:25px}.momentum-metrics span{font-size:11px}.goal-row>span,.goal-row>strong{font-size:12px}.partner-focus{padding:17px}.focus-title h2{font-size:21px}.button{padding:11px 12px}.guide-foot{font-size:10px}.focus-actions{gap:7px}}
@media(max-width:900px) and (max-height:760px){.map-overview{top:calc(143px + env(safe-area-inset-top))}.overview-intro h1{font-size:42px;margin:11px 0 17px}.field-stats{display:none}.partner-focus{bottom:calc(151px + env(safe-area-inset-bottom));padding:15px}.focus-top{margin-bottom:10px}.focus-actions{margin-top:12px}.map-footnote{display:none}.guide-welcome{padding-top:18px}.guide-emblem{display:none}.guide-welcome h3{font-size:30px}.guide-welcome>.eyebrow{display:none}.visit-plan{bottom:calc(343px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A clear reason to act, beside the field tools. */
.overview-intro p{font-size:16px;line-height:1.5;color:#e4e1e3;margin:0 0 18px;max-width:360px;text-shadow:0 1px 8px #111}
.focus-purpose{font-size:14px;line-height:1.5;color:var(--muted);margin-top:14px}
.guide-purpose{font-size:16px;line-height:1.55;color:var(--muted);margin:-8px 0 22px}
.panel-purpose{font-size:16px;line-height:1.55;color:var(--muted);max-width:620px;margin-bottom:22px}
.playbook-opening{border-left:3px solid var(--rose);padding:2px 0 4px 22px;margin:0 0 30px;max-width:700px}
.playbook-opening .comfortable-story{color:var(--muted);font-size:16px;line-height:1.5;margin:12px 0 16px}
.playbook-opening h2{font-size:clamp(24px,3vw,34px);line-height:1.16;letter-spacing:-.035em;font-weight:650;margin:0 0 14px;text-wrap:balance}
.playbook-opening>p:last-of-type{font-size:16px;line-height:1.55;color:var(--muted);max-width:580px;margin-bottom:22px}
.follow-through{padding:18px 20px;margin-bottom:20px;border:1px solid var(--line);border-radius:20px;background:rgba(228,165,181,.045)}
.follow-through p{font-size:16px;line-height:1.55;margin:9px 0}
.follow-through small{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){.playbook-opening{padding-left:17px;margin-bottom:24px}.focus-purpose{margin-top:12px}.guide-purpose{margin-bottom:18px}.follow-through{padding:17px}.playbook-card h3{line-height:1.2}}
.leaflet-container{font:inherit;background:#33372e}.leaflet-control-attribution{background:rgba(20,18,19,.7)!important;color:#c8c3ba!important;font-size:9px!important}.leaflet-control-attribution a{color:#d7c9c3!important}.leaflet-control-zoom{border:1px solid var(--line)!important;border-radius:12px!important;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.3)!important}.leaflet-control-zoom a{background:#282223!important;color:var(--ink)!important;border-color:var(--line)!important}.leaflet-bottom.leaflet-right{bottom:10px;right:12px}.map{z-index:0}.leaflet-control-container{position:static}.raster-pin{border:0;background:transparent}.mapboxgl-ctrl-attrib{display:block!important}.map-overview{pointer-events:none}.field-stats{pointer-events:auto}.guide-welcome>.eyebrow{font-size:10px}.guide-foot{font-size:11px}
@media(max-width:900px){.leaflet-bottom.leaflet-right{bottom:calc(363px + env(safe-area-inset-bottom));right:5px}.leaflet-control-attribution{max-width:170px;line-height:1.3!important}.mapboxgl-ctrl-attrib{display:block!important;max-width:150px}}

/* Accessible controls and keyboard-safe composer. */
.composer-voice,.composer-send,.guide-header .icon-button{min-width:44px;min-height:44px}
.guide-welcome>.eyebrow{display:none}.guide-welcome h3{margin-top:0}
.suggestions button,.context-strip,.guide-status,.network-card p,.focus-title p{font-size:14px}
.nav-item span,.mobile-nav button,.guide-foot,.stage-label,.eyebrow{font-size:12px}
.load-error #signIn{display:inline-flex;padding:14px 22px;border-radius:14px;background:var(--wine);color:white;text-decoration:none;font-weight:600}
@media(max-width:900px){.guide-panel{height:min(86dvh,var(--visible-height,86dvh));bottom:var(--keyboard-offset,0px)}.guide-panel.open~*{pointer-events:none}.composer textarea{font-size:16px}.guide-bottom{flex-shrink:0}.guide-welcome{padding-top:18px}.guide-welcome h3{font-size:29px}.suggestions button{min-height:48px}.overview-intro h1{font-size:clamp(32px,8vw,48px)}.network-grid{grid-template-columns:1fr 1fr}.network-card .stage-label{font-size:11px}.network-card{min-height:170px}.focus-actions .button{min-height:46px}.guide-header{flex-shrink:0}.chat-scroll{min-height:0}}
@media(max-width:360px){.network-grid{grid-template-columns:1fr}.momentum-hero{grid-template-columns:1fr}.momentum-hero .progress-ring{margin:auto}.guide-header{padding:12px 16px}.chat-scroll{padding:0 16px}.guide-bottom{padding:12px}.focus-title h2{font-size:19px}}

.visit-activities{border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 18px}.visit-activities legend{font-size:12px;color:var(--muted);padding:0 6px}.visit-activities label{display:flex;align-items:center;gap:10px;min-height:32px;margin:0;font-size:14px}.visit-activities input{width:18px;height:18px;accent-color:var(--wine)}

/* Loading surfaces preserve their final geometry, with no invented records. */
body[data-loading="true"] .field-stats strong,body[data-loading="true"] #partnerTitle,body[data-loading="true"] #partnerRole,body[data-loading="true"] #partnerStage,body[data-loading="true"] #contextLabel{color:transparent!important;border-radius:7px;background:linear-gradient(110deg,rgba(255,255,255,.05) 30%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.05) 60%);background-size:250% 100%;animation:skeleton-load 1.5s linear infinite}
body[data-loading="true"] .focus-actions,body[data-loading="true"] .guide-quick-actions,body[data-loading="true"] .suggestions{opacity:.35;pointer-events:none}
@keyframes skeleton-load{to{background-position:-250% 0}}
/* Field edition: map first, one clear action surface, system typography. */
:root{--bg:#111113;--panel:#1b1b1e;--ink:#faf9f7;--muted:#bdb9bb;--faint:#a6a1a5;--line:rgba(255,255,255,.13);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button{transition:background .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}
button:active{transform:scale(.98)}
.topbar{padding:24px 28px}.wordmark>small{font-size:12px;letter-spacing:.09em}.wordmark>span{letter-spacing:.12em}.header-center,.save-status{font-size:12px}.save-status{font-variant-numeric:tabular-nums}
.map-shade{background:linear-gradient(180deg,rgba(10,11,12,.68),transparent 28%),linear-gradient(0deg,rgba(10,11,12,.5),transparent 32%)}
.map-overview{top:116px;left:28px}.overview-intro h1{font-family:inherit;font-size:28px;font-weight:650;letter-spacing:-.045em;margin:5px 0 17px}.overview-intro>.eyebrow{font-size:12px;letter-spacing:.06em}.field-stats{gap:18px;border:1px solid var(--line);border-radius:20px;background:rgba(20,20,22,.78);backdrop-filter:blur(20px);padding:12px 16px}.field-stats strong{font-size:26px;font-weight:600}.field-stats span{font-size:12px}.field-stats button{min-height:48px}.map-toolbar{top:110px;right:28px}.segmented button{min-height:36px;font-size:14px}.map-toolbar .icon-button{width:48px;height:48px}
.glass{background:rgba(25,25,28,.9);backdrop-filter:blur(30px) saturate(130%);border-color:rgba(255,255,255,.17);box-shadow:0 10px 40px rgba(0,0,0,.26)}
.partner-focus{bottom:44px;left:28px;padding:18px 20px;width:min(420px,calc(100% - 56px));border-radius:28px}.focus-top{margin-bottom:10px;min-height:36px}.focus-tools{display:flex;align-items:center;gap:8px}.focus-top .eyebrow{font-size:12px;letter-spacing:.06em}.focus-toggle{width:36px;height:36px;min-width:36px;background:transparent;border:0}.focus-toggle svg{width:17px;height:17px;transform:rotate(90deg);transition:transform .2s}.collapsed .focus-toggle svg{transform:rotate(-90deg)}.focus-title h2{font-family:inherit;font-size:23px;font-weight:650;letter-spacing:-.035em}.focus-title>div{min-width:0}.focus-title p{font-size:14px;line-height:1.4}.stage-label{font-size:12px;white-space:nowrap}.focus-actions{margin-top:17px;gap:8px}.focus-actions .button,.focus-actions>.icon-button{min-height:48px;height:48px;border-radius:15px}.focus-actions .button{font-size:14px}.button.primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.visit-plan{position:static;width:100%;margin-top:17px;padding:15px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:none;backdrop-filter:none}.visit-plan .eyebrow,.visit-plan small{font-size:12px}.visit-plan ol{max-height:128px;overflow:auto;margin:10px 0}.visit-plan li>span{width:28px;height:28px;font-size:14px}.visit-plan li>button{font-size:14px;min-height:36px}.text-button{min-height:36px;font-size:14px}.map-footnote{font-size:12px;left:30px;bottom:17px;padding:4px 9px;background:rgba(16,17,18,.8);border-radius:9px}
.content-panel{background:rgba(21,21,24,.97);border-radius:28px}.panel-heading h1{font-family:inherit;font-weight:650;font-size:36px;letter-spacing:-.04em}.panel-heading .eyebrow{font-size:12px}.network-grid{gap:12px}.network-card{border-radius:21px;transition:background .2s,border-color .2s,transform .2s}.network-card:hover{background:rgba(255,255,255,.07);border-color:rgba(228,165,181,.4)}.network-card h3{font-size:18px;line-height:1.25;font-weight:600}.network-card p{font-size:14px}.network-card .stage-label{font-size:12px}.network-note{font-size:12px;line-height:1.5}.network-search input{font-size:16px;min-height:48px}.empty-state{font-size:16px;line-height:1.5}.section-label{font-size:16px}.playbook-card h3{font-size:22px;letter-spacing:-.03em}.playbook-card p{font-size:16px;line-height:1.55}.playbook-card summary{cursor:pointer;list-style:none}.playbook-card summary::-webkit-details-marker{display:none}.playbook-card summary:after{content:'Read chapter +';display:block;color:var(--rose);font-size:14px;margin-top:20px}.playbook-card[open] summary:after{content:'Close chapter −'}.note-card p,.history-item p{font-size:16px}.note-card time,.history-item time{font-size:12px}.momentum-metrics span,.goal-row>span{font-size:14px}
.guide-panel{background:linear-gradient(160deg,#242024,#161618 70%)}.guide-header{padding:24px 20px 16px}.guide-identity h2{font-size:18px}.guide-identity small{font-size:12px}.guide-welcome{padding:22px 0 12px}.guide-emblem{display:none}.guide-welcome h3{font-size:30px;font-weight:600;letter-spacing:-.04em;margin-bottom:22px}.guide-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 20px}.guide-quick-actions button{background:rgba(255,255,255,.045);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:17px 14px;min-height:105px;font-size:14px;text-align:left}.guide-quick-actions svg{color:var(--rose);width:25px;height:25px}.suggestions button{font-size:14px;min-height:50px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:13px 0}.suggestions button>svg{width:19px;height:19px}.context-strip{font-size:14px;min-height:44px}.guide-status{font-size:14px}.guide-foot{font-size:12px}.message{font-size:16px;line-height:1.55}.message.action,.message.system{font-size:14px}.message.assistant{animation:message-appear .4s var(--ease)}.composer{border-radius:22px;padding:8px}.composer textarea::placeholder{font-size:16px}.composer-voice,.composer-send{width:44px;height:44px;border-radius:15px}.guide-bottom{padding:14px 18px 20px}.voice-dock .icon-button,.end-call{min-width:44px;min-height:44px}.voice-recovery{font-size:14px;gap:12px}.guide-backdrop{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);cursor:default}.guide-backdrop:active{transform:none}.dialog label{font-size:14px}.dialog h2{font-family:inherit;font-weight:600}.dialog{background:#202023}.dialog::backdrop{backdrop-filter:blur(8px)}
@keyframes message-appear{from{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(min-width:901px) and (max-width:1200px){.app-shell{grid-template-columns:72px minmax(0,1fr) 320px}.map-overview{top:110px;left:24px}.map-toolbar{top:245px;right:24px}.partner-focus{left:20px;width:calc(100% - 40px)}.network-grid{grid-template-columns:1fr}.network-card .stage-label{position:static}.network-card .card-top{flex-direction:column;gap:7px}.focus-title h2{font-size:21px}.focus-actions .button{padding:10px}.guide-welcome h3{font-size:27px}}
@media(max-width:900px){
 .topbar{padding:calc(14px + env(safe-area-inset-top)) 20px 10px;height:calc(78px + env(safe-area-inset-top));align-items:center}.wordmark>span{font-size:15px}.wordmark>small{font-size:12px;letter-spacing:.08em}.topbar .icon-button{width:44px;height:44px}.save-status{font-size:12px}.topbar-actions{gap:8px}
 .map-overview{top:calc(89px + env(safe-area-inset-top));left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.overview-intro{display:none}.field-stats{display:flex;gap:14px;padding:8px 14px;border-radius:18px;pointer-events:auto}.field-stats button{display:flex;gap:7px;align-items:center;min-height:28px}.field-stats strong{font-size:19px;letter-spacing:-.04em}.field-stats span{font-size:12px}.field-stats .stat-divider{height:22px}
 .map-toolbar{top:calc(147px + env(safe-area-inset-top));right:16px;gap:8px}.map-toolbar .icon-button{width:44px;height:44px}.segmented{padding:3px}.segmented button{min-height:36px;padding:6px 12px;font-size:14px}
 .partner-focus{left:12px;right:12px;bottom:calc(146px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:12px 16px 16px;border-radius:26px;max-height:46dvh;overflow:auto;overscroll-behavior:contain}.focus-top{margin-bottom:4px;min-height:34px}.focus-top .eyebrow{font-size:12px}.focus-title{gap:12px}.partner-icon{width:44px;height:44px;border-radius:15px}.focus-title h2{font-size:21px}.focus-title p{font-size:14px;margin-top:4px}.focus-toggle{width:44px;height:36px}.focus-actions{margin-top:14px}.focus-actions .button{font-size:14px}.partner-focus.collapsed{padding-bottom:12px}.visit-plan{margin-top:14px;padding-top:12px}.visit-plan small{font-size:12px}
 .map-footnote{display:flex;bottom:auto;top:calc(201px + env(safe-area-inset-top));left:16px;font-size:12px;max-width:calc(100% - 32px);background:rgba(16,17,18,.82)}
 .mobile-guide-launch{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));height:54px;border-radius:19px;padding:9px 13px;gap:10px;background:rgba(33,28,33,.95);font-size:15px;box-shadow:0 5px 25px rgba(0,0,0,.22)}.mobile-guide-launch>small{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}.mobile-guide-launch>svg{margin-left:0}.mobile-guide-launch>.guide-mark{width:32px;height:32px}
 .mobile-nav{height:calc(76px + env(safe-area-inset-bottom));background:rgba(23,23,26,.96);padding:7px 8px calc(9px + env(safe-area-inset-bottom));gap:3px}.mobile-nav button{font-size:12px;gap:5px;border-radius:15px;color:#b0acb1}.mobile-nav button.active{background:rgba(228,165,181,.09);color:#f0bbc8}.mobile-nav button>svg{width:23px;height:23px}
 .content-panel{inset:calc(82px + env(safe-area-inset-top)) 0 calc(146px + env(safe-area-inset-bottom));border:0;border-radius:26px 26px 0 0;padding:22px 18px;background:#171719;overscroll-behavior:contain}.panel-heading{margin-bottom:22px}.panel-heading h1{font-size:32px}.panel-heading .eyebrow{font-size:12px;letter-spacing:.07em}.network-grid{grid-template-columns:1fr;gap:10px}.network-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:100px;align-items:center;gap:14px;padding:16px;text-align:left}.network-card .card-top{display:flex;flex-direction:column;gap:8px;margin:0}.network-card .stage-label{position:static;font-size:12px;padding:2px 7px;max-width:none;margin:0;order:2}.network-card .partner-icon{width:42px;height:42px}.network-card .partner-icon svg{width:24px;height:24px}.network-card h3{font-size:18px;margin:0}.network-card p{font-size:14px;margin:5px 0 0}.network-card .card-arrow{display:block;position:static;width:18px;height:18px}.network-card .card-arrow svg{width:18px;height:18px}.network-note{font-size:12px}
 .guide-panel{height:min(88dvh,var(--visible-height,88dvh));border-radius:30px 30px 0 0;background:#1b1a1e}.guide-panel:not(.open){visibility:hidden}.guide-panel.open{visibility:visible}.guide-header{padding:12px 20px}.guide-header .icon-button{width:44px;height:44px}.guide-welcome{padding:18px 0 10px}.guide-welcome h3{font-size:30px}.guide-quick-actions{gap:10px;margin-bottom:16px}.guide-quick-actions button{min-height:94px;gap:13px}.guide-bottom{padding:12px 16px 16px}.chat-scroll{padding:0 20px}.context-strip{margin:0 20px;min-height:44px}.guide-foot{font-size:12px}.voice-dock{padding-bottom:10px}
 .momentum-hero{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:18px}.momentum-metrics{gap:16px}.momentum-metrics span{font-size:14px}.progress-ring{width:120px;height:120px}.goal-row{grid-template-columns:110px minmax(0,1fr) 40px}.goal-row>span,.goal-row>strong{font-size:14px}
 .mapboxgl-ctrl-bottom-right,.leaflet-bottom.leaflet-right{bottom:auto;top:calc(233px + env(safe-area-inset-top));right:12px;transform:none}.mapboxgl-ctrl-group,.leaflet-control-zoom{display:none}.mapboxgl-ctrl-attrib,.leaflet-control-attribution{font-size:10px!important}.mapboxgl-ctrl-bottom-left{bottom:calc(140px + env(safe-area-inset-bottom))}
 .dialog{width:100%;max-width:600px;margin:auto auto 0;border-radius:28px 28px 0 0;border-bottom:0;padding:24px 22px calc(24px + env(safe-area-inset-bottom));max-height:calc(100dvh - 20px);scroll-padding:20px}.dialog header{margin-bottom:22px}.toast{bottom:calc(145px + env(safe-area-inset-bottom));font-size:14px}.map-unavailable{inset:calc(242px + env(safe-area-inset-top)) 24px auto;padding:16px}.map-unavailable p{font-size:14px}
}
@media(max-width:380px){.mobile-guide-launch>small{display:none}.focus-title h2{font-size:20px}.focus-title p{font-size:14px}.partner-focus{padding-left:13px;padding-right:13px}.focus-actions .button{padding:10px 9px}.network-card{gap:12px;padding:14px}.momentum-hero{grid-template-columns:1fr}.progress-ring{margin:auto}.momentum-metrics{grid-template-columns:repeat(2,1fr)}.goal-row{grid-template-columns:90px minmax(0,1fr) 40px}.field-stats{gap:10px;padding:8px 12px}.field-stats span{font-size:12px}}
@media(max-width:900px) and (max-height:700px){.map-overview{top:calc(81px + env(safe-area-inset-top))}.map-toolbar{top:calc(135px + env(safe-area-inset-top))}.map-footnote{top:calc(185px + env(safe-area-inset-top))}.partner-focus{max-height:36dvh}.focus-title h2{font-size:19px}.focus-title p{font-size:14px}.focus-actions{margin-top:10px}.guide-quick-actions button{min-height:78px;gap:9px}.guide-welcome h3{font-size:26px;margin-bottom:16px}.guide-welcome{padding-top:14px}}
@media(max-width:900px) and (orientation:landscape) and (max-height:550px){.topbar{height:65px;padding:10px 18px}.map-overview{top:72px;left:18px;right:auto}.map-toolbar{top:72px;right:18px}.map-footnote{top:126px;max-width:40%}.partner-focus{left:auto;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:45%;max-height:calc(100dvh - 195px)}.mobile-guide-launch{left:12px;right:auto;width:45%;bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-guide-launch>small{display:none}.content-panel{top:68px}.guide-panel{height:95dvh}.guide-welcome{padding-top:10px}.guide-quick-actions{display:none}.guide-header{padding:8px 16px}.context-strip{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Mobile field use: one viewport contract, readable labels and reachable actions. */
.chat-scroll>.guide-status{overflow-wrap:anywhere;padding:12px 0;line-height:1.55}
.chat-scroll>.voice-recovery{flex-wrap:wrap;gap:8px;margin:0 0 16px}
.voice-recovery a,.voice-recovery button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;font-size:14px;border:1px solid var(--line);border-radius:12px}
.guide-identity,.guide-identity>div{min-width:0}
.guide-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.guide-header-actions{flex-shrink:0}
.guide-bottom{flex-shrink:0}
.chat-scroll{min-height:0;overflow-x:hidden}
.composer textarea{min-height:44px}
.working small{font-size:14px}

@media(max-width:900px){
  :root{--mobile-nav-height:calc(4.75rem + env(safe-area-inset-bottom));--field-top:calc(78px + env(safe-area-inset-top))}
  body{--muted:#c0bac0;--faint:#b0aab0}
  button{min-width:44px;min-height:44px}
  .app-shell,.workspace{height:var(--visible-height,100dvh)}
  .topbar{height:var(--field-top);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .topbar-actions{min-width:0}.save-status{font-size:.875rem}
  .wordmark>small{font-size:.875rem;letter-spacing:.035em}.wordmark>span{letter-spacing:.1em}
  .map-overview{top:calc(var(--field-top) + 4px);left:16px;right:16px;display:block}
  .field-stats{width:fit-content;max-width:100%;gap:12px;padding:0 10px;border-radius:16px;flex-wrap:wrap}
  .field-stats button{min-height:44px;gap:6px}.field-stats span{font-size:.875rem}.field-stats strong{font-size:1.125rem}
  .map-toolbar{top:calc(var(--field-top) + 58px);right:max(16px,env(safe-area-inset-right));gap:8px;max-width:calc(100% - 32px)}
  .map-toolbar .segmented{min-width:0}.segmented button{overflow-wrap:anywhere}
  .segmented button{min-width:44px;min-height:44px;font-size:.875rem;padding:8px 12px}
  .map-footnote{top:calc(var(--field-top) + 116px);font-size:.875rem;line-height:1.4;padding:6px 10px;max-width:calc(100% - 32px);border-radius:10px}
  .mobile-nav{height:var(--mobile-nav-height);padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .mobile-nav button{font-size:.875rem;min-width:44px;min-height:44px;line-height:1.2}.mobile-nav button span{overflow-wrap:anywhere}
  .mobile-guide-launch{bottom:calc(var(--mobile-nav-height) + 8px);font-size:1rem;min-height:54px;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
  .mobile-guide-launch>small{font-size:.875rem}
  .partner-focus{bottom:calc(var(--mobile-nav-height) + 74px);max-height:min(42dvh,calc(var(--visible-height,100dvh) - var(--field-top) - var(--mobile-nav-height) - 220px));scroll-padding:12px}
  .partner-focus,.mobile-guide-launch,.mobile-nav,.content-panel{backdrop-filter:none}
  .partner-focus{background:#242124}.mobile-guide-launch{background:#211c21}.mobile-nav{background:#17171a}
  .focus-toggle{width:44px;height:44px;min-height:44px}.focus-top{min-height:44px}
  .focus-top .eyebrow,.stage-label{font-size:.875rem;letter-spacing:.035em}
  .focus-title>div{min-width:0}.focus-title h2{font-size:1.3125rem;overflow-wrap:anywhere}
  .focus-title p,.focus-purpose{font-size:1rem}.focus-actions{flex-wrap:wrap;gap:8px}
  .focus-actions .button{font-size:1rem;min-width:44px;min-height:48px;white-space:normal;padding:10px}
  .focus-actions>.icon-button{min-height:48px;min-width:44px}
  .visit-plan li button,.visit-plan .text-button{min-height:44px;font-size:.875rem}
  .visit-plan li>span,.visit-plan small{font-size:.875rem}
  .content-panel{top:calc(var(--field-top) + 4px);bottom:calc(var(--mobile-nav-height) + 74px);scroll-padding:20px}
  .panel-heading>div{min-width:0}.panel-heading h1{font-size:2rem;overflow-wrap:anywhere}.panel-heading .eyebrow{font-size:.875rem}
  .network-card{grid-template-columns:auto minmax(0,1fr) 18px;gap:12px}
  .network-card .card-top{min-width:64px}.network-card .stage-label{font-size:.875rem;letter-spacing:0}
  .network-card>div:nth-child(2){min-width:0}.network-card h3{font-size:1.125rem;overflow-wrap:anywhere}
  .network-card p,.network-note{font-size:.875rem}.panel-purpose{font-size:1rem}
  .note-compose textarea,.note-card p,.history-item p,.playbook-card>.chapter-text,.playbook-card summary>p{font-size:1rem}
  .note-card time,.history-item time,.momentum-metrics span,.goal-row>span,.goal-row>strong{font-size:.875rem}
  .note-compose .button{min-height:48px;font-size:1rem}
  .guide-panel{inset:auto 0 var(--keyboard-offset,0px);width:min(100%,42rem);margin-inline:auto;height:calc(var(--visible-height,100dvh) - env(safe-area-inset-top) - 12px);max-height:none;padding-bottom:0;border-radius:24px 24px 0 0;overflow:hidden}
  .guide-drag{display:none}
  .guide-header{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:8px;flex-shrink:0;border-bottom:1px solid var(--line)}
  .guide-identity{gap:10px;flex:1}.guide-identity .guide-mark{width:36px;height:36px;border-radius:12px}
  .guide-identity h2{font-size:1.25rem;line-height:1.25;overflow-wrap:anywhere}.guide-identity small{font-size:.875rem;line-height:1.4;margin-top:3px}
  .guide-header .icon-button{width:44px;height:44px}.guide-header-actions{gap:6px}
  .context-strip{display:none}
  .chat-scroll{padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));scroll-behavior:auto;scroll-padding:16px;-webkit-overflow-scrolling:touch}
  .guide-welcome{padding:22px 0 12px}.guide-welcome h3{font-size:1.75rem;line-height:1.15;margin:0 0 16px}
  .guide-purpose{font-size:1rem;line-height:1.5;margin:0 0 20px}
  .guide-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .guide-quick-actions button{min-height:88px;gap:12px;padding:14px 12px;font-size:1rem;line-height:1.35}
  .suggestions button{min-height:52px;font-size:1rem;gap:10px}.suggestions button span{min-width:0}
  .messages{gap:18px;padding:18px 0 12px}.message{font-size:1rem;line-height:1.6}
  .message.user{max-width:92%;padding:10px 14px}.message.action,.message.system{font-size:.875rem;line-height:1.5}
  .guide-bottom{padding:10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line);background:#1b1a1e}
  .composer{gap:6px;padding:6px;border-radius:22px;box-shadow:none}
  .composer textarea{font-size:1rem;line-height:1.5;padding:10px 8px;scroll-padding:10px}
  .composer-voice,.composer-send{width:48px;height:48px;min-width:48px;min-height:48px}
  .composer svg{width:22px;height:22px}
  .guide-foot{justify-content:center;font-size:.875rem;padding:8px 0 0;line-height:1.4}.guide-foot>span:first-child{display:none}
  .chat-scroll>.guide-status{font-size:.875rem;margin:0;padding:12px 0}
  .chat-scroll>.voice-recovery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
  .voice-recovery a,.voice-recovery button{font-size:.875rem;text-align:center;min-height:48px;padding:10px 8px;overflow-wrap:anywhere}
  .voice-dock{gap:10px;padding:0 4px 10px}.voice-meter{min-width:0;flex:1}.voice-dock .icon-button,.end-call{width:48px;height:48px;min-width:48px;min-height:48px}
  .playback-button{font-size:1rem;min-height:48px;margin-bottom:10px}
  .dialog{position:fixed;inset:auto 0 var(--keyboard-offset,0px);margin:0 auto;width:min(100%,40rem);max-height:calc(var(--visible-height,100dvh) - env(safe-area-inset-top) - 12px);padding:22px max(20px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));scroll-padding:20px}
  .dialog header .eyebrow,.dialog label,.visit-activities legend{font-size:.875rem}.dialog header{align-items:center}
  .dialog input,.dialog select{min-height:48px;font-size:1rem}.dialog textarea{font-size:1rem}
  .visit-activities label{min-height:48px;font-size:1rem}.visit-activities input{width:22px;height:22px;min-height:22px;flex-shrink:0}
  .dialog .button,.stage-options button{min-height:48px;font-size:1rem}
  .toast{max-width:calc(100% - 24px);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}
  .map-pin{min-width:44px;min-height:44px}
  body[data-keyboard="true"] .mobile-nav,body[data-keyboard="true"] .mobile-guide-launch{display:none}
  body[data-keyboard="true"] .content-panel{bottom:0}
  body[data-keyboard="true"] .guide-foot{display:none}
  body[data-keyboard="true"] .guide-panel{height:calc(var(--visible-height,100dvh) - env(safe-area-inset-top) - 4px)}
  body[data-keyboard="true"] .guide-bottom{padding-bottom:8px}
  body[data-compact="true"] .guide-header{padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left))}
  body[data-compact="true"] .guide-foot,body[data-compact="true"] .guide-identity .guide-mark{display:none}
  body[data-compact="true"] .guide-bottom{padding-top:8px;padding-bottom:8px}
}
@media(max-width:380px){
  .mobile-guide-launch>small{display:none}.field-stats{gap:8px;padding:0 8px}
  .guide-identity .guide-mark{display:none}.guide-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .network-card{padding:14px;gap:10px}.guide-quick-actions button{padding:12px;font-size:1rem}
  .goal-row{grid-template-columns:90px minmax(0,1fr) 38px}
}
@media(max-width:900px) and (max-height:600px){
  .map-overview,.map-footnote{display:none}.map-toolbar{top:calc(var(--field-top) + 8px)}
  .partner-focus{max-height:calc(var(--visible-height,100dvh) - var(--field-top) - var(--mobile-nav-height) - 138px)}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:550px){
  :root{--field-top:64px}
  .map-toolbar{top:68px}.partner-focus{left:auto;right:max(12px,env(safe-area-inset-right));width:46%;bottom:calc(var(--mobile-nav-height) + 8px);max-height:calc(var(--visible-height,100dvh) - var(--mobile-nav-height) - 144px)}
  .mobile-guide-launch{left:max(12px,env(safe-area-inset-left));right:auto;width:43%;bottom:calc(var(--mobile-nav-height) + 8px)}
  .guide-panel{height:calc(var(--visible-height,100dvh) - 8px)}
  .guide-welcome{padding-top:14px}.guide-quick-actions{display:grid}
}

.published-contact{margin:12px 0;font-size:14px;line-height:1.45}.published-contact summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer}.published-contact summary svg{width:18px;height:18px}.published-contact p{margin:6px 0}.published-contact small{display:block;font-size:12px;opacity:.75}.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.contact-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:0 10px;border:1px solid currentColor;border-radius:8px;color:inherit;text-decoration:none}.contact-actions svg{width:18px;height:18px}.contact-actions a:focus-visible,.published-contact summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
