@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.css";
:root{--paper:#fafafa;--paper-2:#f0f0ef;--white:#fff;--ink:#111;--ink-soft:#444;--gray-1:#6b6b6b;--gray-2:#9b9b9b;--line:#e6e6e4;--container:1200px;--read:680px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;word-break:keep-all;overflow-wrap:break-word;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.kicker,.eyebrow{color:var(--gray-1);letter-spacing:.04em;margin:0 0 4px;font-size:13px;font-weight:600}.btn{cursor:pointer;text-align:center;padding:14px 28px;font-size:15px;font-weight:700;transition:background .15s,color .15s;display:inline-block}.btn-primary{background:var(--ink);border:1px solid var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--ink-soft)}.btn-ghost{border:1px solid var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:30;background:#fafaf8d9;justify-content:space-between;align-items:center;gap:24px;min-height:60px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:16px;font-weight:800;display:inline-flex}.brand svg{display:block}.site-header nav{gap:20px;display:flex}.site-header nav a{color:var(--gray-1);font-size:14px;font-weight:600}.site-header nav a:hover{color:var(--ink)}.fab-submit{background:var(--ink);color:var(--paper);z-index:40;padding:14px 22px;font-size:15px;font-weight:700;transition:background .15s;position:fixed;bottom:24px;right:24px}.fab-submit:hover{background:var(--ink-soft)}.home-wall{border-top:1px solid var(--line);max-width:var(--container);margin:0 auto;padding:52px 40px 64px}.wall-head{margin-bottom:26px}.wall-heading{letter-spacing:-.02em;margin:6px 0 10px;font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.05}.wall-sub{color:var(--gray-1);margin:0;font-size:15px}.wall-more{border-bottom:1px solid var(--ink);color:var(--ink);white-space:nowrap;font-weight:600}.wall-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.wall-card{border:1px solid var(--line);flex-direction:column;gap:8px;min-height:116px;padding:16px;transition:border-color .15s;display:flex}.wall-card:hover{border-color:var(--ink)}@media (max-width:900px){.wall-card:nth-child(n+25){display:none}}@media (max-width:600px){.wall-card:nth-child(n+13){display:none}}.wall-meta{color:var(--gray-1);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;overflow:hidden}.wall-title{letter-spacing:-.01em;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:17px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.home-hero{max-width:var(--container);align-content:center;gap:26px;margin:0 auto;padding:72px 40px;display:grid}.hero-kicker{color:var(--gray-1);margin:0;font-size:15px;font-weight:600}.hero-title{letter-spacing:-.03em;margin:0;font-size:clamp(40px,8vw,88px);font-weight:800;line-height:1.02}.hero-sub{color:var(--ink-soft);max-width:720px;margin:0;font-size:clamp(16px,2.2vw,20px);line-height:1.6}.hero-quote{border-left:2px solid var(--ink);gap:8px;max-width:720px;margin:8px 0;padding:4px 0 4px 20px;display:grid}.hero-quote q{quotes:"“" "”";font-size:clamp(18px,2.6vw,24px);font-weight:600;line-height:1.45}.hero-quote cite{color:var(--gray-1);font-size:14px;font-style:normal}a.hero-quote{transition:border-color .16s}a.hero-quote:hover{border-left-color:var(--gray-1)}a.hero-quote cite:after{content:" →";opacity:0;transition:opacity .16s}a.hero-quote:hover cite:after{opacity:.65}a.hero-quote q{animation:.6s quote-fade}@keyframes quote-fade{0%{opacity:.3}to{opacity:1}}.hero-stats{border-top:1px solid var(--line);color:var(--ink);margin:0;padding-top:22px;font-size:clamp(15px,2vw,18px);font-weight:700}.hero-stats span{color:var(--gray-2);font-weight:500}.public-metrics{border-top:1px solid var(--line);flex-wrap:wrap;gap:18px 34px;margin-top:-4px;padding-top:20px;display:flex}.public-metric{gap:4px;min-width:86px;display:grid}.public-metric-label{color:var(--gray-1);font-size:12px;font-weight:700}.public-metric strong{letter-spacing:0;font-size:clamp(18px,3vw,24px);font-weight:800;line-height:1}.scroll-hint{color:var(--gray-2);letter-spacing:.08em;font-size:13px;font-weight:600}.home-explore{border-top:1px solid var(--line);max-width:var(--container);grid-template-columns:1fr;gap:24px;margin:0 auto;padding:64px 40px 120px;display:grid}.home-explore .map-wrap{width:100%;max-width:880px;margin:0 auto}.explore-head{grid-column:1/-1}.explore-head h2{letter-spacing:-.01em;margin:6px 0 0;font-size:clamp(24px,3.5vw,32px);font-weight:800}.explore-desc{color:var(--gray-1);max-width:640px;margin:14px 0 0;font-size:15px;line-height:1.65}.home-flagship{border-top:1px solid var(--line);max-width:var(--container);margin:0 auto;padding:64px 40px 120px}.flagship-head h2{letter-spacing:-.01em;margin:6px 0 0;font-size:clamp(24px,3.5vw,32px);font-weight:800}.flagship-desc{color:var(--gray-1);max-width:640px;margin:14px 0 0;font-size:15px;line-height:1.65}.flagship-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin:36px 0 0;padding:0;list-style:none;display:grid}.flagship-item a,.flagship-item>span{border:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;transition:border-color .15s,background .15s;display:flex}.flagship-on a{border-color:var(--ink)}.flagship-on a:hover{background:var(--ink);color:var(--paper)}.flagship-off>span{color:var(--gray-2);cursor:default}.flagship-mark{font-size:12px;line-height:1}.flagship-name{font-size:16px;font-weight:700}.flagship-count{color:var(--gray-1);margin-left:auto;font-size:13px;font-weight:600}.flagship-on a:hover .flagship-count{color:var(--paper)}.flagship-off .flagship-count{color:var(--gray-2)}.flagship-more{margin:28px 0 0}.flagship-more a{border-bottom:1px solid var(--ink);padding-bottom:2px;font-weight:700}@media (max-width:640px){.home-flagship{padding:48px 20px 80px}.flagship-grid{grid-template-columns:repeat(2,1fr)}}.map-wrap{position:relative}.map-controls{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;right:12px}.map-timeline{z-index:3;align-items:center;gap:8px;max-width:calc(100% - 70px);display:flex;position:absolute;top:12px;left:12px}.map-timeline-btn{background:var(--ink);border:1px solid var(--ink);color:var(--paper);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;line-height:1;transition:background .15s,color .15s;display:inline-flex}.map-timeline-btn:hover{background:var(--white);color:var(--ink)}.map-timeline-label{background:color-mix(in srgb, var(--white) 92%, transparent);border:1px solid var(--line);color:var(--ink);text-align:center;white-space:nowrap;min-width:104px;padding:9px 10px;font-size:12px;font-weight:800;line-height:1;display:inline-block}.map-control-btn{background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:700;line-height:1;transition:background .15s,color .15s;display:inline-flex}.map-control-btn:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--paper)}.map-control-btn:disabled{color:var(--gray-2);cursor:default}.sigungu-map{touch-action:none;cursor:grab;width:100%;height:auto;display:block}.sigungu-map.dragging{cursor:grabbing}.map-area-layer{pointer-events:none}.map-hint{color:var(--gray-2);margin:10px 0 0;font-size:12px}.region-active{cursor:pointer;transition:fill .15s}.region-active path{transition:fill .15s}.region-active:hover,.region-active:focus-visible,.region-active:hover path,.region-active:focus-visible path{fill:var(--ink)!important}.region-active:focus-visible{outline:none}.map-tooltip{background:var(--ink);border:1px solid var(--ink);color:var(--paper);pointer-events:none;text-overflow:ellipsis;white-space:nowrap;z-index:4;max-width:min(220px,100% - 16px);padding:7px 9px;font-size:12px;font-weight:700;line-height:1;position:absolute;top:0;left:0;overflow:hidden}.feed-head{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;display:flex}.feed h3{margin:0;font-size:14px;font-weight:700}.feed-more{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:700}.feed-more:hover{text-underline-offset:3px;text-decoration:underline}.feed-item{border-bottom:1px solid var(--line);padding:16px 0;display:block}.feed-item:hover .feed-title{text-underline-offset:3px;text-decoration:underline}.feed-meta{color:var(--gray-1);margin:0 0 4px;font-size:13px;font-weight:500}.feed-title{margin:0;font-size:16px;font-weight:700;line-height:1.35}.page{max-width:var(--container);margin:0 auto;padding:40px 40px 120px}.context-bar{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:14px}.context-bar a{color:var(--gray-1);font-size:14px;font-weight:600}.context-bar a:hover{color:var(--ink)}.page-head{border-bottom:2px solid var(--ink);gap:8px;margin-bottom:8px;padding-bottom:28px;display:grid}.page-title{letter-spacing:-.02em;margin:0;font-size:clamp(32px,6vw,56px);font-weight:800;line-height:1.04}.page-sub{color:var(--gray-1);margin:0;font-size:16px;font-weight:500}.page-count{margin:0;font-size:16px;font-weight:700}.archive-search{border-bottom:1px solid var(--line);gap:10px;margin:24px 0 8px;padding-bottom:24px;display:grid}.archive-search label{font-size:14px;font-weight:700}.archive-search-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.archive-search input{background:var(--white);border:1px solid var(--line);color:var(--ink);flex:280px;min-width:0;padding:12px 13px}.archive-search input:focus-visible{border-color:var(--ink);outline:none}.archive-search select{background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;padding:12px 13px;font-weight:600}.archive-search select:focus-visible{border-color:var(--ink);outline:none}.archive-search .btn{padding:12px 20px}.poster-index-list{margin-top:8px}.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}.record-list{display:grid}.record{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:20px;padding:22px 0;transition:padding-left .15s;display:grid}.record:hover{padding-left:10px}.record-org{color:var(--gray-1);margin:0 0 6px;font-size:13px;font-weight:600}.record-title{letter-spacing:-.01em;margin:0;font-size:clamp(18px,2.4vw,22px);font-weight:700;line-height:1.3}.record-arrow{color:var(--gray-2);font-size:20px}.record:hover .record-arrow{color:var(--ink)}.empty-state{color:var(--gray-1);padding:40px 0}.content-page{max-width:var(--read);margin:0 auto;padding:64px 40px 120px}.content-page h1{letter-spacing:-.02em;margin:10px 0 0;font-size:clamp(32px,6vw,48px);font-weight:800;line-height:1.05}.content-page .lead{color:var(--gray-1);margin:22px 0 0;font-size:17px;line-height:1.6}.submit-guide{border-bottom:1px solid var(--line);border-top:1px solid var(--ink);gap:26px;margin-top:36px;padding:28px 0 34px;display:grid}.submit-guide-head{gap:10px;display:grid}.submit-guide-head h2{letter-spacing:0;margin:0;font-size:clamp(24px,4vw,32px);font-weight:800;line-height:1.15}.submit-guide-head p:last-child{color:var(--gray-1);margin:0;font-size:15px;line-height:1.6}.submit-guide-list{counter-reset:submit-guide;gap:26px;margin:0;padding:0;list-style:none;display:grid}.submit-guide-step{border-top:1px solid var(--line);gap:14px;padding-top:22px;display:grid}.submit-guide-copy{grid-template-columns:30px 1fr;align-items:start;gap:12px;display:grid}.submit-guide-number{background:var(--ink);color:var(--paper);justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.submit-guide-copy p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.7}.submit-guide-copy a{border-bottom:1px solid var(--ink);color:var(--ink);font-weight:700}.submit-guide-shot{border:1px solid var(--line);margin:0;overflow:hidden}.submit-guide-shot img{background:var(--white);width:100%;height:auto;display:block}.submit-guide-shot-small{justify-self:start;width:min(100%,220px);max-width:220px}.recorded-submissions{border-bottom:1px solid var(--line);border-top:1px solid var(--ink);gap:16px;margin-top:32px;padding:20px 0 22px;display:grid}.recorded-submissions-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;display:grid}.recorded-submissions-head h2{letter-spacing:0;margin:3px 0 8px;font-size:22px;font-weight:900;line-height:1.2}.recorded-submissions-head p{color:var(--gray-1);margin:0;font-size:14px;font-weight:600;line-height:1.5}.recorded-submissions-count{color:var(--ink);letter-spacing:0;white-space:nowrap;font-size:clamp(28px,4vw,46px);font-weight:900;line-height:1}.recorded-submissions-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.recorded-submission-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:12px 0;display:grid}.recorded-submission-item:first-child{border-top:0}.recorded-submission-item strong{font-size:15px;font-weight:900;line-height:1.35;display:block}.recorded-submission-item span{color:var(--gray-1);margin-top:2px;font-size:13px;font-weight:700;line-height:1.4;display:block}.recorded-submission-item p{color:var(--ink-soft);grid-column:1;min-width:0;margin:0;font-size:14px;font-weight:700;line-height:1.45}.recorded-submission-item time{color:var(--gray-2);white-space:nowrap;grid-area:1/2/span 2;font-size:12px;font-weight:800}.submit-form{gap:22px;margin-top:36px;display:grid}.pending-submissions{border-bottom:1px solid var(--line);border-top:1px solid var(--ink);gap:12px;padding:18px 0 20px;display:grid}.pending-submissions-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pending-submissions-head h2{letter-spacing:0;margin:0;font-size:18px;font-weight:800;line-height:1.2}.pending-submissions-head span{color:var(--gray-1);font-size:13px;font-weight:700}.pending-submissions-list{margin:0;padding:0;list-style:none;display:grid}.pending-submission-item{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:12px 0;display:grid}.pending-submission-item:first-child{border-top:0}.pending-submission-item strong{grid-column:1;min-width:0;font-size:15px;font-weight:800}.pending-submission-item span{color:var(--gray-1);grid-column:1;min-width:0;font-size:13px;font-weight:600}.pending-submission-status{background:var(--paper-2);color:var(--ink);white-space:nowrap;grid-area:1/2;align-self:start;min-width:auto;padding:5px 8px;font-size:12px;font-weight:800;line-height:1}.pending-submission-status-accepted{background:var(--ink);color:var(--paper)}.pending-submission-item time{color:var(--gray-2);white-space:nowrap;grid-area:2/2;font-size:12px;font-weight:700}.school-search-results{background:var(--white);border:1px solid var(--line);gap:12px;padding:16px;display:grid}.school-search-results-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.school-search-results-head h2{letter-spacing:0;margin:0;font-size:16px;font-weight:800;line-height:1.2}.school-search-results-head span{color:var(--gray-1);font-size:13px;font-weight:700}.school-search-notice{background:var(--paper-2);color:var(--ink-soft);margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.5}.school-search-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.school-search-item{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px 10px;padding-top:10px;display:grid}.school-search-item:first-child{border-top:0;padding-top:0}.school-search-badge{background:var(--paper-2);color:var(--ink);grid-row:1/span 2;padding:5px 8px;font-size:12px;font-weight:800;line-height:1}.school-search-item-published .school-search-badge{background:var(--ink);color:var(--paper)}.school-search-link,.school-search-item strong{grid-column:2;min-width:0;font-size:14px;font-weight:800}.school-search-link{text-underline-offset:3px;text-decoration:underline}.school-search-meta{color:var(--gray-1);grid-column:2;min-width:0;font-size:13px;font-weight:600}.school-search-item time{color:var(--gray-2);white-space:nowrap;grid-area:1/3/span 2;font-size:12px;font-weight:700}.correction-target{background:var(--white);border:1px solid var(--line);gap:8px;padding:18px;display:grid}.correction-target .kicker{color:var(--gray-1);letter-spacing:0;margin:0;font-size:12px;font-weight:800}.correction-target h2{letter-spacing:0;margin:0;font-size:18px;font-weight:800;line-height:1.35}.correction-target p{color:var(--gray-1);margin:0;font-size:14px;font-weight:600;line-height:1.5}.correction-target a{text-underline-offset:3px;justify-self:start;font-size:14px;font-weight:800;text-decoration:underline}.submit-form label{gap:8px;display:grid}.field-label{font-size:14px;font-weight:700}.submit-form input[type=text],.submit-form input:not([type]),.submit-form input[type=file],.submit-form select,.submit-form textarea{border:1px solid var(--line);width:100%;padding:12px 13px}.submit-form textarea{resize:vertical;min-height:132px}.submit-form input:focus-visible,.submit-form select:focus-visible,.submit-form textarea:focus-visible{border-color:var(--ink);outline:none}.file-field input[type=file]{background:var(--paper-2);cursor:pointer;padding:22px 13px}.file-name,.field-hint{color:var(--gray-1);font-size:13px}.submit-dup{background:var(--paper-2);border-left:2px solid var(--ink);padding:14px 16px;font-size:14px;font-weight:600}.submit-dup a{border-bottom:1px solid var(--ink)}.submit-error{color:var(--ink);font-size:14px;font-weight:600}.submit-btn{justify-self:start}.submit-btn:disabled{background:var(--gray-2);border-color:var(--gray-2);cursor:not-allowed}.submit-done{text-align:center;margin-top:48px}.submit-check{margin:0;font-size:40px}.submit-done h2{margin:12px 0 0;font-size:clamp(24px,4vw,32px);font-weight:800}.submit-done-sub{color:var(--gray-1);margin:12px 0 28px}.submit-done-actions{justify-content:center;gap:10px;display:flex}.poster-page{max-width:var(--container);margin:0 auto;padding:24px 40px 120px}.poster-layout{grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);align-items:start;gap:48px;display:grid}.poster-images{gap:12px;margin:0;display:grid;position:sticky;top:84px}.poster-images img{background:var(--white);border:1px solid var(--line);width:100%;height:auto;display:block}.image-empty{aspect-ratio:3/4;background:var(--paper-2);border:1px solid var(--line);color:var(--gray-2);justify-content:center;align-items:center;font-weight:600;display:flex}.image-count{color:var(--gray-1);font-size:13px;font-weight:500}.poster-info{max-width:var(--read)}.issuing-org{margin:0;font-size:24px;font-weight:700}.posted-on{color:var(--gray-1);margin:6px 0 0;font-size:14px;font-weight:500}.statement-title{letter-spacing:-.01em;margin:20px 0 0;font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.15}.rule{background:var(--line);border:0;height:1px;margin:28px 0}.statement-text{color:var(--ink);white-space:pre-wrap;font-size:16px;line-height:1.85}.statement-text--draft{color:var(--gray-1)}.draft-tag{background:var(--paper-2);color:var(--gray-1);margin-bottom:14px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.source-line{color:var(--gray-1);margin:0;font-size:14px;line-height:1.6}.source-line a{border-bottom:1px solid var(--ink);color:var(--ink);font-weight:600}.poster-actions{gap:10px;margin-top:28px;display:flex}.poster-nav{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;margin-top:56px;padding-top:24px;display:grid}.poster-nav-link{flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;display:flex}.poster-nav-link.is-empty{padding:0}.poster-nav-next{text-align:right}.poster-nav-dir{color:var(--gray-1);font-size:13px;font-weight:700}a.poster-nav-link:hover .poster-nav-dir{color:var(--ink)}.poster-nav-title{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.poster-nav-list{border:1px solid var(--ink);white-space:nowrap;align-self:center;padding:12px 22px;font-size:14px;font-weight:700;transition:background .15s,color .15s}.poster-nav-list:hover{background:var(--ink);color:var(--paper)}@media (max-width:640px){.poster-nav{grid-template-columns:1fr 1fr;gap:8px}.poster-nav-list{text-align:center;grid-area:1/1/auto/-1}}.admin-page{max-width:var(--container);margin:0 auto;padding:32px 40px 120px}.admin-page>h1{margin:0 0 24px;font-size:28px;font-weight:800}.table-shell{border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px}th{background:var(--paper-2);font-size:13px;font-weight:700}.admin-form{max-width:var(--read);gap:16px;display:grid}.admin-form label{gap:8px;font-weight:700;display:grid}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid var(--line);padding:11px 12px}.admin-form button{background:var(--ink);color:var(--paper);cursor:pointer;border:0;justify-self:start;padding:13px 22px;font-weight:700}.queue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.queue-panel{border:1px solid var(--line);padding:20px}.queue-panel h2{margin:0 0 8px;font-size:16px;font-weight:700}.queue-item{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:12px 0;display:flex}.review-tabs{border-bottom:1px solid var(--line);gap:6px;margin:18px 0 24px;display:flex}.review-tab{color:var(--gray-1);border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:14px;font-weight:700}.review-tab.is-active{border-bottom-color:var(--ink);color:var(--ink)}.review-list{gap:20px;margin:0;padding:0;list-style:none;display:grid}.review-card{border:1px solid var(--line);grid-template-columns:200px minmax(0,1fr);gap:20px;padding:16px;display:grid}.review-images{gap:8px;display:grid}.review-images img{background:var(--white);border:1px solid var(--line);object-fit:contain;width:100%;max-height:260px;display:block}.review-image-item{gap:6px;display:grid}.review-image-link{display:block}.review-image-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.review-image-tool{background:var(--white);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:center;justify-content:center;align-items:center;min-height:32px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.review-image-tool:hover{border-color:var(--ink)}.review-image-tool:disabled{cursor:wait;opacity:.55}.review-image-tool-danger{color:#8a1f1f}.review-image-tool-danger:hover{border-color:#8a1f1f}.crop-modal{z-index:50;background:#1111119e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.crop-dialog{background:var(--paper);border:1px solid var(--ink);gap:14px;max-width:min(960px,100vw - 48px);max-height:calc(100vh - 48px);padding:16px;display:grid;overflow:auto}.crop-dialog-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.crop-dialog-header h2{margin:0;font-size:18px;line-height:1.2}.crop-icon-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;min-height:32px;padding:0 10px;font-size:13px;font-weight:700}.crop-stage{background:var(--white);border:1px solid var(--line);cursor:crosshair;touch-action:none;justify-self:center;line-height:0;display:inline-block;position:relative}.crop-stage img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;border:0;width:auto;max-width:min(88vw,920px);max-height:min(70vh,720px);display:block}.crop-selection{border:2px solid var(--paper);pointer-events:none;position:absolute;box-shadow:0 0 0 9999px #11111173}.crop-error{color:#8a1f1f;margin:0;font-size:13px;font-weight:700}.crop-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.crop-actions .btn{padding:10px 18px}.review-noimg{aspect-ratio:3/4;background:var(--paper-2);color:var(--gray-2);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.review-school{margin:0 0 12px;font-size:20px;font-weight:800}.review-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:0 0 14px;display:grid}.review-meta dt{color:var(--gray-1);font-size:12px;font-weight:700}.review-meta dd{margin:2px 0 0;font-size:14px}.review-note{background:var(--paper-2);margin:0 0 14px;padding:8px 12px;font-size:13px}.correction-report{background:var(--paper-2);gap:8px;margin:0 0 14px;padding:12px;font-size:13px;display:grid}.correction-report a{text-underline-offset:3px;justify-self:start;font-weight:800;text-decoration:underline}.correction-report p{margin:0;line-height:1.5}.review-actions{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.review-actions .btn{padding:10px 22px}.review-reject{gap:8px;display:flex}.review-reject input{border:1px solid var(--line);width:200px;padding:0 12px}.review-hint{border-top:1px solid var(--line);color:var(--gray-1);margin-top:36px;padding-top:18px;font-size:13px}.review-summary{color:var(--gray-1);margin:-8px 0 20px;font-size:14px}.review-summary strong{color:var(--ink)}.review-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.badge{padding:5px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-block}.badge-dup{background:var(--ink);color:var(--paper)}.badge-warn{border:1px solid var(--ink);color:var(--ink)}.badge-new{background:var(--paper-2);border:1px solid var(--line);color:var(--ink)}.review-card.is-dup{opacity:.6;transition:opacity .15s}.review-card.is-dup:hover{opacity:1}.review-edit{border-top:1px solid var(--line);margin:12px 0;padding-top:12px}.review-edit>summary{color:var(--gray-1);cursor:pointer;font-size:13px;font-weight:700;list-style:none}.review-edit>summary:before{content:"✎ "}.review-edit[open]>summary{color:var(--ink);margin-bottom:12px}.review-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-edit-form label{color:var(--gray-1);gap:4px;font-size:12px;font-weight:700;display:grid}.review-edit-form input{border:1px solid var(--line);color:var(--ink);padding:8px 10px;font-weight:500}.review-edit-form input:focus-visible{border-color:var(--ink);outline:none}.review-edit-form button{grid-column:1/-1;justify-self:start;padding:9px 18px}.review-bulk{background:var(--paper-2);z-index:5;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex;position:sticky;top:60px}.review-bulk .btn{padding:10px 20px}.review-bulk-hint{color:var(--gray-1);font-size:13px}.review-check{color:var(--gray-1);cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-flex}.review-check input{width:16px;height:16px}.admin-nav{border-bottom:1px solid var(--line);gap:18px;margin-bottom:20px;padding-bottom:12px;display:flex}.admin-nav a{color:var(--gray-1);font-size:14px;font-weight:700}.admin-nav a.is-active,.admin-nav a:hover{color:var(--ink)}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 32px;display:grid}.stat-card{border:1px solid var(--line);padding:18px}.stat-card strong{font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1;display:block}.stat-card span{color:var(--gray-1);margin-top:8px;font-size:12px;font-weight:600;display:block}.stat-section{margin-bottom:32px}.stat-section h2{border-bottom:1px solid var(--ink);margin:0 0 14px;padding-bottom:8px;font-size:15px;font-weight:800}.stat-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;display:grid}.stat-notice{background:var(--paper-2);color:var(--gray-1);padding:14px 16px;font-size:13px;line-height:1.6}.range-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.range-tabs a{border:1px solid var(--line);color:var(--gray-1);padding:5px 10px;font-size:12px;font-weight:700;text-decoration:none}.range-tabs a:hover{border-color:var(--ink);color:var(--ink)}.range-tabs a.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.src-chart{background:var(--white);border:1px solid var(--line);width:100%;height:auto;display:block}.src-tip{background:var(--ink);color:var(--paper);pointer-events:none;white-space:nowrap;z-index:60;flex-direction:column;gap:3px;padding:7px 9px;font-size:11px;line-height:1.3;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 12px))}.src-tip strong{margin-bottom:2px;font-size:11px;font-weight:800}.src-tip span{align-items:center;gap:6px;display:flex}.src-tip-dot{border-radius:50%;width:8px;height:8px}.src-tip-host{flex:1}.src-tip-val{margin-left:12px;font-weight:800}.src-breakdown{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.src-breakdown li{grid-template-columns:10px minmax(96px,180px) 1fr 52px 56px;align-items:center;gap:10px;display:grid}.src-dot{border-radius:50%;width:10px;height:10px}.src-host{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.src-bar{background:var(--paper-2);height:8px}.src-bar-fill{height:100%;display:block}.src-pct{text-align:right;font-size:12px;font-weight:800}.src-cnt{color:var(--gray-1);text-align:right;font-size:12px;font-weight:700}@media (max-width:640px){.src-breakdown li{grid-template-columns:10px 1fr 48px 52px}.src-breakdown .src-bar{display:none}}.bar-list{gap:7px;margin:0;padding:0;list-style:none;display:grid}.bar-row{grid-template-columns:minmax(90px,200px) 1fr auto;align-items:center;gap:12px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.bar-track{background:var(--paper-2);height:14px}.bar-fill{background:var(--ink);height:100%;display:block}.bar-value{color:var(--gray-1);text-align:right;min-width:44px;font-size:12px;font-weight:700}@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-cols{grid-template-columns:1fr;gap:0}.home-hero{padding:56px 20px}.home-explore,.poster-layout,.queue-grid{grid-template-columns:1fr}.home-explore{padding:48px 20px 100px}.poster-images{position:static}.poster-page,.page,.content-page,.admin-page{padding-left:20px;padding-right:20px}.poster-actions .btn{flex:1}.site-header{padding:0 18px}}
