@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;
}
}