:root{--ink:#271d14;--paper:#fffaf0;--red:#ad2432;--gold:#ead5a4;--green:#285e4a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}h1,h2,h3{font-family:Georgia,serif;line-height:1.1}h1{font-size:clamp(2rem,4vw,3.2rem);margin:.3rem 0}h2{font-size:1.6rem}a{color:inherit}button,.button{font:inherit;font-weight:650;min-height:46px;padding:10px 16px;border:1.5px solid var(--ink);border-radius:8px;background:white;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.button:hover{background:#f2e7ce}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #17658a;outline-offset:4px}header{padding:16px 3vw;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fffdf8}nav,.actions{display:flex;gap:10px;flex-wrap:wrap}.back{font-size:14px}.game{max-width:1600px;margin:auto;display:grid;grid-template-columns:minmax(280px,36%) 1fr;gap:32px;padding:24px 3vw}.caller{align-self:start;position:sticky;top:16px;text-align:center}#current{max-width:400px;margin:auto}.ready{aspect-ratio:2/3;border:3px dashed #a9987c;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:#f4e9d0}.ready h2{font-size:3.5rem;margin:12px}.draw{background:var(--red);color:white;width:100%;max-width:400px;font-size:1.7rem;margin-top:16px;border:0;padding:16px}.draw:hover{background:#90202c}.caller .actions{justify-content:center}.shortcut,.muted{font-size:14px;color:#645440}.shortcut{margin:10px}.board-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.board-title h2{margin:0}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.card{position:relative;background:white;border:2px solid #776445;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 3px #271d1410}.art{aspect-ratio:2/3;overflow:hidden;background:#f2e7ce}.art img{display:block;width:100%;height:100%;object-fit:contain}.card.alias .art{aspect-ratio:2/2.65}.card.alias .art img{height:113.2%;object-fit:fill;object-position:top}.card-name{font-size:11px;line-height:1.2;font-weight:750;text-align:center;padding:5px 2px;min-height:32px;display:flex;align-items:center;justify-content:center}.card.large .card-name{font-size:24px;min-height:54px;padding:8px}.card.called{border-color:var(--green);box-shadow:0 0 0 2px var(--green)}.check{position:absolute;right:3px;top:3px;background:var(--green);color:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-weight:bold}.history{display:flex;gap:8px;list-style:none;padding:0;flex-wrap:wrap}.history li{background:#eee2c8;border-radius:5px;padding:6px 10px;font-size:14px}.history-heading{margin-top:28px}footer{font-size:12px;padding:20px 3vw;border-top:1px solid #d6c8af;text-align:center}.home{max-width:900px;padding:80px 24px;margin:auto}.home h1{font-size:clamp(3rem,8vw,5rem)}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:.15em}.intro{font-size:22px}.feature{display:block;text-decoration:none;margin:40px 0;padding:32px;border:2px solid var(--ink);border-radius:12px;background:#f2e3c1}.feature h2{font-size:3rem;margin:12px 0}.feature:hover{background:#ead5a4}dialog{max-width:440px;border:2px solid var(--ink);border-radius:12px;padding:24px}dialog::backdrop{background:#271d1480}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}.print-controls{max-width:950px;margin:24px auto;padding:0 24px}.print-controls input{font:inherit;padding:8px;max-width:80px}.sheets{max-width:1000px;margin:auto;padding:24px}.sheet{background:white;border:1px solid #ddd;padding:24px;margin-bottom:24px;break-after:page}.sheet h2{margin:0;font-size:28px}.sheet-head{display:flex;justify-content:space-between;align-items:center}.student-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0}.student-grid .card-name{font-size:12px}.student-grid .art{aspect-ratio:1/1.15}.student-grid .art img{object-fit:contain}.student-grid .alias .art{aspect-ratio:1/1.15}.student-grid .alias .art img{object-fit:cover;object-position:top;height:126%}.call-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:16px}.call-grid .card-name{font-size:9px}.call-grid .art{aspect-ratio:2/2.4}.call-grid .alias .art img{height:125%;object-fit:cover;object-position:top}@media(min-width:1600px){.grid{grid-template-columns:repeat(9,1fr)}}@media(max-width:1000px){.grid{grid-template-columns:repeat(5,1fr)}.game{gap:20px}}@media(max-width:650px){header{align-items:start;flex-direction:column}nav{width:100%}nav button,nav a{font-size:13px;flex:1;padding:8px}.game{display:block}.caller{position:static;max-width:360px;margin:auto auto 28px}.grid{grid-template-columns:repeat(4,1fr)}.sheet{padding:12px}.student-grid .card-name{font-size:9px}.card.large .card-name{font-size:22px}}@media print{@page{size:letter;margin:.35in}body{background:white}.print-controls,body>header,body>footer{display:none!important}.sheets{padding:0;max-width:none}.sheet{margin:0;padding:0;border:0;break-after:page;height:10.25in}.student-grid{gap:5px;margin:10px 0}.student-grid .card{break-inside:avoid}.student-grid .art{aspect-ratio:1/1.05}.student-grid .card-name{font-size:11px;min-height:24px}.sheet h2{font-size:24px}.sheet p{font-size:12px}.call-grid .card-name{font-size:8px;min-height:22px;padding:2px}.call-grid .art{aspect-ratio:2/2.2}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Keep the full deck visible alongside the projected card. */
.grid .art{height:clamp(48px,7.5vh,82px);aspect-ratio:auto}.grid .alias .art img{height:113%;width:auto;max-width:100%;margin:auto;object-fit:contain}.grid .card-name{font-size:10px;min-height:28px}.grid .card{box-shadow:none}
@media print{.student-grid .art,.student-grid .alias .art{height:1.65in;aspect-ratio:auto}.student-grid .alias .art img{height:113%;width:auto;max-width:100%;margin:auto;object-fit:contain}.call-grid .art,.call-grid .alias .art{height:.76in;aspect-ratio:auto}.call-grid .alias .art img{height:113%;width:auto;max-width:100%;margin:auto;object-fit:contain}.sheet{overflow:hidden}.call-grid .card-name{font-size:8px;min-height:20px}.student-grid .card-name{min-height:24px}}
