/* Totally Serious Games: the same underfunded institution, everywhere. */
:root{--ink:#25302d;--paper:#fffdf6;--cream:#f4efe4;--red:#a9362d;--rule:#b8ad98;--orange:#a9362d;--rust:#a9362d;--green:#41573c;--muted:#58624f;--border:#c9c0ad;--mono:ui-monospace,'Courier New',monospace}
body{font-family:Arial,Helvetica,sans-serif;background-color:var(--cream);background-image:radial-gradient(#8f785114 .6px,transparent .8px);background-size:7px 9px;color:var(--ink)}
button,input,select{font-family:Arial,Helvetica,sans-serif}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.all-games-icon{border-radius:2px 6px 3px 2px;transform:rotate(-4deg);box-shadow:2px 2px 0 #bcb29c}.all-games-link{font-weight:800}header{border-bottom:1px dashed #b8ad98;background:#f4efe4}
.game-brand-heading{position:relative;padding-top:9px}.game-brand-heading:before{content:'';position:absolute;top:-4px;left:30px;width:76px;height:17px;background:#dfcea2b8;border-inline:2px dotted #b8a77975;transform:rotate(-5deg);pointer-events:none}
.game-brand-heading h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-1.5px;transform:rotate(-.7deg);transform-origin:left bottom}.game-brand-heading h1:after{content:'';display:block;width:90px;height:3px;margin-top:6px;background:var(--red);transform:rotate(-1.8deg);border-radius:60%}
.game-brand-heading .subtitle,.game-brand-heading .dek{color:#4b544b;font-family:Arial,Helvetica,sans-serif}
.brand-stamp{display:inline-block;margin-top:11px;padding:5px 9px;border:3px double var(--red);color:var(--red);font:700 12px/1.1 var(--mono);transform:rotate(2deg);letter-spacing:.2px}
.race-card,.game{background:var(--paper);border:1.5px solid #756f5c;border-radius:2px 5px 2px 4px;box-shadow:4px 5px 0 #b7a68166,7px 9px 0 #d9cebb66}
.race-score{background:var(--paper)}.course-km,.live-stats strong,.days-running strong{font-family:Arial,Helvetica,sans-serif;font-weight:700}.score-line{padding-bottom:2px}.view-switch button{border-radius:1px 4px 2px 1px;border:1px solid #736f5b;box-shadow:2px 2px 0 #bdb29d77;background:#f4efdf;font-weight:700}.view-switch button[aria-pressed=true]{background:#3f4d3a;border-color:#25302d}.view-switch button:first-child{transform:rotate(-.5deg)}.view-switch button:last-child{transform:rotate(.4deg)}
.view-stage{border-top:1px dashed #9da486;border-bottom:1px dashed #9da486}.view-stage>.scene,.view-stage>.course-overview{border:0}.view-stage .scene>.speech{border-radius:4px 9px 4px 6px;border-color:#a4aa8e;box-shadow:2px 3px 0 #a4aa8e33;transform:translateX(-50%) rotate(-1deg)}
.buttons button{border:1px solid #756f5c;border-radius:2px 5px 2px 3px;box-shadow:2px 3px 0 #b7ab9277;background:#f7f1e1;font-weight:700}.buttons button.primary{background:var(--red);border-color:#762b25;color:#fffdf6}.buttons button.primary:hover{background:#8d2e26}.buttons button:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #b7ab9277}.buttons button:not(.primary):first-of-type{transform:rotate(-.3deg)}
.live-stats{border-top:1px dashed #c9c0ad;margin-top:6px}.live-stats>div+div{border-left:1px dashed #c9c0ad}.stat-distance select,.stat-time select,input{border:1px solid #9e9581;border-radius:2px 4px 2px 3px;background:#f4efdf}.progress-track{border-radius:1px;background:#ded7c7}#progress{background:#a9362d}
.race-commentary h2,.outcomes-heading h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.7px}.race-commentary{border-top:2px solid #847b65}.race-log-entry{border-top:1px dashed #c1b7a3}.race-log-entry time{color:#59624e}.check-back{border:1px solid #a8a17e;border-left:4px solid #65744f;border-radius:1px 4px 1px 2px;background:#eee8ca;box-shadow:2px 3px 0 #b7ab9244;transform:rotate(-.4deg)}
.pre-race-name label{font-weight:700}.new-race{border-top:1px dashed #b8ad98;padding-top:6px}.new-race .text-button{background:none;box-shadow:none}
/* The interview uses the same stationery cupboard. */
.dialogue{background:#fffdf6}.dialogue>p,.ending .dialogue>p{font-family:Arial,Helvetica,sans-serif;font-weight:600}.speaker b,#question-count{font-family:var(--mono)}.interview{border-top:1px dashed #a69b83}.choice{border:1px solid #887d65;border-radius:2px 5px 2px 3px;background:#f5efdf;box-shadow:2px 2px 0 #b7ab9266}.choice .word{font-family:Arial,Helvetica,sans-serif;font-weight:800}.choice.primary{background:#41573c;border-color:#25302d}.choice:hover{background:#e8e2cf}.choice.primary:hover{background:#354831}.choice:active{box-shadow:none}.choices .choice:nth-child(2){border-radius:5px 2px 4px 1px}.topright button{border:1px solid #8d826c;border-radius:2px;min-height:44px;background:#f9f3e5;box-shadow:2px 2px 0 #c2b7a0;font-size:14px}.outcomes-panel{border:1px solid #9e927a;border-radius:2px 5px 1px 3px;background:#ede5d2;box-shadow:3px 3px 0 #c2b7a055}.outcome-card{border-radius:1px 4px 2px 1px}.track{border-radius:1px}.appointment{border:3px double var(--red);padding:10px;color:var(--red);transform:rotate(3deg)}
/* The noticeboard remains the reference for the collection. */
.brand-home .play,.brand-home .not-ready,.brand-home .support-actions button,.brand-home .share-options a{border-radius:1px 4px 2px 1px;box-shadow:2px 3px 0 #9c907650}.brand-home .masthead{border-bottom-style:dashed}.brand-home .approval{background:#fffdf622}.brand-home .board{background-color:#c7b590}
@media(max-width:600px){.game-brand-heading{padding-top:8px}.game-brand-heading h1{font-size:34px;letter-spacing:-1.5px}.game-brand-heading .brand-stamp{font-size:12px;margin-top:9px}.game-brand-heading .subtitle,.game-brand-heading .dek{font-size:15px;margin-top:8px}.race-card,.game{box-shadow:3px 4px 0 #b7a68166,5px 6px 0 #d9cebb55}.game-brand-heading{margin-bottom:16px}.brand-pigeon .titleline h1{font-size:31px}.brand-pigeon .titleline .brand-stamp{margin-top:8px}.brand-pigeon .dialogue>p{font-size:22px}.check-back{transform:rotate(-.35deg)}}
@media(max-width:350px){.game-brand-heading h1{font-size:30px}.brand-pigeon .titleline h1{font-size:28px}.brand-stamp{font-size:11px}.brand-pigeon .dialogue>p{font-size:21px}}

/* Bookish headlines and typewritten labels: institutional, on a stationery budget. */
:root{--display:'Cooper Black','Bookman Old Style',Georgia,serif;--body:'Trebuchet MS',Verdana,Arial,sans-serif}
body{font-family:var(--body)}button,input,select{font-family:var(--body)}
.game-brand-heading h1,.brand-home h1,.brand-home .game-copy h3,.brand-home .joe-note h2,.brand-home .memo h3,.race-commentary h2,.outcomes-heading h2{font-family:var(--display);font-weight:900;letter-spacing:-1px}
.brand-home .brand{font-family:var(--display);font-weight:900;letter-spacing:-.6px}.brand-home .brand-mark{font-family:var(--mono)}
.brand-home .board-heading h2{font:700 21px/1.25 var(--display);letter-spacing:-.4px}.brand-home nav a{font:700 17px var(--mono);text-decoration-style:dashed}
.brand-home .play,.brand-home .not-ready,.buttons button,.view-switch button,.choice .word{font-family:var(--mono);font-weight:700}.brand-home .play{font-size:17px}.brand-home .intro h1{line-height:1.08}.brand-home .intro p{font-family:var(--body)}
.race-share-row{padding:0 12px 15px;display:flex;justify-content:center}.race-share-row button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;width:100%;border:1px solid #83775f;border-radius:2px 4px 1px 2px;background:#eee6ce;box-shadow:2px 2px 0 #baad9077;font:700 16px var(--mono)}.race-share-row svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#race-share-dialog{color:var(--ink);background:var(--paper);width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #756f5c;border-radius:2px 6px 2px 3px;padding:23px 19px;box-shadow:5px 6px 0 #2d302433}#race-share-dialog::backdrop{background:#25302d99}#race-share-dialog h2{font:900 28px/1.15 var(--display);letter-spacing:-.7px;margin:14px 28px 17px 0}.share-close{position:absolute;right:8px;top:5px;width:44px;min-height:44px;background:none;border:0;font-size:30px;padding:0}.race-share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.race-share-options a,.race-share-options button{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #83775f;border-radius:1px 4px 2px 1px;background:#f1ead8;color:var(--ink);font:700 15px var(--mono);text-decoration:none;text-align:center;padding:10px 6px;box-shadow:2px 2px 0 #b7ab9255}.race-share-options [hidden]{display:none}#race-share-preview{font:16px/1.5 var(--body);white-space:pre-line;border-block:1px dashed #b8ad98;padding:14px 0;margin:0 0 18px;overflow-wrap:anywhere}#race-share-status{font-size:15px;line-height:1.4;margin:16px 0 0}#race-share-manual{margin-top:15px}#race-share-copy{width:100%;font:16px/1.4 var(--body);background:#fffdf6;border:1px solid #83775f;padding:8px}#race-share-dialog button:focus-visible,#race-share-dialog a:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:600px){.brand-home .intro h1{font-size:clamp(32px,8.2vw,42px);letter-spacing:-1px}.brand-home .game-copy h3{font-size:25px;line-height:1.08}.brand-home .brand{font-size:18px}.brand-home .board-heading h2{font-size:21px}.game-brand-heading h1{font-size:34px}.brand-pigeon .titleline h1{font-size:31px}}
@media(max-width:350px){.brand-home .brand{font-size:16px}.brand-home .game-copy h3{font-size:23px}.game-brand-heading h1{font-size:29px}.brand-pigeon .titleline h1{font-size:27px}.race-share-options{gap:8px}.race-share-options a,.race-share-options button{font-size:14px}}

/* Each playable sheet is one real link, including the artwork and stamp. */
.brand-home .playable-card{color:inherit;text-decoration:none;cursor:pointer;transition:transform .17s ease,box-shadow .17s ease,background-color .17s ease;outline-offset:4px}.brand-home .game-card .tape,.brand-home .game-card .pin{pointer-events:none}.brand-home .playable-card .play{transition:background-color .17s ease}.brand-home .playable-card .play span{transition:transform .17s ease}.brand-home .playable-card:focus-visible{outline:3px dashed var(--red);background:#fff8e8;box-shadow:5px 8px 0 #55452c66,0 12px 18px #54432a33}.brand-home .playable-card:focus-visible .play{background:var(--red)}
@media(hover:hover) and (pointer:fine){.brand-home .playable-card:hover{outline:2px dashed var(--red);background:#fff8e8;box-shadow:6px 10px 0 #55452c66,0 15px 22px #54432a40}.brand-home .snail .playable-card:hover{transform:translateY(-7px) rotate(-1.2deg)}.brand-home .pigeon .playable-card:hover{transform:translateY(-7px) rotate(1.1deg)}.brand-home .playable-card:hover .play{background:var(--red);box-shadow:2px 3px 0 #7c302c55}.brand-home .playable-card:hover .play span{transform:translate(3px,-3px)}}
.brand-home .playable-card:active{background:#f0e8d2}.brand-home .playable-card:active .play{background:#8d2e26}@media(prefers-reduced-motion:reduce){.brand-home .playable-card,.brand-home .playable-card .play,.brand-home .playable-card .play span{transition:none}.brand-home .playable-card:hover{transform:none}}
