:root{--ink:#182b26;--muted:#61716b;--green:#077960;--mint:#e3f4eb;--line:#e1e8e3;--width:1440px;color:var(--ink);background:white;font-family:"Inter",Arial,Helvetica,sans-serif;line-height:1.45;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{background:none;border:0;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #008c71;outline-offset:3px}button svg,a svg{flex:none}button:hover{filter:brightness(.97)}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.1}h2{font-size:clamp(24px,2vw,31px);margin:0;font-weight:750}h3{font-size:21px}#header{border-bottom:1px solid var(--line);background:white}.bar,main{max-width:var(--width);margin:auto;padding-inline:clamp(22px,5.5vw,85px)}.bar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:7px;padding:0;line-height:1}.logo svg{fill:#0aa586;stroke:#0aa586;transform:rotate(-6deg)}.logo svg path+path{stroke:white}.logo strong{font-size:37px;letter-spacing:-3.1px;font-weight:820}.brand-dot{color:#009d7e}.logo i{font-size:10px;font-style:normal;letter-spacing:.5px;padding:3px 5px;border-radius:5px;font-weight:800;background:#ddf3e9;color:#21755d;margin:0 0 9px -3px}.desktopnav{display:flex;gap:7px}.navbtn,.citysel{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;font-size:14px;font-weight:620;border-radius:24px;color:#53645d}.navbtn.active{background:#e5f4eb;color:#096c52}.account{display:flex;align-items:center;gap:17px}.citysel{color:var(--ink);padding:0 12px}.citysel>svg:first-child{color:#138265}.avatar{width:39px;height:39px;border-radius:50%;font-weight:720;background:#ede9dc;border:1px solid #ddd7c8;color:#5a5346}.hero{position:relative;isolation:isolate;overflow:hidden;background:#123c38;color:#fff;border-radius:22px;margin-top:28px;min-height:310px;display:flex;align-items:center}.hero:before,.hero:after{content:"";position:absolute;inset:0;z-index:-1}.hero:before{background-image:var(--hero);background-size:78% auto;background-position:right 53%;background-repeat:no-repeat}.hero:after{background:linear-gradient(90deg,#0b3833 0%,#103b36 21%,rgba(10,45,39,.91) 32%,rgba(7,43,39,.49) 51%,rgba(5,40,35,.12) 77%),linear-gradient(0deg,rgba(0,26,25,.46),transparent 32%)}.herocontent{padding:36px clamp(24px,3.5vw,54px);max-width:65%}.eyebrow{display:flex;align-items:center;gap:8px;font:700 10px/1.3 ui-monospace,"Courier New",monospace;letter-spacing:2px}.herocontent .eyebrow{color:#d8eee2}.eyebrow b{width:7px;height:7px;border-radius:50%;background:#92e5bd}.hero h1{font-size:clamp(58px,6.25vw,94px);letter-spacing:-.07em;line-height:.99;margin:16px 0;font-weight:750;white-space:nowrap}.hero h1 span{font-family:"Noto Serif CJK SC","Songti SC",serif;color:#cce0d3;font-size:.36em;letter-spacing:.035em;font-weight:450;vertical-align:middle;margin-left:16px}.hero p{font-size:15px;line-height:1.5;color:#ebf3ee;max-width:350px;margin:0 0 24px}.whitebtn,.primary,.secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:25px;font-size:14px;font-weight:700;padding:10px 20px;text-decoration:none}.whitebtn{background:#fff;color:#19342b;gap:14px}.primary{background:var(--green);color:white}.secondary{background:#edf4ef}.stamp{position:absolute;width:85px;right:28px;top:24px;transform:rotate(14deg);color:#fffaeb;opacity:.84}.coords{position:absolute;bottom:20px;right:27px;font:500 10px ui-monospace,monospace;letter-spacing:.9px;display:flex;align-items:center;gap:6px;color:#e9f5e9}.sectitle{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolssection{margin-top:29px}.toolgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.tool{position:relative;display:flex;align-items:center;text-align:left;gap:8px;border-radius:15px;min-height:88px;padding:10px 14px 10px 9px;overflow:hidden}.tool>svg:last-child{position:absolute;right:11px;top:11px;opacity:.7}.tool-art{width:66px;height:66px;flex:none;filter:drop-shadow(0 2px 0 #142e2b16)}.tool strong{display:block;font-size:clamp(15px,1.3vw,20px);font-weight:750;letter-spacing:-.035em}.tool small{display:block;font-size:12px;color:#45564e;margin-top:3px}.planner{background:#dff2e7}.map{background:#faf0d5}.phrase{background:#ede7f8}.offline{background:#f9e7dd}.placessection{margin:33px 0 50px}.textbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#08785c;font-size:14px;font-weight:670;min-height:40px;padding:2px 0}.chips,.mapchoices{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 19px}.chips button,.mapchoices button{display:inline-flex;align-items:center;gap:7px;border-radius:24px;white-space:nowrap;min-height:35px;padding:7px 14px;border:1px solid #dce4dd;color:#45544c;font-size:12px;font-weight:600}.chips .on,.mapchoices .on{background:#183e32;color:#fff;border-color:#183e32}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.place{min-width:0}.photo{position:relative;border-radius:16px;overflow:hidden;background:#e2ece5;aspect-ratio:1.57}.photoBtn{display:block;width:100%;height:100%;padding:0}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photoBtn:hover img{transform:scale(1.035)}.save{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;color:#183a31;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 2px 6px #162e2114}.save:before{content:"";position:absolute;inset:-5px}.issaved{background:#d8f4e6;color:#075d46}.issaved svg{fill:#075d46}.cardtitle{display:block;text-align:left;width:100%;font-size:clamp(17px,1.4vw,21px);font-weight:740;letter-spacing:-.04em;line-height:1.25;margin:12px 0 5px;padding:0}.meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#607268;font-size:12px}.meta b{font-weight:400;color:#a1aaa5}#dock{display:none}.search{max-width:550px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:2px 14px;border-radius:14px;margin-top:22px;background:#f6f9f6}.search input{width:100%;border:none;background:none;height:44px;outline:none}.pagehead{position:relative;margin:35px 0 18px}.pagehead h1,.profilebody>h1{font-size:45px;margin:12px 0}.pagehead>.primary{position:absolute;right:0;bottom:0}.eyebrow.dark{color:var(--green)}.empty{grid-column:1/-1;background:#f5f8f5;padding:35px;border-radius:18px;text-align:center;color:#506257}.empty h3{color:var(--ink);margin:12px 0}.empty p{max-width:380px;margin:8px auto 16px}.empty .tool-art{width:77px;height:77px}.triprow{width:100%;display:flex;align-items:center;text-align:left;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);min-height:55px}.triprow>span:not(.rowicon):not(.num){flex:1}.triprow strong,.triprow small{display:block}.triprow small{color:var(--muted);margin-top:3px}.triprow>svg:last-child,.triprow>button{margin-left:auto}.triprow>button{min-width:44px;min-height:44px}.rowicon,.num{width:42px;height:42px;background:var(--mint);border-radius:12px;display:grid;place-items:center}.profilebody{max-width:560px;margin:35px auto}.profilebody .eyebrow{margin-top:12px}.citythumb{width:58px;height:45px;object-fit:cover;border-radius:9px}.muted{color:var(--muted)}.locked{overflow:hidden}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.backdrop{background:#152d2666;position:absolute;inset:0;backdrop-filter:blur(3px)}.sheet{isolation:isolate;position:relative;width:min(480px,100%);max-height:min(86dvh,820px);overflow:auto;background:#fff;border-radius:24px;padding:29px;box-shadow:0 18px 75px #18332030;animation:appear .18s ease-out}.sheethead{margin:9px 0 19px;padding-right:20px}.sheethead h2{font-size:33px;margin:9px 0}.x{position:sticky;top:0;z-index:2;float:right;margin:0 -8px -40px 0;width:37px;height:37px;border-radius:50%;background:#edf2ed;display:grid;place-items:center}.sheet h3{margin:22px 0 8px}.sheet p{margin:15px 0 20px;color:#52645c}.sheet .detailimg{width:calc(100% + 58px);margin:-29px -29px 18px;height:190px;object-fit:cover;max-width:none}.actions{display:flex;gap:9px;flex-wrap:wrap}.maplink{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:14px;font-weight:600;text-decoration:none}.sheet .primary,.sheet .secondary{margin-top:5px}.sheet .profilebody{margin:0}.sheet form,main form{display:grid;gap:17px}form label{display:grid;gap:7px;font-size:14px;font-weight:650}form input,form select{min-width:0;width:100%;border:1px solid #cddbd1;border-radius:10px;height:46px;background:white;padding:8px 12px;font-weight:400}.formgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.kitlist{display:grid;gap:12px;background:#f0f6f1;border-radius:15px;padding:16px;margin:16px 0}.kitlist>div{display:flex;align-items:center;gap:8px}.kitlist svg{color:var(--green)}.phr{position:relative;padding:13px 0 13px;border-top:1px solid var(--line)}.phr span,.phr strong,.phr small{display:block}.phr span{font-size:14px}.phr strong{font-size:22px;margin:4px 0}.phr small{color:var(--muted)}.phr .textbtn{font-size:12px}.schematic{position:relative;aspect-ratio:1.65;border-radius:16px;overflow:hidden}.schematic>svg{width:100%;height:100%}.mappin{width:30px;height:30px;position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:#f5fff7;border:2px solid #307d64;font-weight:700;box-shadow:0 2px 7px #132e382e}.mappin.sel{background:#0b7054;color:white;z-index:1}.mapchoices{margin-top:12px}.mapInfo h3{margin:6px 0}.mapInfo p{margin:3px 0 12px}#notice{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,14px);padding:10px 18px;background:#173f33;border-radius:15px;color:white;opacity:0;pointer-events:none;transition:.15s;max-width:92%;width:max-content;font-size:14px}#notice.show{opacity:1;transform:translate(-50%,0)}@keyframes appear{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.bar,main{padding-inline:60px}.hero{min-height:345px}}
@media(max-width:1020px){.bar,main{padding-inline:26px}.navbtn{padding-inline:13px}.toolgrid{gap:10px}.tool{padding:9px 7px;gap:3px}.tool-art{width:52px;height:58px}.tool small{font-size:11px}.cards{gap:13px}.hero{min-height:295px}}
@media(max-width:720px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.bar,main{padding-inline:18px}.bar{height:62px}.logo strong{font-size:31px}.logo svg{width:29px}.desktopnav{display:none}.account{gap:4px}.citysel{font-size:13px;gap:5px;min-height:44px}.avatar{width:33px;height:33px}.hero{margin-top:16px;min-height:303px;border-radius:20px}.hero:before{background-size:cover;background-position:55% center}.hero:after{background:linear-gradient(90deg,rgba(7,47,39,.78),rgba(7,47,39,.35) 70%,rgba(5,42,35,.14)),linear-gradient(0deg,#092f29e8,transparent 89%)}.herocontent{padding:55px 23px 32px;max-width:100%}.hero h1{font-size:clamp(50px,11.5vw,70px);margin:14px 0}.hero h1 span{font-size:.36em;margin-left:10px}.hero p{font-size:14px;max-width:275px}.eyebrow{font-size:9px}.coords{font-size:8px;right:17px;bottom:13px}.stamp{width:55px;right:15px;top:14px}.toolssection,.placessection{margin-top:24px}.sectitle h2{font-size:24px}.toolgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.tool{min-height:73px;border-radius:13px;gap:3px;padding-left:5px}.tool-art{width:46px;height:54px}.tool strong{font-size:15px}.tool small{font-size:10px}.tool>svg:last-child{width:12px;top:8px;right:7px}.chips{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;margin:11px 0 15px;padding:2px 0}.chips::-webkit-scrollbar{display:none}.chips button{flex:none;min-height:38px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.photo{border-radius:12px;aspect-ratio:1.27}.cardtitle{margin-top:9px;font-size:17px}.meta{font-size:11px;gap:3px}.textbtn{font-size:12px}.save{width:29px;height:29px;top:7px;right:7px}.save svg{width:15px}#dock{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:5px 8px calc(5px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #133a2410}#dock .navbtn{flex:1;flex-direction:column;gap:2px;font-size:10px;padding:3px 0;min-height:46px;border-radius:12px;background:none}#dock .active{color:#007c59}#dock .active svg{background:#d9f0e2;box-shadow:0 0 0 4px #d9f0e2;border-radius:5px;margin-bottom:2px}.overlay{align-items:end;padding:0}.sheet{width:100%;max-height:88dvh;border-radius:22px 22px 0 0;padding:28px 22px calc(24px + env(safe-area-inset-bottom))}.sheet .detailimg{width:calc(100% + 44px);margin:-28px -22px 16px}.sheethead h2{font-size:27px}.pagehead h1,.profilebody>h1{font-size:35px}.pagehead>.primary{position:static;margin-top:8px}.placessection{margin-bottom:28px}#notice{bottom:80px}.photoBtn:focus-visible{outline-offset:-4px}}
@media(max-width:360px){.bar,main{padding-inline:13px}.tool-art{width:37px}.tool strong{font-size:14px}.tool>svg:last-child{display:none}.hero h1{font-size:48px}.hero .stamp{width:48px}.logo strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.assistbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cde4d6;color:#086d54;border-radius:22px;padding:7px 12px;background:#f1faf4;font-size:12px;font-weight:650;min-height:32px}.assistbtn svg{fill:#bee6cf}@media(max-width:720px){.assistbtn{font-size:11px;padding:6px 8px}.chips button,.citysel,.save:before,.x:before,.assistbtn:before{min-height:44px}.x,.assistbtn{position:relative}.x:before,.assistbtn:before{content:"";position:absolute;inset:-5px}.x{position:sticky}}
@media(max-width:360px){.bar{gap:5px}.logo{gap:3px}.logo strong{font-size:26px}.logo svg{width:25px}.citysel{padding-inline:5px}.avatar{width:29px;height:29px}.toolssection .sectitle{gap:4px}.toolssection .sectitle h2{font-size:20px}.assistbtn{white-space:nowrap;gap:3px;padding:6px;font-size:10px}.hero h1{font-size:44px}.hero h1 span{margin-left:6px}.herocontent{padding-left:18px;padding-right:17px}}
