.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}.modal__backdrop{position:absolute;inset:0;border:none;background:rgba(42,33,24,.35);cursor:pointer}.modal__card{position:relative;z-index:1;width:min(100%,400px);max-height:min(92vh,720px);overflow:auto;display:flex;flex-direction:column;gap:.65rem;padding:1.1rem 1rem 1rem;border-radius:12px;background:#fffaf4;border:1px solid rgba(60,40,20,.12);box-shadow:0 12px 32px rgba(42,33,24,.16)}.modal__title{margin:0;font-family:var(--font-display);font-size:1.2rem}.modal__hint{margin:0;font-size:.82rem;color:var(--ink-muted)}.modal__label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-muted)}.modal__card input,.modal__card select{font:inherit;padding:.45rem .55rem;border-radius:8px;border:1px solid rgba(60,40,20,.16);background:#fff;color:var(--ink)}.modal__error{margin:0;font-size:.8rem;color:var(--accent)}.modal__presets{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.4rem;gap:.4rem}.modal__actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.25rem}.modal__btn{border:1px solid rgba(60,40,20,.16);border-radius:8px;padding:.42rem .75rem;font:inherit;font-size:.85rem;cursor:pointer;background:rgba(255,250,244,.9);color:var(--ink)}.modal__btn--primary{background:var(--accent);border-color:transparent;color:#fffaf4}.modal__btn:disabled{opacity:.55;cursor:wait}.modal__link{border:none;padding:0;font:inherit;font-size:.8rem;cursor:pointer;background:transparent;color:var(--ink-muted);text-align:left}.modal__link:hover:not(:disabled){color:var(--ink);text-decoration:underline}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:1.25rem}