:root { color-scheme: light; font-family: system-ui, sans-serif; color: #253629; background: #f1f4ed; }
body { margin: 0; }
main { max-width: 42rem; margin: 12vh auto; padding: 2rem; line-height: 1.6; }
h1 { font-size: clamp(1.7rem, 5vw, 2.6rem); }
label { display: block; margin: 1rem 0; }
input { display: block; box-sizing: border-box; width: 100%; padding: .8rem; font: inherit; border: 1px solid #8a9986; border-radius: .4rem; }
button { font: inherit; background: #355238; color: white; padding: .8rem 1.2rem; border: 0; border-radius: .5rem; cursor: pointer; }
button:focus-visible, input:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #996000; outline-offset: 3px; }
a { color: #2d5334; }
details { margin-top: 2rem; }
.access { max-width: 28rem; }
.emergency { position: fixed; top: 1rem; right: 1rem; z-index: 20; background: #663728; }
.privacy-cover { display: none; }
.locked .private-content { visibility: hidden; }
.locked .privacy-cover { display: block; position: fixed; inset: 0; background: #f1f4ed; padding: 7rem 2rem; z-index: 10; }
.recovery-code { overflow-wrap: anywhere; font-family: monospace; padding: 1rem; background: #fff; }
