html, body { margin: 0; min-height: 100%; background: var(--te-bg); color: var(--te-ink); }
body { overscroll-behavior-y: none; }
.te-entry-state { max-width: 32rem; margin: min(15vh, 8rem) auto; padding: 28px; }
.te-entry-state h1 { font: 400 2rem/1.3 var(--te-font-display); letter-spacing: .03em; }
.te-entry-state p { color: var(--te-muted); }
.te-login { min-height: 100dvh; display: grid; place-items: center; padding: 24px; background: radial-gradient(ellipse at 15% 8%, var(--te-wash-gold), transparent 65%), radial-gradient(ellipse at 80% 80%, var(--te-wash-blue), transparent 60%), var(--te-bg); }
.te-login__card { width: min(100%, 24rem); padding: 36px 28px; border: 1px solid var(--te-line); border-top-color: var(--te-line-bright); border-radius: 30px; box-shadow: var(--te-shadow); background: var(--te-glass-soft); backdrop-filter: blur(var(--te-glass-blur)); }
.te-login__mark { font: italic 2.65rem/1.2 var(--te-font-display); margin: 0 0 10px; letter-spacing: -.025em; }
.te-login__subtitle { font-size: .82rem; color: var(--te-muted); letter-spacing: .14em; margin-bottom: 32px; }
.te-login label { display: grid; gap: 7px; margin-block: 18px; font-size: .85rem; }
.te-login input { width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid var(--te-line); border-radius: 14px; background: var(--te-glass); color: var(--te-ink); font: inherit; box-sizing: border-box; }
.te-entry-button { min-height: 44px; padding: 9px 17px; border: 1px solid var(--te-line); border-radius: 14px; color: var(--te-accent-strong); background: var(--te-glass); font: inherit; cursor: pointer; }
.te-entry-button:disabled { opacity: .55; cursor: wait; }
.te-login__submit { width: 100%; margin-top: 12px; color: var(--te-surface); background: var(--te-accent-strong); }
.te-login__error { min-height: 1.5em; font-size: .82rem; color: var(--te-error); }
.te-source { display: grid; gap: 14px; }
.te-source__item { padding: 12px 16px; border-radius: 18px; background: var(--te-glass-soft); border: 1px solid var(--te-line); }
.te-source__item[data-anchor="true"] { border-color: var(--te-champagne); }
.te-source__meta { color: var(--te-muted); font-size: .75rem; margin-bottom: 7px; }
.te-source__body { white-space: pre-wrap; margin: 0; line-height: 1.8; }
.te-entry-tools { display: grid; gap: 10px; }
.te-entry-tools button { text-align: left; }
