* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-// colour definitions
-$backgroundcolour: #ffffff;
-$foregroundcolour: #000000;
+@import "lib/colourmap.scss";
-$linkdefaultcolour: #0000cd;
-$linkactivecolour: #ff0000;
-$linkvisitedcolour: #800080;
+@include defcolours
+ ( $background: #ffffff #000000
+ , $foreground: #000000 #ffffff
-$ruledefaultcolour: #d3d3d3;
-$rulestrongcolour: #696969;
+ , $linkdefault: #0000cd #a3aaff
+ , $linkactive: #ff0000
+ , $linkvisited: #800080 #e493f7
+ , $focusring: #628cb2
-$annotationcolour: #708090;
+ , $annotation: #708090
+ , $tableshade: #f5f5f5 #101010
-$tableshadecolour: #f5f5f5;
-
-$focusringcolour: #628cb2;
+ , $ruledefault: #d3d3d3 #494949
+ , $rulestrong: #696969 #939393
+ );
@mixin header_size($maxwidth, $fontsize) {
font-size: $fontsize;
max-width: 1em * ($maxwidth / $fontsize);
}
+html { @include usecolours($background-color: background); }
body {
- background-color: $backgroundcolour;
- color: $foregroundcolour;
+ @include usecolours($color: foreground);
font-family: sans-serif;
margin: 1em;
}
-a:link { color: $linkdefaultcolour; border-color: $linkdefaultcolour; }
-a:visited { color: $linkvisitedcolour; border-color: $linkvisitedcolour; }
-a:active { color: $linkactivecolour; border-color: $linkactivecolour; }
+a:link {
+ @include usecolours($color: linkdefault, $border-color: linkdefault);
+}
+a:visited {
+ @include usecolours($color: linkvisited, $border-color: linkvisited);
+}
+a:active {
+ @include usecolours($color: linkactive, $border-color: linkactive);
+}
@supports (outline-style: auto) {
a:link { border-width: 0; }
- a:focus { outline: auto $focusringcolour; }
+ a:focus { @include usecolour(outline, focusring, auto); }
li, td, dt { &>a:link { border: solid 1px transparent; } }
}
p.img { margin: 0.5em 0; }
}
+
+ @media (max-width: 45em) {
+ .inline.gallery {
+ display: block;
+ p.img {
+ a { max-width: 24em; }
+ margin: 1em 0;
+ }
+ }
+ }
}
p.img {
border: solid 2px;
}
+ a.left { margin: 0 1em 0.5em 0; float: left; clear: left; }
+ a.right { margin: 0 0 0.5em 1em; float: right; clear: right; }
+ a.left, a.right {
+ @media (max-width: 45em) { float: none; margin: 0; }
+
+ max-width: 24em;
+ }
+
small {
- color: $foregroundcolour;
- text-align: justify;
+ @include usecolours($color: foreground);
@media (max-width: 24em) { text-align: left; }
padding: 0.5ex;
display: block;
+ display: -moz-inline-box;
+ display: inline-block;
+ text-align: justify;
font-size: 0.9em;
}
}
clear: both;
margin: 0.5em 0;
border: 0;
- border-top: 1px solid $ruledefaultcolour;
+ @include usecolour(border-top, ruledefault, 1px solid);
}
kbd {
font-family: monospace;
font-size: 0.95em;
&:before { content: "% "; }
+ &.ok:before { content: "ok "; }
&>span { white-space: nowrap; }
blockquote & {
display: block;
+ & + br { display: none; }
text-align: left;
padding-left: 3em;
text-indent: -3em;
}
.permalink {
+ @include usecolours($color: annotation);
font-size: small;
- color: $annotationcolour;
a:link, a:visited { color: inherit; }
+ a:active { @include usecolours($color: linkactive); }
@media not screen { visibility: hidden; }
}
// General table styles.
table {
- border: 1px solid $ruledefaultcolour;
+ @include usecolour(border-top, ruledefault, 1px solid);
border-collapse: collapse;
+ clear: both;
width: 100%;
}
margin: 0;
}
-thead>tr, tbody>tr { border: solid $ruledefaultcolour; }
-th, thead>tr { border-bottom: 1px solid $rulestrongcolour; }
-tbody+tbody { border-bottom: 1px solid $ruledefaultcolour; }
+thead>tr, tbody>tr { @include usecolour(border, ruledefault, solid); }
+th, thead>tr { @include usecolour(border-bottom, rulestrong, 1px solid); }
+tbody+tbody { @include usecolour(border-bottom, ruledefault, 1px solid); }
*>table, *>th { border: none; }
thead>tr { border-width: 1px; }
tbody>tr { border-width: 0 1px; }
-td + td { box-shadow: -1px 0 $backgroundcolour; }
+td + td {
+ @include usecolour(box-shadow, background, -1px 0);
+}
tbody>tr {
- &:nth-of-type(even) { background-color: $tableshadecolour; }
- &:last-child { border-bottom: solid 1px $ruledefaultcolour; }
+ &:nth-of-type(even) { @include usecolours($background-color: tableshade); }
+ &:last-child { @include usecolour(border-bottom, ruledefault, solid 1px); }
}
// Specific table styles
#{"input.clicky-#{$col+$focuslabel}"}>span:first-child
, #{"input.clicky-#{$col}-rev#{$focuslabel}"} .svg
{
- border-color: $foregroundcolour;
+ @include usecolours($border-color: foreground);
@at-root { @supports (outline-style: auto) { & {
- border-color: transparent;
- outline: auto $focusringcolour;
+ @include usecolour(outline, focusring, auto);
+ border-color: transparent !important;
}}}
}
}
padding-right: 2px;
}
- &:active { color: $linkactivecolour; }
+ &:active { @include usecolours($color: linkactive); }
&:first-child:active>span, &~label:active>.svg {
- border-color: $linkactivecolour;
+ @include usecolours($border-color: linkactive);
@at-root { @supports (outline-style: auto) { & {
+ @include usecolour(outline, focusring, auto);
border-color: transparent;
- outline: auto $focusringcolour;
}}}
}
}
}
-#footer p { color: $annotationcolour; }
+#footer p { @include usecolours($color: annotation); }
#article-info p { font-style: italic; }
.wbr:after { content: "\200b"; }
#sitetitle * { float: none; }
#footer { padding: 0 1em; }
}
+
+// lighten icon shadows in dark mode
+@media (prefers-color-scheme: dark) {
+ svg.icons { path.shadow, g.shadow>* { opacity: 0.7; } }
+ svg.icons .shadow>stop { stop-color: #aaa; }
+ svg.return path.shadow { opacity: 0.45; }
+}
+
+// page-specific dark mode styles
+@media (prefers-color-scheme: dark) and (min-width: 35em) {
+ #page_weblog_responsive_tables {
+ @each $tN in t6 t7 t8 {
+ ##{$tN}>tbody>tr.#{$tN}-split {
+ @include usecolour_dark_(border-bottom, ruledefault);
+
+ &:nth-of-type(odd) ~ tr:nth-of-type(odd) {
+ @include usecolour_dark_(background-color, tableshade);
+ }
+ }
+ }
+ }
+}