/* Han An Hua Foundation application styles v52
   Standalone bundle: base v46 + address/deployment v49 + work-history v51.
   No CSS @import dependency, so application.html renders correctly on GitHub Pages,
   private-repo deployments, custom domains, and local static hosting. */

:root{--cream:#fff8d7;--ink:#151515;--orange:#ff6428;--yellow:#ffd22e;--white:#fff;--muted:#65645e;--line:#ded8be;--display:"Archivo Black",Impact,sans-serif;--body:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff8d7 0%,#fffdf1 100%);color:var(--ink);font-family:var(--body);line-height:1.45}button,input,select,textarea{font:inherit}button,a{color:inherit}a{text-decoration:none}.app-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px clamp(18px,4vw,58px);background:rgba(255,248,215,.94);border-bottom:3px solid var(--ink);backdrop-filter:blur(12px)}.app-brand{display:flex;align-items:center;gap:12px}.app-brand img{width:50px;height:50px;object-fit:contain;border-radius:50%;background:#fff}.app-brand span{display:grid}.app-brand strong{font-family:var(--display);font-size:17px;line-height:1}.app-brand small{font-weight:700;color:var(--muted);margin-top:4px}.back-link{font-weight:900;border-bottom:2px solid var(--ink)}.application-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(34px,5vw,70px) 0 70px}.application-hero{max-width:920px;margin-bottom:28px}.kicker{margin:0 0 12px;color:var(--orange);font-size:15px;font-weight:900;letter-spacing:.15em}.application-hero h1{margin:0;font-family:var(--display);font-size:clamp(42px,6.2vw,82px);line-height:.95;letter-spacing:-.055em}.application-hero>p:not(.kicker){font-size:clamp(17px,1.6vw,22px);max-width:800px}.program-chip{display:inline-flex;margin-top:10px;padding:9px 15px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);font-weight:900}.form-card{background:#fff;border:3px solid var(--ink);border-radius:28px;box-shadow:12px 12px 0 var(--ink);overflow:hidden}.stepper{display:flex;align-items:center;justify-content:center;padding:20px clamp(16px,3vw,34px);background:#fff3b8;border-bottom:2px solid var(--ink)}.step-dot{display:flex;align-items:center;gap:9px;border:0;background:transparent;font-weight:900;padding:0;cursor:default}.step-dot[data-step-jump]{cursor:pointer}.step-dot span{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;background:#fff}.step-dot.is-active span{background:var(--ink);color:#fff}.step-dot.is-done span{background:var(--yellow)}.step-line{width:clamp(28px,5vw,72px);height:2px;background:var(--ink);opacity:.25;margin:0 14px}.form-page,.review-page{padding:clamp(24px,4.2vw,52px)}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px;padding-bottom:18px;border-bottom:2px solid var(--ink)}.page-heading span{font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--orange)}.page-heading h2{margin:3px 0 0;font-family:var(--display);font-size:clamp(32px,4vw,54px);line-height:1}.page-heading>p{max-width:380px;margin:0;color:var(--muted);font-weight:600}.photo-and-fields{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px;align-items:start}.photo-card{position:sticky;top:102px;padding:18px;border:2px solid var(--ink);border-radius:18px;background:#fffdf4}.photo-upload{display:grid;place-items:center;width:100%;aspect-ratio:3/4;border:2px dashed #8b8775;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;text-align:center}.photo-upload img{width:100%;height:100%;object-fit:cover}.photo-upload b{display:block;font-size:36px;line-height:1}.photo-upload small{color:var(--muted)}#photo{position:absolute;left:-9999px}.photo-status{margin:10px 0 0;font-size:13px;font-weight:800;color:var(--muted)}.photo-status.ok{color:#20733a}.photo-status.warn{color:#a34418}.form-grid{display:grid;gap:20px}.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.field{min-width:0}.field.full{grid-column:1/-1}.field-label-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.field-label-row label,.field-label-row legend,.field-label-row h3{font-weight:900;margin:0}.field-label-row strong{color:var(--orange)}fieldset.field{border:0;padding:0;margin:0;min-width:0}.help-button{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);font-weight:900;cursor:pointer}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field input[type=date],.field input[type=month],.field select,.field textarea{width:100%;border:2px solid #a49e86;border-radius:12px;background:#fff;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,210,46,.5)}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#ba3319}.choice-row{display:flex;align-items:center;gap:14px;min-height:46px}.choice-row.wrap{flex-wrap:wrap}.choice-row label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1.5px solid #bdb69d;border-radius:10px;background:#fffdf7;font-weight:700}.choice-row input{accent-color:var(--orange);width:17px;height:17px}.program-interest-card,.section-box{margin-top:30px;padding:22px;border:2px solid var(--ink);border-radius:18px;background:#fffaf0}.program-interest-card h3,.section-box h3{font-family:var(--display);font-size:23px}.field-error{color:#b23016;font-weight:900}.page-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:32px}.page-actions.end{justify-content:flex-end}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:2px solid var(--ink);border-radius:999px;padding:11px 20px;font-weight:900;cursor:pointer}.primary-button{background:var(--ink);color:#fff;box-shadow:5px 5px 0 var(--orange)}.secondary-button{background:#fff;box-shadow:4px 4px 0 #cfc7aa}.primary-button:hover,.secondary-button:hover{transform:translate(-1px,-1px)}.section-box:first-of-type{margin-top:0}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-title-row>span{font-size:13px;font-weight:800;color:var(--muted)}.experience-card{margin-top:16px;padding:18px;border:1.5px solid #c9c2a9;border-radius:14px;background:#fff}.experience-card h4{margin:0 0 14px;font-size:17px}.optional-experience summary{cursor:pointer;font-weight:900;color:var(--orange);margin-bottom:0}.optional-experience[open] summary{margin-bottom:18px}.declaration{display:flex;gap:12px;align-items:flex-start;margin:24px 0 0;padding:16px 18px;border:2px solid var(--ink);border-radius:14px;background:#fff}.declaration input{width:20px;height:20px;accent-color:var(--orange);margin-top:2px}.review-alert,.privacy-note,.backend-warning{padding:14px 16px;border-radius:12px;font-weight:700;margin-bottom:18px}.review-alert{background:#fff3b8;border:2px solid #dba900}.privacy-note{background:#f4f4ef;border:1.5px solid #aaa58e}.backend-warning{background:#fff0ec;border:2px solid #d75731}.review-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}.review-photo{border:2px solid var(--ink);border-radius:14px;overflow:hidden;background:#fff;text-align:center}.review-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.review-photo span{display:block;padding:7px;font-weight:900;font-size:13px}.review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-item{padding:11px 12px;border:1.5px solid #c9c2a9;border-radius:10px;background:#fff}.review-item.full{grid-column:1/-1}.review-item small{display:block;font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.review-item strong{display:block;margin-top:3px;overflow-wrap:anywhere}.submit-status{min-height:24px;margin:8px 0;font-weight:900}.submit-status.success{color:#21703d}.submit-status.error{color:#b23016}.submit-button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.security-note{max-width:900px;margin:28px auto 0;text-align:center;color:var(--muted);font-size:13px;font-weight:700}.help-dialog{width:min(520px,calc(100% - 30px));border:3px solid var(--ink);border-radius:22px;padding:28px;box-shadow:10px 10px 0 var(--ink)}.help-dialog::backdrop{background:rgba(0,0,0,.45)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:32px;cursor:pointer}.help-mark{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--ink);border-radius:50%;background:var(--yellow);font-family:var(--display);font-size:22px}.help-dialog h2{font-family:var(--display);font-size:28px;margin:14px 0 8px}.help-dialog p{font-size:17px}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}.app-header,.application-hero,.form-card,.security-note{animation:enter .45s ease both}@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:820px){.app-header{align-items:flex-start}.app-brand small{display:none}.back-link{font-size:13px}.application-shell{width:min(100% - 20px,1180px)}.stepper{justify-content:flex-start;overflow:auto}.step-dot b{display:none}.step-line{width:28px}.photo-and-fields{grid-template-columns:1fr}.photo-card{position:static;width:min(260px,100%);justify-self:center}.two-cols{grid-template-columns:1fr}.field.full{grid-column:auto}.page-heading{display:block}.page-heading>p{margin-top:10px}.review-layout{grid-template-columns:1fr}.review-photo{width:160px}.review-summary{grid-template-columns:1fr}.review-item.full{grid-column:auto}.review-actions{flex-direction:column}.review-actions button{width:100%}}
@media(max-width:520px){.application-shell{padding-top:24px}.application-hero h1{font-size:40px}.form-card{border-radius:18px;box-shadow:7px 7px 0 var(--ink)}.form-page,.review-page{padding:20px 15px}.page-actions{flex-direction:column-reverse}.page-actions button{width:100%}.choice-row{align-items:stretch;flex-direction:column}.choice-row.wrap{flex-direction:column}.choice-row label{width:100%}}
@media print{body{background:#fff}.app-header,.application-hero,.stepper,.review-alert,.privacy-note,.backend-warning,.review-actions,.security-note{display:none!important}.application-shell{width:100%;padding:0}.form-card{border:0;box-shadow:none}.review-page{display:block!important;padding:0}.review-layout{grid-template-columns:150px 1fr}.review-summary{grid-template-columns:repeat(2,1fr)}.review-item{break-inside:avoid}.review-page:after{content:"Yayasan Han An Hua — Pratinjau formulir peserta";display:block;margin-top:18px;font-size:10px;color:#777}}

/* v32 form reliability and validation */
[hidden]{display:none!important}
.validation-summary{margin:0 0 26px;padding:18px 20px;border:2px solid #b23016;border-radius:16px;background:#fff0ec;color:#7d1f10}
.validation-summary strong{display:block;font-size:18px;margin-bottom:8px}
.validation-summary ul{margin:0;padding-left:20px}
.validation-summary li{margin:6px 0}
.validation-summary button{border:0;background:transparent;padding:0;color:#8f2511;text-align:left;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer}
.has-error{outline:3px solid rgba(186,51,25,.2);outline-offset:5px;border-radius:12px}
.has-error input,.has-error select,.has-error textarea{border-color:#ba3319!important}
.upload-status,.field-hint{margin:7px 0 0;font-size:13px;font-weight:750;color:var(--muted)}
.upload-status.ok{color:#20733a}.upload-status.warn{color:#a34418}
.field input[type=file]{width:100%;border:2px dashed #a49e86;border-radius:12px;background:#fff;padding:12px;cursor:pointer}
.interest-group{margin-top:12px}
.interest-group:first-of-type{margin-top:4px}
.interest-group-label{display:block;margin-bottom:7px;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
#institution{background:#fff}
.review-actions button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
@media(max-width:520px){.validation-summary{padding:15px}.interest-group .choice-row{gap:8px}}

/* v35 administrative field labels */
.admin-only-tag,.optional-tag{display:inline-flex;align-items:center;margin-left:.35rem;padding:.12rem .45rem;border:1px solid rgba(20,20,20,.25);border-radius:999px;font-size:.72em;font-weight:700;line-height:1.2;background:#fff8d8;color:#3b3420;vertical-align:middle}

/* v38 multilingual form + easier date/month/year controls */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}
.language-control{display:flex;align-items:center;gap:8px;font-weight:900;font-size:13px}
.language-control span{color:var(--muted)}
.language-control select{min-height:40px;border:2px solid var(--ink);border-radius:999px;background:#fff;padding:6px 34px 6px 12px;font-weight:800;color:var(--ink)}
.date-entry,.month-year-entry{display:grid;gap:8px;min-width:0}
.date-entry{grid-template-columns:minmax(78px,.8fr) minmax(145px,1.5fr) minmax(105px,1fr)}
.month-year-entry{grid-template-columns:minmax(145px,1.45fr) minmax(110px,1fr)}
.date-entry select,.date-entry input,.month-year-entry select,.month-year-entry input{width:100%;min-height:48px;border:2px solid #a49e86;border-radius:12px;background:#fff;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}
.date-entry select:focus,.date-entry input:focus,.month-year-entry select:focus,.month-year-entry input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,210,46,.5)}
.date-entry.has-error select,.date-entry.has-error input,.month-year-entry.has-error select,.month-year-entry.has-error input{border-color:#ba3319!important}
.required-education{border:2px solid #b9ad80;background:#fffef8}
.required-history-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:4px}
.required-history-title h4{margin:0;font-family:var(--display);font-size:19px}
.required-history-title h4 strong{color:var(--orange)}
.required-history-title span{font-size:12px;font-weight:900;color:#765c00;background:#fff0ad;border:1px solid #dfbf38;border-radius:999px;padding:5px 9px}
.conditional-education{border-color:var(--orange)}
[dir="rtl"] .field-label-row,[dir="rtl"] .choice-row,[dir="rtl"] .page-heading,[dir="rtl"] .section-title-row,[dir="rtl"] .required-history-title,[dir="rtl"] .app-header,[dir="rtl"] .header-actions{direction:rtl}
[dir="rtl"] input,[dir="rtl"] textarea,[dir="rtl"] select{text-align:right}
@media(max-width:820px){.app-header{gap:10px}.header-actions{gap:10px;flex-wrap:wrap}.language-control span{display:none}.language-control select{max-width:165px}.required-history-title{align-items:flex-start;flex-direction:column}.required-history-title span{border-radius:10px}}
@media(max-width:520px){.header-actions{width:auto}.back-link{display:none}.date-entry{grid-template-columns:72px minmax(120px,1fr) 92px}.month-year-entry{grid-template-columns:minmax(125px,1fr) 100px}.date-entry select,.date-entry input,.month-year-entry select,.month-year-entry input{padding:10px 8px;min-height:46px;font-size:16px}}

/* v39 submission progress dialog */
.submit-dialog{width:min(520px,calc(100% - 28px));border:3px solid var(--ink);border-radius:24px;padding:30px;background:#fffdf4;color:var(--ink);box-shadow:10px 10px 0 var(--ink);text-align:center}
.submit-dialog::backdrop{background:rgba(15,15,15,.58);backdrop-filter:blur(2px)}
.submit-dialog-visual{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 16px;border:3px solid var(--ink);border-radius:50%;background:var(--yellow)}
.submit-spinner{width:38px;height:38px;border:5px solid rgba(21,21,21,.18);border-top-color:var(--ink);border-radius:50%;animation:hah-spin .8s linear infinite}
.submit-result-icon{font-family:var(--display);font-size:42px;line-height:1}
.submit-dialog-kicker{margin:0 0 8px;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.14em}
.submit-dialog h2{margin:0;font-family:var(--display);font-size:clamp(27px,5vw,38px);line-height:1.05}
.submit-dialog #submit-dialog-message{margin:14px auto 0;max-width:420px;font-size:16px;font-weight:700}
.submit-dialog-note{margin:13px auto 0;color:var(--muted);font-size:13px;font-weight:800}
.submit-progress{height:10px;margin:22px 0 0;border:2px solid var(--ink);border-radius:999px;overflow:hidden;background:#fff}
.submit-progress span{display:block;width:42%;height:100%;background:var(--orange);border-radius:999px;animation:hah-progress 1.35s ease-in-out infinite alternate}
.submit-dialog-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.submit-dialog.is-success .submit-dialog-visual{background:#dff5e6}
.submit-dialog.is-success .submit-result-icon{color:#176c35}
.submit-dialog.is-error .submit-dialog-visual{background:#ffe8e1}
.submit-dialog.is-error .submit-result-icon{color:#b23016}
.submit-dialog.is-success .submit-progress,.submit-dialog.is-error .submit-progress{display:none}
.submit-dialog.is-success .submit-dialog-note,.submit-dialog.is-error .submit-dialog-note{margin-top:10px}
@keyframes hah-spin{to{transform:rotate(360deg)}}
@keyframes hah-progress{from{transform:translateX(-30%)}to{transform:translateX(170%)}}
@media(prefers-reduced-motion:reduce){.submit-spinner,.submit-progress span{animation:none}.submit-progress span{width:70%}}
@media(max-width:520px){.submit-dialog{padding:25px 20px}.submit-dialog-actions{flex-direction:column}.submit-dialog-actions button{width:100%}}

/* v40: clearer photo assistant + example guide */
.photo-guide-button{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;border:2px solid var(--ink);border-radius:12px;background:var(--yellow);font-weight:900;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}
.photo-guide-button:hover{transform:translate(-1px,-1px)}
.photo-guide-button span{font-size:18px}.photo-auto-note{margin:12px 0 0;font-size:12.5px;line-height:1.45;color:var(--muted);font-weight:700}
.photo-guide-dialog{width:min(940px,calc(100% - 28px));max-height:92%;overflow:auto;border:3px solid var(--ink);border-radius:22px;padding:clamp(18px,3vw,30px);box-shadow:10px 10px 0 var(--ink);background:#fffdf4}
.photo-guide-dialog::backdrop{background:rgba(0,0,0,.55)}.photo-guide-kicker{margin:0 0 6px;color:var(--orange);font-size:13px;font-weight:900;letter-spacing:.13em}.photo-guide-dialog h2{font-family:var(--display);font-size:clamp(26px,4vw,42px);line-height:1.05;margin:0 42px 8px 0}.photo-guide-dialog>p:not(.photo-guide-kicker){font-size:16px;margin:0 0 18px;color:var(--muted);font-weight:650}.photo-guide-image{display:block;width:100%;height:auto;border:2px solid #c9c2a9;border-radius:16px;background:#fff}.photo-guide-checklist{margin:18px 0;padding:16px 18px;border:1.5px solid #c9c2a9;border-radius:14px;background:#fff}.photo-guide-checklist strong{display:block;margin-bottom:6px}.photo-guide-checklist ul{margin:6px 0 0;padding-left:22px}.photo-guide-checklist li+li{margin-top:5px}
.photo-processing{color:#8a6500!important}.photo-status.ok::before{content:'✓ ';font-weight:900}.photo-status.warn::before{content:'! ';font-weight:900}
@media(max-width:620px){.photo-guide-dialog{width:calc(100% - 16px);padding:16px}.photo-guide-dialog h2{font-size:26px}.photo-guide-image{border-radius:10px}}

/* v40: mobile-first photo capture */
.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.camera-button,.gallery-button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid var(--ink);border-radius:12px;padding:9px 10px;background:#fff;font-weight:900;text-align:center;cursor:pointer;line-height:1.15}
.camera-button{background:var(--orange);color:#fff;box-shadow:3px 3px 0 var(--ink)}
.gallery-button{background:#fff;box-shadow:3px 3px 0 #d2c9a8}
.camera-button:hover,.gallery-button:hover{transform:translate(-1px,-1px)}
.camera-dialog{width:min(600px,calc(100% - 24px));border:3px solid var(--ink);border-radius:24px;padding:22px;background:#fffdf4;box-shadow:10px 10px 0 var(--ink)}
.camera-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(2px)}
.camera-kicker{margin:0 42px 5px 0;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.13em}
.camera-dialog h2{margin:0 42px 8px 0;font-family:var(--display);font-size:clamp(28px,5vw,42px);line-height:1.04}
.camera-intro{margin:0 0 14px;color:var(--muted);font-weight:700}
.camera-stage{position:relative;width:min(100%,390px);aspect-ratio:3/4;margin:0 auto;overflow:hidden;border:3px solid var(--ink);border-radius:18px;background:#151515}
.camera-stage video{display:block;width:100%;height:100%;object-fit:cover;opacity:0}
.camera-stage video.is-ready{opacity:1}
.camera-stage video.is-ready[style*="scaleX"]{transform:scaleX(-1)}
.camera-frame{position:absolute;inset:7%;border:2px dashed rgba(255,255,255,.95);border-radius:44% 44% 38% 38% / 30% 30% 20% 20%;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.08)}
.camera-frame span{position:absolute;left:10%;right:10%;top:42%;height:1px;border-top:1px dashed rgba(255,255,255,.45)}
.camera-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:25px;color:#fff;text-align:center;font-weight:900;background:#252525}
.camera-status{min-height:22px;margin:12px 0 0;text-align:center;font-size:13px;font-weight:850;color:var(--muted)}
.camera-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:14px}
.camera-actions button{width:100%;min-height:50px}
.camera-fallback{margin-top:12px;padding-top:12px;border-top:1.5px solid #c9c2a9;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:13px;font-weight:750}
.camera-fallback-label{min-height:44px;padding:8px 13px;cursor:pointer}
@media(max-width:820px){.photo-card{width:min(100%,440px)}.field input,.field select,.field textarea{font-size:16px}.primary-button,.secondary-button{min-height:50px}.photo-source-actions{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.application-shell{width:calc(100% - 12px)}.form-page,.review-page{padding:18px 12px}.photo-card{padding:14px;border-radius:16px}.photo-source-actions{grid-template-columns:1fr}.camera-button,.gallery-button{min-height:52px}.camera-dialog{width:calc(100% - 10px);padding:16px 12px;border-radius:18px;box-shadow:5px 5px 0 var(--ink)}.camera-dialog h2{font-size:27px}.camera-stage{width:min(100%,360px)}.camera-actions{grid-template-columns:1fr}.camera-fallback{flex-direction:column;align-items:stretch}.camera-fallback-label{text-align:center}.photo-guide-button{min-height:50px}}

/* v41: mobile camera and retry improvements */
@media(max-width:700px){
  .photo-upload{min-height:260px}
  .photo-source-actions{grid-template-columns:1fr}
  .camera-button,.gallery-button{font-size:16px;min-height:56px}
  .camera-dialog{margin:auto}
  .camera-stage{max-height:68vw}
}
@supports (padding:max(0px)){
  .camera-dialog{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}
\n/* v42: cleaner photo guidance and compact mobile-friendly submission UI */\n.photo-auto-note{display:none!important}\n.photo-guide-checklist{display:none!important}\n.photo-guide-dialog{max-width:min(760px,94vw)}\n.photo-guide-dialog .photo-guide-image{max-height:72vh;object-fit:contain}\n.submit-dialog{max-width:min(560px,92vw)}\n@media(max-width:640px){\n  .photo-source-actions{grid-template-columns:1fr 1fr;gap:8px}\n  .camera-button,.gallery-button,.photo-guide-button{min-height:52px;font-size:15px}\n  .submit-dialog h2{font-size:clamp(28px,9vw,42px)}\n}\n
/* v43 — gallery button + camera UX */
.gallery-button{appearance:none;-webkit-appearance:none;width:100%;font-family:inherit}
.camera-button,.gallery-button{touch-action:manipulation}
.camera-stage video{background:#151515}

/* v44: photo picker reliability */
#photo{position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;opacity:.001!important;pointer-events:none!important}
.gallery-button,.camera-button,.photo-upload{user-select:none;-webkit-user-select:none}
.photo-status.photo-processing{color:#8a6500!important}

/* v46 — camera-only automatic editing review */
.camera-edit-panel{width:min(100%,390px);aspect-ratio:3/4;margin:0 auto;position:relative;overflow:hidden;border:3px solid var(--ink);border-radius:18px;background:#fff;display:grid;place-items:center}
.camera-edit-panel[hidden]{display:none!important}
.camera-edit-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;min-height:100%}
.camera-edit-loading[hidden]{display:none!important}
.camera-edit-loading strong{font-size:20px}.camera-edit-loading small{font-size:14px;line-height:1.45;color:#67645c;max-width:290px}
.camera-edit-spinner{width:54px;height:54px;border-radius:50%;border:6px solid #f1df8a;border-top-color:#ff6427;animation:hahCameraSpin .8s linear infinite}
@keyframes hahCameraSpin{to{transform:rotate(360deg)}}
.camera-edit-preview{width:100%;height:100%;object-fit:cover;background:#fff;display:block}
.camera-edit-preview[hidden]{display:none!important}
.camera-edit-result{position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:9px 12px;border:2px solid var(--ink);border-radius:12px;background:rgba(255,253,244,.94);font-weight:800;font-size:13px;text-align:center}
.camera-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.camera-review-actions[hidden]{display:none!important}
@media(max-width:520px){.camera-review-actions{grid-template-columns:1fr 1fr}.camera-edit-loading strong{font-size:18px}.camera-edit-result{font-size:12px}}
@media(prefers-reduced-motion:reduce){.camera-edit-spinner{animation:none}}


/* ---- v49 additions ---- */

/* v48 address selection UI */
.address-helper{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.address-map-button,.address-format-button{min-height:44px;border:2px solid #171717;border-radius:14px;padding:9px 14px;background:#fff;color:#171717;font:inherit;font-weight:850;cursor:pointer;box-shadow:3px 3px 0 #e0d6b3}
.address-map-button{background:#ffd12b}
.address-example{flex-basis:100%;font-size:13px;line-height:1.45;color:#6c6656;margin:0}
.address-map-dialog{width:min(920px,calc(100% - 28px));max-height:calc(100% - 28px);padding:24px;border:3px solid #171717;border-radius:26px;background:#fffdf4;box-shadow:10px 10px 0 #171717}
.address-map-dialog::backdrop{background:rgba(0,0,0,.58)}
.address-map-head{padding-right:42px}.address-map-head h2{margin:2px 0 8px;font-family:"Archivo Black",sans-serif;font-size:clamp(25px,4vw,38px)}.address-map-head p{margin:0 0 18px;color:#5f5b50}
.address-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.address-search-row input{min-width:0;min-height:48px}.address-search-row button{min-height:48px}
.address-location-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.address-picker-status{min-height:22px;margin:12px 0 0;font-size:14px;font-weight:750;color:#665d42}
.address-results{display:grid;gap:9px;margin:14px 0 0;padding:0;list-style:none}.address-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:2px solid #c8bea0;border-radius:14px;padding:11px 12px;background:#fff}.address-result button{min-height:42px;border:2px solid #171717;border-radius:12px;background:#ffd12b;font-weight:900;padding:8px 12px;cursor:pointer}.address-result strong{display:block;line-height:1.35}.address-result small{display:block;margin-top:4px;color:#6d685b;line-height:1.35}
.address-map-preview{width:100%;min-height:300px;border:2px solid #171717;border-radius:18px;margin-top:16px;background:#eee}.address-map-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:620px){.address-search-row{grid-template-columns:1fr}.address-map-dialog{padding:18px;border-radius:20px}.address-result{grid-template-columns:1fr}.address-result button{width:100%}.address-map-preview{min-height:240px}.address-map-actions{display:grid;grid-template-columns:1fr}.address-map-actions button{width:100%}}

/* ---- v51 additions ---- */
/* v51 — progressive work-experience disclosure */
.work-section .section-title-row{align-items:flex-start;gap:1rem;flex-wrap:wrap}
.work-section .section-title-row>span{max-width:34rem}
.work-toggle{display:flex;align-items:center;gap:.7rem;width:max-content;max-width:100%;min-height:48px;padding:.75rem 1rem;border:2px solid #171717;border-radius:14px;background:#fff;cursor:pointer;font-weight:800}
.work-toggle input{width:22px;height:22px;accent-color:#ff6427;flex:0 0 auto}
#work-experience-fields[hidden]{display:none!important}
.work-intro{margin:.9rem 0 1rem;color:#625f58}
.work-entry-card{position:relative;margin:0 0 1rem;padding:1rem;border:1.5px solid #cdbf9d;border-radius:14px;background:#fff}
.work-entry-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}
.work-entry-head h4{margin:0;font-size:1rem}
.work-remove-button{border:1.5px solid #171717;border-radius:999px;background:#fff;padding:.5rem .75rem;font:inherit;font-weight:800;cursor:pointer}
.add-work-button{margin-top:.25rem}
@media(max-width:640px){.work-toggle{width:100%;box-sizing:border-box}.work-entry-head{align-items:flex-start}.work-remove-button{min-height:42px}}

