.layout{flex:1;display:flex;flex-direction:column;min-height:100dvh}.layout-header{background:var(--surface);border-bottom:1px solid var(--border);padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));position:sticky;top:0;z-index:10}.layout-brand{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.layout-title{font-weight:700;font-size:1.25rem;color:var(--accent)}.layout-domain{font-size:.8rem;color:var(--muted)}.app-nav{display:flex;flex-wrap:wrap;gap:.35rem .75rem}.nav-link{color:var(--muted);font-size:.95rem;padding:.25rem 0;border-bottom:2px solid transparent}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--accent);font-weight:600;border-bottom-color:var(--accent)}.layout-main{flex:1;padding:1rem;padding-bottom:calc(1rem + var(--safe-bottom));max-width:42rem;width:100%;margin:0 auto}.layout-footer{padding:.75rem 1rem;padding-bottom:max(.75rem,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.layout-footer-text{margin:0;font-size:.75rem;color:var(--muted);text-align:center;max-width:36rem;margin-inline:auto}.page-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.page-lead{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:.75rem}.card h2{margin:0 0 .35rem;font-size:1.05rem}.card p{margin:0;color:var(--muted);font-size:.9rem}.grid-links{display:grid;gap:.65rem}.grid-links a{display:block;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-weight:500}.grid-links a:hover{background:var(--accent-soft);text-decoration:none;border-color:var(--accent)}:root{--bg: #f4f1ec;--surface: #ffffff;--text: #1c2520;--muted: #5c6b63;--accent: #1a5c45;--accent-soft: #e8f0ec;--border: #d9d4cc;--radius: 12px;--font: system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--safe-bottom: env(safe-area-inset-bottom, 0)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
