:root{font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:#282c28;background:#fcfbf7;font-synthesis:none;--orange:#d94e2c;--muted:#83847b;--border:#e9e8df}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #f2b59f;outline-offset:4px}a{color:inherit;text-decoration:none}header{height:94px;display:flex;align-items:center;padding:0 3.2%;gap:65px;border-bottom:1px solid var(--border)}.brand{font-weight:900;letter-spacing:-2px;font-size:35px;white-space:nowrap}.brand span{color:var(--orange)}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:600;color:#89887f;margin-top:1px}nav{display:flex;gap:28px;height:100%;align-items:center}nav button{height:100%;font-size:14px;color:#73756c}.nav-active{position:relative;color:#282c28;font-weight:700}.nav-active:after{content:'';position:absolute;bottom:0;left:12px;right:12px;height:3px;background:var(--orange)}.account{margin-left:auto;display:flex;gap:22px;align-items:center}.plain{font-size:13px}.primary{background:var(--orange);border:1px solid var(--orange);color:white;padding:13px 20px;border-radius:8px;font-weight:600;font-size:14px}.primary:hover{background:#bf4022}.primary:disabled{opacity:.55;cursor:wait}main{display:grid;grid-template-columns:410px 1fr;height:calc(100dvh - 94px);min-height:640px}aside{padding:36px 28px 20px 36px;overflow:auto;display:flex;flex-direction:column}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--orange);font-weight:700}h1{font-size:43px;line-height:1.35;letter-spacing:-1.5px;margin:18px 0}h1 span{color:var(--orange)}.intro{font-size:13px;line-height:1.9;color:#7a7c72;margin:0 0 26px}.search{display:flex;align-items:center;border:1px solid var(--border);background:white;border-radius:9px;padding:0 13px;gap:12px}.search span{font-size:28px;color:#9c9e92}.search input{border:0;padding:13px 0;outline:0;width:100%;font-size:12px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 28px}.chips button{border:1px solid var(--border);border-radius:20px;padding:7px 12px;font-size:11px;background:white;color:#6e7167}.chips button.active{background:#2d382e;color:white;border-color:#2d382e}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.list-heading h2{font-size:14px;margin:0}.list-heading>span{font-size:11px;color:var(--muted)}.empty-list{border:1px dashed #d7d9ce;border-radius:10px;padding:25px 20px;line-height:1.8;font-size:13px;color:#7c8274;background:#f5f5ed}.place-card{display:flex;width:100%;gap:13px;padding:14px 0;text-align:left;border-top:1px solid var(--border)}.place-card:hover h3{color:var(--orange)}.thumb{width:76px;height:76px;object-fit:cover;border-radius:9px;flex-shrink:0;background:#eee9dc;display:grid;place-items:center;font-size:30px}.place-card h3{font-size:14px;margin:3px 0 7px}.place-card p{font-size:11px;color:var(--muted);margin:5px 0;line-height:1.5}.tag{font-size:10px;padding:3px 7px;border-radius:4px;background:#f1eee2;color:#857348}.aside-note{display:flex;gap:12px;border-top:1px solid var(--border);margin-top:auto;padding-top:20px;color:#6b7764;font-size:11px;align-items:center}.aside-note>span{font-size:30px}.aside-note p{line-height:1.8;margin:0}.aside-note small{font-size:10px;color:#989c8f}.map-shell{position:relative;background:#e9eddf;margin:18px 20px 20px 0;border-radius:17px;overflow:hidden;isolation:isolate}#map{position:absolute;inset:0}#map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;background:radial-gradient(ellipse at 30% 20%,#f5f5e8 0,transparent 55%),repeating-linear-gradient(35deg,transparent 0 65px,#dce2d2 66px 67px,transparent 68px 132px),#e9eddf}#map-empty[hidden]{display:none}.map-symbol{font-size:66px;font-weight:200;color:#d65d3c;background:#fcfbf7;border-radius:30px;width:108px;line-height:108px;box-shadow:0 14px 35px #56613d18}#map-empty h2{font-size:23px;margin-top:30px}#map-empty p{font-size:13px;line-height:2;color:#747e67;margin-bottom:25px}.map-title{position:absolute;top:22px;left:22px;background:#fffc;padding:13px 16px;border:1px solid #fff;border-radius:9px;box-shadow:0 3px 16px #38432809;font-size:12px;pointer-events:none}.map-title small{color:#88907e;font-size:10px;margin-left:14px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7e9862;margin-right:7px}.map-locate{position:absolute;right:22px;top:22px;background:white;border-radius:9px;padding:12px;font-size:20px;box-shadow:0 3px 16px #38432809}.map-locate span{font-size:11px;margin-left:6px}.map-bottom{position:absolute;bottom:0;left:0;right:0;padding:15px 22px;display:flex;justify-content:space-between;font-size:10px;background:linear-gradient(transparent,#f9faefdd);color:#6e7a60;pointer-events:none}.map-bottom span{font-size:9px}.detail{position:absolute;bottom:45px;left:20px;right:20px;max-width:440px;border-radius:13px;background:white;padding:22px;box-shadow:0 10px 40px #26341f22;max-height:60%;overflow:auto}.detail h2{font-size:20px;margin:0 25px 12px 0}.detail p{font-size:13px;line-height:1.8;color:#71766b;white-space:pre-wrap}.detail img{width:90px;height:90px;object-fit:cover;border-radius:6px;margin:4px}.detail .close{position:absolute;right:12px;top:12px}dialog{border:1px solid var(--border);border-radius:18px;padding:30px;max-width:600px;width:calc(100% - 28px);max-height:90dvh;box-shadow:0 30px 100px #2223}dialog::backdrop{background:#1e291a88;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top h2{font-size:23px;margin:9px 0}.close{font-size:26px;font-weight:300;color:#828778;line-height:1}.muted{color:#85897e;font-size:12px;line-height:1.8}form label{display:block;font-size:12px;font-weight:600;margin:15px 0 0}form input:not([type=checkbox]),form select,form textarea{display:block;width:100%;border:1px solid #dddfd5;background:#fdfdfa;border-radius:7px;padding:11px;margin-top:8px;font-size:13px;outline-color:#e89e85}form textarea{resize:vertical;min-height:70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.coordinate-head{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:12px}.link{color:var(--orange);font-size:12px}.hint{color:#8b8e83;font-size:11px;line-height:1.6}.upload{border:1px dashed #c8cdbc;border-radius:8px;padding:15px;text-align:center;color:#6c785f}.upload small{display:block;font-size:10px;font-weight:400;margin:6px}.upload input{font-size:11px!important}.consent{display:flex;gap:9px;font-size:11px;line-height:1.8;color:#85887f;align-items:flex-start}.consent input{margin-top:4px}.wide{width:100%;margin-top:10px}#form-error{font-size:12px;color:#bc402a}#photo-preview img{width:65px;height:65px;object-fit:cover;margin:8px 6px 0 0;border-radius:7px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 22px;border-radius:10px;background:#293728;color:white;box-shadow:0 4px 18px #0002;font-size:13px;max-width:90%;z-index:20}.submission{border-top:1px solid var(--border);padding:17px 0;display:flex;gap:15px;justify-content:space-between;font-size:13px}.submission small{display:block;color:var(--muted);font-size:10px;margin-top:8px}.submission span{font-size:11px;color:#937249}#mine-dialog{min-height:230px}.pin{background:var(--orange);color:white;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);width:32px;height:32px;box-shadow:0 2px 8px #0002}.pin span{display:block;transform:rotate(45deg);line-height:28px;text-align:center;font-size:12px}@media(min-width:1600px){main{grid-template-columns:460px 1fr}aside{padding-left:50px;padding-right:40px}}@media(max-width:900px){header{height:78px;gap:25px;padding:0 20px}.brand{font-size:29px}.brand small{font-size:6px}nav{gap:10px}nav button{font-size:12px}.account{gap:8px}.account .primary{padding:11px;font-size:12px}.plain{font-size:11px}main{grid-template-columns:330px 1fr;height:calc(100dvh - 78px)}aside{padding:28px 20px}h1{font-size:37px}.map-title small{display:none}.map-locate span{display:none}.map-bottom span{display:none}}@media(max-width:640px){header{height:75px;padding:0 16px;gap:10px}.brand{font-size:28px}nav{margin-left:auto}.account{margin-left:0}.account .primary{display:none}nav button{font-size:11px}.plain{font-size:10px}main{display:flex;flex-direction:column;height:auto;min-height:0}aside{padding:25px 22px 20px;order:1;overflow:visible}.eyebrow{font-size:8px}h1{font-size:32px;margin:14px 0 10px}h1 br{display:none}.intro{font-size:12px;margin-bottom:18px}.chips{margin-bottom:20px}.map-shell{height:46dvh;min-height:310px;margin:14px 14px 0;border-radius:13px}.map-title{top:14px;left:14px}.map-locate{top:14px;right:14px}.aside-note{margin-top:20px;padding-bottom:15px}#map-empty h2{font-size:19px;margin:18px 0 4px}.map-symbol{font-size:40px;width:68px;line-height:68px;border-radius:20px}#map-empty p{font-size:11px;margin:10px 0 15px}#map-empty .primary{font-size:12px;padding:10px}dialog{padding:23px}.dialog-top h2{font-size:20px}.detail{max-height:65%;bottom:30px;left:10px;right:10px;padding:17px}}

.brand{font-size:24px;letter-spacing:-1px}.brand small{font-size:8px;letter-spacing:1px}.coordinate-head{gap:10px;flex-wrap:wrap}.detail video{border-radius:8px;margin-top:12px}#video-preview{font-size:11px;color:#737c6c;word-break:break-all;padding:8px 0}@media(max-width:640px){.brand{font-size:18px;letter-spacing:-.5px}.brand small{font-size:6px;letter-spacing:0}header{gap:7px}nav{gap:3px}.account{gap:0}}

.feedback-methods{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}.feedback-secondary{padding:13px 20px;border:1px solid #d8ddce;border-radius:8px;background:#f2f4e9;font-size:14px}#feedback-preview{display:flex;gap:8px;flex-wrap:wrap}#feedback-preview img{width:80px;height:80px;object-fit:cover;border-radius:7px;margin-top:8px}#feedback-error{color:#bc402a;font-size:12px;line-height:1.8}#feedback-result{margin-top:15px;font-size:13px}.feedback-result-link{color:var(--orange);text-decoration:underline}@media(max-width:420px){header{padding-left:10px;padding-right:10px;gap:4px}nav{gap:0}nav button{padding:0 5px;font-size:10px}.account .plain{padding:0 4px}.brand{font-size:17px}}

#password-error{color:#bc402a;font-size:12px;line-height:1.7}
