html{-webkit-text-size-adjust:100%}#root{min-height:100vh}:root{--bg:#f7f3e8;--paper-grain:#2f6b4f0b;--surface:#fffdf6;--surface-2:#f1ead8;--surface-3:#e8dfc8;--text:#1e2820;--text-muted:#5b695d;--text-faint:#7c8879;--border:#ddd3ba;--border-strong:#c6b998;--accent:#2f6b4f;--accent-ink:#f7f3e8;--accent-deep:#245239;--accent-weak:#e2ede4;--accent-line:#bfd7c6;--action:#d97706;--action-deep:#a35205;--action-ink:#3d2003;--action-weak:#fbeed6;--v-good-bg:#d9ebdc;--v-good-ink:#1d4a29;--v-good-line:#a9cdb2;--v-bad-bg:#f6dcd8;--v-bad-ink:#85231c;--v-bad-line:#e0b3ac;--v-clean-bg:#d4e8ec;--v-clean-ink:#124f5a;--v-clean-line:#a3ccd3;--v-dirty-bg:#e5e2da;--v-dirty-ink:#4a4740;--v-dirty-line:#cbc6ba;--p1:#f7c46b;--p1-ink:#5a3301;--p2:#e7d7a9;--p2-ink:#4d3f17;--p3:#c6d0b6;--p3-ink:#2b3a25;--p4:#9cae93;--p4-ink:#1e2b1c;--p5:#5c6f5d;--p5-ink:#f6f4e7;--radius:12px;--radius-sm:9px;--shadow-sm:0 1px 2px #1e28200d;--shadow-md:0 2px 10px #1e282012;--shadow-lg:0 10px 34px #1e282029;--font-sans:-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--font-serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC",serif;--font-mono:"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;--ease:cubic-bezier(.2,.8,.2,1);--dur:.18s;--map-h:620px;--pad:24px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-size:16px;line-height:1.75;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(var(--paper-grain) 1px, transparent 1px), linear-gradient(90deg, transparent 0 79px, #2f6b4f06 79px 80px);background-size:7px 7px,80px 100%;position:fixed;inset:0}h1,h2,h3,h4{letter-spacing:-.015em;margin:0;font-weight:700;line-height:1.3}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-deep);text-underline-offset:3px}button:disabled{cursor:not-allowed}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:4px}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{z-index:1;max-width:1360px;padding:0 var(--pad);margin:0 auto;position:relative}.note{border-bottom:1px solid var(--border);background:linear-gradient(#f2ebd9,#f9f5ea)}.note__bar{width:100%;max-width:1360px;padding:9px var(--pad);text-align:left;align-items:center;gap:12px;min-height:44px;margin:0 auto;display:flex}.note__dot{background:var(--action);border-radius:50%;flex:none;width:9px;height:9px}.note__label{letter-spacing:.01em;font-size:13.5px;font-weight:500}.note__hint{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:12.5px}.note__chev{border:1px solid var(--border-strong);width:22px;height:22px;color:var(--text-muted);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease);border-radius:6px;flex:none;place-items:center;font-size:11px;display:grid}.note__bar[aria-expanded=true] .note__chev{background:var(--surface);transform:rotate(180deg)}.note__panel{max-height:0;transition:max-height .24s var(--ease);overflow:hidden}.note__panel[data-open="1"]{max-height:520px}.note__inner{max-width:1360px;padding:0 var(--pad) 20px;grid-template-columns:repeat(4,1fr);gap:16px 24px;margin:0 auto;display:grid}.note__cell h4{font-family:var(--font-serif);color:var(--accent-deep);border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:6px;font-size:14.5px}.note__cell p{color:var(--text-muted);font-size:13.5px;line-height:1.72}.note__cell p b{color:var(--text);font-weight:500}.note__swatches{border:1px solid var(--border);border-radius:7px;gap:0;margin-top:8px;display:flex;overflow:hidden}.note__swatches i{flex:1;height:22px;display:block}.note__swatches b{background:var(--surface);border:1px solid var(--border);font-size:11.5px;font-family:var(--font-mono);color:var(--text-muted);border-left:0;border-radius:0 7px 7px 0;flex:none;align-self:center;padding:0 8px;font-weight:500}.top{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;background:#f7f3e8db;position:sticky;top:0}.top__in{flex-wrap:wrap;align-items:center;gap:16px;padding-top:12px;padding-bottom:12px;display:flex}.brand{align-items:baseline;gap:10px;min-width:0;margin-right:auto;display:flex}.brand__mark{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--accent-deep);white-space:nowrap;font-size:25px;font-weight:700}.brand__sub{color:var(--text-muted);white-space:nowrap;letter-spacing:.02em;font-size:12.5px}.badge-proj{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--accent);color:var(--accent-deep);background:var(--accent-weak);border-radius:999px;flex:none;padding:4px 9px;font-size:11.5px}@media (width<=900px){.brand__sub{display:none}}.nav{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;flex:none;gap:4px;padding:3px;display:flex}.nav a{min-height:38px;color:var(--text-muted);transition:background var(--dur) var(--ease),color var(--dur) var(--ease);white-space:nowrap;border-radius:8px;align-items:center;padding:0 15px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{color:var(--text);background:#fff9}.nav a[aria-current=page]{background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-sm);font-weight:700}.btn{border:1px solid var(--border-strong);background:var(--surface);min-height:44px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.btn--primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn--action{background:var(--action);border-color:var(--action);color:var(--action-ink);font-weight:700}.btn--action:hover{background:#c26505;border-color:#c26505}.btn--ghost{background:0 0}.btn--sm{min-height:38px;padding:0 12px;font-size:13.5px}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;min-height:44px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 15px;font-size:14px;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.chip--off{color:var(--text-faint);background:0 0}.chip--off[aria-pressed=false]{cursor:not-allowed}.chip__why{opacity:.85;font-size:11.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.toolbar{padding-top:16px}.toolbar__row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tag{border:1px solid var(--border);background:var(--surface-2);min-height:28px;color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:12.5px;display:inline-flex}.faint{color:var(--text-muted);font-size:13.5px;line-height:1.72}.faint b{color:var(--text);font-weight:500}.faint code{font-family:var(--font-mono);font-size:12.5px}.sec-h{font-family:var(--font-serif);color:var(--text);border-bottom:1.5px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:8px;font-size:21px;display:flex;position:relative}.sec-h:after{content:"";background:var(--action);opacity:.75;width:76px;height:2.5px;position:absolute;bottom:-1.5px;left:0;transform:rotate(-.7deg)}.sec-h small{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:0;font-size:13px;font-weight:400}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sati{align-items:center;gap:8px;display:flex}.sati__dots{gap:3px;display:flex}.sati__dots i{background:var(--surface-3);border-radius:2px;width:9px;height:14px;display:block}.sati__dots i.on{background:var(--accent)}.sati__t{color:var(--text-muted);white-space:nowrap;font-size:12.5px}.status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2.5px 9px;font-size:12px;font-weight:500;display:inline-flex}.status--ok{background:var(--accent-weak);color:var(--accent-deep);border-color:#bfd7c6}.status--pending{background:var(--action-weak);color:var(--action-deep);border-color:#e8c78d}.status--wait{color:var(--text-muted);border-color:var(--border);background:#3c34220f;border-style:dashed}.status i{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;display:block}.band{width:110px;min-height:92px;box-shadow:var(--shadow-sm);border:1px solid #1e28201f;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:12px 8px 10px;display:flex;position:relative;overflow:hidden}.band:before{content:"";background:#1e28201f;height:4px;position:absolute;top:0;left:0;right:0}.band__row{justify-content:center;align-items:baseline;gap:1px;line-height:1;display:flex}.band__cur{font-family:var(--font-mono);opacity:.9;align-self:flex-start;margin-top:.1em;font-size:.42em;font-weight:700;line-height:1}.band__num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:44px;font-weight:700;line-height:1}.band__unit{opacity:.82;letter-spacing:.04em;text-align:center;margin-top:7px;font-size:11.5px;line-height:1}.band--1{background:var(--p1);color:var(--p1-ink)}.band--2{background:var(--p2);color:var(--p2-ink)}.band--3{background:var(--p3);color:var(--p3-ink)}.band--4{background:var(--p4);color:var(--p4-ink)}.band--5{background:var(--p5);color:var(--p5-ink)}.band--none{color:#8b8471;background:repeating-linear-gradient(135deg,#e6e0d0 0 6px,#efeade 6px 12px);border:1px dashed #cdc5ae}.band--none .band__cur{opacity:.75}.band--lg{border-radius:14px;width:178px;min-height:138px;padding:16px 10px 12px}.band--lg:before{height:6px}.band--lg .band__cur{margin-top:.16em;font-size:.34em}.band--lg .band__num{font-size:76px}.band--lg .band__unit{margin-top:10px;font-size:13px}.seg{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.seg button{white-space:nowrap;min-height:38px;color:var(--text-muted);transition:background var(--dur) var(--ease),color var(--dur) var(--ease);border-radius:8px;padding:0 14px;font-size:14px}.seg button:hover{color:var(--text)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--accent-deep);box-shadow:var(--shadow-sm);font-weight:700}.seg__w{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;padding:0 8px;font-size:11.5px}.filters{flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.filters__lbl{color:var(--text-faint);align-self:center;margin-right:2px;font-size:13px}.basis{background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--text-muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:10px 14px;font-size:13.5px;display:flex}.basis b{color:var(--text);font-weight:500}.basis .btn{margin-left:auto}.basis .btn+.btn{margin-left:0}.grid{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:8px;display:grid}@media (width>=1180px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.poi{text-align:left;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);align-items:stretch;gap:16px;padding:16px;display:flex}.poi:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.poi[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.poi__body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.poi__name{font-family:var(--font-serif);letter-spacing:-.01em;font-size:18.5px;font-weight:700;line-height:1.35}.poi__kind{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.poi__meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.poi__dist{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.poi__full{color:var(--text-muted);font-size:12.5px}.poi__foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.poi__score{font-family:var(--font-mono);color:var(--text-faint);margin-left:auto;font-size:11.5px}.rank{font-family:var(--font-mono);color:var(--accent-deep);background:var(--accent-weak);border:1px solid #bfd7c6;border-radius:5px;padding:1px 5px;font-size:11.5px}@media (width>=1180px){.poi .band{width:96px;min-height:96px}.poi .band__num{font-size:38px}}.empty{text-align:center;padding:56px 24px}.empty h3{font-family:var(--font-serif);margin-bottom:8px;font-size:20px}.empty p{color:var(--text-muted);margin-bottom:20px;font-size:14.5px}.mapwrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.map{width:100%;height:var(--map-h);touch-action:none;cursor:crosshair;background:#f2ecda;display:block}.map text{font-family:var(--font-sans);pointer-events:none;-webkit-user-select:none;user-select:none}.map__top{pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.map__top>*{pointer-events:auto}.rebase{background:var(--accent-weak);border:1px solid var(--accent);color:var(--accent-deep);box-shadow:var(--shadow-md);animation:slideDown .2s var(--ease);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 10px 9px 14px;font-size:13.5px;display:flex}.rebase strong{font-weight:700}.rebase .btn{background:var(--surface);border-color:var(--accent);color:var(--accent-deep);min-height:36px;padding:0 12px;font-size:13.5px;font-weight:700}.rebase .btn:hover{background:#fff}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.zoom{background:var(--border);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;gap:1px;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.zoom button{background:var(--surface);width:44px;height:44px;color:var(--text);transition:background var(--dur) var(--ease);place-items:center;font-size:19px;display:grid}.zoom button:hover{background:var(--surface-2)}.zoom button:active{background:var(--surface-3)}.zoom__lvl{font-family:var(--font-mono);color:var(--text-faint);text-align:center;background:var(--surface);letter-spacing:.02em;padding:3px 0;font-size:10.5px}.map__legend{border:1px solid var(--border);box-shadow:var(--shadow-md);background:#fffdf6f0;border-radius:10px;max-width:min(340px,100% - 24px);padding:11px 13px;position:absolute;bottom:12px;left:12px}.map__legend h4{color:var(--text-muted);letter-spacing:.02em;margin-bottom:7px;font-size:12.5px;font-weight:500}.lg-row{border:1px solid var(--border);border-radius:6px;align-items:center;gap:0;margin-bottom:7px;display:flex;overflow:hidden}.lg-row i{flex:1;height:15px;display:block}.lg-row b{background:var(--surface-2);font-size:10.5px;font-family:var(--font-mono);color:var(--text-muted);border-left:1px solid var(--border);white-space:nowrap;flex:none;padding:1px 7px}.lg-state{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:11.5px;display:flex}.lg-state span{align-items:center;gap:5px;display:inline-flex}.lg-state svg{flex:none;width:13px;height:13px}.lg-scale{align-items:center;gap:8px;margin-top:9px;display:flex}.lg-scale span{border:1px solid var(--text-faint);border-top:0;height:8px;display:block}.lg-scale b{font-family:var(--font-mono);color:var(--text-muted);font-size:10.5px;font-weight:500}.sheet{z-index:5;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:sheetUp .2s var(--ease);max-height:calc(var(--map-h) - 24px);padding:16px;position:absolute;bottom:12px;left:12px;right:12px;overflow:auto}@keyframes sheetUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.sheet__x{width:44px;height:44px;color:var(--text-muted);border-radius:9px;place-items:center;font-size:19px;display:grid;position:absolute;top:10px;right:10px}.sheet__x:hover{background:var(--surface-2);color:var(--text)}.sheet__head{align-items:flex-start;gap:16px;padding-right:40px;display:flex}.sheet__head .poi__body{gap:6px}.vote{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;display:grid}.vote__b{min-height:48px;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),filter var(--dur) var(--ease);border:1px solid;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0 8px;font-size:14px;font-weight:700;line-height:1.25;display:flex}.vote__b i{font-style:normal;font-family:var(--font-mono);opacity:.78;font-size:11px;font-weight:500}.vote__b:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.vote__b[data-k=good]{background:var(--v-good-bg);color:var(--v-good-ink);border-color:var(--v-good-line)}.vote__b[data-k=bad]{background:var(--v-bad-bg);color:var(--v-bad-ink);border-color:var(--v-bad-line)}.vote__b[data-k=clean]{background:var(--v-clean-bg);color:var(--v-clean-ink);border-color:var(--v-clean-line)}.vote__b[data-k=dirty]{background:var(--v-dirty-bg);color:var(--v-dirty-ink);border-color:var(--v-dirty-line)}.vote.is-done .vote__b{filter:grayscale(.62)opacity(.5)}.vote.is-done .vote__b:hover{box-shadow:none;transform:none}.vote__note{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;display:flex}.navs{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.navs .btn{flex-direction:column;gap:0;min-height:52px;padding:0 8px;font-size:13.5px;line-height:1.3}.navs .btn small{opacity:.8;font-size:11px;font-family:var(--font-mono)}.navs .btn:hover{background:var(--action-weak);border-color:#e8c78d}.hintbar{background:var(--surface-2);border:1px dashed var(--border-strong);color:var(--text-muted);border-radius:10px;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 14px;font-size:13px;display:flex}.hintbar b{color:var(--text);font-weight:500}.detail{grid-template-columns:1fr;gap:24px;padding:20px 0 40px;display:grid}@media (width>=1080px){.detail{grid-template-columns:minmax(0,1fr) 372px;align-items:start;gap:32px}}.panel{padding:20px 22px}@media (width<=520px){.panel{padding:16px 15px}}.hero{flex-wrap:wrap;align-items:flex-start;gap:22px;display:flex}.hero__l{flex:1;min-width:0}.hero h1{font-family:var(--font-serif);letter-spacing:-.02em;margin-bottom:8px;font-size:32px;line-height:1.25}@media (width<=520px){.hero h1{font-size:25px}}.hero__kind{color:var(--text-muted);margin-bottom:12px;font-size:14px}.hero__tags{flex-wrap:wrap;gap:8px;display:flex}.kv{border-top:1px solid var(--border);grid-template-columns:84px 1fr;gap:8px 14px;margin-top:16px;padding-top:14px;font-size:14.5px;display:grid}.kv dt{color:var(--text-faint);font-size:13.5px}.kv dd{color:var(--text);margin:0}.sati-lg{flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;display:flex}.sati-lg .sati__dots i{border-radius:3px;width:15px;height:26px}.sati-lg .sati__t{color:var(--text);font-size:14px}.src{background:var(--accent-weak);border-radius:var(--radius);border:1px solid #bfd7c6;padding:18px 20px 18px 22px;position:relative}.src:before{content:"";background:var(--accent);border-radius:4px;width:4px;position:absolute;top:14px;bottom:14px;left:0}.src h3{font-family:var(--font-serif);color:var(--accent-deep);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:10px;font-size:18px;display:flex}.src ul{gap:7px;margin-top:10px;display:grid}.src li{color:var(--accent-deep);overflow-wrap:anywhere;gap:8px;font-size:13.5px;line-height:1.6;display:flex}.src li:before{content:"—";opacity:.55;flex:none}.src__lede{color:var(--accent-deep);font-size:14px;line-height:1.75}.src__lede b{font-weight:700}.src__q{border-left:2px solid var(--accent-line);color:var(--text);background:#fff9;border-radius:0 4px 4px 0;padding:3px 9px;font-style:normal}.sticky{gap:16px;display:grid;position:sticky;top:96px}.form{gap:12px;display:grid}.form label{margin-bottom:5px;font-size:13.5px;font-weight:500;display:block}.field{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:46px;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);border-radius:9px;padding:11px 13px;font-size:15px}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}textarea.field{resize:vertical;min-height:92px;font-family:inherit;line-height:1.7}select.field{appearance:none;background-image:linear-gradient(45deg,transparent 49%,var(--text-muted) 50%),linear-gradient(-45deg,transparent 49%,var(--text-muted) 50%);background-position:calc(100% - 17px) 21px,calc(100% - 12px) 21px;background-repeat:no-repeat;background-size:6px 6px;padding-right:38px}.radio-row{flex-wrap:wrap;gap:8px;display:flex}.radio-row .chip{font-size:13.5px}.err{color:#8a2620;align-items:center;gap:6px;font-size:13px;display:flex}.ok-box{border:1px solid var(--accent);background:var(--accent-weak);animation:sheetUp .2s var(--ease);border-radius:10px;padding:16px}.ok-box h4{font-family:var(--font-serif);color:var(--accent-deep);margin-bottom:6px;font-size:17px}.ok-box p{color:var(--accent-deep);font-size:13.5px;line-height:1.7}.ok-box .mono{letter-spacing:.02em;font-size:15px;font-weight:700}.steps{gap:0;margin-top:4px;display:grid}.steps li{gap:12px;padding-bottom:16px;font-size:14px;display:flex;position:relative}.steps li:not(:last-child):before{content:"";background:var(--border);width:2px;position:absolute;top:24px;bottom:2px;left:11px}.steps .n{width:24px;height:24px;font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-muted);z-index:1;border-radius:50%;flex:none;place-items:center;font-size:11.5px;display:grid}.steps li.on .n{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.steps li>div{min-width:0}.steps b{font-weight:500;display:block}.steps span{color:var(--text-muted);font-size:12.5px;display:block}.stats{background:var(--border);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.stats div{background:var(--surface);text-align:center;padding:12px 8px}.stats b{font-family:var(--font-mono);color:var(--accent-deep);letter-spacing:-.02em;font-size:23px;font-weight:700;line-height:1.2;display:block}.stats span{color:var(--text-muted);font-size:11.5px}.toasts{z-index:90;pointer-events:none;gap:8px;width:min(460px,100% - 32px);display:grid;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:#f4f1e5;box-shadow:var(--shadow-lg);animation:toastIn .2s var(--ease);border-radius:10px;align-items:flex-start;gap:9px;padding:11px 15px;font-size:14px;line-height:1.6;display:flex}.toast b{font-weight:700}.toast--ok{background:var(--accent-deep)}.toast--warn{background:#8a4c04}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.toast.out{opacity:0;transition:opacity .16s var(--ease),transform .16s var(--ease);transform:translateY(8px)}footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:40px;padding:22px 0 34px;font-size:12.5px}footer .wrap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}footer .sep{background:var(--border);width:1px;height:12px}@media (width<=1280px){:root{--map-h:520px}.note__inner{grid-template-columns:1fr 1fr}}@media (width<=768px){:root{--pad:16px;--map-h:430px}body{font-size:15.5px}.note__inner{grid-template-columns:1fr;gap:14px}.note__panel[data-open="1"]{max-height:720px}.top,.sticky{position:static}.poi{gap:13px;padding:14px}.band{width:88px;min-height:84px}.band__num{font-size:34px}.vote{grid-template-columns:1fr 1fr}.kv{grid-template-columns:76px 1fr}}@media (width<=520px){:root{--map-h:360px}.brand__mark{font-size:21px}.nav{scrollbar-width:none;width:100%;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{padding:0 13px}.note__hint{display:none}.band--lg{width:132px;min-height:104px}.band--lg .band__num{font-size:56px}.poi__name{font-size:17px}.sec-h{font-size:19px}.stats b{font-size:20px}.sati{flex-wrap:wrap;align-items:flex-start;row-gap:4px}.sati__t{white-space:normal;overflow-wrap:anywhere}}@media (width<=390px){:root{--pad:12px}.poi{gap:11px;padding:12px}.poi .band{width:78px;min-height:78px;padding:8px 4px 6px}.poi .band__num{font-size:30px}.poi .band__unit{font-size:10.5px}.kv{grid-template-columns:1fr;gap:2px 0}.kv dt{margin-top:8px}.map__legend{max-width:none;bottom:8px;left:8px;right:8px}.sheet{padding:13px;bottom:8px;left:8px;right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
