:root { --fg:#152738; --bg:#ffffff; --muted:#4b5b6b; --accent:#0b5cad; --danger:#a10f0f; --dangerbg:#fff0f0; --notice:#fff6d6; --line:#9aa7b4; }
@media (prefers-color-scheme: dark) { :root { --fg:#e8eef4; --bg:#111820; --muted:#b4c0cc; --accent:#7db8ff; --danger:#ffb4b4; --dangerbg:#3a1414; --notice:#3a3214; --line:#5b6876; } }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.7 system-ui, sans-serif; }
main { max-width:40rem; margin:0 auto; padding:0 16px 3rem; }
.notice { margin:0; padding:.6rem 16px; background:var(--notice); font-size:.9rem; }
h1 { font-size:1.4rem; line-height:1.4; margin:1rem 0 .5rem; }
fieldset { border:1px solid var(--line); border-radius:8px; margin:1rem 0; padding:.8rem 1rem 1rem; min-width:0; }
legend { font-weight:700; padding:0 .3rem; }
label, .label { display:block; margin:.6rem 0 .2rem; }
.choices label, label.check { display:flex; gap:.5rem; align-items:center; min-height:44px; margin:0; }
input:not([type=radio]):not([type=checkbox]), select { width:100%; min-height:44px; font-size:1rem; padding:.4rem .6rem; border:1px solid var(--line); border-radius:6px; background:var(--bg); color:var(--fg); }
input[type=radio], input[type=checkbox] { width:22px; height:22px; flex:none; }
.req { font-size:.8rem; color:var(--danger); margin-left:.3rem; }
.hint, .draft { color:var(--muted); font-size:.9rem; }
.danger, .error-summary { border:2px solid var(--danger); background:var(--dangerbg); padding:.8rem; border-radius:8px; margin:.8rem 0; }
.field-error { color:var(--danger); font-size:.9rem; margin:.2rem 0 0; }
[aria-invalid=true] { border-color:var(--danger) !important; }
button { width:100%; min-height:48px; font-size:1.05rem; font-weight:700; background:var(--accent); color:#fff; border:0; border-radius:8px; margin-top:1rem; cursor:pointer; }
button:disabled { opacity:.6; cursor:progress; }
#photo-list { padding-left:1.2rem; } #photo-list li { margin:.3rem 0; }
input[type=file] { width:100%; min-height:44px; }
:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
@media (prefers-color-scheme: dark) { button { color:#0b1520; } }
