:root{color:#1b2923;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f6f1;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#edf4ef 0%,#f7f7f2 45%);min-width:320px;min-height:100dvh;margin:0}button,input,textarea{font:inherit}.app-shell{width:min(100%,680px);min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.app-header{justify-content:space-between;align-items:flex-start;padding-top:16px;display:flex}.eyebrow,.section-label{letter-spacing:.12em;color:#507362;margin:0 0 6px;font-size:.72rem;font-weight:700}h1{margin:0;font-size:clamp(2.2rem,8vw,3.4rem);line-height:1}.subtitle{color:#607068;margin:8px 0 0}.version{background:#ffffffb3;border:1px solid #cad8d0;border-radius:999px;padding:6px 9px;font-size:.75rem}.status-card,.test-card{background:#ffffffe0;border:1px solid #dce4de;border-radius:18px;box-shadow:0 12px 36px #1630230f}.status-card{overflow:hidden}.status-row{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:24px;min-height:58px;padding:14px 18px;display:flex}.status-row:last-child{border-bottom:none}.status-row span{color:#607068}.status-row strong{text-align:right;font-size:.9rem}.status-ok{color:#16734b}.status-warning{color:#9a6700}.status-error{color:#b42318}.test-card{padding:20px}.test-card h2{margin:0 0 10px;font-size:1.35rem}.test-card p{line-height:1.55}.notice{background:#eef3ef;border-radius:12px;margin-top:18px;padding:14px 16px;font-size:.9rem;line-height:1.45}footer{text-align:center;color:#77847d;margin-top:auto;padding-top:20px;font-size:.72rem}@media (width<=420px){.status-row{align-items:flex-start}}.camera-actions,.preview-actions{gap:12px;margin-top:14px;display:flex}.camera-actions .primary-button,.camera-actions .secondary-button,.preview-actions .primary-button,.preview-actions .secondary-button{flex:1}.photo-preview-area{margin-top:18px}.photo-preview-area[hidden]{display:none}#photo-preview{object-fit:contain;background:#111;border-radius:16px;width:100%;display:block}.photo-metadata{color:#607068;text-align:center;margin-top:10px;font-size:.85rem}.camera-capture-button{width:auto}.photo-metadata{white-space:pre-line}.recovered-evidence{margin-top:18px}.recovered-evidence[hidden]{display:none}.recovered-evidence h3{margin:0 0 12px}#recovered-preview{object-fit:contain;background:#111;border-radius:16px;width:100%;margin-bottom:12px;display:block}#delete-local-evidence{width:100%;margin-top:14px}.camera-actions{flex-wrap:wrap}.camera-actions button{min-width:0}@media (width<=520px){.camera-actions{grid-template-columns:1fr 1fr;display:grid}#capture-photo{grid-column:1/-1}}.face-detection-panel{background:#eef3ef;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;font-size:.82rem;display:flex}.face-detection-panel[hidden]{display:none}.face-detected{color:#16734b}.face-warning{color:#9a6700}#face-count{white-space:nowrap;color:#607068}.camera-preview-stage{background:#111;border-radius:16px;width:100%;position:relative;overflow:hidden}.camera-preview-stage #camera-preview{width:100%;height:auto;display:block}#pretty-preview-canvas{pointer-events:none;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}#pretty-preview-canvas[hidden]{display:none}.mission-select{width:100%;min-height:44px;font:inherit;margin:.5rem 0 .75rem;padding:.7rem .8rem}:root{--heritage-primary:#2e7d32;--heritage-primary-dark:#256b29;--heritage-primary-light:#e8f5e9;--heritage-primary-soft:#f3faf3;--heritage-bg:#f6f8f5;--heritage-card:#fff;--heritage-text:#263326;--heritage-muted:#707970;--heritage-border:#e4e9e4;--heritage-gold:#d99a00;--heritage-gold-light:#fff7df;--heritage-purple:#7567c7;--heritage-purple-light:#f0eeff;--heritage-shadow:0 8px 25px #1f37220f;--heritage-shadow-strong:0 14px 35px #1f37221a}body{background:var(--heritage-bg);color:var(--heritage-text)}body.heritage-dark{--heritage-primary:#74c879;--heritage-primary-dark:#5db866;--heritage-primary-light:#1d3b21;--heritage-primary-soft:#182c1b;--heritage-bg:#121814;--heritage-card:#1b241c;--heritage-text:#edf5ee;--heritage-muted:#aab6ab;--heritage-border:#2b382d;--heritage-gold:#f2c65c;--heritage-gold-light:#352e1a;--heritage-purple:#a59aef;--heritage-purple-light:#292640}.app-shell{width:min(100%,620px);padding:calc(12px + env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom));background:var(--heritage-bg);gap:16px;margin:0 auto}.developer-only{display:none!important}.heritage-topbar{z-index:900;background:color-mix(in srgb, var(--heritage-card) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--heritage-border);justify-content:space-between;align-items:center;min-height:62px;margin:0 -16px 4px;padding:8px 18px;display:flex;position:sticky;top:0}.heritage-brand{align-items:center;gap:10px;display:flex}.heritage-brand-mark{background:var(--heritage-primary-light);border-radius:12px;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.heritage-brand div:last-child{flex-direction:column;display:flex}.heritage-brand strong{color:var(--heritage-primary);font-size:1.04rem;line-height:1.1}.heritage-brand span{color:var(--heritage-muted);letter-spacing:.12em;margin-top:3px;font-size:.68rem;font-weight:700}.heritage-icon-button{border:1px solid var(--heritage-border);background:var(--heritage-card);width:40px;height:40px;color:var(--heritage-text);border-radius:11px;font-size:18px}.heritage-dashboard{flex-direction:column;gap:16px;display:flex}.heritage-welcome,.heritage-profile-card,.heritage-mission-card,.heritage-info-card,.student-flow-card{background:var(--heritage-card);border:1px solid var(--heritage-border);box-shadow:var(--heritage-shadow)}.heritage-welcome{border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:22px;display:flex}.heritage-welcome-small{color:var(--heritage-primary);margin:0 0 5px;font-size:.76rem;font-weight:700}.heritage-welcome h1{color:var(--heritage-text);letter-spacing:-.03em;margin:0 0 5px;font-size:clamp(1.45rem,6vw,1.85rem);line-height:1.15}.heritage-welcome-text{color:var(--heritage-muted);margin:0;font-size:.84rem}.heritage-welcome-icon{background:var(--heritage-primary-light);border-radius:15px;flex:none;place-items:center;width:54px;height:54px;font-size:25px;display:grid}.heritage-profile-card{border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.heritage-profile-main{align-items:center;gap:13px;min-width:0;display:flex}.heritage-avatar{background:var(--heritage-primary-light);outline:2px solid var(--heritage-primary);border:3px solid var(--heritage-card);border-radius:50%;flex:none;place-items:center;width:58px;height:58px;font-size:24px;display:grid}.heritage-name-row{align-items:center;gap:6px;display:flex}.heritage-name-row h2{margin:0;font-size:1rem}.heritage-verified{background:var(--heritage-primary);color:#fff;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-weight:800;display:grid}.heritage-profile-info p{color:var(--heritage-primary);margin:3px 0;font-size:.78rem;font-weight:600}.heritage-profile-info>span{color:var(--heritage-muted);font-size:.68rem}.heritage-profile-button{background:var(--heritage-primary);color:#fff;border:none;border-radius:9px;flex:none;padding:9px 11px;font-size:.72rem;font-weight:700}.heritage-stats{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.heritage-stat-card{border:1px solid var(--heritage-border);background:var(--heritage-card);min-height:74px;box-shadow:var(--heritage-shadow);border-radius:15px;align-items:center;gap:10px;padding:13px;display:flex}.heritage-stat-icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.heritage-stat-icon.points{background:var(--heritage-gold-light)}.heritage-stat-icon.streak{background:#fff0ec}.heritage-stat-icon.badges{background:var(--heritage-primary-light)}.heritage-stat-icon.ranking{background:var(--heritage-purple-light)}.heritage-stat-card strong{color:var(--heritage-text);font-size:1rem;display:block}.heritage-stat-card span{color:var(--heritage-muted);margin-top:2px;font-size:.68rem;display:block}.heritage-mission-card{border-radius:20px;padding:20px}.heritage-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.heritage-section-label{color:var(--heritage-primary);letter-spacing:.12em;margin:0 0 4px;font-size:.64rem;font-weight:800;display:block}.heritage-section-heading h2,.student-flow-card h2{color:var(--heritage-text);margin:0;font-size:1.18rem}.heritage-mission-reward{background:var(--heritage-primary-light);color:var(--heritage-primary);border-radius:8px;flex:none;padding:7px 10px;font-size:.68rem;font-weight:800}.heritage-mission-item{border:1px solid var(--heritage-border);background:var(--heritage-primary-soft);border-radius:13px;align-items:flex-start;gap:12px;padding:14px;display:flex}.heritage-mission-icon{background:var(--heritage-card);border-radius:11px;flex:none;place-items:center;width:42px;height:42px;font-size:19px;display:grid}.heritage-mission-copy{min-width:0}.heritage-mission-copy strong{color:var(--heritage-text);font-size:.88rem;display:block}.heritage-mission-copy p{color:var(--heritage-muted);margin:4px 0 7px;font-size:.75rem;line-height:1.45}.heritage-mission-copy span{color:var(--heritage-primary);font-size:.68rem;font-weight:700}.heritage-primary-button{background:var(--heritage-primary);color:#fff;border:none;border-radius:11px;width:100%;min-height:47px;margin-top:14px;font-weight:800}.heritage-primary-button:disabled{opacity:.55}.heritage-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.heritage-info-card{border-radius:16px;padding:16px}.heritage-card-title{align-items:center;gap:9px;margin-bottom:12px;display:flex}.heritage-card-icon{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.heritage-card-icon.green{background:var(--heritage-primary-light)}.heritage-card-icon.gold{background:var(--heritage-gold-light)}.heritage-card-icon.purple{background:var(--heritage-purple-light)}.heritage-card-title span{color:var(--heritage-primary);letter-spacing:.1em;font-size:.54rem;font-weight:800}.heritage-card-title h2{margin:1px 0 0;font-size:.88rem}.heritage-info-card h3{margin:0 0 6px;font-size:.78rem}.heritage-info-card p{color:var(--heritage-muted);margin:0;font-size:.68rem;line-height:1.5}.heritage-leader-row{border-bottom:1px solid var(--heritage-border);min-height:28px;color:var(--heritage-muted);justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;display:flex}.heritage-leader-row:last-child{border-bottom:none}.heritage-leader-row strong{color:var(--heritage-text)}.student-flow-card{border-radius:20px;padding:20px;scroll-margin-top:78px}.student-flow-card>p:not(.heritage-section-label){color:var(--heritage-muted);font-size:.8rem;line-height:1.5}.student-flow-card .primary-button{background:var(--heritage-primary);color:#fff;border:none;border-radius:10px;min-height:46px;font-weight:700}.student-flow-card .secondary-button{border:1px solid var(--heritage-border);background:var(--heritage-card);min-height:44px;color:var(--heritage-text);border-radius:10px;font-weight:600}.student-flow-card .notice{background:var(--heritage-primary-soft);color:var(--heritage-text)}.face-detection-panel{display:none!important}.photo-metadata{color:var(--heritage-muted)}.heritage-footer{text-align:center;color:var(--heritage-muted);margin-top:10px;padding:16px 0 6px;font-size:.68rem}.heritage-bottom-nav{z-index:950;width:min(100%,620px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--heritage-border);background:color-mix(in srgb, var(--heritage-card) 96%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.heritage-bottom-nav button{min-height:49px;color:var(--heritage-muted);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.62rem;font-weight:700;display:flex}.heritage-bottom-nav button span{color:var(--heritage-primary);font-size:1rem}@media (width<=420px){.heritage-profile-button{display:none}.heritage-two-column{grid-template-columns:1fr 1fr}.heritage-info-card{padding:14px}.heritage-welcome{padding:19px}.heritage-welcome-icon{width:48px;height:48px}}.student-flow-card[hidden]{display:none!important}#camera-section,#submission-section{scroll-margin-top:78px}.heritage-brand-mark img{object-fit:contain;width:28px;height:28px;display:block}.kvks-brand-strip{justify-content:center;align-items:center;margin-top:4px;padding:18px 18px 4px;display:flex}.kvks-brand-strip img{object-fit:contain;width:min(100%,320px);height:auto;display:block}body.heritage-dark .kvks-brand-strip img{background:#fff;border-radius:12px;padding:8px}#mission-browser-root[hidden]{display:none!important}#mission-browser-root{z-index:1600;color:#1f2a25;background:#f6f8f5;position:fixed;inset:0;overflow:auto}body.mission-browser-open{overflow:hidden}body.heritage-dark #mission-browser-root{color:#edf5ef;background:#101713}.efw-browser-page{width:min(1120px,100%);min-height:100dvh;margin:0 auto;padding:24px 20px 96px}.efw-browser-page-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.efw-browser-page-head>div>span{color:#2e7d32;letter-spacing:.12em;margin-bottom:6px;font-size:.68rem;font-weight:900;display:block}.efw-browser-page-head h1{letter-spacing:-.045em;margin:0 0 7px;font-size:clamp(1.65rem,4vw,2.35rem)}.efw-browser-page-head p{color:#68756d;max-width:680px;margin:0;font-size:.84rem;line-height:1.55}body.heritage-dark .efw-browser-page-head p{color:#a9b4ac}.efw-browser-close,.efw-browser-back,#student-browse-missions{color:#244b35;background:#fff;border:1px solid #dfe7df;border-radius:11px;min-height:40px;padding:0 14px;font-size:.72rem;font-weight:800}body.heritage-dark .efw-browser-close,body.heritage-dark .efw-browser-back,body.heritage-dark #student-browse-missions{color:#dfeee4;background:#19231d;border-color:#2c3a31}#student-browse-missions{width:100%;margin-top:8px}.detail-head{align-items:center}.efw-browser-filters{scrollbar-width:none;gap:8px;margin-bottom:18px;padding-bottom:2px;display:flex;overflow-x:auto}.efw-browser-filters::-webkit-scrollbar{display:none}.efw-browser-filters button{color:#68756d;background:#fff;border:1px solid #dfe7df;border-radius:999px;flex:none;padding:8px 12px;font-size:.7rem;font-weight:800}.efw-browser-filters button.active{color:#fff;background:#164f37;border-color:#164f37}body.heritage-dark .efw-browser-filters button{color:#a9b4ac;background:#19231d;border-color:#2c3a31}body.heritage-dark .efw-browser-filters button.active{color:#103426;background:#b9ef74;border-color:#b9ef74}.efw-browser-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.efw-browser-mission-card{text-align:left;color:inherit;cursor:pointer;background:#fff;border:1px solid #dfe7df;border-radius:18px;padding:0;transition:transform .18s,border-color .18s;overflow:hidden}.efw-browser-mission-card:hover{border-color:#acd889;transform:translateY(-2px)}body.heritage-dark .efw-browser-mission-card,body.heritage-dark .efw-browser-panel{background:#19231d;border-color:#2c3a31}.efw-browser-card-art{color:#fff;background:linear-gradient(135deg,#0f3d2e,#27775a);justify-content:space-between;align-items:flex-end;min-height:100px;padding:18px;display:flex}.efw-browser-card-art>span{font-size:2.2rem}.efw-browser-card-art small{color:#d7e8df;font-size:.62rem;font-weight:800}.efw-browser-card-body{padding:15px}.efw-browser-code{color:#2e7d32;letter-spacing:.08em;font-size:.6rem;font-weight:900}.efw-browser-card-body h3{margin:5px 0 8px;font-size:.92rem}.efw-browser-card-body p{color:#68756d;min-height:3.6em;margin:0;font-size:.7rem;line-height:1.5}body.heritage-dark .efw-browser-card-body p,body.heritage-dark .efw-browser-requirement p,body.heritage-dark .efw-browser-fact span{color:#a9b4ac}.efw-browser-card-footer{border-top:1px solid #e5ebe6;justify-content:space-between;align-items:center;gap:8px;margin-top:13px;padding-top:11px;display:flex}body.heritage-dark .efw-browser-card-footer{border-top-color:#2c3a31}.efw-browser-card-footer strong{color:#2e7d32;font-size:.67rem}.efw-browser-card-footer span{color:#68756d;font-size:.62rem}.efw-browser-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;display:grid}.efw-browser-detail-hero{color:#fff;background:linear-gradient(135deg,#0f3d2e,#27775a);border-radius:22px;min-height:210px;padding:28px;position:relative;overflow:hidden}.efw-browser-status{color:#cffa93;background:#b9ef7429;border-radius:999px;padding:6px 9px;font-size:.62rem;font-weight:900;display:inline-flex}.efw-browser-detail-icon{opacity:.68;font-size:5.5rem;position:absolute;bottom:2px;right:28px}.efw-browser-detail-hero>small{color:#b9ef74;letter-spacing:.08em;margin-top:18px;font-size:.64rem;font-weight:900;display:block}.efw-browser-detail-hero h1{z-index:1;letter-spacing:-.045em;max-width:620px;margin:6px 0 9px;font-size:clamp(1.7rem,4vw,2.4rem);position:relative}.efw-browser-detail-hero p{z-index:1;color:#cee1d8;max-width:620px;margin:0;font-size:.8rem;line-height:1.55;position:relative}.efw-browser-panel{background:#fff;border:1px solid #dfe7df;border-radius:18px;margin-top:16px;padding:18px}.efw-browser-detail-layout>aside{align-self:start;margin-top:0;position:sticky;top:18px}.efw-browser-panel-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.efw-browser-panel-title h2{margin:0;font-size:1rem}.efw-browser-panel-title span{color:#68756d;font-size:.62rem}.efw-browser-requirements{gap:11px;display:grid}.efw-browser-requirement{grid-template-columns:30px 1fr;align-items:start;gap:10px;display:grid}.efw-browser-requirement>span{color:#2e7d32;background:#edf7f0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.7rem;font-weight:900;display:grid}.efw-browser-requirement strong{font-size:.76rem;display:block}.efw-browser-requirement p{color:#68756d;margin:3px 0 0;font-size:.68rem;line-height:1.5}.efw-browser-points{border-bottom:1px solid #e5ebe6;padding:4px 0 15px}.efw-browser-points strong{color:#2e7d32;letter-spacing:-.05em;font-size:2rem;display:block}.efw-browser-points span{color:#68756d;font-size:.68rem}.efw-browser-fact{border-bottom:1px solid #e5ebe6;justify-content:space-between;gap:12px;padding:11px 0;font-size:.7rem;display:flex}body.heritage-dark .efw-browser-fact,body.heritage-dark .efw-browser-points{border-bottom-color:#2c3a31}.efw-browser-fact span{color:#68756d}.efw-browser-fact strong{text-align:right}.efw-browser-start{color:#123426;background:#b9ef74;border:0;border-radius:11px;width:100%;min-height:46px;margin-top:16px;font-size:.76rem;font-weight:900}.efw-browser-start:disabled{color:#738078;background:#e4e9e5}.efw-browser-empty{text-align:center;color:#68756d;border:1px dashed #cfd9d1;border-radius:16px;grid-column:1/-1;padding:28px;font-size:.78rem}@media (width<=820px){.efw-browser-page{padding:18px 12px 92px}.efw-browser-grid,.efw-browser-detail-layout{grid-template-columns:1fr}.efw-browser-detail-layout>aside{position:static}.efw-browser-detail-hero{padding:22px}.efw-browser-detail-icon{font-size:4.4rem;right:18px}}
