:root{--ink: #15291f;--ink-soft: #42564a;--paper: #f3f0e8;--card: #fffdf8;--line: #d9d6cb;--green: #1f6b4f;--green-dark: #164b39;--lime: #cde769;--orange: #f2a83b;--red: #d95b45;--blue: #397b9d;--shadow: 0 16px 40px rgba(21, 41, 31, .09);--radius: 24px;--safe-bottom: max(18px, env(safe-area-inset-bottom))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 4%,rgba(205,231,105,.24),transparent 26rem),radial-gradient(circle at 92% 16%,rgba(57,123,157,.12),transparent 24rem),var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{-webkit-appearance:none;appearance:none}a{color:inherit}.shell{width:min(1180px,100%);margin:0 auto;padding:18px 18px calc(100px + var(--safe-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0 16px;background:linear-gradient(to bottom,#f3f0e8fa 72%,#f3f0e800);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--ink);color:var(--lime);font-weight:900;letter-spacing:-.04em;text-decoration:none;box-shadow:0 8px 22px #15291f2e}.brand-mark:hover,.brand-mark:focus-visible{background:var(--green)}.brand-text strong{display:block;font-size:16px;letter-spacing:-.02em}.brand-house-link{text-decoration:none;text-decoration-thickness:1px;text-underline-offset:3px}.brand-house-link:hover,.brand-house-link:focus-visible{color:var(--green);text-decoration:underline}.brand-text span{display:block;color:var(--ink-soft);font-size:11px;margin-top:2px}.topbar-stats{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dispatch-call{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid rgba(21,41,31,.14);border-radius:999px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900;line-height:1;text-decoration:none;white-space:nowrap;box-shadow:0 8px 22px #15291f24}.dispatch-call:before{content:"☎";font-size:19px;line-height:1}.council-login{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid rgba(21,41,31,.14);border-radius:999px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 22px #15291f24}.council-login:before{content:"↗";font-size:19px}.council-login.signed-in{border-color:#15291f24;background:var(--lime);color:var(--ink)}.install-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid rgba(21,41,31,.14);border-radius:999px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 22px #15291f24}.install-shortcut:before{content:"＋";color:var(--ink);font-size:20px;line-height:1}.install-shortcut[hidden]{display:none}.feedback-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid rgba(21,41,31,.14);border-radius:999px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer;box-shadow:0 8px 22px #15291f24}.feedback-button:before{content:"✉";color:var(--ink);font-size:19px;line-height:1}.verified{flex:none;padding:8px 10px;border:1px solid rgba(31,107,79,.2);border-radius:999px;background:#ffffff94;color:var(--green-dark);font-size:11px;font-weight:800;white-space:nowrap}.view{display:none;animation:enter .24s ease}.view.active{display:block}@keyframes enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.resident-hero{position:relative;overflow:hidden;min-height:560px;padding:clamp(28px,6vw,64px);border-radius:34px;background:linear-gradient(135deg,#15291ff5,#164b39f0),var(--ink);color:#fff;box-shadow:var(--shadow)}.resident-hero:before{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-180px;border:70px solid rgba(205,231,105,.14);border-radius:50%;pointer-events:none}.resident-hero-tools{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.resident-rights-button{min-height:42px;padding:10px 15px;border:1px solid rgba(205,231,105,.42);border-radius:14px;background:#cde76924;color:#fff;font-size:14px;font-weight:900;line-height:1.2;cursor:pointer}.resident-rights-button:before{content:"§";margin-right:7px;color:var(--lime);font-size:17px}.resident-title-row{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0 12px}.resident-hero h1{max-width:780px;margin:0;font-size:clamp(38px,7vw,72px);line-height:.98;letter-spacing:-.06em}.ecosystem-launch{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 17px;border:0;border-radius:17px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:950;line-height:1.15;cursor:pointer;box-shadow:0 12px 28px #0000002e}.ecosystem-launch:before{content:"◎";font-size:22px;line-height:1}.resident-hero>p{position:relative;z-index:1;max-width:640px;margin:0;color:#ffffffb3;font-size:clamp(15px,2vw,18px);line-height:1.55}.route-choice-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.route-choice{position:relative;min-height:230px;padding:22px;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:26px;background:#ffffff17;color:#fff;text-align:left;cursor:pointer;transition:.2s ease;backdrop-filter:blur(12px);touch-action:manipulation;user-select:none;-webkit-user-select:none}.route-choice:nth-child(2){background:#cde76921}.route-choice-num{display:block;color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.route-choice-icon{display:grid;place-items:center;width:54px;height:54px;margin-top:24px;border-radius:18px;background:var(--lime);color:var(--ink);font-size:25px;font-weight:900}.route-choice b{display:block;margin-top:24px;font-size:28px;letter-spacing:-.035em}.route-choice p{margin:6px 0 0;color:#ffffffa3;font-size:12px;line-height:1.45}.route-arrow{position:absolute;right:20px;bottom:20px;color:var(--lime);font-size:22px}.route-choice-grid.hidden{display:none}.resident-step{display:none;margin-top:16px;padding:clamp(20px,4vw,34px);border:1px solid rgba(21,41,31,.09);border-radius:28px;background:var(--card);box-shadow:var(--shadow)}.resident-step.show{display:block;animation:enter .24s ease}.resident-step-head{display:flex;align-items:center;gap:14px}.resident-back{flex:none;width:42px;height:42px;border:0;border-radius:14px;background:#ece9e1;color:var(--ink);font-size:21px;cursor:pointer}.resident-step-head h2{margin:0;font-size:clamp(24px,4vw,36px);letter-spacing:-.04em}.resident-step-head p{margin:4px 0 0;color:var(--ink-soft);font-size:12px}.resident-form-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-top:24px}.issue-options{display:flex;flex-wrap:wrap;gap:8px}.issue-option{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-soft);font-size:12px;font-weight:800;cursor:pointer}.issue-option.active{border-color:var(--ink);background:var(--ink);color:#fff}.resident-fields{display:grid;gap:12px}.photo-drop{display:block;padding:18px;border:1px dashed #aeb5ad;border-radius:16px;background:#f5f3ec;color:var(--ink-soft);text-align:center;cursor:pointer}.photo-drop input{position:absolute;opacity:0;pointer-events:none}.photo-drop b{display:block;color:var(--ink);font-size:14px}.photo-drop span{display:block;margin-top:4px;font-size:11px}.resident-submit{width:100%;min-height:50px;margin-top:2px}.privacy-note{margin:8px 0 0;color:var(--ink-soft);font-size:10px;line-height:1.45}.ecosystem-hero{position:relative;overflow:hidden;padding:clamp(28px,6vw,64px);border-radius:34px;background:radial-gradient(circle at 88% 15%,rgba(205,231,105,.32),transparent 18rem),linear-gradient(135deg,#15291f,#1f6b4f);color:#fff;box-shadow:var(--shadow)}.ecosystem-hero:after{content:"14";position:absolute;right:34px;bottom:-34px;color:#ffffff0f;font-size:clamp(150px,24vw,300px);font-weight:950;line-height:.8;pointer-events:none}.ecosystem-back{position:relative;z-index:2;min-height:42px;padding:9px 14px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#ffffff1a;color:#fff;font-size:12px;font-weight:900;cursor:pointer}.ecosystem-kicker{position:relative;z-index:1;display:inline-block;margin-top:38px;color:var(--lime);font-size:11px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.ecosystem-hero h1{position:relative;z-index:1;max-width:760px;margin:10px 0 14px;font-size:clamp(42px,8vw,82px);line-height:.94;letter-spacing:-.065em}.ecosystem-hero p{position:relative;z-index:1;max-width:620px;margin:0;color:#ffffffb8;font-size:clamp(15px,2vw,18px);line-height:1.55}.ecosystem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.platform-gateway{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;width:100%;min-height:150px;margin-top:16px;padding:24px 26px;overflow:hidden;border:1px solid rgba(205,231,105,.34);border-radius:28px;background:radial-gradient(circle at 82% 20%,rgba(205,231,105,.25),transparent 13rem),linear-gradient(120deg,#101d17,#203e30);color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 42px #15291f2e}.platform-gateway:after{content:"";position:absolute;width:230px;height:230px;right:-90px;top:-115px;border:40px solid rgba(205,231,105,.09);border-radius:50%;pointer-events:none}.platform-gateway-icon{position:relative;z-index:1;display:grid;place-items:center;width:74px;height:74px;border-radius:23px;background:var(--lime);color:var(--ink);font-size:34px;font-weight:950;box-shadow:0 10px 25px #0003}.platform-gateway-copy{position:relative;z-index:1;min-width:0}.platform-gateway-label{display:block;margin-bottom:7px;color:var(--lime);font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.platform-gateway h2{margin:0;font-size:clamp(27px,4vw,40px);line-height:1;letter-spacing:-.045em}.platform-gateway p{max-width:670px;margin:9px 0 0;color:#ffffffab;font-size:13px;line-height:1.5}.platform-gateway-action{position:relative;z-index:1;display:grid;justify-items:end;gap:9px}.platform-gateway-soon{padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:#ffffff14;color:#ffffffc7;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.platform-gateway-arrow{color:var(--lime);font-size:31px;line-height:1}.ecosystem-card{position:relative;min-height:245px;padding:24px;overflow:hidden;border:1px solid rgba(21,41,31,.09);border-radius:28px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow)}.ecosystem-card:nth-child(2){background:#e9f0e8}.ecosystem-card:nth-child(3){background:#fff0d8}.ecosystem-card:nth-child(4){background:#e7eff3}.ecosystem-card:after{content:"";position:absolute;width:150px;height:150px;right:-55px;bottom:-65px;border:28px solid rgba(31,107,79,.08);border-radius:50%}.ecosystem-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.ecosystem-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--ink);color:var(--lime);font-size:24px;font-weight:900}.ecosystem-soon{padding:7px 10px;border-radius:999px;background:#15291f14;color:var(--green-dark);font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.ecosystem-card h2{margin:36px 0 8px;font-size:clamp(25px,4vw,36px);line-height:1;letter-spacing:-.045em}.ecosystem-card p{position:relative;z-index:1;max-width:440px;margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}.ecosystem-note{margin:16px 0 0;padding:16px 18px;border:1px solid rgba(21,41,31,.08);border-radius:18px;background:#ffffff8f;color:var(--ink-soft);font-size:12px;line-height:1.5}.hero{position:relative;overflow:hidden;min-height:280px;padding:clamp(24px,5vw,52px);border-radius:34px;background:var(--ink);color:#fff;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;width:340px;height:340px;right:-100px;top:-150px;border:55px solid rgba(205,231,105,.18);border-radius:50%;pointer-events:none}.hero:after{content:"14";position:absolute;right:32px;bottom:-45px;color:#ffffff0e;font-size:190px;font-weight:950;line-height:1;letter-spacing:-.1em;pointer-events:none}.eyebrow{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#ffffff1a;color:var(--lime);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.hero h1{position:relative;z-index:1;max-width:720px;margin:20px 0 12px;font-size:clamp(34px,7vw,70px);line-height:.98;letter-spacing:-.055em}.hero p{position:relative;z-index:1;max-width:620px;margin:0;color:#ffffffb8;font-size:clamp(15px,2vw,18px);line-height:1.55}.search-wrap{position:relative;z-index:2;display:flex;align-items:center;gap:10px;max-width:700px;margin-top:28px;padding:8px 8px 8px 16px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 12px 30px #0003}.search-icon{font-size:20px}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}.search-wrap button{min-width:46px;height:42px;border:0;border-radius:13px;background:var(--lime);color:var(--ink);font-weight:900;cursor:pointer}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.quick-card{min-height:116px;padding:18px;border:1px solid rgba(21,41,31,.08);border-radius:22px;background:#ffffff9e;box-shadow:0 8px 28px #15291f0d;cursor:pointer;transition:.2s ease}.quick-card b{display:block;margin-top:18px;font-size:14px}.quick-card span{color:var(--ink-soft);font-size:11px}.quick-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--ink);color:var(--lime);font-size:16px;font-weight:900}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:34px 0 16px}.section-head h2{margin:0;font-size:clamp(24px,4vw,38px);letter-spacing:-.045em}.section-head p{max-width:540px;margin:6px 0 0;color:var(--ink-soft);line-height:1.5;font-size:13px}.count-badge{flex:none;padding:8px 11px;border-radius:999px;background:#e5e1d7;color:var(--ink-soft);font-size:12px;font-weight:800}.filters{display:flex;gap:8px;margin:0 -18px 16px;padding:0 18px 4px;overflow-x:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{flex:none;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#ffffff85;color:var(--ink-soft);font-size:12px;font-weight:750;cursor:pointer}.chip.active{border-color:var(--ink);background:var(--ink);color:#fff}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.article-card{position:relative;display:flex;flex-direction:column;min-height:255px;padding:20px;overflow:hidden;border:1px solid rgba(21,41,31,.09);border-radius:var(--radius);background:var(--card);box-shadow:0 7px 24px #15291f0e;cursor:pointer;transition:.2s ease}.article-card:after{content:"";position:absolute;width:110px;height:110px;right:-50px;top:-45px;border-radius:50%;background:var(--accent, var(--lime));opacity:.18}.article-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.article-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:color-mix(in srgb,var(--accent, var(--lime)) 22%,white);font-size:20px}.bookmark{position:relative;z-index:2;width:36px;height:36px;border:0;border-radius:12px;background:#f1eee5;color:#8a8f88;cursor:pointer}.bookmark.saved{background:var(--ink);color:var(--lime)}.article-card h3{margin:18px 0 8px;font-size:20px;line-height:1.12;letter-spacing:-.025em}.article-card p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.48}.meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:18px}.meta{padding:6px 8px;border-radius:9px;background:#f0ede5;color:var(--ink-soft);font-size:10px;font-weight:800}.meta.deadline{background:color-mix(in srgb,var(--accent, var(--lime)) 18%,white);color:var(--ink)}.empty{grid-column:1 / -1;padding:48px 20px;border:1px dashed #c6c3ba;border-radius:var(--radius);color:var(--ink-soft);text-align:center}.notice{display:grid;grid-template-columns:auto 1fr;gap:14px;margin-top:18px;padding:18px;border-radius:20px;background:#fff3d9;border:1px solid rgba(242,168,59,.28)}.notice strong{display:block;margin-bottom:4px;font-size:14px}.notice p{margin:0;color:#6d5b34;font-size:12px;line-height:1.5}.notice-icon{font-size:22px}.page-hero{padding:28px;border-radius:30px;background:var(--card);border:1px solid rgba(21,41,31,.08);box-shadow:var(--shadow)}.page-hero h1{margin:0;font-size:clamp(30px,5vw,54px);letter-spacing:-.055em}.page-hero p{max-width:700px;margin:12px 0 0;color:var(--ink-soft);line-height:1.6}.workflow-grid,.authority-grid,.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.flow-card,.authority-card,.source-card,.builder-card{padding:22px;border:1px solid rgba(21,41,31,.09);border-radius:var(--radius);background:var(--card);box-shadow:0 8px 25px #15291f0d}.flow-number{display:grid;place-items:center;width:38px;height:38px;margin-bottom:16px;border-radius:13px;background:var(--ink);color:var(--lime);font-weight:900}.flow-card h3,.authority-card h3,.source-card h3{margin:0 0 8px;font-size:19px}.flow-card p,.authority-card p,.source-card p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}.flow-list{margin:14px 0 0;padding:0;list-style:none}.flow-list li{position:relative;padding:8px 0 8px 22px;border-top:1px solid #ece8df;color:var(--ink-soft);font-size:12px;line-height:1.4}.flow-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.deadline-box{margin-top:18px;background:var(--ink);color:#fff}.deadline-box h3{margin-top:0}.deadline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:16px}.field label{display:block;margin-bottom:6px;color:var(--ink-soft);font-size:11px;font-weight:800}.deadline-box .field label{color:#ffffffa8}.field input,.field textarea,.field select{width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;outline:0;background:#fff;color:var(--ink)}.field textarea{min-height:110px;resize:vertical}.primary-btn,.secondary-btn{border:0;border-radius:13px;font-weight:850;cursor:pointer}.primary-btn{padding:12px 16px;background:var(--lime);color:var(--ink)}.secondary-btn{padding:11px 14px;background:#ece9e1;color:var(--ink)}.deadline-result{display:none;margin-top:14px;padding:14px;border:1px solid rgba(205,231,105,.25);border-radius:16px;background:#ffffff14}.deadline-result.show{display:block}.deadline-result strong{color:var(--lime);font-size:20px}.deadline-result span{display:block;margin-top:4px;color:#ffffffb3;font-size:11px}.authority-card.can{border-top:5px solid var(--green)}.authority-card.conditional{border-top:5px solid var(--orange)}.authority-card.cannot{border-top:5px solid var(--red)}.authority-label{display:inline-block;margin-bottom:14px;padding:6px 9px;border-radius:8px;background:#eeeae1;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.zone-map{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.zone{position:relative;min-height:180px;padding:18px;border-radius:22px;color:#fff;overflow:hidden}.zone:nth-child(1){background:#875b3c}.zone:nth-child(2){background:var(--green)}.zone:nth-child(3){background:var(--blue)}.zone:nth-child(4){background:#5f6570}.zone b{display:block;margin:14px 0 7px;font-size:18px}.zone p{margin:0;color:#ffffffbf;font-size:12px;line-height:1.45}.zone-num{font-size:12px;font-weight:900;opacity:.7}.builder-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin-top:18px}.builder-form{display:grid;gap:12px}.preview{min-height:480px;padding:22px;border:1px solid #ddd8cc;border-radius:18px;background:#fff;color:#222;white-space:pre-wrap;font-family:Times New Roman,serif;font-size:15px;line-height:1.55}.builder-actions{display:flex;gap:8px;margin-top:12px}.builder-actions button{flex:1}.template-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.template-pill{padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:11px;font-weight:800;cursor:pointer}.template-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.source-card a{display:inline-flex;margin-top:14px;color:var(--green);font-size:12px;font-weight:850;text-decoration:none}@media (hover: hover) and (pointer: fine){.route-choice:hover{transform:translateY(-4px);background:#ffffff24}.quick-card:hover{transform:translateY(-2px);background:#fff}.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.source-card a:hover{text-decoration:underline}}.bottom-nav{position:fixed;z-index:30;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translate(-50%);display:grid;grid-template-columns:repeat(5,1fr);width:min(650px,calc(100% - 20px));padding:7px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#15291ff2;box-shadow:0 15px 40px #15291f4d;backdrop-filter:blur(18px)}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:55px;padding:6px 4px;border:0;border-radius:16px;background:transparent;color:#ffffff8f;cursor:pointer}.nav-btn span:first-child{font-size:17px}.nav-btn span:last-child{font-size:9px;font-weight:800}.nav-btn.active{background:var(--lime);color:var(--ink)}.modal{position:fixed;z-index:100;inset:0;display:none;align-items:end;justify-content:center;padding:14px;background:#09140ea3;backdrop-filter:blur(8px)}.modal.open{display:flex}.modal-card{width:min(760px,100%);max-height:92vh;overflow-y:auto;padding:24px;border-radius:30px 30px 20px 20px;background:var(--card);box-shadow:0 30px 80px #00000059;animation:modalIn .22s ease}@keyframes modalIn{0%{transform:translateY(30px);opacity:0}}.modal-head{display:flex;justify-content:space-between;gap:14px}.modal-head h2{margin:8px 0 0;font-size:clamp(28px,5vw,44px);line-height:1;letter-spacing:-.045em}.close-btn{flex:none;width:42px;height:42px;border:0;border-radius:14px;background:#ece9e1;color:var(--ink);font-size:20px;cursor:pointer}.detail-summary{margin:16px 0;color:var(--ink-soft);line-height:1.55}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-stat{padding:14px;border-radius:16px;background:#eeebe3}.detail-stat span{display:block;color:var(--ink-soft);font-size:10px;font-weight:850;text-transform:uppercase}.detail-stat b{display:block;margin-top:5px;font-size:14px}.modal-dispatch-call{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;margin-top:12px;padding:12px 16px;border-radius:16px;background:var(--lime);color:var(--ink);font-size:13px;font-weight:950;text-align:center;text-decoration:none;box-shadow:0 8px 20px #15291f1f}.modal-dispatch-call:before{content:"☎";font-size:18px;line-height:1}.modal-dispatch-call.urgent{background:var(--red);color:#fff}.detail-section{margin-top:22px}.detail-section h3{margin:0 0 10px;font-size:16px}.detail-list{margin:0;padding:0;list-style:none}.detail-list li{position:relative;padding:10px 0 10px 28px;border-top:1px solid #e7e3d9;color:var(--ink-soft);font-size:13px;line-height:1.45}.detail-list li:before{position:absolute;left:0;top:10px;content:attr(data-num);display:grid;place-items:center;width:19px;height:19px;border-radius:7px;background:var(--ink);color:var(--lime);font-size:9px;font-weight:900}.law-tags{display:flex;flex-wrap:wrap;gap:7px}.law-tag{padding:7px 9px;border-radius:9px;background:#e6f0e9;color:var(--green-dark);font-size:10px;font-weight:850}.modal-actions{display:flex;gap:8px;margin-top:22px}.modal-actions button,.modal-actions a{display:inline-flex;flex:1;align-items:center;justify-content:center;text-align:center;text-decoration:none}.modal-actions [hidden]{display:none}.auth-modal{position:fixed;z-index:210;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:#09140eb3;backdrop-filter:blur(10px)}.auth-modal.open{display:flex}.auth-card{width:min(460px,100%);max-height:94vh;overflow-y:auto;padding:26px;border-radius:30px;background:var(--card);box-shadow:0 30px 80px #00000061;animation:modalIn .22s ease}.auth-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.auth-head h2{margin:14px 0 8px;font-size:clamp(28px,7vw,42px);line-height:1;letter-spacing:-.045em}.auth-intro{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}.auth-form{display:grid;gap:14px;margin-top:24px}.auth-field{display:grid;gap:7px;color:var(--ink-soft);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.auth-field input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;outline:0;background:#fff;color:var(--ink);font-size:16px;font-weight:650;text-transform:none;letter-spacing:0}.auth-field textarea,.auth-field select{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:14px;outline:0;background:#fff;color:var(--ink);font-size:16px;font-weight:650;line-height:1.45;text-transform:none;letter-spacing:0}.auth-field textarea{min-height:130px;resize:vertical}.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6b4f1a}.auth-field textarea:focus,.auth-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f6b4f1a}.auth-field[hidden]{display:none}.auth-submit{width:100%;min-height:48px}.auth-submit:disabled{cursor:wait;opacity:.72}.install-card .auth-submit{margin-top:20px}.install-card .auth-intro{white-space:pre-line}.auth-link{justify-self:center;padding:3px;border:0;background:transparent;color:var(--green);font-size:12px;font-weight:850;cursor:pointer}.auth-status{display:none;margin:14px 0 0;padding:11px 12px;border-radius:12px;background:#f5e8e4;color:#8c3528;font-size:12px;font-weight:750;line-height:1.45}.auth-status.show{display:block}.auth-status.success{background:#e6f0e9;color:var(--green-dark)}.rights-card{width:min(820px,100%)}.rights-status{margin-top:18px;padding:15px 17px;border:1px solid rgba(57,123,157,.2);border-radius:17px;background:#eaf2f5}.rights-status b{display:block;font-size:13px}.rights-status p{margin:5px 0 0;color:#395663;font-size:11px;line-height:1.5}.rights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:13px}.rights-panel{padding:18px;border:1px solid var(--line);border-radius:19px;background:#faf8f2}.rights-panel.owner-only{grid-column:1 / -1;border-color:#1f6b4f38;background:#edf4ef}.rights-panel h3{margin:0;font-size:18px;letter-spacing:-.025em}.rights-panel ul,.rights-steps ol{margin:13px 0 0;padding:0;list-style:none}.rights-panel li,.rights-steps li{position:relative;padding:8px 0 8px 21px;border-top:1px solid #e4e0d6;color:var(--ink-soft);font-size:12px;line-height:1.45}.rights-panel li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:950}.rights-panel.obligations li:before{content:"!";color:var(--orange)}.rights-steps{margin-top:13px;padding:18px;border-radius:19px;background:var(--ink);color:#fff}.rights-steps h3{margin:0;font-size:18px}.rights-steps li{border-color:#ffffff1f;color:#ffffffc2}.rights-steps li:before{position:absolute;left:0;color:var(--lime);font-weight:950}.rights-steps li:nth-child(1):before{content:"1"}.rights-steps li:nth-child(2):before{content:"2"}.rights-steps li:nth-child(3):before{content:"3"}.rights-steps li:nth-child(4):before{content:"4"}.rights-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.rights-links a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--green-dark);font-size:11px;font-weight:850;line-height:1.35;text-decoration:none}.rights-links a:after{content:"↗";margin-left:auto;padding-left:8px}.rights-ai{margin-top:13px;padding:19px;border-radius:20px;background:linear-gradient(135deg,#15291f,#164b39);color:#fff}.rights-ai-label{display:inline-block;padding:6px 8px;border-radius:999px;background:#cde76924;color:var(--lime);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.rights-ai h3{margin:12px 0 6px;font-size:22px;letter-spacing:-.03em}.rights-ai>p{margin:0;color:#ffffffb3;font-size:11px;line-height:1.5}.rights-ai textarea{width:100%;min-height:260px;margin-top:14px;padding:14px;resize:vertical;border:1px solid rgba(255,255,255,.16);border-radius:15px;outline:0;background:#ffffff14;color:#fff;font:inherit;font-size:12px;line-height:1.5}.rights-ai textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #cde7691f}.rights-ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.rights-ai-actions button,.rights-ai-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border:0;border-radius:14px;font-size:11px;font-weight:950;text-align:center;text-decoration:none;cursor:pointer}.rights-ai-copy{background:#ffffff1f;color:#fff}.rights-ai-open{background:var(--lime);color:var(--ink)}.rights-ai-status{min-height:16px;margin:8px 0 0;color:var(--lime);font-size:10px;font-weight:800}.rights-ai-privacy{margin-top:7px!important;color:#ffffff94!important;font-size:9px!important}.auth-note{margin:15px 0 0;padding-top:15px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:11px;line-height:1.5}.toast{position:fixed;z-index:200;left:50%;bottom:95px;transform:translate(-50%,20px);padding:11px 15px;border-radius:12px;background:#111d17;color:#fff;font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:.2s ease}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width: 900px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid,.zone-map{grid-template-columns:repeat(2,1fr)}.route-choice-grid{grid-template-columns:1fr}.route-choice{min-height:155px}.route-choice-icon{margin-top:18px}.route-choice b{margin-top:14px}}@media (max-width: 650px){.shell{padding:10px 12px calc(92px + var(--safe-bottom))}.topbar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding-top:5px;margin-bottom:12px}.brand{grid-column:1;grid-row:1}.topbar-stats{gap:0}.topbar-stats{grid-column:2;grid-row:1}.dispatch-call,.council-login,.install-shortcut,.feedback-button{width:100%;min-height:56px;padding:7px;border-radius:13px;font-size:12px;line-height:1.2;text-align:center;white-space:normal}.dispatch-call:before,.council-login:before,.install-shortcut:before,.feedback-button:before{flex:none;font-size:20px}.dispatch-call{grid-column:1;grid-row:2}.council-login{grid-column:2;grid-row:2}.install-shortcut{grid-column:1;grid-row:3}.feedback-button{grid-column:2;grid-row:3}.verified,.brand-text span{display:none}.hero{min-height:350px;padding:24px 20px;border-radius:28px}.resident-hero{min-height:0;padding:20px 18px;border-radius:28px}.resident-hero-tools{display:block}.resident-rights-button{min-height:40px;padding:8px 12px;font-size:13px}.resident-rights-button:before{margin-right:5px;font-size:16px}.resident-title-row{align-items:stretch;gap:8px;margin-top:14px}.resident-hero h1{flex:1;font-size:40px}.ecosystem-launch{width:124px;min-height:72px;padding:9px 10px;border-radius:16px;font-size:12px;white-space:normal}.ecosystem-launch:before{font-size:19px}.route-choice-grid{margin-top:20px;gap:7px}.route-choice{display:grid;grid-template-columns:34px 1fr 20px;align-items:center;min-height:68px;padding:8px 13px;border-radius:16px}.route-choice-num{grid-column:1 / -1;margin-bottom:3px;font-size:8px}.route-choice-icon{width:32px;height:32px;margin:0;border-radius:11px;font-size:15px}.route-choice b{margin:0 0 0 9px;font-size:20px}.route-choice p{display:none}.route-arrow{position:static;justify-self:end}.resident-step{padding:18px 14px;border-radius:24px}.resident-form-grid{grid-template-columns:1fr;gap:20px}.hero:after{right:18px;font-size:140px}.hero h1{margin-top:18px}.search-wrap{margin-top:24px}.quick-grid{gap:8px}.quick-card{min-height:105px;padding:14px}.section-head{align-items:start}.article-grid{grid-template-columns:1fr}.article-card{min-height:225px}.workflow-grid,.authority-grid,.source-grid,.builder-layout,.deadline-form{grid-template-columns:1fr}.zone-map{grid-template-columns:1fr 1fr}.zone{min-height:165px}.bottom-nav{border-radius:20px}.nav-btn{min-height:52px}.nav-btn span:last-child{font-size:8px}.modal{padding:0}.modal-card{max-height:94vh;padding:21px 17px;border-radius:28px 28px 0 0}.modal-actions{flex-direction:column}.auth-modal{align-items:end;padding:0}.auth-card{padding:22px 18px;border-radius:28px 28px 0 0}.rights-grid,.rights-links{grid-template-columns:1fr}.rights-panel.owner-only{grid-column:auto}.rights-ai-actions{grid-template-columns:1fr}.rights-ai textarea{min-height:300px}.ecosystem-hero{padding:22px 18px 28px;border-radius:28px}.ecosystem-kicker{margin-top:30px}.ecosystem-hero h1{font-size:48px}.platform-gateway{grid-template-columns:54px 1fr;gap:13px;min-height:0;padding:17px;border-radius:22px}.platform-gateway-icon{width:54px;height:54px;border-radius:17px;font-size:25px}.platform-gateway h2{font-size:25px}.platform-gateway p{margin-top:7px;font-size:11px}.platform-gateway-action{grid-column:1 / -1;grid-template-columns:1fr auto;align-items:center;justify-items:start;width:100%;padding-top:2px}.platform-gateway-arrow{justify-self:end}.ecosystem-grid{grid-template-columns:1fr;gap:9px}.ecosystem-card{min-height:185px;padding:18px;border-radius:22px}.ecosystem-icon{width:46px;height:46px;border-radius:15px;font-size:20px}.ecosystem-card h2{margin-top:24px;font-size:29px}}
/* modern-buttons-v2 */
.dispatch-call,.council-login,.install-shortcut,.feedback-button,.ecosystem-launch,.primary-btn{background:linear-gradient(135deg,#e6f88f 0%,#c9ec5f 45%,#aed235 100%);border:0;box-shadow:0 12px 26px rgba(21,41,31,.32),0 2px 5px rgba(21,41,31,.2),inset 0 1px 0 rgba(255,255,255,.65),inset 0 -2px 0 rgba(21,41,31,.12);transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease}
.dispatch-call:active,.council-login:active,.install-shortcut:active,.feedback-button:active,.ecosystem-launch:active,.primary-btn:active{transform:translateY(2px) scale(.97);box-shadow:0 4px 10px rgba(21,41,31,.22),inset 0 1px 0 rgba(255,255,255,.5);filter:brightness(.96)}
.resident-rights-button{background:linear-gradient(135deg,#22422f,#13241b);border:1px solid rgba(205,231,105,.45);box-shadow:0 8px 18px rgba(21,41,31,.3),inset 0 1px 0 rgba(205,231,105,.18);transition:transform .14s cubic-bezier(.2,.8,.2,1),filter .2s ease,border-color .2s ease}
.resident-rights-button:active{transform:scale(.985);filter:brightness(1.12)}
.route-choice{border:1px solid rgba(205,231,105,.3);box-shadow:0 12px 26px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background .2s ease}
.route-choice:active{transform:scale(.98);background:#ffffff30}
.nav-btn{transition:transform .14s ease,background .2s ease,color .2s ease}
.nav-btn:active{transform:scale(.92)}
.nav-btn.active{box-shadow:0 6px 16px rgba(205,231,105,.45)}
.brand-mark{background:linear-gradient(135deg,#22422f,#12231a);box-shadow:0 10px 22px rgba(21,41,31,.42),inset 0 1px 0 rgba(205,231,105,.3),inset 0 -2px 0 rgba(0,0,0,.3);transition:transform .14s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,background .2s ease}
.brand-mark:active{transform:translateY(1px) scale(.95)}
.brand-text strong{font-size:17px;letter-spacing:-.03em}
.resident-title-row{margin-bottom:14px}
.ecosystem-launch{width:100%;min-height:88px;padding:18px 22px;border-radius:24px;font-size:clamp(22px,7vw,34px);font-weight:950;letter-spacing:-.02em;line-height:1.05;box-shadow:0 18px 38px rgba(21,41,31,.42),0 4px 10px rgba(21,41,31,.26),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -3px 0 rgba(21,41,31,.14)}
.ecosystem-launch:before{font-size:32px}
.bottom-actions{display:flex;gap:8px;margin-top:14px}
.bottom-actions .install-shortcut,.bottom-actions .feedback-button{flex:1;width:auto;min-height:40px;padding:8px 10px;font-size:12px;border-radius:12px;box-shadow:0 4px 10px rgba(21,41,31,.18),inset 0 1px 0 rgba(255,255,255,.5)}
@media (max-width:650px){.topbar-stats{display:none}.topbar{margin-bottom:8px}.resident-rights-button{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;width:auto;min-height:48px;font-size:11px;line-height:1.15;text-align:center;margin:0}.resident-title-row{margin-bottom:8px}.route-choice-grid{margin-top:10px;gap:6px}}
.resident-form{display:grid;gap:14px;margin-top:18px}
.resident-form .issue-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.resident-form .issue-option{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:13px;font-weight:800;line-height:1.2;cursor:pointer;transition:.15s ease}
.resident-form .issue-option.active{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 6px 16px rgba(31,107,79,.3)}
.yesno{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.yesno-btn{min-height:50px;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink-soft);font-size:14px;font-weight:850;cursor:pointer;transition:.15s ease}
.yesno-btn.active{border-color:var(--ink);background:var(--ink);color:#fff}
.auto-facts{display:grid;gap:8px}
.auto-fact{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#faf8f2}
.auto-fact-label{flex:none;color:var(--ink-soft);font-size:12px;font-weight:800}
.auto-fact b{flex:1;min-width:0;font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis}
.auto-fact-refresh{flex:none;padding:6px 10px;border:0;border-radius:10px;background:#ece9e1;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}
.geo-map{position:relative;width:100%;border-radius:14px;overflow:hidden;border:1px solid var(--line);cursor:crosshair;touch-action:manipulation;background:#eee}
.geo-map img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}
.geo-pin{position:absolute;transform:translate(-50%,-100%);font-size:30px;line-height:1;pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.geo-hint{margin:7px 0 0;color:var(--ink-soft);font-size:12px}
