:root{--michi-bg:#fdf6ec;--michi-surface:#fff;--michi-ink:#2f2a26;--michi-muted:#6f665e;--michi-primary:#e8975c;--michi-primary-ink:#4a2e14;--michi-accent:#2ea8a0;--michi-danger:#d9534f;--michi-radius:14px;--michi-shadow:0 2px 10px #2f2a2614}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--michi-bg);color:var(--michi-ink);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.55}a{color:var(--michi-accent);text-underline-offset:3px}a:hover{color:var(--michi-primary)}button,.btn{border-radius:var(--michi-radius);font:inherit;cursor:pointer;background:var(--michi-primary);color:var(--michi-primary-ink);box-shadow:var(--michi-shadow);border:0;padding:.6rem 1.1rem;font-weight:700;text-decoration:none;display:inline-block}.btn--ghost{color:var(--michi-ink);box-shadow:inset 0 0 0 2px var(--michi-primary);background:0 0}.card{background:var(--michi-surface);border-radius:var(--michi-radius);box-shadow:var(--michi-shadow);padding:1.25rem 1.5rem}.muted{color:var(--michi-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.site-header{background:var(--michi-surface);box-shadow:var(--michi-shadow);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.25rem;display:flex}.logo{color:var(--michi-ink);align-items:center;gap:.55rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.site-header nav{align-items:center;gap:1.1rem;display:flex}.site-footer{text-align:center;padding:1.2rem 1rem 2rem;font-size:.9rem}main{max-width:820px;margin:0 auto;padding:1.5rem}.hero h1{letter-spacing:-1px;margin:.4rem 0;font-size:clamp(2.2rem,6vw,3.2rem)}.hero p{max-width:60ch}.page h1{margin-bottom:.25rem}.hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin:.8rem 0 1rem;display:flex}.chip{background:var(--michi-surface);box-shadow:var(--michi-shadow);border-radius:999px;padding:.35rem .9rem;font-size:.95rem;font-weight:700}.chip[title]{cursor:help}.house-frame{border-radius:var(--michi-radius);box-shadow:var(--michi-shadow);background:#efe0c8;height:46vh;min-height:260px;overflow:hidden}.house-frame canvas{display:block}.card.narrow{max-width:30rem;margin-inline:auto}.form{gap:1rem;margin:1rem 0;display:grid}.field{gap:.3rem;display:grid}.field label{font-size:.95rem;font-weight:700}.field input{font:inherit;color:inherit;background:var(--michi-bg);border:2px solid #0000;border-radius:10px;padding:.55rem .75rem}.field input:focus-visible{outline:3px solid var(--michi-accent);outline-offset:1px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.check{align-items:flex-start;gap:.55rem;display:flex}.check input{width:1.1rem;height:1.1rem;accent-color:var(--michi-primary);margin-top:.2rem}.btn--wide{width:100%}.error{color:var(--michi-danger);margin:0;font-weight:600}.ok{color:var(--michi-accent);margin:0;font-weight:600}.forgot{margin:.25rem 0}.forgot summary{cursor:pointer;color:var(--michi-muted)}
