@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.z-20{z-index:20}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--bg:#0c0e12;--bg2:#12151a;--surface:#1a1d24;--border:#2a2e38;--accent:#c8cdd8;--accent2:#8b92a0;--accent3:#5a6270;--text:#dce0e8;--text-muted:#7a8194;--text-dim:#454d5e;--map-stroke:#3d4455;--map-fill:#1e2230;--map-hover:#252a38;--map-active:#2e3548;--map-data:#283040;--up:#6b9e8a;--down:#9e6b6b;--tag:#7a8fb5;--source-national:#4a9fe8;--source-sido:#e8c84a;--source-sgg:#4ae8a0;--source-etc:#7a8194;--z-base:1;--z-breadcrumb:5;--z-sticky:10;--z-popup:50;--z-nav:100;--z-float:150;--z-toast:200}:root[data-theme=light]{--bg:#f4f5f7;--bg2:#eceef2;--surface:#fff;--border:#d0d4dc;--accent:#2a3244;--accent2:#4d5568;--accent3:#8896b0;--text:#1a1d24;--text-muted:#5a6272;--text-dim:#9aa0ae;--map-stroke:#b0bac8;--map-fill:#e2e6ef;--map-hover:#cdd4e2;--map-active:#bbc4d6;--map-data:#d4dae8;--up:#2d7a5e;--down:#8c3434;--tag:#4a6a9e;--source-national:#1a7fc4;--source-sido:#c49c14;--source-sgg:#1ab47a;--source-etc:#6a7280}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:clamp(1rem,.875rem + .25vw,1.125rem)}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Noto Sans KR,sans-serif;font-weight:300;overflow-x:hidden}.tab-bar{background:var(--bg2);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:1em;padding:1rem .75rem;display:flex}.tab-item{cursor:pointer;letter-spacing:-.02em;min-height:2.75rem;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:.5rem .25rem;font-family:Noto Serif KR,serif;font-size:1.05rem;font-weight:700;transition:all .2s;display:inline-flex}.tab-item:hover{color:var(--text-muted)}.tab-item.active{color:var(--text)}.ticker{border-bottom:1px solid var(--border);background:var(--bg2);padding:.5rem 0;overflow:hidden}.ticker-inner{white-space:nowrap;gap:2rem;animation:30s linear infinite ticker;display:flex}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-item{color:var(--text-muted);align-items:center;gap:.375rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.ticker-item .dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:.3125rem;height:.3125rem}.ticker-val{color:var(--text)}.ticker-up{color:var(--up)}.ticker-down{color:var(--down)}.district-browser{min-height:60vh;padding:1rem .75rem}.district-breadcrumb{flex-wrap:wrap;align-items:center;gap:0;margin-bottom:1.25rem;display:flex}.breadcrumb-item{color:var(--text-muted);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;align-items:center;min-height:2.75rem;padding:.625rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;transition:color .2s;display:inline-flex}.breadcrumb-item:hover{color:var(--text-muted)}.breadcrumb-item.active{color:var(--text)}.breadcrumb-sep{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.8125rem}.district-level-indicator{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex;overflow-x:auto}.level-step{color:var(--text-dim);letter-spacing:.08em;flex-shrink:0;align-items:center;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:color .2s;display:flex}.level-step.active{color:var(--tag)}.level-dot{border:1.5px solid var(--text-dim);border-radius:50%;width:.5rem;height:.5rem;transition:background .2s,border-color .2s}.level-step.active .level-dot{background:var(--tag);border-color:var(--tag)}.district-summary{background:var(--border);flex-direction:column;gap:1px;margin-bottom:2rem;display:flex}.district-summary-item{background:var(--bg);text-align:center;flex:none;padding:1rem 1.25rem}.district-summary-value{color:var(--text);margin-bottom:.375rem;font-family:IBM Plex Mono,monospace;font-size:1.75rem;font-weight:600}.district-summary-label{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.625rem}.district-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.district-card{background:var(--bg);cursor:pointer;text-align:left;border:none;padding:1.25rem 1rem;transition:background .2s;position:relative}.district-card:hover{background:var(--bg2)}.district-card-name{color:var(--text);margin-bottom:.625rem;font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.district-card-stats{color:var(--text-muted);letter-spacing:.06em;gap:1rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.district-card-arrow{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:1rem;transition:transform .2s,color .2s;position:absolute;top:1.25rem;right:1rem}.district-card:hover .district-card-arrow{color:var(--accent);transform:translate(.25rem)}.district-back{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;letter-spacing:.05em;background:0 0;border-radius:4px;align-items:center;min-height:2.75rem;margin-bottom:1.25rem;margin-left:auto;padding:.625rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:border-color .2s,color .2s;display:inline-flex}.district-back:hover{border-color:var(--text-muted);color:var(--text)}.district-detail-title{color:var(--text);margin-bottom:.5rem;font-family:Noto Serif KR,serif;font-size:1.375rem;font-weight:900}.district-detail-sub{color:var(--text-dim);letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:.75rem}.district-detail-header{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.district-detail-winner{text-align:left;flex-shrink:0}.district-detail-winner-label{color:var(--tag);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.district-detail-winner-name{color:var(--text);justify-content:flex-start;align-items:center;gap:.5rem;font-family:Noto Serif KR,serif;font-size:1.25rem;font-weight:700;display:flex}.district-detail-winner-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.district-detail-winner-party{color:var(--text-muted);margin-top:.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.district-detail-placeholder{text-align:center;border:1px dashed var(--border);color:var(--text-muted);padding:3.75rem 1.25rem;font-size:.875rem}.district-map-layout{background:var(--border);grid-template-columns:1fr;gap:1px;min-height:auto;margin-bottom:2rem;display:grid}.district-map-left{background:var(--bg);flex-direction:column;justify-content:flex-start;align-items:stretch;min-height:17.5rem;padding:1rem;display:flex;position:relative}.map-breadcrumb{z-index:var(--z-breadcrumb);align-items:center;gap:0;margin-bottom:.75rem;display:flex}.map-breadcrumb-item{color:var(--text-muted);cursor:pointer;letter-spacing:.04em;background:0 0;border:none;align-items:center;min-height:2.75rem;padding:.625rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:color .2s;display:inline-flex}.map-breadcrumb-item:hover{color:var(--text)}.map-breadcrumb-item.active{color:var(--text);font-weight:500}.map-breadcrumb-sep{color:var(--text-dim);padding:0 .25rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.district-map-right{background:var(--bg);flex-direction:column;display:flex}.district-list-header{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--border);align-items:baseline;gap:.5rem;padding:1.25rem 1.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.district-list-header-sub{color:var(--text-dim);letter-spacing:.06em;font-size:.625rem}.sgg-detail-scroll{padding:0}.district-list{flex:1}.district-list-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;transition:background .15s;display:flex}.district-list-item:hover{background:var(--bg2)}.district-list-main{flex:1;min-width:0}.district-list-name{color:var(--text);align-items:center;gap:.375rem;font-family:Noto Sans KR,sans-serif;font-size:.875rem;font-weight:400;display:flex}.district-list-leader{color:var(--text-muted);align-items:center;gap:.375rem;margin-top:.25rem;font-size:.75rem;display:flex}.district-list-leader-dot{border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem}.district-list-leader-party{color:var(--text-dim);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.district-list-stats{color:var(--text-muted);letter-spacing:.05em;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.625rem}.district-list-arrow{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.875rem;transition:transform .2s,color .2s}.district-list-item:hover .district-list-arrow{color:var(--accent);transform:translate(.1875rem)}.district-list-empty{text-align:center;color:var(--text-dim);padding:3.75rem 1.5rem;font-size:.8125rem;line-height:1.8}.korea-map-container{width:100%;max-width:100%;position:relative}.korea-map-svg{touch-action:manipulation;width:100%;height:auto;max-height:70vh;transition:viewBox .6s}.korea-map-loading{height:25rem;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:flex}.korea-map-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.map-province{fill:var(--map-fill);stroke:var(--map-stroke);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:fill .15s}.map-province:hover,.map-province.hovered,.map-province.active{fill:var(--map-hover);stroke:var(--accent);stroke-width:1.5px}.map-province:focus-visible{stroke:var(--accent);stroke-width:2px;filter:brightness(1.2);outline:none}.map-province.has-data{fill:var(--map-fill)}.map-label{fill:var(--text-muted);pointer-events:none;font-family:Noto Sans KR,sans-serif;font-size:.5625rem;font-weight:400}.map-label.active{fill:var(--text);font-weight:500}.map-label-count{fill:var(--accent2);pointer-events:none;font-family:IBM Plex Mono,monospace;font-size:.4375rem}.map-tooltip{background:var(--surface);border:1px solid var(--border);pointer-events:none;z-index:var(--z-sticky);padding:.25rem .5rem;position:absolute;top:.5rem;left:.5rem}.map-tooltip-name{color:var(--text);margin-bottom:0;font-family:Noto Serif KR,serif;font-size:.75rem;font-weight:700}.map-tooltip-stats{color:var(--text-dim);letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.hero{grid-template-columns:1fr;min-height:auto;display:grid}.hero-left{flex-direction:column;justify-content:center;padding:2rem 1rem;display:flex}.hero-tag{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.625rem;margin-bottom:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;display:flex}.hero-tag:before{content:"";background:var(--accent);width:1.5rem;height:1px;display:block}h1{letter-spacing:-.0625rem;color:var(--text);margin-bottom:1.25rem;font-family:Noto Serif KR,serif;font-size:clamp(1.75rem,7vw,2.625rem);font-weight:900;line-height:1.12}.line-accent{color:var(--accent);display:block}.hero-desc{color:var(--text-muted);max-width:28.75rem;margin-bottom:2rem;font-size:.875rem;line-height:1.8}.hero-actions{flex-direction:column;align-items:stretch;gap:.625rem;display:flex}.btn-primary{color:var(--bg);background:var(--accent);cursor:pointer;letter-spacing:.08em;text-align:center;border:none;padding:.875rem 1.25rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.85;transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;letter-spacing:.08em;text-align:center;background:0 0;padding:.875rem 1.25rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:border-color .2s,color .2s}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}.hero-right{background:var(--bg2);border-left:none;border-top:1px solid var(--border);flex-direction:column;justify-content:center;gap:1.25rem;padding:1.75rem 1rem;display:flex}.panel-label{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.625rem}.approval-card{background:var(--surface);border:1px solid var(--border);padding:1.5rem}.approval-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;display:flex}.approval-title{color:var(--text);font-family:Noto Serif KR,serif;font-size:.875rem}.approval-sub{color:var(--text-dim);margin-top:.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.approval-value{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:1.625rem;font-weight:600}.approval-delta{color:var(--up);margin-top:.125rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.bar-chart{flex-direction:column;gap:.625rem;display:flex}.bar-row{align-items:center;gap:.75rem;display:flex}.bar-label{color:var(--text-muted);flex-shrink:0;width:3.75rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.bar-track{background:var(--bg);flex:1;height:.375rem;overflow:hidden}.bar-fill{height:100%;transition:width 1.2s cubic-bezier(.23,1,.32,1)}.bar-pct{color:var(--text-muted);text-align:right;width:2rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.stat-row{grid-template-columns:1fr;gap:.75rem;display:grid}.stat-mini{background:var(--surface);border:1px solid var(--border);padding:1rem 1.125rem}.stat-mini-value{color:var(--text);margin-bottom:.25rem;font-family:IBM Plex Mono,monospace;font-size:1.375rem;font-weight:600}.stat-mini-label{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.75rem}.stat-mini-delta{margin-top:.375rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.stat-mini-delta.up{color:var(--up)}.stat-mini-delta.down{color:var(--down)}.spark-card{background:var(--surface);border:1px solid var(--border);padding:1.25rem 1.5rem}.spark-header{justify-content:space-between;margin-bottom:1rem;display:flex}.spark-title{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.6875rem}.spark-current{color:var(--accent2);font-family:IBM Plex Mono,monospace;font-size:.6875rem}.sparkline{width:100%;height:3.75rem;overflow:visible}.section{border-top:1px solid var(--border);padding:2.5rem 1rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:2rem;display:flex}.section-title{letter-spacing:-.0625rem;color:var(--text);font-family:Noto Serif KR,serif;font-size:1.5rem;font-weight:900}.section-sub{color:var(--text-dim);letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.categories-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.cat-card{background:var(--bg);cursor:pointer;padding:1.5rem 1.25rem;transition:background .2s;position:relative;overflow:hidden}.cat-card:hover{background:var(--bg2)}.cat-card:after{content:"";background:var(--cat-color,var(--accent));width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.cat-card:hover:after{width:100%}.cat-icon{margin-bottom:1.25rem;font-size:1.75rem;display:block}.cat-name{color:var(--text);margin-bottom:.625rem;font-family:Noto Serif KR,serif;font-size:1.0625rem;font-weight:700}.cat-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.8125rem;line-height:1.7}.cat-count{color:var(--text-dim);letter-spacing:.1em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.cat-arrow{color:var(--text-dim);font-size:1.25rem;transition:transform .2s,color .2s;position:absolute;top:1.5rem;right:1.25rem}.cat-card:hover .cat-arrow{color:var(--cat-color,var(--accent));transform:translate(.25rem,-.25rem)}.featured-section{border-top:1px solid var(--border);background:var(--bg2);padding:2.5rem 1rem}.featured-grid{background:var(--border);grid-template-columns:1fr;gap:1px;margin-top:3rem;display:grid}.feat-card{background:var(--bg2);cursor:pointer;padding:1.5rem 1.25rem;transition:background .2s}.feat-card:hover{background:var(--surface)}.feat-tag{color:var(--tag);letter-spacing:.12em;text-transform:uppercase;background:var(--tag);margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem}@supports (color:color-mix(in lab, red, red)){.feat-tag{background:color-mix(in srgb,var(--tag)10%,transparent)}}.feat-tag{padding:.25rem .5rem;display:inline-block}.feat-title{color:var(--text);margin-bottom:.875rem;font-family:Noto Serif KR,serif;font-size:1.0625rem;font-weight:700;line-height:1.4}.feat-card.large .feat-title{font-size:1.25rem}.feat-desc{color:var(--text-muted);margin-top:.75rem;font-size:.8125rem;line-height:1.8}.feat-desc-sm{color:var(--text-muted);margin-top:.625rem;font-size:.75rem;line-height:1.7}.feat-chart-mini{align-items:flex-end;gap:.25rem;height:5rem;margin-top:1.5rem;display:flex}.mini-bar{background:var(--tag);flex:1}@supports (color:color-mix(in lab, red, red)){.mini-bar{background:color-mix(in srgb,var(--tag)10%,transparent)}}.mini-bar{border-top:1px solid var(--tag)}@supports (color:color-mix(in lab, red, red)){.mini-bar{border-top:1px solid color-mix(in srgb,var(--tag)25%,transparent)}}.mini-bar{transition:background .2s}.mini-bar:hover{background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.mini-bar:hover{background:color-mix(in srgb,var(--tag)20%,transparent)}}.feat-meta{color:var(--text-dim);margin-top:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.promises-section{border-top:1px solid var(--border);padding:2.5rem 1rem}.promises-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.promise-card{background:var(--bg);padding:1.5rem 1rem;transition:background .2s}.promise-card:hover{background:var(--bg2)}.promise-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.promise-candidate{color:var(--text);font-family:Noto Serif KR,serif;font-size:1.0625rem;font-weight:700}.promise-party{color:var(--tag);background:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.6875rem}@supports (color:color-mix(in lab, red, red)){.promise-party{background:color-mix(in srgb,var(--tag)10%,transparent)}}.promise-party{letter-spacing:.05em;padding:.1875rem .625rem}.promise-region{color:var(--text-dim);letter-spacing:.08em;margin-bottom:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.promise-list{flex-direction:column;gap:.625rem;list-style:none;display:flex}.promise-item{color:var(--text-muted);align-items:flex-start;gap:.5rem;padding-left:.75rem;font-size:.8125rem;line-height:1.6;display:flex;position:relative}.promise-item:before{content:"";background:var(--accent3);border-radius:50%;width:.25rem;height:.25rem;position:absolute;top:.5625rem;left:0}.promise-realm{color:var(--tag);letter-spacing:.1em;text-transform:uppercase;background:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.5625rem}@supports (color:color-mix(in lab, red, red)){.promise-realm{background:color-mix(in srgb,var(--tag)8%,transparent)}}.promise-realm{flex-shrink:0;margin-top:.125rem;padding:.125rem .375rem}.promise-title{flex:1}.empty-state{text-align:center;border:1px dashed var(--border);padding:5rem 1.25rem}.empty-state-icon{margin-bottom:1.25rem;font-size:2.25rem}.empty-state-desc{color:var(--text-dim);font-size:.8125rem;line-height:1.7}.empty-state-desc code{background:var(--surface);border:1px solid var(--border);padding:.125rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.korea-map-svg.zoomed{max-height:85vh}.map-province.zoomed-target,.map-province.dimmed{display:none}.dimmed-label{opacity:.2}.map-municipality{fill:var(--map-fill);stroke:var(--map-stroke);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:fill .15s}.map-municipality:hover,.map-municipality.hovered,.map-municipality.active{fill:var(--map-hover);stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.map-municipality:focus-visible{stroke:var(--accent);stroke-width:2px;filter:brightness(1.2);outline:none}.map-muni-label{fill:var(--text-muted);pointer-events:none;font-family:Noto Sans KR,sans-serif;font-size:.3125rem;font-weight:400}.map-muni-label.active{fill:var(--text);font-weight:500}.sgg-status-badge{letter-spacing:.06em;vertical-align:middle;border-radius:2px;margin-left:.625rem;padding:.125rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.sgg-status-badge.elected{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-status-badge.elected{background:color-mix(in srgb,var(--up)20%,transparent)}}.sgg-status-badge.elected{color:var(--up);border:1px solid var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-status-badge.elected{border:1px solid color-mix(in srgb,var(--up)30%,transparent)}}.sgg-status-badge.withdrawn{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.sgg-status-badge.withdrawn{background:color-mix(in srgb,var(--down)15%,transparent)}}.sgg-status-badge.withdrawn{color:var(--down);border:1px solid var(--down)}@supports (color:color-mix(in lab, red, red)){.sgg-status-badge.withdrawn{border:1px solid color-mix(in srgb,var(--down)20%,transparent)}}.sgg-candidate-card.elected{border-color:var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-candidate-card.elected{border-color:color-mix(in srgb,var(--up)50%,transparent)}}.sgg-candidate-card.elected{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-candidate-card.elected{background:color-mix(in srgb,var(--up)6%,transparent)}}.sgg-candidate-card.elected{box-shadow:inset 0 0 0 1px var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-candidate-card.elected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--up)15%,transparent)}}.sgg-candidate-card.elected{position:relative}.sgg-candidate-card.elected:after{content:"당선";letter-spacing:.1em;color:var(--up);background:var(--up);font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}@supports (color:color-mix(in lab, red, red)){.sgg-candidate-card.elected:after{background:color-mix(in srgb,var(--up)15%,transparent)}}.sgg-candidate-card.elected:after{border:1px solid var(--up)}@supports (color:color-mix(in lab, red, red)){.sgg-candidate-card.elected:after{border:1px solid color-mix(in srgb,var(--up)30%,transparent)}}.sgg-candidate-card.elected:after{border-radius:3px;padding:.125rem .375rem}.sgg-candidate-card.withdrawn{opacity:.6}.filter-bar{background:var(--bg2);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:1.5rem;padding:.875rem .75rem;display:flex}.filter-bar-title{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.625rem}.filter-bar-controls{flex-wrap:wrap;flex:1;gap:.625rem;width:100%;display:flex}.filter-bar-count{color:var(--text-muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.75rem}.filter-select{color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%237a8194' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;flex:1;min-width:0;padding:.5rem 1.875rem .5rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;transition:border-color .2s}.filter-select:focus{border-color:var(--tag);outline:none}.filter-select option{background:var(--bg);color:var(--text)}.candidate-browser{min-height:60vh;padding:1rem .75rem}.candidate-grid{background:var(--border);grid-template-columns:minmax(0,1fr);gap:1px;display:grid}.candidate-card{background:var(--bg);cursor:pointer;text-align:left;border:none;flex-direction:column;gap:.5rem;padding:1.25rem 1rem;transition:background .2s;display:flex;position:relative}.candidate-card:hover{background:var(--bg2)}.candidate-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.candidate-card-name{color:var(--text);flex:1;font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.candidate-card-party-tag{letter-spacing:.04em;border-radius:2px;flex-shrink:0;padding:.1875rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.candidate-card-region{color:var(--text-muted);letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.candidate-card-job{color:var(--text-muted);font-size:.75rem}.candidate-card-career{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.candidate-card-bottom{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;display:flex}.candidate-card-promises{color:var(--tag);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.candidate-card-arrow{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.875rem;transition:transform .2s,color .2s}.candidate-card:hover .candidate-card-arrow{color:var(--accent);transform:translate(.25rem)}.candidate-detail{max-width:50rem}.candidate-detail-header{flex-direction:column;gap:.75rem;margin-top:1.25rem;margin-bottom:2rem;display:flex}.candidate-detail-name{color:var(--text);font-family:Noto Serif KR,serif;font-size:1.375rem;font-weight:900}.candidate-detail-party{color:var(--text-muted);border-left:3px solid var(--tag);padding-left:.75rem;font-family:IBM Plex Mono,monospace;font-size:.875rem}.candidate-section-box{border:1px solid var(--border);background:var(--bg2);border-radius:6px;margin-bottom:1.25rem;padding:1.25rem}.candidate-section-title{color:var(--text-muted);letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.625rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.candidate-missing-notice{color:var(--text-muted);background:var(--bg);border:1px dashed var(--border);border-radius:4px;padding:.75rem 1rem;font-size:.8125rem;line-height:1.5}.candidate-info-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.candidate-info-item{background:var(--bg);padding:1rem 1.25rem}.candidate-info-item.full{grid-column:1/-1}.candidate-info-label{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.375rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.candidate-info-value{color:var(--text);font-size:.875rem;line-height:1.6}.candidate-detail-promises{margin-top:0}.candidate-detail-promises-header{color:var(--text-muted);letter-spacing:.08em;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.candidate-promise-list{background:var(--border);flex-direction:column;gap:1px;display:flex}.candidate-promise-item{background:var(--bg)}.candidate-promise-toggle{cursor:pointer;text-align:left;width:100%;min-height:44px;color:var(--text);background:0 0;border:none;align-items:center;gap:.625rem;padding:.875rem 1.125rem;font-size:.8125rem;transition:background .15s;display:flex}.candidate-promise-toggle:hover{background:var(--bg2)}.candidate-promise-ord{color:var(--text-dim);flex-shrink:0;width:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.candidate-promise-title{flex:1;line-height:1.5}.candidate-promise-chevron{color:var(--text-dim);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:1rem}.candidate-promise-content{color:var(--text-muted);border-top:1px solid var(--border);background:var(--bg2);white-space:pre-wrap;padding:1rem 1.125rem 1rem 3rem;font-size:.8125rem;line-height:1.8}.candidate-promise-empty{text-align:center;color:var(--text-dim);border:1px dashed var(--border);padding:2.5rem 1.25rem;font-size:.8125rem}.vote-chart{flex-direction:column;gap:.3rem;display:flex}.vote-chart-row{background:var(--bg2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;align-items:center;gap:.5rem;width:100%;padding:.4rem .6rem;transition:border-color .15s;display:grid}.vote-chart-row:hover{border-color:var(--accent)}.vote-chart-row.current{border-color:var(--tag);background:var(--surface)}.vote-chart-info{align-items:center;gap:.35rem;min-width:0;display:flex;overflow:hidden}.vote-chart-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.vote-chart-name{color:var(--text);white-space:nowrap;font-size:.8125rem;font-weight:600}.vote-chart-party{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.vote-chart-bar-wrap{background:var(--surface);border-radius:4px;height:16px;overflow:hidden}.vote-chart-bar{border-radius:4px;min-width:2px;height:100%;transition:width .3s}.vote-chart-stats{white-space:nowrap;align-items:baseline;gap:.4rem;display:flex}.vote-chart-pct{color:var(--text);text-align:right;min-width:3rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600}.vote-chart-votes{color:var(--text-muted);text-align:right;min-width:4rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}@media (max-width:480px){.korea-map-svg.zoomed{max-height:none}.vote-chart-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:.3rem;padding:.35rem .4rem}.vote-chart-party,.vote-chart-votes{display:none}}.sgg-candidates-list{flex-direction:column;gap:1.25rem;display:flex}.sgg-candidate-card{background:var(--bg);border:1px solid var(--border);padding:0;overflow:hidden}.sgg-candidate-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.625rem;padding:.875rem;display:flex}.sgg-candidate-left{align-items:center;gap:1rem;display:flex}.sgg-candidate-party-bar{border-radius:2px;flex-shrink:0;width:.25rem;height:2.5rem}.sgg-candidate-name{color:var(--text);font-family:Noto Serif KR,serif;font-size:1.0625rem;font-weight:700}.sgg-candidate-party{color:var(--text-muted);margin-top:.125rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.sgg-candidate-meta{color:var(--text-muted);letter-spacing:.04em;flex-wrap:wrap;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;display:flex}.sgg-candidate-giho{color:var(--tag);font-weight:600}.sgg-candidate-votes{color:var(--text-muted);margin-left:.5rem;font-size:.6875rem}.sgg-candidate-info{color:var(--text-muted);flex-direction:column;gap:.25rem;padding:0 .875rem .75rem;font-size:.8125rem;display:flex}.sgg-candidate-career{color:var(--text-dim)}.sgg-promise-list{border-top:1px solid var(--border)}.sgg-promise-list-header{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;background:var(--bg2);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.sgg-promise-card{border-bottom:1px solid var(--border)}.sgg-promise-card:last-child{border-bottom:none}.sgg-promise-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.625rem;padding:.75rem .875rem;font-size:.8125rem;transition:background .15s;display:flex}.sgg-promise-toggle:hover{background:var(--bg2)}.sgg-promise-ord{color:var(--text-dim);flex-shrink:0;width:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.sgg-promise-title{flex:1;line-height:1.5}.sgg-promise-chevron{color:var(--text-dim);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:1rem}.sgg-promise-content{color:var(--text-muted);background:var(--bg2);border-top:1px solid var(--border);white-space:pre-wrap;padding:.75rem .875rem .75rem 2.75rem;font-size:.8125rem;line-height:1.8}.district-governor-info{background:linear-gradient(135deg,var(--accent),var(--accent));padding:1rem 1.25rem}@supports (color:color-mix(in lab, red, red)){.district-governor-info{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)6%,transparent),color-mix(in srgb,var(--accent)2%,transparent))}}.district-governor-info{border:1px solid var(--border);border-radius:.5rem;margin-top:.75rem}.district-governor-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03125rem;margin-bottom:.375rem;font-size:.6875rem}.district-governor-name{color:var(--text);align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.candidate-elected-badge{background:var(--up);border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:700;display:inline-block}@supports (color:color-mix(in lab, red, red)){.candidate-elected-badge{background:color-mix(in srgb,var(--up)20%,transparent)}}.candidate-elected-badge{color:var(--up);vertical-align:middle;margin-left:.375rem}.candidate-elected-badge.large{border-radius:.375rem;padding:.1875rem .625rem;font-size:.8125rem}.candidate-card.elected{border-color:var(--up)}@supports (color:color-mix(in lab, red, red)){.candidate-card.elected{border-color:color-mix(in srgb,var(--up)30%,transparent)}}.candidate-card.elected{background:linear-gradient(135deg,var(--up),transparent)}@supports (color:color-mix(in lab, red, red)){.candidate-card.elected{background:linear-gradient(135deg,color-mix(in srgb,var(--up)6%,transparent),transparent)}}.candidate-card.eliminated{opacity:.75}.candidate-search{color:var(--text);background:var(--bg);border:1px solid var(--border);flex:1;min-width:0;padding:.5rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;transition:border-color .2s}.candidate-search:focus{border-color:var(--tag);outline:none}.candidate-search::placeholder{color:var(--text-dim)}.candidate-card-check{pointer-events:auto;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;transition:transform .15s,box-shadow .15s;display:flex}.candidate-card-check:hover{box-shadow:0 0 0 3px var(--accent);transform:scale(1.15)}@supports (color:color-mix(in lab, red, red)){.candidate-card-check:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)25%,transparent)}}.filter-bar-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.compare-bar{z-index:var(--z-float);background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:calc(100vw - 2rem);padding:.75rem 1.25rem;animation:.25s cubic-bezier(.16,1,.3,1) compare-slide-up;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0006}@keyframes compare-slide-up{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.compare-bar-inner{align-items:center;gap:.75rem;display:flex}.compare-bar-label{color:var(--text-muted);white-space:nowrap;font-size:.8125rem}.compare-bar-chips{flex-wrap:wrap;gap:.375rem;display:flex}.compare-bar-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.6875rem;display:inline-flex}.compare-bar-chip button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;min-width:1.5rem;min-height:1.5rem;padding:0;font-size:.75rem;line-height:1;transition:color .15s;display:flex}.compare-bar-chip button:hover{color:var(--down)}.compare-bar-action{background:var(--accent);min-height:44px;color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:0 1rem;font-size:.8125rem;font-weight:600;transition:opacity .15s}.compare-bar-action:hover{opacity:.85}.compare-bar-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;min-height:2.75rem;padding:.375rem .625rem;font-size:.75rem;transition:border-color .15s,color .15s}.compare-bar-clear:hover{border-color:var(--text-muted);color:var(--text)}.compare-popup-content{max-width:56rem}.compare-popup-title{color:var(--text);margin-bottom:1rem;font-family:Noto Serif KR,serif;font-size:1.125rem;font-weight:700}.compare-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:.8125rem}.compare-table th,.compare-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.625rem .875rem}.compare-table thead th{background:var(--bg2);z-index:1;position:sticky;top:0}.compare-label-col{z-index:2;background:var(--bg2);color:var(--text-dim);letter-spacing:.05em;white-space:nowrap;min-width:4.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;position:sticky;left:0}.compare-candidate-col{min-width:10rem}.compare-candidate-header{padding-top:.5rem}.compare-candidate-name{color:var(--text);font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.compare-candidate-party{margin-top:.125rem;font-size:.75rem}.compare-candidate-remove{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-top:.25rem;padding:.125rem .25rem;font-size:1rem;line-height:1;transition:color .15s}.compare-candidate-remove:hover{color:var(--down)}.compare-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1rem;display:flex}.compare-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:color .15s,border-color .15s}.compare-tab:hover{color:var(--text)}.compare-tab.active{color:var(--text);font-weight:700}.compare-anchor-tag{color:var(--text-dim);border:1px solid var(--border);letter-spacing:.05em;border-radius:3px;margin-top:.25rem;padding:.0625rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;display:inline-block}.compare-value-cell{color:var(--text);font-size:.8125rem}.compare-value-cell.mono{font-family:IBM Plex Mono,monospace}.compare-value-cell.same{color:var(--text-dim)}.compare-value-cell.diff{color:var(--accent)}.district-detail-winner-votes{color:var(--text-muted);margin-top:.125rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}@media (min-width:481px){.tab-bar{padding:1.25rem .75rem}.tab-item{font-size:1.75rem}.ticker{padding:.75rem 0}.ticker-inner{gap:3.75rem}.ticker-item{gap:.625rem;font-size:.6875rem}.district-browser,.candidate-browser{padding:1.25rem 1rem}.district-breadcrumb{flex-wrap:nowrap;margin-bottom:2rem}.district-level-indicator{flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;overflow-x:visible}.level-step{flex-shrink:initial}.district-summary{flex-flow:wrap}.district-summary-item{flex:calc(50% - 1px);padding:1rem 1.25rem}.district-summary-value{font-size:1.375rem}.district-grid{grid-template-columns:repeat(2,1fr)}.district-card{padding:1.75rem 1.5rem}.district-card-name{font-size:1.125rem}.district-card-arrow{top:1.75rem;right:1.5rem}.district-detail-title{font-size:1.75rem}.district-map-left{min-height:21.875rem;padding:1.5rem}.hero-left{padding:3rem 1.5rem}h1{margin-bottom:1.75rem;font-size:clamp(1.75rem,5vw,2.625rem)}.hero-desc{margin-bottom:3rem;font-size:.9375rem}.hero-actions{flex-direction:row;align-items:center;gap:1rem}.btn-primary,.btn-ghost{text-align:left;padding:.875rem 1.75rem}.hero-right{padding:2.5rem 1.5rem}.hero-tag{margin-bottom:1.75rem}.section{padding:3.75rem 1.5rem}.section-title{font-size:1.75rem}.categories-grid{grid-template-columns:repeat(2,1fr)}.cat-card{padding:1.75rem 1.5rem}.cat-name{font-size:1.25rem}.featured-section{padding:3rem 1.5rem}.feat-card{padding:2.25rem}.feat-title{font-size:1.25rem}.feat-card.large .feat-title{font-size:1.625rem}.promises-section{padding:3.75rem 1.5rem}.promise-card{padding:2rem 1.75rem}.promise-candidate{font-size:1.25rem}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-card{padding:1.5rem 1.25rem}.candidate-card-name{font-size:1.125rem}.candidate-detail-name{font-size:1.5rem}.candidate-info-grid{grid-template-columns:1fr 1fr}.approval-value{font-size:2rem}.stat-row{grid-template-columns:1fr 1fr}.korea-map-svg{max-height:70vh}.sgg-candidate-header{padding:1rem 1.125rem}.sgg-candidate-name{font-size:1.125rem}.sgg-candidate-info{flex-flow:wrap;gap:1rem;padding:0 1.125rem .75rem}.sgg-candidate-meta{flex-wrap:nowrap;gap:1rem}.sgg-promise-toggle{padding:.75rem 1.5rem}.sgg-promise-content{padding:.875rem 1.5rem .875rem 3.625rem}.filter-bar{gap:1rem;padding:1.25rem 1.5rem}.filter-bar-controls{width:auto}.filter-select{min-width:7.5rem;font-size:.75rem}.candidate-search{min-width:8rem}.compare-bar-inner{gap:1rem}}@media (min-width:769px){html{font-size:1.1875rem}.tab-bar{padding:1.5rem .75rem}.tab-item{font-size:2.1rem}.district-browser,.candidate-browser{padding:3rem}.district-level-indicator{gap:2rem}.district-summary-item{flex:1;padding:1.5rem 1.75rem}.district-summary-value{font-size:1.75rem}.district-grid{grid-template-columns:repeat(4,1fr)}.district-detail-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1.5rem}.district-detail-winner{text-align:right}.district-detail-winner-name{justify-content:flex-end}.district-detail-title{font-size:1.75rem}.district-map-layout{grid-template-columns:3fr 2fr;min-height:37.5rem}.district-map-left{padding:1.5rem}.district-list{max-height:none}.hero{grid-template-columns:1fr 1fr;min-height:calc(100vh - 2.8125rem)}.hero-left{padding:5rem 3rem}h1{letter-spacing:-.125rem;font-size:clamp(2.625rem,5vw,4.25rem)}.hero-right{border-left:1px solid var(--border);border-top:none;padding:5rem 2.5rem}.section{padding:6.25rem 3rem}.section-header{flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:3.5rem}.section-title{font-size:2.25rem}.categories-grid{grid-template-columns:repeat(3,1fr)}.cat-card{padding:2.5rem 2.25rem}.cat-arrow{top:2.5rem;right:2.25rem}.featured-section{padding:5rem 3rem}.featured-grid{grid-template-columns:2fr 1fr 1fr}.promises-section{padding:6.25rem 3rem}.promises-grid{grid-template-columns:repeat(3,1fr)}.candidate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate-detail-header{flex-direction:row;gap:1.25rem}.candidate-detail-name{font-size:2rem}.sgg-candidate-header{gap:1rem;padding:1.25rem 1.5rem}.sgg-candidate-name{font-size:1.375rem}.sgg-candidate-info{padding:0 1.5rem 1rem}.filter-select{min-width:8.75rem;font-size:.8125rem}.candidate-search{min-width:10rem}.compare-candidate-col{min-width:12rem}}.site-nav{z-index:var(--z-nav);background:var(--bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex;position:sticky;top:0}.site-nav-logo{color:var(--text-muted);letter-spacing:-.02em;cursor:pointer;align-items:baseline;gap:.5rem;font-family:Noto Serif KR,serif;font-size:.9375rem;font-weight:900;text-decoration:none;display:flex}.logo-sub{color:var(--text-dim);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:400;display:none}.site-nav-links{align-items:center;gap:1.5rem;list-style:none;display:none}.site-nav-links a{color:var(--text-dim);letter-spacing:.06em;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.75rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .2s;display:inline-flex}.site-nav-links a:hover{color:var(--text)}.site-nav-links a:active{color:var(--accent)}.site-nav-links a.active{color:var(--text);border-bottom:1px solid var(--accent)}.site-nav-links.open{background:var(--bg);border:1px solid var(--border);border-top:none;flex-direction:column;gap:0;width:auto;min-width:10rem;padding:.5rem 0;position:absolute;top:100%;left:auto;right:0;display:flex!important}.site-nav-links.open li{width:100%}.site-nav-links.open a{text-align:left;padding:.5rem 1rem;display:block}.site-nav-menu{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:2.75rem;height:2.75rem;margin-left:auto;padding:.5rem;display:flex}.site-nav-menu span{background:var(--text-muted);border-radius:1px;width:1.25rem;height:1.5px;transition:background .2s;display:block}.site-nav-menu:hover span{background:var(--text)}@media (min-width:481px){.site-nav{padding:1rem 1.5rem}.site-nav-logo{font-size:1rem}}@media (min-width:769px){.site-nav{padding:1rem 3rem;position:relative}.site-nav-logo{font-size:1.125rem}.logo-sub{display:inline}.site-nav-links{gap:2rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.site-nav-links.open{background:0 0;border:none;flex-direction:row;gap:2rem;padding:0;position:absolute;left:50%;transform:translate(-50%)}.site-nav-links.open a{padding:.75rem .25rem;display:inline-flex}.site-nav-links a{font-size:.75rem}.site-nav-menu{display:none}}.hero-banner{background:var(--bg2);border-bottom:1px solid var(--border);text-align:center;padding:2.5rem 1rem}.hero-banner h1{color:var(--text);letter-spacing:-.04em;margin-bottom:.75rem;font-family:Noto Serif KR,serif;font-size:clamp(1.5rem,5vw,2.25rem);font-weight:900}.hero-banner-sub{color:var(--text-muted);letter-spacing:.04em;margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.hero-banner .stat-row{grid-template-columns:1fr 1fr;gap:.75rem;max-width:50rem;margin:0 auto;display:grid}.hero-banner .stat-mini{text-align:center}@media (min-width:481px){.hero-banner{padding:3rem 1.5rem}.hero-banner-sub{margin-bottom:2.5rem;font-size:.8125rem}.hero-banner .stat-row{grid-template-columns:repeat(4,1fr);gap:1rem}}@media (min-width:769px){.hero-banner{padding:4rem 3rem}.hero-banner h1{font-size:2.5rem}.hero-banner-sub{font-size:.875rem}}.hero-cta-row{flex-wrap:wrap;justify-content:center;gap:.625rem;margin-top:2rem;display:flex}.hero-cta{color:var(--text-muted);border:1px solid var(--border);background:var(--surface);letter-spacing:.02em;border-radius:6px;align-items:center;gap:.375rem;min-height:2.75rem;padding:.75rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.hero-cta:hover{border-color:var(--text-dim);color:var(--text);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.hero-cta:hover{background:color-mix(in srgb,var(--surface)80%,transparent)}}.hero-cta-icon{color:var(--tag);font-size:.875rem;line-height:1}@media (min-width:481px){.hero-cta{padding:.5625rem 1.25rem;font-size:.75rem}}@media (min-width:769px){.hero-cta{padding:.625rem 1.5rem}.hero-cta-row{gap:.875rem;margin-top:2.5rem}}.party-section{border-top:1px solid var(--border);padding:2.5rem 1rem}.party-section .section-title{margin-bottom:2rem}.party-section .bar-chart{max-width:50rem}.party-section .bar-label{width:6rem;font-size:.6875rem}.party-section .bar-track{border-radius:2px;height:.5rem}.party-section .bar-fill{border-radius:2px}.party-section .bar-pct{width:3.5rem;font-size:.6875rem}.party-section .bar-row{gap:.875rem}.party-section .bar-count{color:var(--text-dim);text-align:right;flex-shrink:0;width:2.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}@media (min-width:481px){.party-section{padding:3rem 1.5rem}.party-section .bar-label{width:7rem;font-size:.75rem}.party-section .bar-pct{font-size:.75rem}}@media (min-width:769px){.party-section{padding:4rem 3rem}.party-section .bar-label{width:8rem}.party-section .bar-track{height:.625rem}}.site-footer{background:var(--bg2);border-top:1px solid var(--border);color:var(--text-dim);padding:2rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;line-height:1.8}.footer-grid{grid-template-columns:1fr;gap:1.5rem;max-width:960px;margin:0 auto;display:grid}.footer-col p{overflow-wrap:break-word;word-break:break-all;margin-bottom:.375rem;line-height:1.6}.footer-col a{overflow-wrap:break-word;word-break:break-all}.footer-col:nth-child(2){text-align:center}.footer-col:nth-child(3){text-align:right}.footer-notice{color:var(--text-dim);margin-top:.5rem;font-size:.625rem;line-height:1.5}@media (min-width:481px){.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:1.5rem}}@media (min-width:769px){.footer-grid{grid-template-columns:1fr 1fr 1fr;gap:2.5rem}}.footer-company{color:var(--text-muted);letter-spacing:-.01em;font-family:Noto Serif KR,serif;font-size:.875rem;font-weight:700}.footer-heading{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.625rem;font-size:.6875rem}.site-footer a{align-items:center;min-height:44px;display:inline-flex}@media (min-width:481px){.site-footer{padding:2.5rem 1.5rem;font-size:.75rem}}@media (min-width:769px){.site-footer{padding:3rem}}.map-province.choropleth{transition:filter .15s,stroke .15s}.map-province.choropleth:hover,.map-province.choropleth.hovered{filter:brightness(1.4);stroke:var(--accent);stroke-width:1.5px}.map-province.choropleth.active{filter:brightness(1.6);stroke:var(--accent);stroke-width:2px}.budget-controls{z-index:5;align-items:center;gap:.375rem;display:flex;position:absolute;top:0;right:0}.choropleth-layer-selector{flex-wrap:wrap;gap:.25rem;display:flex}.choropleth-layer-btn{border:1px solid var(--border);min-height:2.75rem;color:var(--text-muted);cursor:pointer;letter-spacing:.04em;white-space:nowrap;background:0 0;align-items:center;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;transition:all .15s;display:inline-flex}.choropleth-layer-btn:hover{border-color:var(--text-dim);color:var(--text)}.choropleth-layer-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.choropleth-layer-btn.active{background:color-mix(in srgb,var(--accent)6%,transparent)}}.map-legend{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.map-legend.categorical{flex-wrap:wrap;gap:.625rem}.map-legend-bar{border-radius:2px;flex:1;min-width:6rem;height:.375rem}.map-legend-label{color:var(--text-dim);letter-spacing:.04em;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.map-legend-item{align-items:center;gap:.25rem;display:flex}.map-legend-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.map-tooltip-value{color:var(--accent);letter-spacing:.04em;margin-top:.125rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.budget-map-layout{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (min-width:769px){.budget-map-layout{grid-template-columns:1fr 1fr}}.budget-detail-overlay{z-index:var(--z-nav);padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.budget-detail-popup{background:var(--surface);border:1px solid var(--border);padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;border-radius:8px;width:100%;max-width:36rem;max-height:85dvh;overflow-y:auto}.popup-action-bar{justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.popup-share-bar{align-items:center;gap:.25rem;margin-right:auto;display:flex}.popup-share-btn{border:1px solid var(--border);width:44px;height:44px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex;position:relative}.popup-share-btn:hover{color:var(--accent);border-color:var(--accent3)}.popup-share-btn:disabled{opacity:.35;cursor:not-allowed}.popup-share-btn-kakao:hover{color:#fee500;border-color:#fee500}.popup-share-toast{color:var(--up);background:var(--surface);border:1px solid var(--up);white-space:nowrap;pointer-events:none;border-radius:4px;padding:2px 6px;font-size:.6rem;animation:2s ease-out forwards share-fade;position:absolute;top:-26px;left:50%;transform:translate(-50%)}@keyframes popup-share-spin{to{transform:rotate(360deg)}}.popup-share-spin{animation:1s linear infinite popup-share-spin}@media (min-width:481px){.popup-share-btn{width:44px;height:44px}}.popup-action-btn{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:.25rem;padding:0 .625rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;transition:border-color .15s,color .15s;display:inline-flex}.popup-action-btn:hover{border-color:var(--text-muted);color:var(--text)}.popup-close-btn{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:1.125rem;line-height:1;transition:border-color .15s,color .15s;display:inline-flex}.popup-close-btn:hover{border-color:var(--text-muted);color:var(--text)}.budget-summary-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}@media (min-width:481px){.budget-summary-grid{grid-template-columns:repeat(3,1fr)}}.district-list-item.active-item{background:var(--bg2);border-left:3px solid var(--accent)}.site-nav-actions{align-items:center;gap:1rem;display:none}.nav-action-cta{color:var(--bg);background:var(--accent);letter-spacing:.06em;border-radius:3px;align-items:center;min-height:44px;padding:.5rem .875rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.nav-action-cta:hover{opacity:.85}.nav-action-link{color:var(--text-muted);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.6875rem;text-decoration:none;transition:color .2s}.nav-action-link:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s;display:flex}.theme-toggle:hover{color:var(--text);border-color:var(--accent3)}.theme-toggle svg{flex-shrink:0;width:1rem;height:1rem}.nav-actions-mobile{display:none}.site-nav-links.open .nav-actions-mobile{border-top:1px solid var(--border);display:block}.nav-action-link-mobile{color:var(--text-muted);letter-spacing:.06em;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;display:block}.site-nav-links.open .nav-action-cta{text-align:center;border-radius:3px;margin:.5rem .75rem;padding:.5rem;display:block}@media (min-width:769px){.site-nav-actions{margin-left:auto;display:flex}.nav-actions-mobile{display:none!important}}.page-coming-soon{background:var(--tag);align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.page-coming-soon{background:color-mix(in srgb,var(--tag)8%,transparent)}}.page-coming-soon{border:1px solid var(--tag)}@supports (color:color-mix(in lab, red, red)){.page-coming-soon{border:1px solid color-mix(in srgb,var(--tag)20%,transparent)}}.page-coming-soon{color:var(--tag);letter-spacing:.04em;border-radius:6px;margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.page-coming-soon-dot{background:var(--tag);border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem;animation:2s infinite pulse}.page-section{min-height:60vh;padding:2rem 1rem}.page-section-title{color:var(--text);letter-spacing:-.04em;margin-bottom:.5rem;font-family:Noto Serif KR,serif;font-size:1.5rem;font-weight:900}.page-section-sub{color:var(--text-muted);letter-spacing:.04em;margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}@media (min-width:481px){.page-section{padding:2.5rem 1.5rem}.page-section-title{font-size:1.75rem}}@media (min-width:769px){.page-section{padding:3rem}.page-section-title{font-size:2rem}}.art-filter{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.art-filter-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:all .15s;display:flex}.art-filter-btn:hover{border-color:var(--text-dim);color:var(--text)}.art-filter-btn.active{border-color:var(--tag);color:var(--tag);background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.art-filter-btn.active{background:color-mix(in srgb,var(--tag)8%,transparent)}}.art-filter-count{opacity:.6;font-size:.5625rem}.art-skeleton{background:linear-gradient(90deg,var(--surface)25%,var(--bg2)50%,var(--surface)75%);background-size:200% 100%;animation:1.5s infinite art-shimmer}.art-skeleton-line{background:linear-gradient(90deg,var(--surface)25%,var(--bg2)50%,var(--surface)75%);background-size:200% 100%;border-radius:3px;height:.75rem;margin-bottom:.5rem;animation:1.5s infinite art-shimmer}@keyframes art-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.article-grid{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.article-card{background:var(--bg);cursor:pointer;color:inherit;padding:1.25rem 1rem;text-decoration:none;transition:background .2s;display:block}.article-card:hover{background:var(--bg2)}.article-card-thumb{border-radius:4px;width:100%;height:8rem;margin-bottom:1rem}.art-card-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.article-card-category{color:var(--tag);letter-spacing:.1em;background:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.5625rem}@supports (color:color-mix(in lab, red, red)){.article-card-category{background:color-mix(in srgb,var(--tag)10%,transparent)}}.article-card-category{padding:.125rem .5rem;display:inline-block}.art-card-cards{color:var(--text-dim);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.article-card-title{color:var(--text);margin-bottom:.375rem;font-family:Noto Serif KR,serif;font-size:1.0625rem;font-weight:700;line-height:1.4}.art-card-subtitle{color:var(--text-muted);margin-bottom:.5rem;font-size:.8125rem;line-height:1.5}.article-card-excerpt{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.8125rem;line-height:1.7;display:-webkit-box;overflow:hidden}.article-card-meta{color:var(--text-dim);letter-spacing:.06em;flex-wrap:wrap;align-items:center;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.art-card-tag{color:var(--text-dim)}.art-card-date{margin-left:auto}@media (min-width:481px){.article-grid{grid-template-columns:repeat(2,1fr)}.article-card{padding:1.5rem 1.25rem}.article-card-thumb{height:10rem}.article-card-title{font-size:1.125rem}}@media (min-width:769px){.article-card{padding:2rem 1.75rem}.article-card-thumb{height:12rem}}.art-detail{max-width:720px;margin:0 auto}.art-detail-back{color:var(--text-muted);margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s;display:inline-block}.art-detail-back:hover{color:var(--text)}.art-detail-header{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:2rem}.art-detail-title{color:var(--text);letter-spacing:-.03em;margin-top:.75rem;margin-bottom:.5rem;font-family:Noto Serif KR,serif;font-size:1.75rem;font-weight:900;line-height:1.35}.art-detail-subtitle{color:var(--text-muted);margin-bottom:1rem;font-size:1rem;line-height:1.6}.art-detail-meta{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:.625rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;display:flex}.art-detail-date{color:var(--text-dim)}.art-detail-cards{color:var(--text-dim);border-left:1px solid var(--border);padding-left:.625rem}.art-detail-body{flex-direction:column;gap:0;display:flex}.art-detail-card{border-bottom:1px solid var(--border);padding:2rem 0}.art-detail-card:last-child{border-bottom:none}.art-detail-card-title{color:var(--text);letter-spacing:-.02em;align-items:baseline;gap:.75rem;margin-bottom:1rem;font-family:Noto Serif KR,serif;font-size:1.25rem;font-weight:700;line-height:1.4;display:flex}.art-detail-card-num{color:var(--tag);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:400}.art-detail-keyfig{color:var(--accent);background:var(--tag);padding:.75rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.875rem}@supports (color:color-mix(in lab, red, red)){.art-detail-keyfig{background:color-mix(in srgb,var(--tag)6%,transparent)}}.art-detail-keyfig{border-left:3px solid var(--tag);border-radius:0 4px 4px 0;margin-bottom:1.25rem;line-height:1.6}.art-detail-bold{color:var(--accent);font-weight:600}.art-detail-para{color:var(--text);word-break:keep-all;margin-bottom:1rem;font-size:.9375rem;font-weight:300;line-height:1.85}.art-detail-source{color:var(--text-dim);margin-top:.5rem;padding-top:.75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-style:normal;line-height:1.6;display:block}.share-buttons{border-top:1px solid var(--border);align-items:center;gap:.5rem;margin-top:1.5rem;padding:1.25rem 0;display:flex}.share-label{font-family:var(--font-ibm-mono),"IBM Plex Mono",monospace;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-right:.25rem;font-size:.7rem}.share-btn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex;position:relative}.share-btn:hover{color:var(--accent);border-color:var(--accent3);background:var(--bg2)}.share-btn:disabled{opacity:.35;cursor:not-allowed}.share-btn-kakao:hover{color:#fee500;border-color:#fee500}.share-btn-twitter:hover{color:#1d9bf0;border-color:#1d9bf0}.share-btn-copy:hover{color:var(--up);border-color:var(--up)}.share-copied-toast{color:var(--up);background:var(--surface);border:1px solid var(--up);white-space:nowrap;pointer-events:none;border-radius:4px;padding:2px 8px;font-size:.65rem;animation:2s ease-out forwards share-fade;position:absolute;top:-28px;left:50%;transform:translate(-50%)}@keyframes share-fade{0%,70%{opacity:1}to{opacity:0}}.art-detail-footer{border-top:1px solid var(--border);margin-top:1rem;padding:2rem 0}.art-detail-back-btn{color:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:color .15s}.art-detail-back-btn:hover{color:var(--accent)}.art-detail-img-wrap{text-align:center;margin:1.5rem 0}.art-detail-img{border:1px solid var(--border);border-radius:6px;max-width:100%;height:auto}.art-detail-img-cap{color:var(--text-dim);margin-top:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.art-detail-inline-img{vertical-align:middle;border-radius:4px;max-width:100%;height:auto}.art-detail-link{color:var(--tag);text-underline-offset:2px;text-decoration:underline;transition:color .15s}.art-detail-link:hover{color:var(--accent)}.art-detail-list{margin-bottom:1rem;padding-left:1.25rem;list-style:outside}.art-detail-list li{color:var(--text);word-break:keep-all;margin-bottom:.25rem;font-size:.9375rem;font-weight:300;line-height:1.85}@media (min-width:481px){.art-detail-title{font-size:2rem}.art-detail-card-title{font-size:1.375rem}.art-detail-para,.art-detail-list li{font-size:1rem}}@media (min-width:769px){.art-detail-title{font-size:2.25rem}.art-detail-card-title{font-size:1.5rem}}.newsletter-hero{text-align:center;border:1px solid var(--border);background:var(--bg2);border-radius:8px;margin-bottom:2.5rem;padding:2rem 1rem}.newsletter-hero-title{color:var(--text);letter-spacing:-.02em;margin-bottom:.75rem;font-family:Noto Serif KR,serif;font-size:1.25rem;font-weight:900}.newsletter-hero-desc{color:var(--text-muted);max-width:28rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:.8125rem;line-height:1.8}.newsletter-form{flex-direction:column;gap:.5rem;max-width:24rem;margin:0 auto 1rem;display:flex}.newsletter-input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;flex:1;padding:.625rem .875rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;transition:border-color .2s}.newsletter-input:focus{border-color:var(--tag);outline:none}.newsletter-input::placeholder{color:var(--text-dim)}.newsletter-submit{color:var(--bg);background:var(--accent);cursor:pointer;letter-spacing:.06em;border:none;border-radius:4px;padding:.625rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;transition:opacity .2s}.newsletter-submit:hover{opacity:.85}.newsletter-submit:disabled{opacity:.5;cursor:not-allowed}.newsletter-count{color:var(--text-dim);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.625rem}@media (min-width:481px){.newsletter-hero{padding:3rem 1.5rem}.newsletter-hero-title{font-size:1.5rem}.newsletter-form{flex-direction:row}}@media (min-width:769px){.newsletter-hero{padding:4rem 2rem}.newsletter-hero-title{font-size:1.75rem}}.newsletter-archive-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.newsletter-archive-list{background:var(--border);flex-direction:column;gap:1px;display:flex}.newsletter-archive-item{background:var(--bg);cursor:pointer;padding:1rem 1.25rem;transition:background .2s}.newsletter-archive-item:hover{background:var(--bg2)}.newsletter-archive-date{color:var(--text-dim);letter-spacing:.08em;margin-bottom:.375rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.newsletter-archive-item-title{color:var(--text);margin-bottom:.25rem;font-family:Noto Serif KR,serif;font-size:.9375rem;font-weight:700}.newsletter-archive-desc{color:var(--text-muted);font-size:.8125rem;line-height:1.6}.contact-layout{grid-template-columns:1fr;gap:2rem;display:grid}.contact-form{flex-direction:column;gap:1rem;display:flex}.contact-form-group{flex-direction:column;gap:.375rem;display:flex}.contact-form-label{color:var(--text-muted);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.contact-form-input,.contact-form-select,.contact-form-textarea{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.625rem .875rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;transition:border-color .2s}.contact-form-input:focus,.contact-form-select:focus,.contact-form-textarea:focus{border-color:var(--tag);outline:none}.contact-form-textarea{resize:vertical;min-height:8rem}.contact-form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' fill='none' stroke='%237a8194' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right .625rem center;background-repeat:no-repeat;padding-right:1.875rem}.contact-form-submit{color:var(--bg);background:var(--accent);cursor:pointer;letter-spacing:.06em;border:none;border-radius:4px;align-self:flex-start;padding:.75rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;transition:opacity .2s}.contact-form-submit:hover{opacity:.85}.contact-form-submit:disabled{opacity:.5;cursor:not-allowed}.contact-result{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.contact-result.success{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.contact-result.success{background:color-mix(in srgb,var(--up)15%,transparent)}}.contact-result.success{border:1px solid var(--up);color:var(--up)}.contact-result.error{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.contact-result.error{background:color-mix(in srgb,var(--down)15%,transparent)}}.contact-result.error{border:1px solid var(--down);color:var(--down)}.faq-section-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.faq-list{background:var(--border);border-radius:6px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.faq-item{background:var(--bg)}.faq-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.faq-toggle:hover{background:var(--bg2)}.faq-chevron{color:var(--text-dim);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.875rem;transition:transform .2s}.faq-chevron.open{transform:rotate(180deg)}.faq-answer{color:var(--text-muted);padding:0 1rem 1rem;font-size:.8125rem;line-height:1.8}.contact-info-box{background:var(--bg2);border:1px solid var(--border);border-radius:6px;margin-top:1.5rem;padding:1.25rem}.contact-info-title{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.contact-info-row{color:var(--text-muted);font-size:.8125rem;line-height:1.8}@media (min-width:769px){.contact-layout{grid-template-columns:1fr 1fr;gap:3rem}}.support-intro{text-align:center;max-width:36rem;margin:0 auto 2.5rem}.support-intro-text{color:var(--text-muted);font-size:.9375rem;line-height:1.8}.support-bmc{justify-content:center;margin-bottom:2.5rem;display:flex}.support-bmc-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;max-width:28rem;padding:2.5rem 2rem}.support-bmc-icon{margin-bottom:1rem;font-size:2.5rem}.support-bmc-title{color:var(--text);margin-bottom:.75rem;font-family:Noto Serif KR,serif;font-size:1.25rem;font-weight:700}.support-bmc-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem;line-height:1.8}.support-bmc-btn{color:var(--bg);background:var(--accent);cursor:pointer;letter-spacing:.04em;border:none;border-radius:6px;padding:.75rem 2rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.support-bmc-btn:hover{opacity:.85}.support-bmc-note{color:var(--text-dim);letter-spacing:.04em;margin-top:.75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.support-info{text-align:center;border:1px dashed var(--border);border-radius:6px;max-width:28rem;margin:0 auto;padding:1.5rem 1rem}.support-info-title{color:var(--text-muted);letter-spacing:.06em;margin-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.support-info-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.support-info-list li{color:var(--text-muted);font-size:.8125rem;line-height:1.6}.auth-wrapper{justify-content:center;min-height:60vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;width:100%;max-width:24rem;overflow:hidden}.auth-tabs{border-bottom:1px solid var(--border);display:flex}.auth-tab{color:var(--text-muted);cursor:pointer;letter-spacing:.06em;text-align:center;background:0 0;border:none;flex:1;min-height:2.75rem;padding:1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:color .2s,background .2s}.auth-tab:hover{color:var(--text-muted)}.auth-tab.active{color:var(--text);background:var(--surface);border-bottom:2px solid var(--accent)}.auth-form{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.auth-form-group{flex-direction:column;gap:.375rem;display:flex}.auth-form-label{color:var(--text-muted);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.auth-form-input{color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.625rem .875rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;transition:border-color .2s}.auth-form-input:focus{border-color:var(--tag);outline:none}.auth-form-submit{color:var(--bg);background:var(--accent);cursor:pointer;letter-spacing:.06em;border:none;border-radius:4px;min-height:2.75rem;margin-top:.5rem;padding:.875rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;transition:opacity .2s}.auth-form-submit:hover{opacity:.85}.auth-form-submit:disabled{opacity:.5;cursor:not-allowed}.auth-divider{align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.auth-divider-line{background:var(--border);flex:1;height:1px}.auth-divider-text{color:var(--text-dim);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.auth-social{flex-direction:column;gap:.5rem;display:flex}.auth-social-btn{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:4px;min-height:2.75rem;padding:.75rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;transition:border-color .2s,color .2s}.auth-social-btn:hover{border-color:var(--text-dim);color:var(--text)}.auth-social-btn:disabled{opacity:.5;cursor:not-allowed}.auth-message{font-size:.85rem;font-family:var(--font-body);border-radius:6px;margin-bottom:.5rem;padding:.75rem 1rem}.auth-message.error{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.auth-message.error{background:color-mix(in srgb,var(--down)15%,transparent)}}.auth-message.error{border:1px solid var(--down);color:var(--down)}.auth-message.success{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.auth-message.success{background:color-mix(in srgb,var(--up)15%,transparent)}}.auth-message.success{border:1px solid var(--up);color:var(--up)}.auth-profile{align-items:center;gap:1rem;padding:1.5rem 0;display:flex}.auth-profile-avatar{background:var(--tag);width:3rem;height:3rem;color:var(--bg);font-size:1.25rem;font-weight:700;font-family:var(--font-data);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-profile-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.auth-profile-name{color:var(--text);font-size:1.1rem;font-weight:600;font-family:var(--font-title)}.auth-profile-email{color:var(--text-muted);font-size:.85rem;font-family:var(--font-data);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (min-width:481px){.auth-wrapper{padding:3rem 1.5rem}}@media (min-width:769px){.auth-wrapper{padding:4rem 3rem}}.auth-settings{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;margin-top:.5rem;padding:1.25rem 0;display:flex}.auth-settings-title{color:var(--text);margin:0;font-family:Noto Serif KR,serif;font-size:.9rem;font-weight:600}.auth-select-group{flex-direction:column;gap:.375rem;display:flex}.auth-select{color:var(--text);background:var(--bg);border:1px solid var(--border);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a8194'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:4px;padding:.625rem .875rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;transition:border-color .2s}.auth-select:focus{border-color:var(--tag);outline:none}.auth-select:disabled{opacity:.4;cursor:not-allowed}.auth-save-btn{color:var(--bg);background:var(--tag);cursor:pointer;letter-spacing:.06em;border:none;border-radius:4px;margin-top:.25rem;padding:.625rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;transition:opacity .2s}.auth-save-btn:hover{opacity:.85}.auth-save-btn:disabled{opacity:.4;cursor:not-allowed}.budget-popup-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1rem;display:flex}.budget-popup-tab{color:var(--text-dim);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.5rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;font-weight:500;transition:color .2s,border-color .2s}.budget-popup-tab:hover{color:var(--text-muted)}.budget-popup-tab.active{color:var(--text);border-bottom-color:var(--accent)}.acnt-filter{gap:.375rem;margin-bottom:.75rem;display:flex}.acnt-filter-btn{border:1px solid var(--border);min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:3px;align-items:center;padding:.5rem .625rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;transition:all .15s;display:inline-flex}.acnt-filter-btn:hover{border-color:var(--text-dim);color:var(--text-muted)}.acnt-filter-btn.active{background:var(--bg2);border-color:var(--accent3);color:var(--text)}.sector-accordion{flex-direction:column;gap:.375rem;display:flex}.sector-header{background:var(--bg2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.75rem .625rem;transition:background .15s,border-color .15s;display:flex}.sector-header:hover{background:var(--surface);border-color:var(--accent3)}.sector-header.open{border-color:var(--accent3);border-bottom-radius:0}.sector-arrow{color:var(--text-dim);flex-shrink:0;font-size:.5rem;transition:transform .2s}.sector-arrow.open{transform:rotate(90deg)}.sector-name{color:var(--text);flex:1;font-size:.75rem;font-weight:400}.sector-stats{color:var(--text-muted);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.625rem}.sector-body{background:var(--bg);border:1px solid var(--border);border-top:none;border-radius:0 0 6px 6px;flex-direction:column;gap:.375rem;padding:.5rem .625rem;display:flex}.biz-card{border:1px solid var(--border);background:var(--surface);border-radius:4px;padding:.5rem .625rem}.biz-card-header{justify-content:space-between;align-items:center;margin-bottom:.375rem;display:flex}.biz-card-name{color:var(--text);flex:1;margin-right:.5rem;font-size:.6875rem;font-weight:400}.biz-card-amount{color:var(--text);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-weight:600}.source-stack-bar{background:var(--bg);border-radius:2px;height:.375rem;display:flex;overflow:hidden}.source-stack-bar>div{min-width:0;transition:width .3s}.source-stack-legend{flex-wrap:wrap;gap:.625rem;margin-top:.25rem;display:flex}.source-stack-legend-item{color:var(--text-dim);align-items:center;gap:.25rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;display:flex}.source-stack-legend-dot{border-radius:1px;flex-shrink:0;width:.375rem;height:.375rem}.tab-source-note{color:var(--text-dim);letter-spacing:.04em;margin-top:.75rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.pledge-status{letter-spacing:.04em;white-space:nowrap;border:1px solid;border-radius:3px;flex-shrink:0;padding:.125rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:600;display:inline-block}.pledge-status.completed{color:var(--up);border-color:var(--up)}@supports (color:color-mix(in lab, red, red)){.pledge-status.completed{border-color:color-mix(in srgb,var(--up)40%,transparent)}}.pledge-status.completed{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.pledge-status.completed{background:color-mix(in srgb,var(--up)10%,transparent)}}.pledge-status.progress{color:var(--tag);border-color:var(--tag)}@supports (color:color-mix(in lab, red, red)){.pledge-status.progress{border-color:color-mix(in srgb,var(--tag)40%,transparent)}}.pledge-status.progress{background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.pledge-status.progress{background:color-mix(in srgb,var(--tag)10%,transparent)}}.pledge-status.other{color:var(--text-dim);border-color:var(--text-dim)}@supports (color:color-mix(in lab, red, red)){.pledge-status.other{border-color:color-mix(in srgb,var(--text-dim)40%,transparent)}}.pledge-status.other{background:var(--text-dim)}@supports (color:color-mix(in lab, red, red)){.pledge-status.other{background:color-mix(in srgb,var(--text-dim)10%,transparent)}}.pledge-rate{color:var(--tag);white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.625rem;font-weight:600}.pledge-progress-bar{background:var(--bg);border-radius:3px;height:.5rem;margin-bottom:.25rem;display:flex;overflow:hidden}.pledge-progress-bar>div{min-width:0;transition:width .3s}.pledge-progress-legend{flex-wrap:wrap;gap:.75rem;display:flex}.pledge-progress-legend-item{color:var(--text-dim);align-items:center;gap:.25rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;display:flex}.pledge-progress-legend-dot{border-radius:1px;flex-shrink:0;width:.375rem;height:.375rem}.manifesto-dropdown-toggle{border:1px solid var(--border);cursor:pointer;min-height:44px;color:var(--text-muted);background:0 0;border-radius:6px;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;transition:border-color .15s,color .15s;display:inline-flex}.manifesto-dropdown-toggle:hover{border-color:var(--text-muted);color:var(--text)}.manifesto-dropdown-chevron{flex-shrink:0;font-size:.75rem}.manifesto-pledge-scroll{background:var(--border);-webkit-overflow-scrolling:touch;border-radius:4px;flex-direction:column;gap:1px;max-height:32rem;margin-top:.75rem;display:flex;overflow:hidden auto}.manifesto-pledge-list{background:var(--border);border-radius:4px;flex-direction:column;gap:1px;max-height:24rem;display:flex;overflow:hidden auto}.manifesto-pledge-item{background:var(--bg);color:var(--text);align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.75rem;line-height:1.4;display:flex}.manifesto-pledge-ord{color:var(--text-dim);text-align:right;flex-shrink:0;width:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.manifesto-pledge-title{flex:1;min-width:0}.field-group-list{background:var(--border);border-radius:6px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.field-group-header{background:var(--surface);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.5rem .625rem;transition:background .15s;display:flex}.field-group-header:hover{background:var(--bg2)}.field-group-name{color:var(--text);white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}.field-group-count{color:var(--text-muted);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.625rem}.field-group-bar{background:var(--bg);border-radius:2px;flex:1;min-width:2rem;height:.375rem;display:flex;overflow:hidden}.field-group-bar>span{min-width:0;transition:width .3s;display:block}.field-group-chevron{color:var(--text-dim);text-align:center;flex-shrink:0;width:1rem;font-size:.625rem}.field-group-body{background:var(--border);flex-direction:column;gap:1px;display:flex}.field-group-body .manifesto-pledge-item{padding-left:1rem}.cross-nav-btn{background:var(--bg2);border:1px solid var(--border);min-height:44px;color:var(--tag);white-space:nowrap;cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.6875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.cross-nav-btn:hover{background:var(--surface);border-color:var(--tag);color:var(--accent)}.cross-nav-btn .cross-nav-arrow{font-size:.75rem;transition:transform .15s}.cross-nav-btn:hover .cross-nav-arrow{transform:translate(2px)}.year-badge{color:var(--text-dim);background:var(--bg2);border:1px solid var(--border);letter-spacing:.04em;vertical-align:middle;border-radius:3px;flex-shrink:0;align-items:center;padding:.0625rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:600;line-height:1.4;display:inline-flex}.year-picker{vertical-align:middle;display:inline-flex;position:relative}.year-picker-btn{min-height:44px;color:var(--text);background:linear-gradient(135deg,var(--surface)0%,var(--bg2)100%);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:.375rem;padding:.3125rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;line-height:1.4;transition:all .2s;display:inline-flex}.year-picker-btn:hover{border-color:var(--tag);box-shadow:0 0 0 1px var(--tag)inset}.year-picker-arrow{color:var(--text-muted);margin-left:.125rem;font-size:.5625rem;transition:transform .2s}.year-picker-arrow.open{transform:rotate(180deg)}.year-picker-dropdown{background:var(--bg2);border:1px solid var(--border);z-index:50;border-radius:8px;width:max-content;min-width:5.5rem;padding:.375rem;animation:.15s ease-out yearDropIn;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080,inset 0 0 0 1px #ffffff0a}@keyframes yearDropIn{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.year-picker-option{width:100%;color:var(--text-muted);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;border-radius:0 4px 4px 0;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:500;transition:all .12s;display:block}.year-picker-option:hover{color:var(--text);background:var(--surface);border-left-color:var(--tag)}.year-picker-option.active{color:var(--text);background:var(--surface);border-left-color:var(--accent);font-weight:700}.compare-btn{padding:.3125rem .625rem;font-size:.6875rem}.compare-btn.active{border-color:var(--up);color:var(--up);background:var(--up)}@supports (color:color-mix(in lab, red, red)){.compare-btn.active{background:color-mix(in srgb,var(--up)8%,transparent)}}.compare-close-x{opacity:.7;margin-left:.25rem;font-size:.875rem;line-height:1}.compare-close-x:hover{opacity:1}.bar-group{border-radius:4px;align-items:flex-start;gap:.75rem;padding:.25rem 0;transition:background .15s;display:flex}.bar-group:hover{background:var(--bg2)}.bar-group-tracks{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.bar-row-inner{align-items:center;gap:.75rem;display:flex}.bar-row-compare{opacity:.65}.bar-pct-compare{color:var(--text-dim);font-size:.5625rem}.bar-change{text-align:right;white-space:nowrap;flex-shrink:0;min-width:3.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;font-weight:600}.bar-chart-compare .bar-group{padding:.375rem 0}.bar-chart-compare{gap:.25rem}.home-intro{text-align:center;border-bottom:1px solid var(--border);background:var(--bg2);padding:1.25rem 1rem 1rem}.home-intro-main{color:var(--text-dim);font-family:Noto Serif KR,serif;font-size:.8rem;line-height:1.6}.home-intro-sub{color:var(--text-muted);margin-top:.15rem;font-family:Noto Serif KR,serif;font-size:.875rem;line-height:1.6}.home-intro strong{color:var(--accent);font-weight:700}@media (min-width:769px){.home-intro{padding:1.5rem 2rem 1rem}.home-intro-main{font-size:.875rem}.home-intro-sub{font-size:1rem}}.home-hero{background:var(--bg2);border-bottom:1px solid var(--border);text-align:center;padding:3rem 1rem 2.5rem;position:relative;overflow:hidden}.home-hero-bg{opacity:.03;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.home-hero-bg svg{width:80%;max-width:36rem;height:auto}.home-hero-content{z-index:var(--z-base);max-width:48rem;margin:0 auto;position:relative}.home-hero-title{color:var(--text);letter-spacing:-.04em;margin-bottom:.75rem;font-family:Noto Serif KR,serif;font-size:clamp(1.75rem,5vw,2.75rem);font-weight:900;line-height:1.2}.home-hero-subtitle{color:var(--text-muted);letter-spacing:.04em;margin-bottom:2.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.home-hero-stats{grid-template-columns:repeat(2,1fr);gap:.625rem;max-width:36rem;margin:0 auto 2rem;display:grid}.home-stat{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:6px;padding:1rem .75rem}.home-stat-value{color:var(--text);margin-bottom:.25rem;font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:700;line-height:1.2}.home-stat-label{color:var(--text-muted);letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.home-hero-cta{color:var(--bg);background:var(--accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.home-hero-cta:hover{background:var(--text);transform:translateY(-1px)}.home-hero-neutral{color:var(--text-dim);letter-spacing:.02em;margin-top:1.5rem;font-family:Noto Sans KR,sans-serif;font-size:.6875rem}.home-features{border-bottom:1px solid var(--border);padding:2.5rem 1rem}.home-features-grid{grid-template-columns:1fr;gap:.75rem;max-width:52rem;margin:0 auto;display:grid}.home-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;padding:1.25rem 1rem;text-decoration:none;transition:border-color .2s,background .2s,transform .15s;display:flex}.home-feature-card:hover{border-color:var(--text-dim);background:var(--bg2);transform:translateY(-2px)}.home-feature-icon{color:var(--tag);margin-right:.375rem;font-size:.875rem}.home-feature-title{color:var(--text);margin-bottom:.25rem;font-family:Noto Sans KR,sans-serif;font-size:.875rem;font-weight:700}.home-feature-desc{color:var(--text-muted);font-family:Noto Sans KR,sans-serif;font-size:.75rem;line-height:1.6}.home-highlights{border-bottom:1px solid var(--border);padding:2.5rem 1rem;display:none}.home-section-title{color:var(--text);text-align:center;letter-spacing:-.02em;margin-bottom:.5rem;font-family:Noto Serif KR,serif;font-size:1.125rem;font-weight:700}.home-section-sub{color:var(--text-muted);text-align:center;letter-spacing:.04em;margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.home-highlights-grid{grid-template-columns:1fr;gap:1rem;max-width:52rem;margin:0 auto;display:grid}.home-highlight-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.home-highlight-label{color:var(--tag);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.home-highlight-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.375rem 0;display:flex}.home-highlight-row:last-child{border-bottom:none}.home-highlight-rank{color:var(--text-dim);flex-shrink:0;width:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.home-highlight-name{color:var(--text);flex:1;min-width:0;font-family:Noto Sans KR,sans-serif;font-size:.8125rem}.home-highlight-value{color:var(--accent);text-align:right;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600}.home-highlight-bar-wrap{margin-top:.5rem}.home-highlight-bar-row{align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.home-highlight-bar-label{color:var(--text-muted);text-align:right;flex-shrink:0;width:4rem;font-family:Noto Sans KR,sans-serif;font-size:.6875rem}.home-highlight-bar{background:var(--bg2);border-radius:3px;flex:1;height:6px;overflow:hidden}.home-highlight-bar-fill{border-radius:3px;height:100%;transition:width .6s}.home-highlight-bar-val{color:var(--text-dim);flex-shrink:0;width:3rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.home-about{text-align:center;border-bottom:1px solid var(--border);padding:2.5rem 1rem}.home-about-content{max-width:36rem;margin:0 auto}.home-about-desc{color:var(--text-muted);margin-bottom:1.5rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;line-height:1.8}.home-about-sources{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.home-about-source{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);letter-spacing:.04em;border-radius:4px;padding:.25rem .625rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.home-about-disclaimer{color:var(--text-dim);text-align:center;margin-bottom:1.25rem;font-size:.625rem;line-height:1.6}.home-about-links{justify-content:center;gap:.75rem;display:flex}.home-about-link{color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:border-color .2s,color .2s}.home-about-link:hover{border-color:var(--text-dim);color:var(--text)}@media (min-width:481px){.home-hero{padding:4rem 1.5rem 3rem}.home-hero-stats{grid-template-columns:repeat(4,1fr);gap:.75rem}.home-features{padding:3rem 1.5rem}.home-features-grid{grid-template-columns:repeat(2,1fr)}.home-highlights{padding:3rem 1.5rem}.home-highlights-grid{grid-template-columns:repeat(3,1fr)}.home-about{padding:3rem 1.5rem}}@media (min-width:769px){.home-hero{padding:5rem 3rem 4rem}.home-hero-title{font-size:2.75rem}.home-hero-subtitle{font-size:.8125rem}.home-stat-value{font-size:1.75rem}.home-features{padding:3.5rem 3rem}.home-features-grid{grid-template-columns:repeat(4,1fr)}.home-feature-card{padding:1.5rem}.home-highlights{padding:3.5rem 3rem}.home-highlight-card{padding:1.5rem}.home-about{padding:3.5rem 3rem}.home-section-title{font-size:1.25rem}}.home-hero-overline{color:var(--tag);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-dday-big{color:var(--text);letter-spacing:-.04em;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:clamp(3rem,10vw,5.5rem);font-weight:700;line-height:1}.home-countdown{max-width:24rem;margin:1.5rem auto}.home-countdown-label{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:2rem;font-weight:700}.home-countdown-grid{justify-content:center;align-items:center;gap:.25rem;display:flex}.home-countdown-cell{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:center;min-width:3.5rem;padding:.5rem .625rem;display:flex}.home-countdown-num{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:700;line-height:1.2}.home-countdown-unit{color:var(--text-muted);margin-top:.125rem;font-family:Noto Sans KR,sans-serif;font-size:.5625rem}.home-countdown-sep{color:var(--text-dim);padding:0 .125rem;font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700}.home-countdown-dual{flex-direction:column;gap:1rem;max-width:32rem;margin:1.5rem auto;display:flex}.home-countdown-block{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.home-countdown-block--early{border-color:var(--tag);background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.home-countdown-block--early{background:color-mix(in srgb,var(--tag)6%,transparent)}}.home-countdown-block--early .home-countdown-num,.home-countdown-block--election .home-countdown-num{color:var(--accent)}.home-countdown-block--early .home-countdown-ref{color:var(--tag)}.home-countdown-block--election{border-color:var(--up);background:var(--up)}@supports (color:color-mix(in lab, red, red)){.home-countdown-block--election{background:color-mix(in srgb,var(--up)6%,transparent)}}.home-countdown-block--election .home-countdown-ref{color:var(--up)}.home-countdown-ref{color:var(--text-muted);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.home-hero-dual-stats{flex-direction:column;gap:1.5rem;max-width:44rem;margin:0 auto 2rem;display:flex}.home-stats-group{text-align:center}.home-stats-group-label{color:var(--text-muted);letter-spacing:.08em;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.home-hero-stats--small{grid-template-columns:repeat(2,1fr);gap:.5rem;max-width:20rem;margin:0 auto;display:grid}.home-stat--pending{background:var(--bg2);border:1px dashed var(--border);text-align:center;border-radius:6px;padding:.75rem .5rem;position:relative}.home-stat--pending .home-stat-value{color:var(--text-dim);font-size:1.25rem}.home-stat-badge{color:var(--tag);background:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.home-stat-badge{background:color-mix(in srgb,var(--tag)12%,transparent)}}.home-stat-badge{letter-spacing:.06em;border-radius:3px;margin-top:.25rem;padding:.125rem .375rem}.home-highlight-card--pending{background:var(--bg2);border:1px dashed var(--border)}.home-insight-placeholder{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;display:flex}.home-insight-placeholder .home-highlight-label{margin-bottom:0}.home-insight-placeholder-desc{color:var(--text-dim);max-width:18rem;font-family:Noto Sans KR,sans-serif;font-size:.6875rem;line-height:1.6}.home-feature-card--highlight{border-color:var(--tag);background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.home-feature-card--highlight{background:color-mix(in srgb,var(--tag)6%,transparent)}}.home-feature-card--highlight:hover{border-color:var(--accent)}@media (min-width:481px){.home-countdown-dual{flex-direction:row;justify-content:center;gap:2rem}.home-hero-stats--small,.home-features-grid{grid-template-columns:repeat(2,1fr)}.home-countdown-num{font-size:1.75rem}.home-countdown-cell{min-width:4.5rem;padding:.75rem}}@media (min-width:769px){.home-features-grid{grid-template-columns:repeat(4,1fr)}.home-countdown-num{font-size:2.25rem}.home-countdown-cell{min-width:5rem;padding:1rem}}.e26-browser{min-height:80vh}.e26-sticky-bar{z-index:90;background:var(--bg2);justify-content:center;align-items:center;gap:.5rem;display:flex;position:sticky;top:50px}@supports (color:color-mix(in lab, red, red)){.e26-sticky-bar{background:color-mix(in srgb,var(--bg2)92%,transparent)}}.e26-sticky-bar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-muted);padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.e26-sticky-dday{color:var(--text);font-weight:700}.e26-sticky-sep{color:var(--text-dim)}.e26-sticky-label{color:var(--text-muted)}.e26-sticky-date{color:var(--text-dim)}.e26-section{border-bottom:1px solid var(--border);max-width:52rem;margin:0 auto;padding:2.5rem 1rem}.e26-section-title{color:var(--text);text-align:center;letter-spacing:-.02em;margin-bottom:.5rem;font-family:Noto Serif KR,serif;font-size:1.125rem;font-weight:700}.e26-section-sub{color:var(--text-muted);text-align:center;letter-spacing:.04em;margin-bottom:2rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-timeline{padding-left:1.5rem;position:relative}.e26-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.4375rem}.e26-timeline-item{padding:.625rem 0 .625rem 1rem;position:relative}.e26-timeline-dot{background:var(--border);border:2px solid var(--bg);border-radius:50%;width:.625rem;height:.625rem;position:absolute;top:.875rem;left:-1.125rem}.e26-timeline-item.past .e26-timeline-dot{background:var(--tag)}.e26-timeline-item.current .e26-timeline-dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.e26-timeline-item.current .e26-timeline-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)20%,transparent)}}.e26-timeline-content{align-items:baseline;gap:.75rem;display:flex}.e26-timeline-date{color:var(--text-dim);flex-shrink:0;width:5.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-timeline-label{color:var(--text-muted);font-family:Noto Sans KR,sans-serif;font-size:.8125rem}.e26-timeline-item.past .e26-timeline-label{color:var(--text)}.e26-timeline-item.current .e26-timeline-label{color:var(--accent);font-weight:500}.e26-timeline-item.bold .e26-timeline-label{font-weight:700}.e26-timeline-item.bold .e26-timeline-dot{width:.75rem;height:.75rem;top:.8125rem;left:-1.1875rem}.e26-timeline-section{padding-bottom:1.5rem}.e26-timeline-section .e26-section-sub{margin-bottom:1rem}.e26-timeline-toggle{color:var(--tag);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;margin:.75rem auto 0;padding:.375rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:border-color .2s,color .2s;display:block}.e26-timeline-toggle:hover{border-color:var(--tag);color:var(--text)}.e26-compare-grid{grid-template-columns:1fr;gap:.75rem;display:grid}.e26-compare-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;padding:1.5rem}.e26-compare-card--upcoming{border:1px dashed var(--tag);background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.e26-compare-card--upcoming{background:color-mix(in srgb,var(--tag)4%,transparent)}}.e26-compare-term{color:var(--text);margin-bottom:.25rem;font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.e26-compare-date{color:var(--text-muted);margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.e26-compare-desc{color:var(--text-dim);margin-bottom:.75rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem}.e26-compare-link{color:var(--tag);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.e26-compare-link:hover{border-color:var(--text-dim);color:var(--text)}.e26-compare-pending{color:var(--text-dim);background:var(--tag);font-family:IBM Plex Mono,monospace;font-size:.6875rem}@supports (color:color-mix(in lab, red, red)){.e26-compare-pending{background:color-mix(in srgb,var(--tag)8%,transparent)}}.e26-compare-pending{border-radius:4px;padding:.375rem .75rem;display:inline-block}.e26-cta-section{text-align:center}.e26-cta-btn{color:var(--bg);background:var(--accent);border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.e26-cta-btn:hover{background:var(--text);transform:translateY(-1px)}.e26-type-grid{grid-template-columns:repeat(2,1fr);gap:.625rem;margin-bottom:1.5rem;display:grid}.e26-type-card{background:var(--bg2);border:1px solid var(--border);text-align:center;border-radius:8px;padding:1rem}.e26-type-count{color:var(--text);margin-bottom:.125rem;font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700}.e26-type-name{color:var(--text-muted);font-family:Noto Sans KR,sans-serif;font-size:.6875rem}.e26-charts-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.e26-subsection-title{color:var(--text-muted);margin-bottom:.75rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;font-weight:600}.e26-bar-section{padding:0}.e26-bar-chart{flex-direction:column;gap:.5rem;display:flex}.e26-bar-row{align-items:center;gap:.5rem;display:flex}.e26-bar-label{color:var(--text-muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;width:5.5rem;font-family:Noto Sans KR,sans-serif;font-size:.6875rem;overflow:hidden}.e26-bar-track{background:var(--bg);border-radius:2px;flex:1;height:.375rem;overflow:hidden}.e26-bar-fill{border-radius:2px;height:100%;transition:width .8s cubic-bezier(.23,1,.32,1)}.e26-bar-value{color:var(--text-dim);text-align:right;flex-shrink:0;width:3.5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.e26-recent-section{margin-top:.5rem}.e26-recent-list{flex-direction:column;gap:0;display:flex}.e26-recent-row{border-bottom:1px solid var(--border);grid-template-columns:4rem 5rem 1fr 5.5rem;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.6875rem;display:grid}.e26-recent-row:last-child{border-bottom:none}.e26-recent-name{color:var(--text);font-family:Noto Sans KR,sans-serif;font-weight:600}.e26-recent-party{font-family:Noto Sans KR,sans-serif;font-size:.625rem}.e26-recent-sgg{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:Noto Sans KR,sans-serif;overflow:hidden}.e26-recent-date{color:var(--text-dim);text-align:right;font-family:IBM Plex Mono,monospace;font-size:.625rem}.e26-cand-filter{margin-bottom:1.25rem}.e26-cand-filter-controls{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.e26-cand-filter-controls .filter-select{flex:1;min-width:7rem}.e26-cand-search{color:var(--text);background:var(--bg);border:1px solid var(--border);flex:1;min-width:7rem;padding:.5rem .75rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;transition:border-color .2s}.e26-cand-search::placeholder{color:var(--text-dim)}.e26-cand-search:focus{border-color:var(--tag);outline:none}.e26-cand-filter-count{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-cand-grid{grid-template-columns:1fr;gap:.625rem;display:grid}.e26-cand-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:inherit;border-radius:8px;flex-direction:column;gap:.375rem;padding:1rem 1.125rem;font-family:inherit;transition:border-color .2s,background .2s;display:flex;position:relative}.e26-cand-card:hover{border-color:var(--tag);background:var(--bg2)}.e26-cand-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.e26-cand-name{color:var(--text);flex:1;font-family:Noto Sans KR,sans-serif;font-size:.875rem;font-weight:700}.e26-cand-party{white-space:nowrap;font-family:Noto Sans KR,sans-serif;font-size:.6875rem;font-weight:500}.e26-cand-type{color:var(--text-muted);letter-spacing:.02em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.e26-cand-info{color:var(--text-dim);font-family:Noto Sans KR,sans-serif;font-size:.6875rem}.e26-cand-bottom{justify-content:space-between;align-items:center;margin-top:.125rem;display:flex}.e26-cand-date{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.625rem}.e26-cand-arrow{color:var(--text-dim);font-size:.875rem;transition:color .2s}.e26-cand-card:hover .e26-cand-arrow{color:var(--tag)}.e26-acc-body .e26-cand-card{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem 1rem}.e26-acc-body .e26-cand-card:hover{background:var(--bg2);border-color:var(--border)}.e26-acc-body .e26-cand-card:last-child{border-bottom:none}.e26-acc-body .e26-cand-name{min-width:0;font-weight:400}.e26-acc-body .e26-cand-party{flex-shrink:0}.e26-acc-body .e26-cand-arrow{font-family:IBM Plex Mono,monospace;transition:transform .2s,color .2s}.e26-acc-body .e26-cand-card:hover .e26-cand-arrow{color:var(--accent);transform:translate(.1875rem)}.e26-cand-more{color:var(--tag);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:.625rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600;transition:border-color .2s,color .2s}.e26-cand-more:hover{border-color:var(--tag);color:var(--text)}.e26-cand-more-wrap{text-align:center;margin-top:1.25rem}.e26-cand-empty{text-align:center;color:var(--text-dim);padding:2rem 0;font-size:.8125rem}.e26-popup-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.e26-popup-name{color:var(--text);margin:0;font-family:Noto Serif KR,serif;font-size:1.125rem;font-weight:700}.e26-popup-hanja{color:var(--text-muted);margin-left:.375rem;font-family:Noto Sans KR,sans-serif;font-size:.75rem;font-weight:400}.e26-popup-party{white-space:nowrap;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;font-weight:600}@media (min-width:481px){.e26-section{padding:3rem 1.5rem}.e26-compare-grid{grid-template-columns:repeat(2,1fr)}.e26-type-grid{grid-template-columns:repeat(3,1fr)}.e26-charts-grid{grid-template-columns:1fr 1fr}.e26-bar-label{width:6rem;font-size:.75rem}.e26-recent-row{grid-template-columns:5rem 6rem 1fr 6rem;font-size:.75rem}.e26-cand-grid{grid-template-columns:repeat(2,1fr)}.e26-cand-search{min-width:10rem}}@media (min-width:769px){.e26-section{padding:3.5rem 3rem}.e26-section-title{font-size:1.25rem}.e26-type-grid{grid-template-columns:repeat(5,1fr)}.e26-bar-label{width:7rem}.e26-bar-value{width:4rem}.e26-cand-grid{grid-template-columns:repeat(3,1fr)}}.e26-compare-popup-title{color:var(--text);margin-bottom:1rem;font-family:Noto Serif KR,serif;font-size:1.125rem;font-weight:700}.e26-compare-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.e26-compare-table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.75rem}.e26-compare-table th,.e26-compare-table td{border:1px solid var(--border);text-align:left;vertical-align:top;color:var(--text-muted);padding:.5rem .75rem;font-family:Noto Sans KR,sans-serif}.e26-compare-table th{background:var(--bg2);white-space:nowrap;min-width:5rem;font-weight:600}.e26-ct-name{color:var(--text);font-family:Noto Serif KR,serif;font-size:.875rem;font-weight:700}.e26-ct-party{font-size:.6875rem;font-weight:600}.e26-national-map-wrap{max-width:28rem;margin:0 auto;padding:1.5rem 1rem .5rem}.e26-national-map-hint{color:var(--text-dim);text-align:center;margin-top:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-center-layout{flex-direction:column;align-items:center;gap:1.5rem;padding:1rem;display:flex}.e26-center-map-wrap{width:100%;max-width:36rem;margin:0 auto;position:relative}.e26-map-breadcrumb{z-index:10;background:0 0;border:none;align-items:center;gap:.375rem;padding:0;display:flex;position:absolute;top:.5rem;left:.5rem}.e26-map-bc-link,.e26-map-bc-sep{color:#999;cursor:pointer;background:0 0;border:none;padding:0;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:400;line-height:1}.e26-map-bc-sep{cursor:default}.e26-map-bc-link:hover{text-decoration:underline}.e26-map-bc-link:last-child{font-weight:700}.e26-do-candidates,.map-sido-list{width:100%;max-width:36rem}.e26-drill-layout{background:var(--border);grid-template-columns:1fr;gap:1px;min-height:auto;display:grid}.e26-drill-map-col{background:var(--bg);flex-direction:column;align-items:stretch;min-height:17.5rem;padding:1rem;display:flex;position:relative}.e26-drill-panel-col{background:var(--bg);flex-direction:column;display:flex;overflow-y:auto}.e26-drill-breadcrumb{align-items:center;gap:.25rem;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;display:flex}.e26-drill-breadcrumb-item{color:var(--tag);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;min-height:2rem;padding:.25rem 0;transition:color .2s}.e26-drill-breadcrumb-item:hover{color:var(--text)}.e26-drill-breadcrumb-sep{color:var(--text-dim)}.e26-drill-breadcrumb-current{color:var(--text);font-weight:600}.e26-drill-loading{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.e26-drill-empty,.e26-drill-hint{color:var(--text-dim);text-align:center;padding:3rem 1rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem}.e26-acc{border:1px solid var(--border);border-radius:8px;margin-bottom:.625rem;overflow:hidden}.e26-acc-header{background:var(--bg2);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;width:100%;min-height:2.75rem;padding:.75rem 1rem;font-family:inherit;transition:background .2s;display:flex}.e26-acc-header:hover{background:var(--surface)}.e26-acc-title{color:var(--text);flex:1;font-family:Noto Sans KR,sans-serif;font-size:.875rem;font-weight:600}.e26-acc-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.e26-acc-toggle{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.e26-acc-body{background:var(--bg);flex-direction:column;gap:0;padding:0;display:flex}.e26-cand-card-row{align-items:center;gap:0;display:flex}.e26-cand-card-row .e26-cand-card{flex:1;min-width:0}.e26-cand-compare-check{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:2rem;padding-left:.75rem;display:flex}.e26-cand-compare-check:hover input[type=checkbox]{outline:2px solid var(--accent);outline-offset:1px}.e26-cand-compare-check input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--accent);cursor:pointer}.e26-drill-panel-header{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:1.25rem 1rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.e26-sgg-candidates{padding:.5rem}.e26-skeleton-group{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.e26-skeleton{background:linear-gradient(90deg,var(--bg2)25%,var(--surface)50%,var(--bg2)75%);background-size:200% 100%;border-radius:4px;height:.875rem;animation:1.6s infinite e26-shimmer}@keyframes e26-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (min-width:769px){.e26-drill-layout{grid-template-columns:3fr 2fr;min-height:37.5rem}.e26-drill-map-col{min-height:21.875rem;max-height:calc(100vh - 50px);padding:1.5rem;position:sticky;top:50px;overflow-y:auto}.e26-drill-panel-col{max-height:calc(100vh - 50px);overflow-y:auto}.e26-national-map-wrap{max-width:36rem}}.skip-link{background:var(--accent);color:var(--bg);z-index:var(--z-toast);border-radius:0 0 6px;padding:.75rem 1.5rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:0}.skip-link:focus{outline:2px solid var(--tag);outline-offset:2px;top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toast-container{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.toast{pointer-events:auto;border:1px solid;border-radius:6px;align-items:center;gap:.625rem;max-width:22rem;padding:.75rem 1rem;font-family:Noto Sans KR,sans-serif;font-size:.8125rem;animation:.3s ease-out toast-in;display:flex}.toast.toast-exit{animation:.2s ease-in forwards toast-out}.toast.error{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.toast.error{background:color-mix(in srgb,var(--down)15%,transparent)}}.toast.error{border-color:var(--down);color:var(--down)}.toast.success{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.toast.success{background:color-mix(in srgb,var(--up)15%,transparent)}}.toast.success{border-color:var(--up);color:var(--up)}.toast.info{background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.toast.info{background:color-mix(in srgb,var(--tag)15%,transparent)}}.toast.info{border-color:var(--tag);color:var(--tag)}.toast-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;min-width:44px;min-height:44px;margin-left:auto;padding:.25rem;font-size:1rem;line-height:1}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(1rem)}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:12rem;padding:3rem 1.5rem;display:flex}.empty-state-icon{opacity:.4;margin-bottom:1rem;font-size:2rem}.empty-state-title{color:var(--text-muted);margin-bottom:.5rem;font-family:Noto Sans KR,sans-serif;font-size:.9375rem;font-weight:500}.empty-state-desc{color:var(--text-dim);max-width:20rem;margin-bottom:1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;line-height:1.6}.empty-state-action{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;min-height:44px;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:border-color .2s,color .2s}.empty-state-action:hover{border-color:var(--text-dim);color:var(--text)}.chart-tooltip{z-index:var(--z-popup);pointer-events:none;background:var(--surface);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:6px;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;position:fixed;box-shadow:0 4px 12px #0006}.chart-tooltip-label{color:var(--text-muted);margin-bottom:.125rem}.chart-tooltip-value{color:var(--accent);font-weight:600}.back-to-top{z-index:var(--z-sticky);background:var(--surface);border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,border-color .2s,color .2s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(.5rem)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{border-color:var(--text-dim);color:var(--text)}.back-to-top svg{width:1rem;height:1rem}.auth-form-input.field-error{border-color:var(--down)}.auth-form-input.field-success{border-color:var(--up)}.field-error-msg{color:var(--down);margin-top:.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.password-strength{gap:.25rem;margin-top:.375rem;display:flex}.password-strength-bar{background:var(--border);border-radius:2px;flex:1;height:3px;transition:background .2s}.password-strength-bar.filled.weak{background:var(--down)}.password-strength-bar.filled.medium{background:var(--source-sido)}.password-strength-bar.filled.strong{background:var(--up)}.password-strength-label{color:var(--text-dim);margin-top:.125rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.candidate-grid>*,.district-list>*,.article-grid>*{animation:.3s cubic-bezier(.16,1,.3,1) both card-fade-in}.candidate-grid>:first-child{animation-delay:0s}.candidate-grid>:nth-child(2){animation-delay:30ms}.candidate-grid>:nth-child(3){animation-delay:60ms}.candidate-grid>:nth-child(4){animation-delay:90ms}.candidate-grid>:nth-child(5){animation-delay:.12s}.candidate-grid>:nth-child(6){animation-delay:.15s}.candidate-grid>:nth-child(n+7){animation-delay:.18s}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes popup-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.budget-detail-overlay,.popup-overlay{animation:.2s ease-out overlay-in}.budget-detail-popup,.popup-content{animation:.25s cubic-bezier(.16,1,.3,1) popup-scale-in}.popup-toast{background:var(--surface);border:1px solid var(--border);color:var(--text);z-index:10010;pointer-events:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.8125rem;animation:.2s ease-out toast-in;position:fixed;bottom:5rem;left:50%;transform:translate(-50%)}.auth-delete-notice{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.auth-delete-notice{background:color-mix(in srgb,var(--down)12%,transparent)}}.auth-delete-notice{border:1px solid var(--down);text-align:center;border-radius:8px;margin-bottom:1rem;padding:1rem}.auth-delete-notice p{color:var(--down);margin:0;font-size:.875rem}.auth-delete-notice-sub{color:var(--text-muted)!important;margin-top:.25rem!important;font-size:.75rem!important}.auth-recover-btn{background:var(--up);color:var(--bg);cursor:pointer;border:none;border-radius:6px;margin-top:.75rem;padding:.5rem 1.5rem;font-size:.8125rem;font-weight:600}.auth-recover-btn:hover{opacity:.85}.auth-delete-section{border-top:1px solid var(--border);text-align:center;margin-top:1.5rem;padding-top:1.5rem}.auth-delete-trigger{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:.75rem;text-decoration:underline}.auth-delete-trigger:hover{color:var(--down)}.auth-delete-confirm{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem}.auth-delete-warning{color:var(--down);margin-bottom:.75rem;font-size:.8125rem}.auth-delete-reason{background:var(--surface);border:1px solid var(--border);width:100%;min-height:3rem;color:var(--text);resize:vertical;border-radius:6px;margin-bottom:.75rem;padding:.5rem;font-size:.8125rem}.auth-delete-actions{justify-content:flex-end;gap:.5rem;display:flex}.auth-delete-cancel{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem}.auth-delete-btn{background:var(--down);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.auth-delete-btn:hover{opacity:.85}.auth-delete-btn:disabled{opacity:.5;cursor:not-allowed}.account-deleted-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.account-deleted-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:26.25rem;padding:2.5rem 2rem}.account-deleted-title{font-family:var(--font-noto-serif),"Noto Serif KR",serif;color:var(--down);margin-bottom:1rem;font-size:1.25rem}.account-deleted-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:.875rem;line-height:1.6}.account-deleted-desc strong{color:var(--text)}.account-deleted-success{color:var(--up);margin-bottom:1rem;font-size:.875rem}.account-deleted-error{color:var(--down);margin-bottom:1rem;font-size:.875rem}.account-deleted-actions{flex-direction:column;gap:.75rem;display:flex}.account-deleted-recover{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;min-height:44px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500}.account-deleted-recover:hover{opacity:.9}.account-deleted-recover:disabled{opacity:.5;cursor:not-allowed}.account-deleted-logout{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;min-height:44px;padding:.75rem 1.5rem;font-size:.875rem}.account-deleted-logout:hover{color:var(--text);border-color:var(--text-muted)}.admin-layout{background:var(--bg);min-height:100vh;display:flex}.admin-sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;gap:.25rem;width:220px;height:100vh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.admin-sidebar-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.75rem;font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.admin-nav-link{color:var(--text-muted);border-radius:6px;padding:.5rem .75rem;font-size:.8125rem;text-decoration:none;transition:background .15s,color .15s;display:block}.admin-nav-link:hover{background:var(--surface);color:var(--text)}.admin-nav-divider{background:var(--border);height:1px;margin:.75rem 0}.admin-nav-back{color:var(--text-dim);font-size:.75rem}.admin-main{flex:1;max-width:1200px;padding:2rem}.admin-page-title{color:var(--text);margin-bottom:1.5rem;font-family:Noto Serif KR,serif;font-size:1.5rem;font-weight:700}.admin-section-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:2rem 0 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.admin-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.admin-stat-label{color:var(--text-muted);margin-bottom:.5rem;font-size:.75rem}.admin-stat-value{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:700}.admin-stat-sub{color:var(--text-dim);margin-top:.25rem;font-size:.75rem}.admin-filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.admin-filter-btn{background:var(--surface);border:1px solid var(--border);min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:.375rem;padding:.4rem .75rem;font-size:.75rem;display:flex}.admin-filter-btn.active{border-color:var(--accent);color:var(--text)}.admin-filter-count{background:var(--bg2);border-radius:4px;padding:.125rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.admin-table-wrap{margin-bottom:1.5rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.8125rem}.admin-table th{text-align:left;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:.625rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;font-weight:600}.admin-table td{color:var(--text);border-bottom:1px solid var(--border);padding:.625rem .75rem}.admin-table tr:hover td{background:var(--bg2)}.admin-table tr.selected td{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-table tr.selected td{background:color-mix(in srgb,var(--accent)8%,transparent)}}.admin-empty{text-align:center;color:var(--text-dim);padding:2rem 0!important}.admin-status-badge{border-radius:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.status-pending{color:#e8c84a;background:#e8c84a26}.status-in_progress{color:#4a9fe8;background:#4a9fe826}.status-resolved,.status-active,.status-published{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.status-resolved,.status-active,.status-published{background:color-mix(in srgb,var(--up)15%,transparent)}}.status-resolved,.status-active,.status-published{color:var(--up)}.status-closed,.status-cancelled,.status-hidden{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.status-closed,.status-cancelled,.status-hidden{background:color-mix(in srgb,var(--down)15%,transparent)}}.status-closed,.status-cancelled,.status-hidden{color:var(--down)}.status-draft{color:var(--text-muted);background:#7a819426}.status-reviewed{color:#b4a04a;background:#b4a04a26}.status-ready{color:#4ab4e8;background:#4ab4e826}.status-expired{color:var(--text-muted);background:#7a819426}.status-past_due{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.status-past_due{background:color-mix(in srgb,var(--down)20%,transparent)}}.status-past_due{color:var(--down)}.admin-role-badge{border-radius:4px;padding:.2rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.role-admin{color:#4a9fe8;background:#4a9fe826}.role-editor{background:var(--up)}@supports (color:color-mix(in lab, red, red)){.role-editor{background:color-mix(in srgb,var(--up)15%,transparent)}}.role-editor{color:var(--up)}.role-user{color:var(--text-muted);background:#7a81941a}.admin-link-btn{color:var(--tag);cursor:pointer;text-align:left;background:0 0;border:none;font-size:.8125rem}.admin-link-btn:hover{text-decoration:underline}.admin-status-select{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.admin-detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.admin-detail-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.admin-detail-header h2{color:var(--text);font-size:1rem;font-weight:600}.admin-detail-close{border:1px solid var(--border);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;font-size:1rem}.admin-detail-meta{color:var(--text-muted);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;font-size:.75rem;display:flex}.admin-detail-body{color:var(--text);white-space:pre-wrap;font-size:.875rem;line-height:1.8}.admin-page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-page-header .admin-page-title{margin-bottom:0}.admin-action-btn{background:var(--accent);min-height:44px;color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600}.admin-action-btn:hover{opacity:.9}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-form-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.admin-form-row{flex-direction:column;gap:.25rem;display:flex}.admin-form-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.admin-form-input{background:var(--bg2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.5rem .75rem;font-size:.8125rem}.admin-form-textarea{background:var(--bg2);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:6px;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem;line-height:1.6}.admin-editor-toolbar{gap:.5rem;margin-bottom:.25rem;display:flex}.admin-editor-img-btn{background:var(--bg2);border:1px solid var(--border);min-height:44px;color:var(--text-muted);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;transition:color .15s,border-color .15s}.admin-editor-img-btn:hover{color:var(--text);border-color:var(--tag)}.admin-editor-img-btn:disabled{opacity:.5;cursor:not-allowed}.admin-filter-group{flex-wrap:wrap;gap:.5rem;display:flex}.admin-filter-bar{align-items:center}.admin-detail-subtitle{color:var(--text-muted);margin-bottom:.75rem;font-size:.8125rem}.admin-detail-tags{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.admin-detail-tag{color:var(--tag);background:var(--tag);font-size:.6875rem}@supports (color:color-mix(in lab, red, red)){.admin-detail-tag{background:color-mix(in srgb,var(--tag)10%,transparent)}}.admin-detail-tag{border-radius:4px;padding:.125rem .5rem}@media (max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{flex-flow:wrap;gap:.5rem;width:100%;height:auto;padding:.75rem;position:static}.admin-sidebar-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.admin-nav-divider{display:none}.admin-main{padding:1rem}}.legal-page{max-width:760px;margin:0 auto}.legal-title{font-family:var(--font-noto-serif),"Noto Serif KR",serif;color:var(--text);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.legal-date{font-family:var(--font-ibm-mono),"IBM Plex Mono",monospace;color:var(--text-dim);margin-bottom:2rem;font-size:.75rem}.legal-body{flex-direction:column;gap:2rem;display:flex}.legal-section h2{font-family:var(--font-noto-serif),"Noto Serif KR",serif;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:1rem;font-weight:700}.legal-section h3{color:var(--text-muted);margin:.75rem 0 .5rem;font-size:.85rem;font-weight:500}.legal-section p{color:var(--text);margin-bottom:.5rem;font-size:.85rem;line-height:1.7}.legal-section ul,.legal-section ol{margin-bottom:.5rem;padding-left:1.25rem}.legal-section li{color:var(--text);margin-bottom:.25rem;font-size:.85rem;line-height:1.7}.legal-section li strong{color:var(--accent)}.legal-link{color:var(--tag);text-underline-offset:2px;text-decoration:underline}.legal-link:hover{color:var(--accent)}.footer-legal{gap:1rem;margin-top:.5rem;display:flex}.footer-legal a{color:var(--text-dim);align-items:center;min-height:44px;padding:.5rem 0;font-size:.65rem;text-decoration:none;display:inline-flex}.footer-legal a:hover{color:var(--text-muted)}.eval-browser{max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.eval-overview{margin-bottom:2rem}.eval-overview-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.eval-section-title{font-family:var(--font-noto-serif,"Noto Serif KR",serif);color:var(--text);font-size:1.125rem;font-weight:700}.eval-total-badge,.eval-count-badge{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.125rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.eval-stat-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.eval-quality-mini-bar{border-radius:3px;width:100%;height:1.25rem;display:flex;overflow:hidden}.eval-quality-mini-seg{min-width:2px}.eval-dist-section{flex-direction:column;gap:.75rem;display:flex}.grade-dist-row{flex-direction:column;gap:.25rem;display:flex}.grade-dist-legend{flex-wrap:wrap;gap:.5rem;padding-left:4rem;display:flex}.grade-dist-legend-item{color:var(--text-muted);align-items:center;gap:.25rem;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.grade-dist-dot{border-radius:2px;width:8px;height:8px;display:inline-block}.eval-filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.eval-filter-group{align-items:center;gap:.25rem;display:flex}.eval-filter-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.eval-filter-btn{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:.1875rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:background .15s,color .15s}.eval-filter-btn:hover{background:var(--bg2);color:var(--text)}.eval-filter-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.eval-list-section{margin-top:1.5rem}.eval-list-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.eval-pledge-grid{grid-template-columns:1fr;gap:1px;display:grid}.eval-empty{text-align:center;color:var(--text-dim);padding:2rem;font-size:.875rem}.eval-load-more{width:100%;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:4px;margin-top:.5rem;padding:.75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:background .15s;display:block}.eval-load-more:hover{background:var(--bg2)}.eval-pledge-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);cursor:pointer;width:100%;padding:.875rem 1rem;transition:background .15s;display:block}.eval-pledge-card:hover{background:var(--bg2)}.eval-card-badges{flex-wrap:wrap;align-items:center;gap:.375rem;margin-bottom:.375rem;display:flex}.eval-grade-badge-sm{color:var(--bg);letter-spacing:.02em;border-radius:3px;padding:.125rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:600}.eval-card-exec{color:var(--text-muted);align-items:center;gap:.375rem;margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.625rem;display:flex}.eval-card-exec-bar{background:var(--bg2);border-radius:2px;width:3rem;height:4px;overflow:hidden}.eval-card-exec-fill{background:var(--up);border-radius:2px;height:100%;display:block}.eval-card-title{color:var(--text);margin-bottom:.25rem;font-size:.875rem;font-weight:500;line-height:1.4}.eval-card-summary{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.5;display:-webkit-box;overflow:hidden}.eval-card-flags{color:var(--down);margin-top:.375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;display:inline-block}.eval-grade-badge{color:var(--bg);border-radius:4px;padding:.1875rem .625rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:600}.eval-grade-sublabel{opacity:.8;margin-left:.25rem;font-size:.5625rem;font-weight:400}.eval-relevance-badge{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:.125rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.eval-detail-loading{text-align:center;color:var(--text-muted);padding:3rem;font-size:.875rem}.eval-detail-content{padding:.5rem 0}.eval-detail-title{font-family:var(--font-noto-serif,"Noto Serif KR",serif);color:var(--text);margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.eval-detail-summary{color:var(--text-muted);margin-bottom:1rem;font-size:.8125rem;line-height:1.6}.eval-detail-top-badges{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.eval-axis-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem;display:grid}.eval-axis-card{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem}.eval-axis-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.eval-axis-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.eval-progress-bar{background:var(--border);border-radius:2px;height:4px;margin-bottom:.5rem;overflow:hidden}.eval-progress-fill{border-radius:2px;height:100%;transition:width .3s}.eval-reasoning-toggle{color:var(--tag);cursor:pointer;background:0 0;border:none;padding:0;font-family:IBM Plex Mono,monospace;font-size:.625rem;text-decoration:underline}.eval-reasoning-toggle:hover{color:var(--accent)}.eval-reasoning-text{color:var(--text-muted);background:var(--surface);border-radius:4px;margin-top:.375rem;padding:.5rem;font-size:.75rem;line-height:1.6}.eval-flags-section{margin-bottom:1.25rem}.eval-flags-title,.eval-links-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.eval-flag-item{border-radius:4px;gap:.5rem;margin-bottom:.25rem;padding:.375rem .5rem;font-size:.75rem;display:flex}.eval-flag-item.severity-high{background:var(--down)}@supports (color:color-mix(in lab, red, red)){.eval-flag-item.severity-high{background:color-mix(in srgb,var(--down)15%,transparent)}}.eval-flag-item.severity-medium{background:var(--source-sido)}@supports (color:color-mix(in lab, red, red)){.eval-flag-item.severity-medium{background:color-mix(in srgb,var(--source-sido)10%,transparent)}}.eval-flag-item.severity-low{background:var(--bg2)}.eval-flag-type{color:var(--down);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:.625rem;font-weight:600}.eval-flag-desc{color:var(--text-muted)}.eval-links-section{margin-bottom:1rem}.eval-links-list{list-style:none}.eval-link-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.75rem;display:flex}.eval-link-item:last-child{border-bottom:none}.eval-link-label{color:var(--text)}.eval-link-confidence{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.625rem}.eval-pledge-grid>*{animation:.3s cubic-bezier(.16,1,.3,1) both card-fade-in}.eval-pledge-grid>:first-child{animation-delay:0s}.eval-pledge-grid>:nth-child(2){animation-delay:30ms}.eval-pledge-grid>:nth-child(3){animation-delay:60ms}.eval-pledge-grid>:nth-child(4){animation-delay:90ms}.eval-pledge-grid>:nth-child(5){animation-delay:.12s}.eval-pledge-grid>:nth-child(6){animation-delay:.15s}.eval-pledge-grid>:nth-child(n+7){animation-delay:.18s}@media (min-width:481px){.eval-stat-grid{grid-template-columns:1fr 1fr}.eval-pledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:769px){.eval-browser{padding:2rem 1.5rem}.eval-stat-grid{grid-template-columns:repeat(3,1fr)}.eval-axis-grid{grid-template-columns:repeat(2,1fr)}.eval-section-title{font-size:1.25rem}}@media (min-width:1025px){.eval-pledge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pledge-eval-badges{flex-shrink:0;gap:.25rem;margin-left:.25rem;display:inline-flex}.pledge-eval-badge{color:var(--bg);white-space:nowrap;border-radius:3px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.125rem .375rem;font-family:IBM Plex Mono,monospace;font-size:.5625rem;font-weight:600;text-decoration:none;display:inline-flex}.pledge-eval-badge:hover{opacity:.85}.pledge-eval-notice{color:var(--text-dim);letter-spacing:.02em;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.eval-pledge-info-section{border-left:3px solid var(--tag);background:var(--bg2);border-radius:0 6px 6px 0;margin-bottom:1rem;padding:.75rem 1rem}.eval-pledge-info-grid{grid-template-columns:1fr 1fr;gap:.5rem 1rem;display:grid}.eval-info-item{flex-direction:column;gap:.125rem;display:flex}.eval-info-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.5625rem}.eval-info-value{color:var(--text);font-size:.8125rem}.city-back-nav{padding:1rem 0 0}.city-back-link{color:var(--text-muted);font-size:.8125rem;text-decoration:none}.city-back-link:hover{color:var(--accent)}.city-tab-nav{border-bottom:1px solid var(--border);gap:0;margin-bottom:1.5rem;display:flex}.city-tab-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s}.city-tab-btn:hover{color:var(--text)}.city-tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.city-dashboard{max-width:960px;margin:0 auto;padding:0 1rem 2rem}.city-overview{margin-bottom:1.5rem}.city-header{align-items:baseline;gap:.75rem;margin-bottom:1.25rem;display:flex}.city-title{color:var(--text);margin:0;font-family:Noto Serif KR,serif;font-size:1.5rem;font-weight:900}.city-population{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.8125rem}.city-kpi-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.city-kpi-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:.5rem;padding:1rem}.city-kpi-value{color:var(--text);margin-bottom:.25rem;font-family:IBM Plex Mono,monospace;font-size:1.25rem;font-weight:700}.city-kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.6875rem}.city-kpi-bar{border-radius:2px;height:.375rem;margin-top:.5rem;display:flex;overflow:hidden}.city-kpi-seg{min-width:2px;transition:flex .3s}.city-pledges{margin-bottom:1.5rem}.city-section-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.city-section-title{color:var(--text);margin:0;font-size:.9375rem;font-weight:600}.city-section-hint{color:var(--text-dim);font-size:.625rem}.city-count-badge{color:var(--text-muted);background:var(--bg2);border-radius:.75rem;padding:.125rem .5rem;font-size:.6875rem}.city-pledge-accordion{flex-direction:column;gap:2px;display:flex}.city-pledge-group{border:1px solid var(--border);border-radius:.375rem;overflow:hidden}.city-pledge-group-header{background:var(--surface);cursor:pointer;width:100%;color:var(--text);text-align:left;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;display:flex}.city-pledge-group-header.open{background:var(--bg2)}.city-pledge-field-name{flex:1}.city-pledge-field-count{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.6875rem}.city-pledge-arrow{color:var(--text-dim);font-size:.625rem}.city-pledge-items{border-top:1px solid var(--border)}.city-pledge-item{border-bottom:1px solid var(--border);padding:.625rem 1rem}@supports (color:color-mix(in lab, red, red)){.city-pledge-item{border-bottom:1px solid color-mix(in srgb,var(--border)50%,transparent)}}.city-pledge-item:last-child{border-bottom:none}.city-pledge-name{color:var(--text);margin-bottom:.25rem;font-size:.8125rem;line-height:1.4}.city-pledge-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.city-pledge-status{border-radius:.25rem;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500}.city-pledge-status.status-done{color:var(--up);background:var(--up)}@supports (color:color-mix(in lab, red, red)){.city-pledge-status.status-done{background:color-mix(in srgb,var(--up)12%,transparent)}}.city-pledge-status.status-progress{color:var(--tag);background:var(--tag)}@supports (color:color-mix(in lab, red, red)){.city-pledge-status.status-progress{background:color-mix(in srgb,var(--tag)12%,transparent)}}.city-pledge-status.status-other{color:var(--text-dim);background:var(--text-dim)}@supports (color:color-mix(in lab, red, red)){.city-pledge-status.status-other{background:color-mix(in srgb,var(--text-dim)12%,transparent)}}.city-pledge-rate{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.6875rem}.city-pledge-dept{color:var(--text-dim);font-size:.625rem}.city-empty{text-align:center;color:var(--text-dim);padding:3rem 1rem;font-size:.875rem}.city-loading{text-align:center;color:var(--text-dim);padding:2rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.city-budget,.city-eval{margin-bottom:1.5rem}@media (max-width:768px){.city-kpi-grid{grid-template-columns:repeat(2,1fr)}.city-tab-btn{padding:.625rem .75rem;font-size:.8125rem}.city-title{font-size:1.25rem}}@media (max-width:480px){.city-kpi-grid{grid-template-columns:1fr 1fr;gap:.5rem}.city-tab-nav{overflow-x:auto}.city-dashboard{padding:0 .75rem 1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.card-gen-wrap{max-width:900px;margin:0 auto;padding:2rem 1rem 4rem}.card-gen-header{margin-bottom:2rem}.card-gen-title{color:var(--text);margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.card-gen-desc{color:var(--text-muted);margin:0;font-size:.9375rem}.card-gen-section{margin-bottom:2.5rem}.card-gen-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;font-weight:600;display:flex}.card-gen-loading{text-transform:none;letter-spacing:0;color:var(--tag);font-weight:400}.card-gen-tags{flex-wrap:wrap;gap:.5rem;display:flex}.card-gen-tag{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:999px;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-size:.875rem;font-weight:500;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.card-gen-tag:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.card-gen-tag--active{border-color:var(--accent);color:var(--accent);background:var(--bg2)}.card-gen-tag--disabled{opacity:.45;cursor:default}.card-gen-tag-badge{color:var(--text-dim);background:var(--bg);border-radius:4px;padding:1px 5px;font-size:.6875rem}.card-gen-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;display:grid}.card-gen-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:1.25rem;transition:border-color .15s,background .15s}.card-gen-card:hover{border-color:var(--accent)}.card-gen-card--selected{border-color:var(--accent);background:var(--bg2)}.card-gen-card-tag{color:var(--tag);margin-bottom:.5rem;font-size:.75rem}.card-gen-card-value{align-items:baseline;gap:.25rem;margin-bottom:.375rem;display:flex}.card-gen-card-num{color:var(--text);font-size:2rem;font-weight:700}.card-gen-card-unit{color:var(--text-muted);font-size:.875rem}.card-gen-card-label{color:var(--text);margin-bottom:.25rem;font-size:.875rem}.card-gen-card-desc{color:var(--text-dim);font-size:.75rem}.card-gen-error{color:#c8637a;background:#1a1218;border:1px solid #4a2030;border-radius:8px;padding:1rem;font-size:.875rem}.card-gen-empty{color:var(--text-dim);padding:1rem 0;font-size:.9375rem}.card-gen-download-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.card-gen-preview{background:var(--bg);text-align:center;border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:2rem}.card-gen-preview-tag{color:var(--tag);margin-bottom:.75rem;font-size:.875rem}.card-gen-preview-value{color:var(--text);justify-content:center;align-items:baseline;gap:.5rem;font-size:3rem;font-weight:700;display:flex}.card-gen-preview-unit{color:var(--text-muted);font-size:1.25rem}.card-gen-preview-label{color:var(--text-muted);margin-top:.5rem;font-size:1rem}.card-gen-preview-year{color:var(--text-dim);margin-top:.25rem;font-size:.8125rem}.card-gen-download-actions{flex-direction:column;align-items:center;gap:.5rem;display:flex}.card-gen-download-btn{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:8px;padding:.75rem 2rem;font-size:.9375rem;font-weight:600;transition:opacity .15s}.card-gen-download-btn:hover:not(:disabled){opacity:.88}.card-gen-download-btn:disabled{opacity:.5;cursor:default}.card-gen-download-note{color:var(--text-dim);margin:0;font-size:.8125rem}@media (max-width:640px){.card-gen-cards{grid-template-columns:1fr 1fr}.card-gen-card-num{font-size:1.5rem}}.politician-section{max-width:72rem;margin:0 auto;padding:0 1rem}.politician-header{margin-bottom:1.5rem}.politician-filters{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.politician-sido-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;min-width:8rem;padding:.5rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.875rem}.politician-search{background:var(--surface);min-width:12rem;color:var(--text);border:1px solid var(--border);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.politician-search:focus{border-color:var(--accent);outline:none}.politician-search::placeholder{color:var(--text-dim)}.politician-grid{background:var(--border);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1px;display:grid;overflow:hidden}.politician-card{background:var(--bg);cursor:default;flex-direction:column;gap:.375rem;padding:1.25rem 1rem;transition:background .15s;display:flex}.politician-card:hover{background:var(--bg2)}.politician-card-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.politician-card-name{color:var(--text);flex:1;font-family:Noto Serif KR,serif;font-size:1rem;font-weight:700}.politician-card-party{letter-spacing:.04em;border:1px solid;border-radius:999px;flex-shrink:0;padding:.1875rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.politician-card-region{color:var(--text-muted);letter-spacing:.05em;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.politician-card-bottom{justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem;display:flex}.politician-card-pledges{color:var(--tag);letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.politician-card-arrow{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.875rem;transition:transform .2s,color .2s}.politician-card:hover .politician-card-arrow{color:var(--accent);transform:translate(.25rem)}.politician-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.875rem}@media (min-width:481px){.politician-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.politician-card{padding:1.5rem 1.25rem}.politician-card-name{font-size:1.125rem}}@media (min-width:769px){.politician-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.politician-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.politician-detail{max-width:800px;margin:0 auto;padding:1.5rem 1rem 4rem}.politician-back{color:var(--text-muted);letter-spacing:.04em;margin-bottom:1.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;text-decoration:none;display:inline-block}.politician-back:hover{color:var(--accent)}.politician-profile-header{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1.25rem}.politician-profile-name-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.politician-profile-name{color:var(--text);margin:0;font-family:Noto Serif KR,serif;font-size:1.75rem;font-weight:700}.politician-profile-party{letter-spacing:.04em;border:1px solid;border-radius:4px;padding:.2rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.politician-profile-region{color:var(--text-muted);letter-spacing:.04em;margin:.4rem 0 1rem;font-family:IBM Plex Mono,monospace;font-size:.8125rem}.politician-ontology-stats{flex-wrap:wrap;gap:.5rem;display:flex}.ontology-stat-badge{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.04em;border-radius:4px;padding:.25rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.ontology-stat-badge strong{color:var(--text)}.ontology-stat-badge.fc-confirms{border-color:var(--up);color:var(--up)}.ontology-stat-badge.fc-contradicts{border-color:var(--down);color:var(--down)}.ontology-stat-badge.fc-partial{color:#c8a820;border-color:#b8960c}.politician-detail-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1.5rem;display:flex}.politician-detail-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.625rem 1.25rem;font-family:Noto Sans KR,sans-serif;font-size:.875rem;transition:color .15s,border-color .15s}.politician-detail-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.politician-detail-tab:hover:not(.active){color:var(--text)}.timeline-filters{flex-wrap:wrap;gap:.375rem;margin-bottom:1.25rem;display:flex}.timeline-filter-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;border-radius:4px;padding:.25rem .625rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:all .15s}.timeline-filter-btn.active,.timeline-filter-btn:hover{background:var(--bg2);color:var(--accent);border-color:var(--accent2)}.timeline-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.timeline-item{grid-template-columns:5.5rem 1fr;align-items:start;gap:.75rem;display:grid}.timeline-date{color:var(--text-dim);letter-spacing:.04em;text-align:right;padding-top:.25rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.timeline-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:6px;padding:.75rem 1rem}.timeline-card.fc-confirms{border-left-color:var(--up)}.timeline-card.fc-contradicts{border-left-color:var(--down)}.timeline-card.fc-partial{border-left-color:#c8a820}.timeline-card.fc-default{border-left-color:var(--tag)}.timeline-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.fc-badge{letter-spacing:.05em;border:1px solid;border-radius:3px;padding:.125rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.fc-badge.fc-confirms{color:var(--up);border-color:var(--up);background:#6b9e8a1a}.fc-badge.fc-contradicts{color:var(--down);border-color:var(--down);background:#9e6b6b1a}.fc-badge.fc-partial{color:#c8a820;background:#c8a8201a;border-color:#c8a820}.fc-badge.fc-default{color:var(--tag);border-color:var(--tag);background:#7a8fb51a}.timeline-source{color:var(--text-dim);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:.625rem}.timeline-confidence{color:var(--text-dim);margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:.625rem}.timeline-news-title{color:var(--text);margin-bottom:.25rem;font-family:Noto Sans KR,sans-serif;font-size:.875rem;line-height:1.5;text-decoration:none;display:block}a.timeline-news-title:hover{color:var(--accent);text-decoration:underline}.timeline-news-title.no-link{margin:0}.timeline-pledge-ref{color:var(--tag);letter-spacing:.03em;margin:.25rem 0 0;font-family:IBM Plex Mono,monospace;font-size:.6875rem}.timeline-reasoning{color:var(--text-muted);border-top:1px solid var(--border);margin:.375rem 0 0;padding-top:.375rem;font-size:.8125rem;line-height:1.5}.timeline-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem;font-size:.875rem}.pledge-field-filters{flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;display:flex}.pledge-field-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;border-radius:4px;padding:.25rem .6rem;font-family:IBM Plex Mono,monospace;font-size:.6875rem;transition:all .15s}.pledge-field-btn.active,.pledge-field-btn:hover{background:var(--bg2);color:var(--accent);border-color:var(--accent2)}.pledge-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pledge-list-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem}.pledge-item-top{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.pledge-field-tag{color:var(--tag);border:1px solid var(--border);border-radius:3px;padding:.1rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.625rem}.pledge-item-badges{flex-wrap:wrap;gap:.375rem;margin-left:auto;display:flex}.pledge-quality-badge,.pledge-rate-badge,.pledge-news-badge{letter-spacing:.04em;border:1px solid;border-radius:3px;padding:.1rem .35rem;font-family:IBM Plex Mono,monospace;font-size:.6rem}.pledge-quality-badge.q-s{color:var(--up);border-color:var(--up)}.pledge-quality-badge.q-a{color:#7ab5e8;border-color:#7ab5e8}.pledge-quality-badge.q-b{color:var(--text-muted);border-color:var(--border)}.pledge-quality-badge.q-c,.pledge-quality-badge.q-d{color:var(--down);border-color:var(--down)}.pledge-rate-badge{color:var(--text-muted);border-color:var(--border)}.pledge-news-badge{color:var(--tag);border-color:var(--tag)}.pledge-item-name{color:var(--text);margin:0 0 .25rem;font-family:Noto Sans KR,sans-serif;font-size:.875rem;line-height:1.5}.pledge-item-status{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}@media (max-width:480px){.timeline-item{grid-template-columns:1fr;gap:.25rem}.timeline-date{text-align:left}}.journey-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.journey-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .15s;overflow:hidden}.journey-card:hover,.journey-card.expanded{border-color:var(--accent)}.journey-card-header{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;flex-direction:column;gap:.4rem;padding:.875rem 1rem;display:flex}.journey-card-header:hover{background:#ffffff06}.journey-card-badges{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.journey-pledge-name{color:var(--text);text-align:left;margin:0;font-family:Noto Sans KR,sans-serif;font-size:.875rem;line-height:1.5}.journey-card-footer{justify-content:space-between;align-items:center;margin-top:.15rem;display:flex}.journey-counts{flex-wrap:wrap;gap:.4rem;display:flex}.journey-stmt-count,.journey-news-count,.journey-no-data{letter-spacing:.04em;border:1px solid;border-radius:3px;padding:.1rem .4rem;font-family:IBM Plex Mono,monospace;font-size:.6rem}.journey-stmt-count{color:var(--tag);border-color:var(--tag);background:#7a8fb514}.journey-news-count{color:var(--up);border-color:var(--up);background:#6b9e8a14}.journey-no-data{color:var(--text-dim);border-color:var(--border)}.journey-expand-icon{color:var(--text-dim);flex-shrink:0;font-size:.55rem}.journey-events{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.journey-event{border-bottom:1px solid var(--border)}.journey-event:last-child{border-bottom:none}.journey-event-pledge{background:#6b9e8a0f;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.journey-event-item{align-items:flex-start;gap:.75rem;padding:.65rem 1rem;display:flex}.journey-event-stmt{background:#7a8fb50a}.journey-event-news{background:0 0}.journey-event-icon{text-align:center;width:1.2rem;color:var(--text-muted);flex-shrink:0;font-size:.8rem;line-height:1.7}.journey-event-content{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.journey-event-type-label{letter-spacing:.07em;text-transform:uppercase;color:var(--up);font-family:IBM Plex Mono,monospace;font-size:.58rem}.journey-event-meta{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.journey-event-date{color:var(--text-dim);font-family:IBM Plex Mono,monospace;font-size:.6rem}.journey-event-source{color:var(--text-dim);font-size:.6rem}.journey-event-title{color:var(--text);margin:0;font-size:.8125rem;line-height:1.5}a.journey-event-link{color:var(--text);text-decoration:none;display:block}a.journey-event-link:hover{color:var(--accent);text-decoration:underline}.journey-event-detail{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}@media (max-width:480px){.journey-card-header{padding:.75rem}.journey-event-pledge,.journey-event-item{padding:.5rem .75rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
