:root { color-scheme: light; font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
body { margin: 0; min-height: 100vh; background: #f8f9f7; color: #20251f; }
/* Author display rules must never override the browser's hidden attribute. */
[hidden] { display: none !important; }
.studio-auth-shell { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: clamp(20px, 5vw, 48px); box-sizing: border-box; }
.studio-auth-card { width: min(100%, 460px); min-width: 0; box-sizing: border-box; padding: clamp(24px, 5vw, 40px); border-radius: 24px; background: #fff; }
.studio-auth-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #242b25; color: #fff; font-size: 24px; font-weight: 750; }
.studio-auth-eyebrow { margin: 28px 0 12px; color: #6b756c; letter-spacing: .15em; font-size: 11px; font-weight: 650; }
.studio-auth-card h1 { margin: 0; font-size: clamp(25px, 5.8vw, 32px); letter-spacing: -.035em; line-height: 1.3; font-weight: 650; }
.studio-auth-card > p:not(.studio-auth-eyebrow):not(.studio-auth-note) { margin: 14px 0 0; color: #687169; font-size: 14px; line-height: 1.8; }
.studio-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 30px; padding: 4px; border-radius: 12px; background: #f2f4f1; }
.studio-auth-tab { min-height: 44px; border: 0; border-radius: 9px; background: transparent; color: #687169; font-family: inherit; font-size: 14px; font-weight: 550; cursor: pointer; }
.studio-auth-tab[aria-selected="true"] { background: #fff; color: #20251f; box-shadow: 0 1px 4px #2433250a; }
.studio-auth-form { display: grid; gap: 18px; margin-top: 24px; min-width: 0; }
.studio-auth-form label { display: grid; gap: 8px; min-width: 0; color: #4f5951; font-size: 13px; }
.studio-auth-form input { width: 100%; min-width: 0; min-height: 48px; border: 1px solid #dce1db; border-radius: 10px; background: #fff; color: #20251f; padding: 0 13px; font: inherit; font-size: 16px; box-sizing: border-box; }
.studio-auth-form input::placeholder { color: #8b938c; }
.studio-auth-form input:focus { border-color: #5b7b5e; }
.studio-auth-form button, .studio-auth-provider { min-height: 48px; border: 0; border-radius: 10px; background: #283e2b; color: #fff; font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.studio-auth-form button:disabled, .studio-auth-provider:disabled, .studio-auth-tab:disabled { opacity: .55; cursor: default; }
.studio-auth-code-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.studio-auth-code-row button { min-width: 104px; padding: 0 12px; background: #eef3ed; color: #36563c; font-size: 13px; }
.studio-auth-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 16px; color: #7d857e; font-size: 12px; }
.studio-auth-divider::before, .studio-auth-divider::after { content: ""; height: 1px; flex: 1; background: #edf0eb; }
.studio-auth-providers { display: grid; gap: 10px; }
.studio-auth-provider { width: 100%; background: #f4f6f2; color: #313b33; }
.studio-auth-message { margin: 0; color: #9c452f; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.studio-auth-note { margin: 24px 0 0; color: #788079; font-size: 12px; line-height: 1.75; text-align: center; }
.studio-auth-shell :focus-visible { outline: 2px solid #547a59; outline-offset: 3px; }
@media (max-width: 380px) { .studio-auth-card { padding: 24px 16px; } .studio-auth-shell { padding: 16px; } }
@media (prefers-reduced-motion: no-preference) { .studio-auth-tab, .studio-auth-form button, .studio-auth-provider { transition: background-color .15s, opacity .15s; } }
