@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;color:#203b35;background:#e5eae6;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:has(.mobile-app){font-size:clamp(14.4px,4.102564vw,19.692308px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #25765b;outline-offset:4px}.mobile-app{width:min(100%,480px);margin-inline:auto;background:#f9faf6;min-height:100svh;box-shadow:0 0 3rem #213b3510}.shell{width:calc(100% - 2.5rem);margin-inline:auto}h1,h2,h3,h4,p{overflow-wrap:anywhere;word-break:keep-all}.site-header{display:flex;align-items:center;gap:.6rem;padding-block:1.25rem;font-size:1.0625rem;font-weight:700;border-bottom:1px solid #dbe2d9}.brand-mark{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:#225c47;color:#fff;font-size:1rem}.hero{padding-block:2rem}.hero h1{margin:0;font-size:2.125rem;line-height:1.4;letter-spacing:-.055em;font-weight:800}.hero h1 em{font-style:normal;color:#23664c}.hero>p{margin:1.25rem 0 0;font-size:1.25rem;line-height:1.8;color:#485d54}.button{min-height:3.875rem;padding:.9rem 1.125rem;border:1px solid transparent;border-radius:.75rem;font-size:1.25rem;font-weight:700;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:.625rem;text-decoration:none}.button-primary{background:#225c47;color:#fff}.button-primary:hover{background:#174b37}.button-primary:disabled{opacity:.65;cursor:wait}.button-ghost{background:#eaf0e7;color:#284c3b}.button-outline{background:#fff;border-color:#799583;color:#225c47}.submit-button span{margin-left:auto}.documents{padding-block:2.25rem 3rem;border-top:1px solid #dbe2d9}section[id],h3[id]{scroll-margin-top:1.25rem}.eyebrow{color:#3e6951;font-size:1rem;font-weight:700}.section-heading{margin-bottom:1.5rem}.section-heading h2{margin:.375rem 0 .625rem;font-size:1.875rem;line-height:1.4;letter-spacing:-.045em}.section-heading p{margin:0;font-size:1.1875rem;line-height:1.75;color:#4a5e54}.petition-document{min-width:0}.petition-document+.petition-document{margin-top:3.5rem;padding-top:3rem;border-top:2px solid #dbe2d9}.petition-document h2{margin:0 0 1rem;font-size:1.875rem;letter-spacing:-.035em;line-height:1.4}.petition-body{font-size:1.25rem;line-height:1.8;color:#27392f;letter-spacing:-.01em;text-align:left}.petition-body,.petition-body p{word-break:normal;overflow-wrap:break-word;line-break:strict;text-wrap:wrap}.consent-detail,.privacy-note{word-break:keep-all;overflow-wrap:break-word;line-break:strict;text-wrap:pretty}.petition-body p{margin:0 0 1.5rem}.petition-body h3{font-size:1.5rem;line-height:1.5;color:#225c47;margin:2.5rem 0 1rem;letter-spacing:-.025em}.fact-row{display:grid;gap:.25rem;padding:.875rem 0;border-bottom:1px solid #e5e9e2}.fact-row strong{color:#4a6050;font-size:1.0625rem;font-weight:700}.fact-row:last-of-type{margin-bottom:1.5rem}.petition-body .numbered{font-weight:400}.petition-body .reason-heading{font-weight:700;color:#264a36;margin:2rem 0 .75rem;line-height:1.7}.petition-body .petition-footer{margin:.375rem 0;font-size:1.125rem;color:#465b4a}.petition-body .petition-footer:first-of-type{padding-top:1rem}.join-section{background:#edf2e8;border-top:1px solid #dbe2d8;padding-block:2.5rem max(3rem,env(safe-area-inset-bottom))}.join-form{position:relative}.recipient-consents{display:grid;gap:.875rem;margin:0 0 1rem;padding:0;border:0;min-width:0}.recipient-consents legend{padding:0 0 .75rem;font-size:1.375rem;font-weight:700}.recipient-consent{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:.875rem;align-items:start;padding:1rem;border:1px solid #b9c9b1;border-radius:.75rem;background:#fff;cursor:pointer}.recipient-consent input{width:1.75rem;height:1.75rem;margin:.15rem 0 0;accent-color:#225c47}.recipient-consent span{min-width:0}.recipient-consent strong{display:block;font-size:1.1875rem;line-height:1.6;word-break:keep-all;overflow-wrap:break-word}.recipient-consent small{display:block;margin-top:.5rem;color:#4a5d46;font-size:1.0625rem;line-height:1.6;word-break:keep-all}.form-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding-block:1.25rem;border-top:1px solid #cbd7c5}.form-title h3,.signature-label h3{margin:0;font-size:1.375rem}.form-title>span{color:#4a5d4a;font-size:1rem}.join-form b{color:#a23c2d}.field-group{margin-bottom:1.75rem}.field-group>label{display:block;margin-bottom:.625rem;font-size:1.25rem;font-weight:700}.optional{margin-left:.25rem;color:#52634d;font-weight:500;font-size:1.0625rem}.join-form input:not([type=checkbox]),.admin input{width:100%;min-height:3.875rem;padding:.875rem 1rem;border:1px solid #9caf94;border-radius:.625rem;background:#fff;color:#203b35;font-size:1.25rem}.join-form input:focus,.admin input:focus{border-color:#225c47;outline:3px solid #225c4730;outline-offset:1px}.join-form input::placeholder{color:#67735f;opacity:1}.helper{font-size:1.0625rem;color:#4a5d46;line-height:1.65;margin:.625rem 0 0}.helper.field-error{color:#9c3828}input[aria-invalid=true]{border-color:#9c3828}.join-form .honeypot{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;overflow:hidden;clip-path:inset(50%)}.form-divider{height:1px;background:#cbd7c5;margin:2rem 0}.signature-label{margin-top:2rem}.signature-label p{font-size:1.125rem;line-height:1.7;margin:.5rem 0 1rem;color:#4a5d46}.signature-trigger{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:5.25rem;padding:1rem .75rem;border:2px solid #64836a;border-radius:.75rem;background:#fff;color:#225c47;font-size:1.1875rem;font-weight:700}.signature-trigger svg{flex:none;width:1.5rem;height:1.5rem}.signature-trigger span{font-size:1.25rem}.signature-preview{background:#fff;border:1px solid #9caf94;border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.signature-saved{font-size:1.0625rem;color:#225c47;font-weight:700}.signature-preview img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:contain}.signature-preview .button{font-size:1.125rem}.consent-box{border:1px solid #b9c9b1;border-radius:.75rem;background:#fff;padding:1.125rem 1rem}.consent{display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:center;column-gap:.625rem;row-gap:1rem;font-size:1.1875rem;line-height:1.8;cursor:pointer}.consent input{accent-color:#225c47;width:1.75rem;height:1.75rem;flex:none;margin:.15rem 0 0;cursor:pointer}.consent strong{font-size:1.125rem;line-height:1.6;word-break:keep-all;text-wrap:pretty;letter-spacing:-.025em}.consent-detail{grid-column:1 / -1;display:block;padding-top:1rem;border-top:1px solid #e0e7db;letter-spacing:-.02em;text-wrap:pretty}.consent-detail>span{display:block}.consent-detail>span+span{margin-top:.75rem}.privacy-note{font-size:1.0625rem;line-height:1.75;color:#4a5d46;margin:1rem 0 1.5rem}.submit-button{width:100%;margin-top:2rem;font-size:1.1875rem}.status-message{border-radius:.625rem;padding:1rem;margin-bottom:1rem;font-size:1.125rem;line-height:1.75;overflow-wrap:anywhere}.status-message.error{background:#fff0eb;color:#9c3828}.status-message.success{background:#dceedd;color:#245437}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#14261fba;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));touch-action:none}.signature-modal{width:100%;max-width:22.375rem;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;border-radius:1rem;background:#fff;box-shadow:0 1rem 4rem #0003}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.modal-head h2{font-size:1.75rem;line-height:1.4;letter-spacing:-.045em;margin:.375rem 0 0}.icon-button{border:0;border-radius:50%;background:#edf2e8;flex:none;height:3rem;width:3rem;font-size:2rem;line-height:1;color:#34563e}.muted{color:#4d624f;font-size:1.125rem;line-height:1.7;margin:1rem 0}.signature-canvas{display:block;width:100%;aspect-ratio:3 / 2;touch-action:none;background:#fff;outline:2px solid #8ca183;border-radius:.5rem;cursor:crosshair}.signature-draw-area{padding:1rem;margin:-1rem;touch-action:none}.modal-actions{display:flex;gap:.75rem;margin-top:1.25rem}.modal-actions .button{flex:1;padding-inline:.5rem;font-size:1.125rem}.field-error{color:#9c3828;font-size:1.125rem;line-height:1.6}.admin.shell{width:min(100% - 2.5rem,1080px)}.admin{padding:3rem 0 5rem}.admin h1{font-size:2rem}.admin>p{color:#4d624f}.admin-login{display:flex;gap:.625rem;max-width:600px;margin:2rem 0}.admin-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:3rem 0 1rem;flex-wrap:wrap}.admin-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;border-bottom:1px solid #dbe2d8;padding:.875rem;white-space:nowrap;font-size:.9375rem}th{background:#e5eddf}td button{border:0;background:none;color:#225c47;text-decoration:underline;min-height:3rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.route-label{margin-left:auto;padding:.25rem .5rem;border-radius:.375rem;background:#e7efe3;color:#315d3e;font-size:.9375rem}.admin-filter{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.admin-filter select{font:inherit;max-width:100%;min-height:3rem;padding:.5rem;border:1px solid #9caf94;border-radius:.5rem;background:#fff}
