@import 'styles/fonts/roboto'; @import 'reset'; :root, :root[data-theme="mastodon"] { --color-bg: #191b22; --color-fg: #fff; --color-input-bg: #282c37; --color-input-border: #373d4c; --color-input-text: #9baec8; --color-aside-bg: #39404f; --color-aside-border: #485164; --color-footer-text: #97a8b4; --color-btn-bg: #66befe; --color-btn-bg-hover: #89caff; --color-btn-border: #89cdfe; --color-btn-text: #2a2b2f; --color-focus: #66befe; } :root[data-theme="mastodon-light"] { --color-bg: #ffffff; --color-fg: #282c37; --color-input-bg: #f2f5f7; --color-input-border: #c0cdd9; --color-input-text: #282c37; --color-aside-bg: #e6ebf0; --color-aside-border: #c0cdd9; --color-footer-text: #606984; --color-btn-bg: #6364ff; --color-btn-bg-hover: #7f80ff; --color-btn-border: #7778ff; --color-btn-text: #fff; --color-focus: #6364ff; } :root[data-theme="contrast"] { --color-bg: #000; --color-fg: #fff; --color-input-bg: #111; --color-input-border: #555; --color-input-text: #fff; --color-aside-bg: #222; --color-aside-border: #555; --color-footer-text: #aaa; --color-btn-bg: #66befe; --color-btn-bg-hover: #89caff; --color-btn-border: #89cdfe; --color-btn-text: #000; --color-focus: #66befe; } body { color: var(--color-fg); font-family: ui-rounded, mastodon-font-sans-serif, sans-serif; font-size: 1rem; line-height: 1.5; background: var(--color-bg); } .login-container { --login-row-gap: 10px; display: grid; row-gap: var(--login-row-gap); margin: 50px auto; padding: 1rem; max-width: 30rem; box-sizing: border-box; } header { display: flex; justify-content: center; img { height: 150px; } } main { display: flex; flex-direction: column; row-gap: var(--login-row-gap); } h1 { font-size: 28px; line-height: 33px; font-weight: 700; margin-bottom: 15px; } label { font-family: inherit; color: var(--color-fg); display: block; word-wrap: break-word; font-weight: 500; grid-column: 1 / -1; } form { display: grid; gap: 10px; grid-template-columns: 1fr min-content; } :focus-visible, button:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 3px; } button { padding: 7px 10px; border: 1px solid var(--color-btn-border); border-radius: 4px; box-sizing: border-box; color: var(--color-btn-text); font-family: inherit; font-size: inherit; font-weight: 500; text-align: center; white-space: nowrap; background-color: var(--color-btn-bg); cursor: pointer; &:hover { background-color: var(--color-btn-bg-hover); } &:disabled { background-color: #9baec8; cursor: default; } } input[type='text'], select { display: block; margin: 0; padding: 15px; border: 1px solid var(--color-input-border); border-radius: 4px; box-sizing: border-box; box-shadow: none; color: var(--color-input-text); font-family: inherit; font-size: inherit; line-height: 18px; background: var(--color-input-bg); } .content { padding: 15px; border-radius: 4px; border: 1px solid var(--color-aside-border); color: var(--color-fg); background-color: var(--color-aside-bg); } .link-footer { padding-inline: 10px; color: var(--color-footer-text); font-size: 0.875rem; a { color: inherit; } } .login-settings { display: flex; gap: 10px; justify-content: flex-end; align-items: center; select { padding: 6px 10px; font-size: 0.875rem; line-height: 1.2; cursor: pointer; } label { font-size: 0.875rem; font-weight: 400; color: var(--color-footer-text); display: inline; } }