/* Paul bought the whole web-safe palette, so Paul is using the whole palette. */
* { box-sizing:border-box; }
html { font-size:16px; }
body { margin:0; color:#000; background:#000020 url('navy-tile.gif') repeat; font:1rem/1.4 'Times New Roman',Times,serif; }
a { color:#0000ee; font-weight:bold; text-decoration:underline; }
a:visited { color:#551a8b; }
a:hover { color:#f00; background:#ff0; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px dotted #e00000; outline-offset:3px; }
img { max-width:100%; height:auto; image-rendering:pixelated; vertical-align:middle; }
a img { border:0; }
[hidden] { display:none!important; }
button,input,select { font:1rem Arial,sans-serif; border-radius:0; }
button,.button { display:inline-block; margin:4px 3px 4px 0; padding:8px 12px; min-height:42px; color:#000; background:#c0c0c0; border:3px solid; border-color:#fff #222 #222 #fff; box-shadow:inset -1px -1px #808080; font:bold .875rem Arial,sans-serif; cursor:pointer; text-decoration:none; vertical-align:middle; }
.button:visited { color:#000; }
button:active,.button:active { border-color:#222 #fff #fff #222; }
button:disabled { color:#555; cursor:default; }
input:not([type=checkbox]),select { max-width:100%; width:100%; min-height:42px; padding:7px; background:#fff; color:#000; border:2px inset #fff; }
input[type=checkbox] { width:20px; height:20px; vertical-align:middle; }
label { display:block; margin:8px 0; }
.warning { padding:4px 10px; border-bottom:3px ridge #fff; background:#f00; color:#ffff80; text-align:center; font:bold .75rem Arial,sans-serif; }
.page { width:700px; max-width:calc(100% - 14px); margin:14px auto 30px; background:#c0c0c0; border:5px ridge #eee; padding:8px; }
.mast { padding:12px 8px; background:#000080; color:#ff0; border:3px groove #fff; text-align:center; }
.mast p { margin:6px 0 0; }
h1 { margin:3px 0 6px; font:bold 2.1rem/1.05 'Times New Roman',Times,serif; overflow-wrap:break-word; }
h2 { font:bold 1rem Arial,sans-serif; }
.eyebrow { margin:0 0 7px; font:bold .75rem 'Courier New',monospace; letter-spacing:1px; }
.links { padding:7px 4px; margin:4px 0; background:#efefef; text-align:center; border:2px inset #fff; }
.links a { display:inline-block; margin:0 4px; padding:5px 2px; }
.panel { margin:9px 0; padding:14px; background:#ffffcc; border:3px outset #fff; }
.panel > :first-child { margin-top:0; }
.panel > :last-child { margin-bottom:0; }
.panel-title { margin:-14px -14px 12px!important; padding:4px 8px; color:white; background:#000080; border-bottom:2px solid #000; }
.cyan-panel { background:#cfffff; }
.pink-panel { background:#ffccff; }
.centre { text-align:center; }
.small { font: .75rem/1.45 Arial,sans-serif; }
.quiet { color:#404040; }
.rule { display:block; width:96%; height:10px; margin:10px auto; }
.foot { margin-top:12px; text-align:center; padding:7px; border-top:3px groove #fff; font:.75rem/1.5 Arial,sans-serif; }
.foot p { margin:5px 0; }
.stamp { display:inline-block; padding:5px 9px; color:#800000; border:3px double #800000; background:#ffffcc; font:bold .875rem 'Courier New',monospace; }
.readout { margin:10px 0; padding:12px; color:#00ff00; background:#000; border:4px inset #fff; font:1rem/1.5 'Courier New',monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.readout p { margin:4px 0; }
.readout a { color:#0ff; }
.readout a:visited { color:#f8f; }
.error { color:#ff8080; }
.window { margin:12px 0; background:#c0c0c0; border:3px solid; border-color:#fff #222 #222 #fff; padding:3px; }
.window-title { margin:0; padding:4px 6px; color:#fff; background:#000080; font:bold .875rem Arial,sans-serif; overflow-wrap:anywhere; }
.window-body { padding:14px; }
.window-body p { margin:6px 0 12px; }
.statusbar { padding:3px 6px; font:.75rem Arial,sans-serif; border:2px inset #fff; }
.checklist { list-style:none; padding:0; }
.checklist li { border-bottom:1px dotted #888; padding:7px 0; }
.checklist b { color:#006000; }
.checklist .pending { color:#900; }
.data-table { width:100%; border:3px ridge #fff; border-spacing:2px; background:#808080; table-layout:fixed; }
.data-table th { padding:6px; color:#fff; background:#800080; font:bold .875rem Arial,sans-serif; text-align:left; }
.data-table td { padding:8px; background:#fffedc; vertical-align:top; overflow-wrap:anywhere; }
.data-table .number { text-align:right; font-family:'Courier New',monospace; }
.progress { height:28px; margin:12px 0; background:#fff; border:3px inset #eee; }
.progress-fill { height:100%; width:0; background:repeating-linear-gradient(90deg,#000080 0,#000080 12px,#c0c0c0 12px,#c0c0c0 15px); }
.disk-prompt { padding:12px; border:3px ridge #fff; background:#ffffcc; }
.award { margin:8px 0; padding:14px 8px; border:6px double #800080; background:#ffffcc; text-align:center; }
.award:nth-child(even) { background:#ccffff; border-color:#000080; }
.award h2 { color:#800080; margin:8px 0; font:bold 1.25rem 'Times New Roman',serif; }
.award img { width:88px; height:31px; }
.award .citation { font-style:italic; }
.big-number { display:block; font:bold 2.4rem 'Courier New',monospace; letter-spacing:4px; }
.gif-row { display:flex; justify-content:center; align-items:center; gap:16px; padding:12px 0; flex-wrap:wrap; }
.gif-row img { max-width:88px; max-height:72px; }
.clipart-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; text-align:center; }
.clipart-list figure { margin:0; padding:10px 3px; border:3px inset #fff; background:#fff; }
.clipart-list img { object-fit:contain; width:64px; height:64px; }
.clipart-list figcaption { margin-top:8px; font:bold .875rem Arial,sans-serif; }
.colour-strip { display:flex; flex-wrap:wrap; gap:4px; justify-content:center; }
.colour-strip button { min-width:75px; }
.jenny { background-color:#400040; }
.jenny .mast { background:#800080; color:#ff0; }
.jenny .page { background:#ffb3ff; font-family:'Comic Sans MS','Times New Roman',serif; }
.murray { background:#666; }
.murray .page { background:#ddd; }
.murray .mast { background:#fff; color:#000; border:1px solid #000; text-align:left; }
.murray h1 { font-size:1.9rem; }
.murray .panel { background:#fff; border:1px solid #000; }
.dave .mast { background:#008000; }
.dave .page { border-color:#0f0; }
.dave .data-table th { background:#ddd; color:#000; border:1px solid #888; }
.dave .data-table td { background:#fff; border:1px solid #aaa; padding:8px 4px; }
.dave .data-table td:first-child { background:#ddd; width:35px; }
.forecast { font-weight:bold; color:#800000; }
.blinking { animation:blink 1.8s steps(1,end) infinite; }
@keyframes blink { 0%,59% { visibility:visible; } 60%,100% { visibility:hidden; } }
@media(max-width:480px) {
  .page { margin:5px auto 18px; padding:5px; }
  .mast { padding:12px 5px; }
  h1 { font-size:1.8rem; }
  .panel { padding:11px; }
  .panel-title { margin:-11px -11px 11px!important; }
  .links a,button,.button { min-height:44px; }
  .links a { padding:10px 2px; }
  .window-body { padding:9px; }
  .data-table { font-size:.875rem; }
  .data-table td,.data-table th { padding:6px 4px; }
  .clipart-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; } }
