@font-face{font-family:'IBM Plex Mono';src:url('assets/fonts/IBMPlexMono-Regular.ttf')}@font-face{font-family:'IBM Plex Sans KR';src:url('assets/fonts/IBMPlexSansKR-Regular.ttf')}
.photo-search{display:flex;align-items:center;gap:20px;margin:25px 0;font:10px 'IBM Plex Mono',monospace}.photo-search input{width:min(380px,50vw);border:0;border-bottom:1px solid #bbbbae;background:none;padding:10px 0;font:13px Arial}.photo-search button{border-bottom:1px solid #bbbbae;padding:5px 0}.photo-search .result-count{margin-left:auto;color:#88887e}.public-options{border:0;border-top:1px solid #ccc;margin:25px 0 12px;padding:18px 0}.public-options legend{font:10px 'IBM Plex Mono',monospace;letter-spacing:.7px}.public-options .consent{font:12px/1.8 'IBM Plex Sans KR',Arial;display:flex;gap:10px;margin:12px 0}.public-options input[type=checkbox]{width:auto;display:inline-block;margin:4px 0 0}.public-options .form-grid{margin:16px 0}.preview-detail{margin:24px 0 32px;border-top:1px solid #ddd;padding-top:24px}.preview-detail img{max-height:430px;max-width:100%;width:auto;object-fit:contain}.public-preview p{white-space:pre-wrap;word-break:keep-all}.submission-controls{margin-top:36px;border-top:1px solid #ccc;padding-top:24px}.submission-controls button{font:10px 'IBM Plex Mono',monospace;background:#292929;color:#f5f4f0;padding:14px 20px;margin-right:16px}.submission-controls button:disabled{opacity:.4;cursor:default}.submission-controls p{font-size:12px;line-height:1.8}.public-note{font-size:11px;color:#88887e;line-height:1.8;margin:15px 0}.review-page{font:14px Arial,sans-serif;background:#f5f4f0;color:#292929;margin:0;padding:0 5vw}.review-page header{height:100px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between}.review-page header a{display:flex;align-items:center;gap:15px;font-size:30px;font-weight:bold;text-decoration:none;color:inherit}.review-page header img{height:40px;width:34px}.review-page main{padding:50px 0;max-width:1300px;margin:auto}.review-page h1{font-size:48px;letter-spacing:-1.8px}.review-page input,.review-page textarea{display:block;background:none;border:0;border-bottom:1px solid #aaa;padding:12px 0;margin:10px 0;font:14px Arial;max-width:100%;width:350px}.review-page p{line-height:1.8;font-size:13px}.review-page button{background:none;border:0;border-bottom:1px solid #aaa;font:11px monospace;padding:10px 0;cursor:pointer}.review-page button:disabled{opacity:.4;cursor:default}.review-application{border-top:1px solid #ccc;padding:30px 0;margin:35px 0}.review-heading{display:flex;align-items:center;justify-content:space-between}.review-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px;margin:30px 0}.review-photos img{max-width:100%;max-height:400px;object-fit:contain}.review-actions{display:flex;flex-wrap:wrap;gap:20px}.review-actions button:first-child{font-weight:bold}.review-page small{color:#888}.review-page [hidden]{display:none!important}@media(max-width:720px){.review-photos{grid-template-columns:1fr}.photo-search{flex-wrap:wrap}.photo-search .result-count{margin-left:0}}

/* Archive-style native file picker: keyboard-accessible, no upload service. */
.form-grid .photo-picker-title{font:10px/1.8 'IBM Plex Mono',monospace;letter-spacing:.7px}
.form-grid .photo-picker{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:68px;padding:16px 0;margin-top:12px;border-top:1px solid #bfbfb6;border-bottom:1px solid #bfbfb6;cursor:pointer}
.form-grid .photo-picker input[type=file]{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;margin:0;padding:0;border:0;cursor:pointer}
.photo-picker-action,.photo-picker-count{pointer-events:none;font:10px/1.8 'IBM Plex Mono',monospace;letter-spacing:.6px}
.photo-picker-action{display:flex;align-items:center;gap:12px;color:#292929}.photo-picker-action .picker-plus{font-size:19px;font-weight:400;line-height:1}
.photo-picker-count{color:#96968b;text-align:right;letter-spacing:.2px}.photo-picker-count[data-has-files=true]{color:#686862}
.form-grid .photo-picker:hover{border-color:#777773}.form-grid .photo-picker:focus-within{outline:1px solid #888882;outline-offset:5px;border-color:#292929}
@media(max-width:360px){.photo-picker-action,.photo-picker-count{font-size:9px}.photo-picker-action{gap:8px}.form-grid .photo-picker{gap:10px}}

/* Numbered application sections share the archive's line-and-type grid. */
.application-required{margin:0 0 24px!important;font-size:11px!important;color:#85857c}
.application-section{min-width:0;border:0;border-top:1px solid #bfbfb6;margin:0 0 42px;padding:24px 0 0}
.application-section>legend{display:flex;align-items:center;gap:14px;padding:0 18px 0 0;font:14px/1.5 'IBM Plex Sans KR',Arial,sans-serif;letter-spacing:0}
.application-number{font:10px 'IBM Plex Mono',monospace;color:#96968b}
.applicant-optional{min-width:0;border-top:1px solid #dddcd5;padding:0;margin-top:4px}
.applicant-optional>summary,.applicant-privacy>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px;font:11px/1.6 'IBM Plex Sans KR',Arial,sans-serif;color:#73736a}
.applicant-optional>summary::-webkit-details-marker,.applicant-privacy>summary::-webkit-details-marker{display:none}
.applicant-optional>summary::after,.applicant-privacy>summary::after{content:'+';font:18px 'IBM Plex Mono',monospace;color:#85857c}
.applicant-optional[open]>summary::after,.applicant-privacy[open]>summary::after{content:'−'}
.applicant-optional[open]>.form-grid{padding:14px 0 22px}
.applicant-optional>summary:focus-visible,.applicant-privacy>summary:focus-visible{outline:1px solid #85857c;outline-offset:4px}
.application-section .consent{display:flex;align-items:flex-start;gap:10px;font:12px/1.8 'IBM Plex Sans KR',Arial,sans-serif;color:#777773}
.application-review-help{font-size:12px!important;line-height:1.9!important;margin:0 0 22px!important;color:#777773}
.application-error{color:#9a493e!important;min-height:0}
.application-error:empty{display:none}
.application-section .submission-controls{margin-top:22px;padding-top:22px;border-top:1px solid #dddcd5}
.submission-actionbar{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.submission-controls .submission-actionbar button{margin:0;min-height:48px;padding:14px 12px;font-family:'IBM Plex Sans KR',Arial,sans-serif;font-size:12px;line-height:1.5}
.submission-controls #public-preview{background:none;color:#292929;border:1px solid #bfbfb6}
.submission-controls #submit-review:disabled{opacity:1;background:#e4e3dc;color:#96968b}
.preview-heading{font:12px 'IBM Plex Sans KR',Arial,sans-serif;margin:6px 0 20px}
#public-record-preview,.application-section{scroll-margin-top:24px}
.draft-tools .draft-actions{margin:6px 0 18px}.draft-tools .fine-copy{margin-bottom:18px}
.public-options .applicant-optional{margin:12px 0}.public-options .applicant-optional>label{display:block;font:10px 'IBM Plex Sans KR',Arial,sans-serif}
.application-section .draft-photo .public-note{margin:10px 0 18px}.application-section .draft-photo{margin-top:26px;margin-bottom:0}
.applicant-privacy{margin-top:32px;padding-top:10px}.applicant-privacy>summary{font-size:11px}
@media(max-width:1000px){.application-section{margin-bottom:32px}.application-section>legend{font-size:14px}.submission-actionbar{gap:10px}.applicant-privacy{margin-top:18px}.applicant-layout>.applicant-intro{min-width:0}}
@media(prefers-reduced-motion:reduce){#application-form *{scroll-behavior:auto!important}}
