@import url("./font-contract.css");
:root{font-family:var(--home-font-ui);font-size:var(--home-font-size);background:#f2efea;color:#292521}
*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{margin:0;width:100%;min-height:100%;height:100%;background:#f2efea}body{overflow:hidden}
route-outlet,frozen-route-view{display:block;width:100%;height:100%}
.frozen-frame{display:block;width:100%;height:100dvh;border:0;background:#f2efea}
#app-toast{position:fixed;left:50%;bottom:92px;z-index:9999;transform:translate(-50%,8px);padding:8px 13px;border-radius:999px;background:#2d2926;color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:.18s}
#app-toast.show{opacity:1;transform:translate(-50%,0)}
.production-error{width:min(430px,100vw);min-height:100dvh;margin:auto;background:#fbfaf6;padding:48px 22px;color:#5d554f}.production-error h1{font-size:20px;margin:0 0 12px}.production-error p{font-size:13px;line-height:1.7;color:#837a73}.production-error button{border:0;border-bottom:1px solid #8b7889;background:transparent;color:#8b7889;padding:5px 0;cursor:pointer}

/* Private MVP production login gate. It lives outside frozen product surfaces. */
.home-auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f3ef;color:#171717;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.home-auth-card{width:min(420px,100%);padding:34px;border:1px solid rgba(20,20,20,.12);border-radius:22px;background:rgba(255,255,255,.9);box-shadow:0 18px 55px rgba(0,0,0,.08)}.home-auth-eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.16em;font-weight:700}.home-auth-card h1{margin:0 0 12px;font-size:30px;line-height:1.2}.home-auth-copy{margin:0 0 24px;color:#666;line-height:1.7}.home-auth-form{display:grid;gap:10px}.home-auth-form label{font-size:14px;font-weight:700}.home-auth-password-row{display:flex;gap:8px}.home-auth-password-row input{min-width:0;flex:1;padding:13px 14px;border:1px solid #c9c6c0;border-radius:12px;background:#fff;font:inherit}.home-auth-password-row button{padding:0 14px;border:1px solid #c9c6c0;border-radius:12px;background:#fff;cursor:pointer}.home-auth-primary{display:inline-flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box;margin-top:6px;padding:13px 16px;border:0;border-radius:12px;background:#171717;color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.home-auth-primary:disabled{opacity:.58;cursor:wait}.home-auth-error,.home-auth-message{min-height:1.4em;margin:2px 0 0;color:#9c2f2f;font-size:14px;line-height:1.5}.home-auth-message{margin:14px 0;color:#555}

/* Mid-session re-authentication stays above the current surface so drafts remain intact. */
.home-auth-overlay{position:fixed;inset:0;z-index:10000;background:rgba(245,243,239,.94);backdrop-filter:blur(8px)}
.home-auth-overlay .home-auth-screen{height:100%;min-height:100%;overflow:auto}
