/* 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}}

/* Compact race masthead: stamp sits alongside the title rather than underneath. */
.brand-snail .intro{display:block;position:relative;padding-right:94px;min-height:93px;margin-bottom:14px}.brand-snail .intro h1{font-size:42px;line-height:1.05}.brand-snail .intro h1:after{margin-top:4px}.brand-snail .intro .subtitle{margin-top:8px;font-size:16px;line-height:1.3}.brand-snail .snail-stamp{position:absolute;right:1px;top:5px;width:79px;height:79px;border:3px double var(--red);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transform:rotate(9deg);margin:0;padding:7px;font:700 11px/1 var(--mono);background:#fffdf633;box-shadow:inset 0 0 0 3px #a9362d12}.snail-stamp b{font:900 18px/1 var(--display);letter-spacing:.5px}.snail-stamp span{font:inherit}.race-share-options button{line-height:1.35}
@media(max-width:600px){.brand-snail .intro{padding-right:79px;min-height:82px;padding-top:8px;margin-bottom:13px}.brand-snail .intro h1{font-size:31px;letter-spacing:-1.3px}.brand-snail .intro .subtitle{font-size:14px;line-height:1.35;max-width:270px}.brand-snail .snail-stamp{width:69px;height:69px;right:0;top:10px;font-size:10px;gap:2px}.snail-stamp b{font-size:16px}}
@media(max-width:350px){.brand-snail .intro{padding-right:65px}.brand-snail .intro h1{font-size:27px;letter-spacing:-1.5px}.brand-snail .snail-stamp{width:59px;height:59px;font-size:9px;top:10px}.snail-stamp b{font-size:14px}.brand-snail .intro .subtitle{font-size:14px}}

/* A generously stamped, coffee-stained piece of race paperwork. */
.brand-snail .game-brand-heading:before{display:none}.brand-snail .intro{isolation:isolate;min-height:158px;padding-right:0;padding-top:14px;margin-top:0}.brand-snail .intro>div{position:relative}.brand-snail .intro h1,.brand-snail .intro .subtitle{position:relative;z-index:2}.brand-snail .intro h1{max-width:80%}.brand-snail .snail-stamp{width:237px;height:237px;right:3px;top:-24px;font-size:28px;gap:8px;opacity:.27;z-index:-1;border-width:5px;background:none;box-shadow:inset 0 0 0 6px #a9362d12}.brand-snail .snail-stamp b{font-size:52px}.coffee-ring{position:absolute;width:143px;height:135px;left:39%;top:-5px;z-index:-2;transform:rotate(-17deg);border-radius:48% 52% 49% 51%;background:radial-gradient(ellipse,transparent 57%,#80502113 58%,#96613239 60%,#ab763e30 61%,#75461f25 62%,transparent 65%),conic-gradient(from 20deg,transparent 0 18%,#96613216 20% 31%,transparent 33% 65%,#96613214 68% 87%,transparent 90%);mask-image:radial-gradient(ellipse,transparent 54%,#000 56% 65%,transparent 68%);filter:blur(.5px)}.coffee-ring:after{content:'';position:absolute;inset:3px -1px -2px 3px;border:2px solid #93602f24;border-radius:49% 51% 47% 53%;transform:rotate(9deg)}
.snail-share-card{padding:12px 14px 14px;border:1px solid #a69a7d;background:#f6f0dc;box-shadow:2px 3px 0 #b7ab9255;text-align:center}.share-card-brand{font:700 11px/1.3 var(--mono);margin:0;color:#655e4b;letter-spacing:.2px}.share-snail-art{height:151px;display:flex;align-items:center;justify-content:center;margin:8px -4px 0;background:radial-gradient(ellipse at 50% 88%,#b4b99644 0 27%,transparent 30%)}.share-snail-art svg{width:230px;height:163px;flex-shrink:0}.snail-share-card h3{font:900 29px/1.1 var(--display);margin:1px 0 12px;overflow-wrap:anywhere}.share-card-distance{font:16px/1.4 var(--body);margin:0}.share-card-distance strong{font-size:24px;letter-spacing:-.5px}.share-card-distance span{white-space:nowrap}.share-card-percent{font:700 16px/1.3 var(--mono);color:var(--red);margin:6px 0 12px}.share-card-joke{font:16px/1.3 var(--body);margin:0 0 14px}.share-card-invite{font:14px/1.4 var(--body);border-top:1px dashed #b8ad98;padding-top:10px;margin:0}.share-card-invite span{font:12px/1.4 var(--mono);overflow-wrap:anywhere;display:inline-block;margin-top:3px}#race-share-dialog h2{font-size:25px;margin:10px 35px 15px 0}.race-share-options{margin-top:16px}.race-share-options button{font-size:14px}#race-share-status:empty{display:none}
@media(max-width:600px){.brand-snail .intro{min-height:157px;padding-top:17px;padding-right:0}.brand-snail .intro h1{font-size:34px;max-width:100%}.brand-snail .snail-stamp{width:207px;height:207px;right:0;top:-10px;font-size:23px;gap:7px;border-width:4px;opacity:.22}.brand-snail .snail-stamp b{font-size:46px}.brand-snail .intro .subtitle{font-size:15px;max-width:240px}.coffee-ring{left:20%;top:0;width:141px;height:133px}}
@media(max-width:350px){.brand-snail .intro h1{font-size:29px}.brand-snail .intro{min-height:154px}.brand-snail .snail-stamp{width:177px;height:177px;font-size:20px;top:0}.brand-snail .snail-stamp b{font-size:40px}.share-snail-art{height:132px}.share-snail-art svg{width:208px;height:148px}.snail-share-card h3{font-size:26px}.share-card-distance strong{font-size:21px}.race-share-options button{font-size:13px}}
@media(max-height:740px){#race-share-dialog{padding:15px}.share-snail-art{height:119px}.share-snail-art svg{width:190px;height:135px}.snail-share-card h3{font-size:25px;margin-bottom:8px}.share-card-joke{margin-bottom:9px}.share-card-percent{margin-bottom:9px}}

.brand-snail .race-card{position:relative;z-index:1}.brand-snail .intro{min-height:205px}.brand-snail .snail-stamp{top:-30px}.share-card-invite span{word-break:normal;overflow-wrap:normal;max-width:100%}
@media(max-width:600px){.brand-snail .intro{min-height:175px}.brand-snail .snail-stamp{top:-35px}}@media(max-width:350px){.brand-snail .intro{min-height:154px}.brand-snail .snail-stamp{top:-25px}.share-card-invite span{font-size:11px}}

/* A single aligned content column on laptop and desktop screens. */
@media(min-width:800px){body.brand-snail main{max-width:848px;padding:32px 24px 0}body.brand-snail header{max-width:848px;margin-inline:auto;padding-inline:24px}body.brand-snail .intro,body.brand-snail .race-card,body.brand-snail .race-commentary,body.brand-snail .check-back,body.brand-snail .new-race,body.brand-snail footer{width:100%;max-width:none;margin-inline:0}body.brand-pigeon main{max-width:1008px;padding:32px 24px 0}body.brand-pigeon header{max-width:1008px;margin-inline:auto;padding-inline:24px}body.brand-pigeon .titleline,body.brand-pigeon .game,body.brand-pigeon .under-game,body.brand-pigeon .outcomes-panel,body.brand-pigeon footer{width:100%;margin-inline:0}body.brand-pigeon .titleline{gap:24px}body.brand-pigeon .titleline>div:first-child{min-width:0}body.brand-pigeon .appointment{flex-shrink:0}body.brand-pigeon .under-game{align-items:flex-start}body.brand-pigeon .meters{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}body.brand-pigeon .meter-item{width:auto}body.brand-pigeon .lunch{grid-column:1/-1;border:0;padding:0;display:flex;gap:20px;align-items:center;justify-content:space-between}body.brand-pigeon .lunch b{margin:0}body.brand-pigeon .tip{max-width:190px}}
