app/assets/stylesheets/custom.css.scss
/* universal */:root { --color-background-accent: #eee; --color-background-danger: #663300; --color-background-info: #003366; --color-background-primary: #000066; --color-background-success: #006633; --color-background: #fff; --color-button-text: #fff; --color-h1: #006633; --color-text: #000;} @media (prefers-color-scheme: dark) { :root { --color-background-accent: #111; --color-background: #000; --color-h1: #009966; --color-text: #fff; } a { color: #ccf; } a:visited { color: #fcf; }} html { overflow-y: scroll;} body { background-color: var(--color-background); color: var(--color-text); margin: 0; font-size: 16px;} main { display: block; margin: 0 auto; max-width: 96vw; min-height: 75vh;} label { display: inline-block; max-width: 100%; margin-bottom: 4px; font-weight: bold;} textarea { resize: both; width: 80%; height: 100px;} .center { text-align: center;} .pull-left { float: left; text-align: left;} .pull-right { float: right; text-align: right;} /* header */header { background-color: var(--color-background-accent); color: var(--color-text); margin-bottom: 8px; padding: 8px; a { text-decoration: none; } nav { line-height: 1.5; ul { margin: 0; li { display: inline; a.active { font-weight: bold; } } } } .header-first-row { display: flex; justify-content: space-between; nav { ul { li { display: list-item; } } } } #logo { float: left; display: inline; font-size: 2em; font-weight: bold; letter-spacing: -1px; line-height: 1; margin-right: 10px; text-transform: uppercase; } #logo:hover { color: var(--color-background-info); text-decoration: none; }} /* typography */h1, h2, h3, h4, h5, h6 { line-height: 1;} h1 { color: var(--color-h1); font-size: 3em; font-weight: bold; letter-spacing: -2px; margin-bottom: 30px; text-align: center;} h2 { font-size: 1.2em; font-weight: bold; letter-spacing: -1px; text-align: center;} p { font-size: 1.1em; line-height: 1.7em;} /* navigation */nav ul { list-style-type: none; padding-inline-start: 0; li { font-size: 1.1em; display: inline; padding-right: 6px; }} /* posts */.post { background-color: var(--color-background-accent); margin: 0 auto; border-radius: 8px; padding: 8px; text-align: center; .row { margin: 2px; overflow-x: auto; }} /* welcome page */.welcome { text-align: center;} /* comments */.comment { margin-left: 25%; margin-right: 25%; word-wrap: break-word;} /* footer */footer { border-top: 1px solid #eee; display: block; width: 100%; nav { display: inline-flex; li { margin: 2px; } }} /* buttons */.btn { border-radius: 8px; display: inline-block; padding: 10px; text-decoration: none; &.btn-lg { padding: 10px 16px; font-size: 1.2em; line-height: 1.4; border-radius: 6px; } &.btn-primary { background-color: var(--color-background-primary); color: var(--color-button-text); } &.btn-info { background-color: var(--color-background-info); color: var(--color-button-text); } &.btn-success { background-color: var(--color-background-success); color: var(--color-button-text); } &.btn-danger { background-color: var(--color-background-danger); color: var(--color-button-text); }} .btn-group { display: inline-block;} /* fields */input { font-size: 1em; padding: 2px;} .field { padding-bottom: 8px;} .field_with_errors label { padding: 2px; background-color: var(--color-background-danger); color: var(--color-button-text);} .field_with_errors input[type="text"] { padding: 3px 2px; border: 2px solid #f00;}