/* Mission Control skin: keep the tested single-field / single-photo layout. */
:root{--ink:#102b46;--muted:#526779;--gold:#b38228;--line:#ced8df;--paper:#fbfcfd;--green:#236a53}
body{color:var(--ink);font:16px/1.5 "Segoe UI",system-ui,sans-serif;background-color:#eaf0f3;background-image:linear-gradient(#29486409 1px,transparent 1px),linear-gradient(90deg,#29486409 1px,transparent 1px);background-size:28px 28px}
.app{max-width:580px;padding:24px 28px max(24px,env(safe-area-inset-bottom));background:var(--paper);box-shadow:0 18px 70px #102b461b;border:1px solid #becbd5;border-top:4px solid var(--ink)}
button{border-color:#b7c6d0;border-radius:8px;background:#fff;color:var(--ink);transition:background .16s,border-color .16s,box-shadow .16s}button:hover{background:#f4f0e6;border-color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b38228;outline-offset:3px}
header{gap:12px;padding-bottom:20px}header a{gap:10px;color:var(--ink)}header a>span{font:800 27px/.95 "Bahnschrift","Segoe UI",sans-serif;letter-spacing:.07em}header .brand-line{display:block;font:700 10px/1.6 "Segoe UI",sans-serif;letter-spacing:.23em;color:var(--green);margin-top:5px}header img{width:52px;height:52px}header button{min-height:40px;padding:8px 11px;font-size:12px;background:transparent}header button span{color:var(--gold);margin-left:5px}
.mission-ribbon{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--ink);color:#eaf0f4;padding:11px 13px;margin:0 -1px 20px;border-left:3px solid #e8bf70;font:600 10px/1.2 "Consolas",monospace;letter-spacing:.12em}.mission-ribbon>span:last-child{color:#b5c6d2;font-size:9px}.mission-ribbon i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e8bf70;margin-right:7px}
.topline{align-items:center;gap:8px;font:700 10px/1.4 "Consolas",monospace;letter-spacing:.06em}#points{color:#725216;background:#f6edd9;border:1px solid #e5d4b0;padding:3px 7px;border-radius:4px;letter-spacing:0}
progress{height:5px;margin:10px 0 22px;border-radius:0;background:#dce4ea}progress::-webkit-progress-bar{background:#dce4ea}progress::-webkit-progress-value{background:linear-gradient(90deg,#9e752b,#e4b964)}progress::-moz-progress-bar{background:#b38228}
h1{font:650 38px/1.12 "Bahnschrift","Segoe UI",sans-serif;letter-spacing:-.035em}h2{font:650 25px/1.2 "Bahnschrift","Segoe UI",sans-serif;letter-spacing:-.02em}p{color:var(--muted)}.eyebrow{font:700 10px/1.5 "Consolas",monospace;letter-spacing:.12em;color:#88631e}
.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:inset 0 1px #ffffff12}.primary:hover{background:#204765;color:#fff;border-color:#b38228}.gold{background:#e8bf70;color:var(--ink);border-color:#d0a354}.gold:hover{background:#f0d193;color:var(--ink)}.back{min-height:38px;font-weight:550}.back:hover{background:none;color:#88631e}
.field-label{font-size:15px;font-weight:650}input:not([type=hidden]){border:1px solid #aebfcb;border-left:3px solid #b38228;border-radius:7px;background:#fff;color:var(--ink)}input:not([type=hidden]):focus{background:#fffdf7;box-shadow:0 0 0 5px #e8bf7025}
.hero-photo{display:block;height:auto;aspect-ratio:2;object-fit:contain;border:1px solid #36546d;border-radius:10px;margin:22px 0 6px;background:var(--ink)}
.path{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:16px 0 22px;font-size:11px;color:var(--muted)}.path span{padding:0 10px;border-right:1px solid var(--line)}.path span:first-child{padding-left:0}.path span:last-child{border:0;padding-right:0}.path b{color:var(--ink);font-size:13px;margin-bottom:3px}
.muted{font-size:13px;color:var(--muted)}.notice{border:1px solid #c2d3de;border-left:3px solid #507b96;border-radius:7px;background:#eef4f8}.notice p{margin-bottom:0}.receipt{border:1px solid #adc9bd;border-left:4px solid var(--green);background:#eef6f1;border-radius:8px}.receipt small{color:#395d4d}.receipt p{color:#3a5b4e}
footer{border-top:1px solid var(--line);gap:7px;font-size:9px;font-weight:650;letter-spacing:.09em;color:var(--muted)}footer b{color:#a67a29;margin:0 4px}.footer-note{font-size:11px;letter-spacing:0;font-weight:400}footer button{color:var(--ink);letter-spacing:0;min-height:36px}footer button:hover{background:#f6edd9}
#message{background:#fff1d6;border-left:3px solid #a67a29;border-radius:6px}
.camera{border:1px solid #557185;background:#102b46;border-radius:12px}.camera .example-badge{top:10px;left:10px;background:#102b46ec;color:#f4e5c4;border:1px solid #a8b9c347;border-radius:4px;padding:5px 8px;font:10px/1.3 "Consolas",monospace}.camera .outline{border-color:#e8bf70;border-radius:4px;box-shadow:0 0 0 100px #071a251a}.camera .outline.house{background:#e8bf7029}.camera .outline.wide{border-radius:6px}.camera .guide{bottom:12px;left:7%;width:86%;color:#f9f2e3;background:#102b46e8;border:1px solid #cfab6659;border-radius:5px;font-size:12px}
dialog{border:1px solid #8fa3b3;border-top:4px solid #b38228;border-radius:12px;background:#fbfcfd;color:var(--ink);box-shadow:0 20px 80px #061c3555}dialog::backdrop{background:#081e35c9}dialog img{border-radius:7px;background:#e9eff3}.close{min-height:36px;min-width:36px}
.thumbs img{border:1px solid #b6c6d0;border-radius:6px}.inventory li{gap:12px;border-bottom-color:var(--line)}.inventory li span{color:var(--muted);max-width:60%;text-align:right}.map{border:1px solid #bdcdd8;border-radius:8px}.slots button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:#b38228}.status-dot{background:var(--green)}summary{cursor:pointer;font-size:14px;padding:8px 0}pre{background:#eaf0f4}a{color:#244e71}.demo-pill{border:1px solid #e0c99e;border-left:3px solid #b38228;border-radius:5px;background:#fbf4e5;color:#74541c;font-size:12px}.review-photo{background:#e8eef2;border:1px solid #c0cdd6;border-radius:10px}
.photo-step header img{width:44px;height:44px}.photo-step .mission-ribbon{padding:8px 10px;margin-bottom:12px}.photo-step h1{font-size:30px}.photo-step .camera{height:clamp(180px,27svh,285px)}.photo-step footer>span:first-child{display:none}
@media(max-width:420px){.app{padding:16px 18px;border:0;border-top:3px solid var(--ink)}h1{font-size:34px}.mission-ribbon{margin-bottom:16px}header{padding-bottom:16px}.path b{font-size:12px}.path{font-size:10px}header a>span{font-size:25px}}
@media(max-height:740px){.photo-step .camera{height:180px}.photo-step .mission-ribbon{display:none}.photo-step footer{margin-top:8px}.photo-step h1{font-size:27px}}
@media(min-width:900px){.app{border-radius:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
