:root{--paper:#f6f4ee;--ink:#203633;--muted:#6f7d75;--line:#dfe2d8;--orange:#ed7b51;--green:#365d49;--white:#fffdf8}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:DM Sans,sans-serif;font-size:14px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;min-height:44px}a{color:inherit}:is(button:focus-visible,a:focus-visible,input:focus-visible){outline:3px solid var(--orange);outline-offset:3px}button:disabled{opacity:.5;cursor:default}button:hover{filter:brightness(.96)}.atlas{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.header{border-bottom:1px solid var(--line);z-index:10;background:var(--paper);flex-shrink:0;justify-content:space-between;align-items:center;height:78px;padding:0 30px;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:19px;font-weight:800;text-decoration:none;display:flex}.brand-symbol{background:var(--orange);border-radius:10px;place-items:center;width:37px;height:37px;display:grid}.brand b{color:#8b968a;letter-spacing:2px;margin-left:5px;font-size:12px;font-weight:500}.six{color:#c65b36}.desktop-nav{align-items:center;gap:28px;display:flex}.desktop-nav button,.desktop-nav a{align-items:center;gap:8px;height:78px;font-size:13px;text-decoration:none;display:flex}.desktop-nav .nav-active{border-bottom:2px solid var(--ink)}.desktop-nav span{background:#e9eadf;border-radius:6px;padding:3px 7px;font-size:11px}.free-badge{align-items:center;gap:8px;font-size:12px;display:flex}.free-badge>span,.live-dot,.map-title>span:first-child{background:#729a58;border-radius:50%;width:6px;height:6px;display:inline-block}.workspace{flex:1;min-height:0;display:flex}.sidebar{border-right:1px solid var(--line);background:var(--paper);z-index:6;flex-direction:column;flex-shrink:0;width:354px;padding:28px 23px 0;display:flex;overflow:auto}.eyebrow{letter-spacing:1.6px;color:#7b8374;margin:0 0 14px;font-size:10px;font-weight:700}.side-intro h1{letter-spacing:-1.3px;white-space:pre-line;margin:0 0 10px;font-family:Manrope,sans-serif;font-size:30px;font-weight:800;line-height:1.22}.side-intro>p:last-child{color:var(--muted);margin:0 0 25px;font-size:12px}.search-box{border:1px solid var(--line);background:#fffefa;border-radius:10px;flex-shrink:0;align-items:center;gap:9px;height:46px;padding:0 11px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:44px;font-size:12px}.search-box kbd{color:#9ca397;border:1px solid var(--line);border-radius:4px;padding:2px 5px;font-size:11px}.search-box button{padding:0}.category-grid{grid-template-columns:1fr 1fr;gap:7px;margin:17px 0;display:grid}.category-grid button{border:1px solid var(--line);text-align:left;background:#f9f8f2;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:11px;display:flex}.category-grid button small{opacity:.65;margin-left:auto;font-size:10px}.category-grid .chosen{background:var(--ink);color:#fff;border-color:var(--ink)}.toggle-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0 19px;font-size:11px;display:flex}.toggle-line span{align-items:center;gap:8px;display:flex}.toggle-line input{accent-color:var(--green);width:18px;height:18px}.list-heading{letter-spacing:1.1px;color:#7b8374;justify-content:space-between;padding:22px 0 8px;font-size:10px;font-weight:700;display:flex}.place-list{flex:1;min-height:80px}.place-row{text-align:left;border-bottom:1px solid #e7e8df;align-items:center;gap:10px;width:100%;padding:12px 0;display:flex}.place-row>span:nth-child(2){flex:1;min-width:0}.place-row strong{font-size:12px;font-weight:600;line-height:1.4;display:block}.place-row small{color:#829082;margin-top:3px;font-size:10px;display:block}.place-icon{color:#6e8065;background:#e9ebdf;border-radius:9px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.place-row.active .place-icon{color:#592e21;background:#efb08e}.side-footer{background:var(--paper);border-top:1px solid var(--line);color:var(--muted);padding:18px 0 15px;font-size:10px;line-height:2;position:sticky;bottom:0}.side-footer .live-dot{margin-right:7px}.side-footer a{text-decoration:none}.map-area{background:#628ca4;flex:1;min-width:0;position:relative;overflow:hidden}.map-stage{touch-action:none;cursor:grab;outline-offset:-4px;overscroll-behavior:none;position:absolute;inset:0}.map-stage:active{cursor:grabbing}.map-stage svg{display:block}.marker{cursor:pointer}.marker circle:nth-child(2){filter:drop-shadow(0 2px 3px #20363355)}.map-top{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute;top:20px;left:25px;right:25px}.map-title{letter-spacing:1.3px;background:#f6f4eef2;border-radius:7px;align-items:center;gap:9px;padding:12px 15px;font-size:10px;font-weight:700;display:flex;box-shadow:0 3px 12px #2036330d}.divider{opacity:.3}.estimate-badge{pointer-events:auto;background:#f6f4eef2;border-radius:7px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:10px;display:flex}.map-controls{z-index:3;flex-direction:column;gap:12px;display:flex;position:absolute;top:95px;right:22px}.map-controls>button,.map-controls>div{background:var(--paper);border-radius:9px;box-shadow:0 3px 12px #2036331a}.map-controls button{place-items:center;width:44px;height:44px;display:grid}.map-controls>div button:first-child{border-bottom:1px solid var(--line)}.north{color:var(--paper);text-shadow:0 1px 5px #213731;flex-direction:column;align-items:center;font-size:11px;font-weight:700;display:flex}.map-caption{pointer-events:none;color:#fff;text-shadow:0 2px 10px #203633;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:110px;left:30px}.map-caption>span{letter-spacing:3px;font-size:11px;font-weight:700}.map-caption small{opacity:.8;font-size:11px}.caption-line{background:#fff;width:30px;height:2px;margin-bottom:4px}.companion-fab{background:var(--paper);text-align:left;z-index:3;border:1px solid #e7e6dc;border-radius:14px;align-items:center;gap:12px;padding:12px 15px;display:flex;position:absolute;bottom:44px;right:24px;box-shadow:0 6px 30px #24382c25}.companion-fab>span:nth-child(2){font-size:12px;font-weight:700}.companion-fab small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.orb{color:#567c46;background:#e9eedf;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.map-credit{background:#f6f4eecf;justify-content:space-between;gap:10px;padding:8px 16px;font-size:9px;display:flex;position:absolute;bottom:0;left:0;right:0}.map-credit a{text-decoration:none}.mobile-search,.mobile-nav{display:none}.place-card{background:var(--paper);z-index:4;border-radius:16px;width:min(390px,100% - 100px);padding:23px;position:absolute;bottom:45px;left:24px;box-shadow:0 10px 50px #20363333}.close-card{place-items:center;min-width:44px;display:grid;position:absolute;top:8px;right:10px}.place-card .eyebrow{color:#a55b36;padding-right:20px;font-size:9px}.place-card h2{letter-spacing:-.8px;margin:0 25px 6px 0;font-family:Manrope,sans-serif;font-size:24px}.place-card>p:not(.eyebrow){color:var(--muted);margin:0 0 16px;font-size:12px}.source-note{background:#eeede3;border-radius:8px;align-items:center;gap:8px;padding:11px;font-size:10px;line-height:1.5;display:flex}.source-note svg{flex-shrink:0}.card-actions{gap:5px;margin:15px 0 12px;display:flex}.card-actions button{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:11px;display:flex}.primary{background:var(--ink);border-radius:8px;color:#fff!important;border:0!important}.card-actions .primary{flex:1}.fine{color:var(--muted);font-size:10px;line-height:1.7}.companion-identity{border-top:1px solid var(--line);align-items:center;gap:10px;padding:18px 0;display:flex}.companion-identity strong{font-size:13px}.companion-identity small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.ask-panel{flex:1}.suggestions{gap:7px;display:grid}.suggestions button{border:1px solid var(--line);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:11px;display:flex}.answer{background:#e9ecdf;border-radius:10px;margin-top:18px;padding:16px;font-size:12px;line-height:1.8}.answer p{margin:0 0 12px}.answer a{font-size:10px}.question-form{border:1px solid var(--line);background:#fffefa;border-radius:10px;margin-top:20px;padding:4px;display:flex}.question-form input{background:0 0;border:0;width:100%;min-width:0;padding:8px;font-size:12px}.question-form button{background:var(--ink);color:#fff;border-radius:7px;width:40px}.backup-actions{gap:8px;margin-top:14px;display:flex}.backup-actions button{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.empty{text-align:center;color:var(--muted);padding:30px 5px}.empty h3{color:var(--ink);font-size:16px}.empty p{font-size:12px;line-height:1.7}.empty button{font-size:12px;text-decoration:underline}.muted{color:var(--muted);font-size:11px}.consent{z-index:30;background:var(--white);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;max-width:570px;padding:12px 14px;display:flex;position:fixed;bottom:16px;left:16px;box-shadow:0 5px 30px #2036331a}.consent>span{font-size:12px;font-weight:600}.consent small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.consent button:nth-child(2){background:var(--ink);color:#fff;white-space:nowrap;border-radius:7px;padding:0 12px;font-size:11px}.consent button:last-child{min-width:32px;padding:0}.toast{background:var(--ink);color:#fff;z-index:80;overflow-wrap:anywhere;border-radius:10px;max-width:90vw;padding:14px 20px;font-size:12px;position:fixed;top:90px;left:50%;transform:translate(-50%)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:60;background:#142d2a88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.info-modal{background:var(--paper);border-radius:20px;width:460px;max-width:100%;max-height:85dvh;padding:35px;position:relative;overflow:auto}.info-modal h2{letter-spacing:-1px;font-family:Manrope,sans-serif;font-size:28px;line-height:1.2}.info-modal p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8}.info-modal a{font-size:12px}.full{width:100%;margin-top:24px;padding:13px}.document{max-width:760px;margin:0 auto;padding:60px 24px 100px;line-height:1.9}.document>a:first-child{margin-bottom:50px;font-size:13px;display:block}.document h1{letter-spacing:-1.8px;font-family:Manrope,sans-serif;font-size:44px;line-height:1.15}.document h2{margin-top:35px;font-size:21px}.document p{color:#53675e}.sr-only,.skip{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip:focus{clip:auto;z-index:100;background:var(--paper);width:auto;height:auto;padding:15px}@media (min-width:1400px){.sidebar{width:380px;padding-left:30px;padding-right:30px}.side-intro h1{font-size:34px}}@media (max-width:1000px){.desktop-nav{gap:18px}.sidebar{width:310px;padding:22px 18px 0}.side-intro h1{font-size:28px}.map-title{display:none}.map-top{justify-content:flex-start}.place-card{left:16px}.companion-fab>span:nth-child(2){display:none}.companion-fab{padding:6px}.companion-fab>svg{display:none}}@media (max-width:700px){.header{height:62px;padding:0 17px}.brand{font-size:17px}.brand b{letter-spacing:1px;margin-left:3px;font-size:9px}.brand-symbol{border-radius:8px;width:31px;height:31px}.free-badge{gap:5px;font-size:10px}.free-badge>svg,.desktop-nav{display:none}.workspace{position:relative}.sidebar{z-index:8;border:0;width:100%;padding:24px 22px 0;display:none;position:absolute;inset:0}.sidebar.mobile-open{display:flex}.side-intro h1{font-size:31px}.side-intro>p:last-child{margin-bottom:20px}.category-grid{grid-template-columns:repeat(3,1fr)}.category-grid button{gap:5px;padding:0 8px;font-size:10px}.category-grid button small{display:none}.category-grid button svg{width:13px}.place-row{min-height:65px}.place-row strong{font-size:14px}.place-row small{font-size:11px}.search-box input{font-size:16px}.map-top{top:74px;left:14px;right:14px}.estimate-badge{min-height:30px;padding:0 9px;font-size:9px}.mobile-search{background:var(--paper);z-index:4;border-radius:12px;align-items:center;gap:10px;height:48px;padding:0 13px;display:flex;position:absolute;top:15px;left:14px;right:14px;box-shadow:0 4px 15px #20363315}.mobile-search input{background:0 0;border:0;outline:none;width:100%;min-width:0;font-size:14px}.mobile-search button{place-items:center;width:35px;padding:0;display:grid}.map-controls{gap:10px;top:117px;right:14px}.map-controls .north{margin-bottom:3px}.map-controls button{width:44px;height:44px}.map-controls>div,.map-controls>button{border-radius:10px}.map-caption{bottom:90px;left:22px}.map-caption>span{letter-spacing:2px;font-size:9px}.map-caption small{font-size:10px}.companion-fab{bottom:42px;right:14px}.companion-fab .orb{width:42px;height:42px}.map-credit{padding:8px 10px;font-size:8px}.map-credit>span{display:none}.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);z-index:15;flex-shrink:0;justify-content:space-around;display:flex}.mobile-nav button{color:#8a9488;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:25%;font-size:10px;display:flex}.mobile-nav .selected{color:var(--ink)}.mobile-nav .selected svg{color:#c7613c}.place-card{border-radius:16px;width:auto;max-height:55dvh;padding:20px;bottom:39px;left:12px;right:12px;overflow:auto}.place-card h2{font-size:24px}.place-card .card-actions button{min-height:46px;font-size:12px}.place-card~.companion-fab{display:none}.consent{left:10px;right:10px;bottom:calc(78px + env(safe-area-inset-bottom));flex-wrap:wrap;gap:9px;max-width:none;padding:12px}.consent>span{flex-basis:calc(100% - 35px)}.consent button:last-child{position:absolute;top:9px;right:8px}.consent button:nth-child(2){min-height:36px}.toast{width:max-content;max-width:90vw;top:70px}.document{padding-top:30px}.document h1{font-size:36px}.info-modal{padding:28px}.answer{font-size:14px}.question-form input{font-size:16px}.question-form{position:sticky;bottom:0}.side-footer{padding:15px 0}.suggestions button{min-height:48px;font-size:13px}}@media (prefers-reduced-motion:no-preference){button,a{transition:background .15s,color .15s}.place-card{animation:.2s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.mobile-search input{font-size:16px}.search-box button,.mobile-search button,.consent button:last-child{min-width:44px;min-height:44px}.estimate-badge,.consent button:nth-child(2){min-height:44px}.load-more{border:1px solid var(--line);border-radius:8px;width:100%;margin:14px 0}.toggle-line{min-height:44px}.map-tile{filter:none}@media (max-height:500px) and (orientation:landscape){.header{height:48px}.side-intro{display:none}.sidebar{padding-top:10px}.place-card{max-height:65dvh;padding:12px;bottom:30px}.map-caption,.map-top,.north{display:none}.map-controls{top:75px}.mobile-nav{height:52px}.card-actions{margin:6px 0}.place-card h2{font-size:18px}}.tag-filter{align-items:center;gap:10px;font-size:12px;display:flex}.tag-filter select{border:1px solid var(--line);background:var(--white);min-width:0;min-height:44px;color:var(--ink);border-radius:8px;flex:1;font-size:16px}.private-note{margin-top:10px;font-size:11px;display:block}.private-note textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:48px;max-height:100px;font:inherit;background:var(--white);color:var(--ink);border-radius:8px;margin-top:5px;padding:8px;font-size:16px;display:block}
