:root { font: 17px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#292b24; background:#faf7f0; }
* { box-sizing:border-box; }
body { max-width:64rem; margin:0 auto; padding:1.2rem; }
button,input { font:inherit; color:inherit; }
button { padding:.5rem .8rem; min-height:44px; border:1px solid #80462d; border-radius:4px; background:#faf7f0; cursor:pointer; }
button:disabled { color:#66624e; border-color:#d8cdb9; cursor:default; }
a { color:#80462d; text-underline-offset:.2em; }
button:hover:not(:disabled) { background:#eae0cd; }
a:focus-visible,button:focus-visible,input:focus-visible,h1:focus-visible { outline:3px solid #80462d; outline-offset:3px; }
input { width:100%; max-width:28rem; min-height:44px; padding:.5rem; border:1px solid #66624e; background:white; border-radius:3px; }
label { display:block; margin-bottom:.4rem; font-weight:600; }
h1 { font-size:1.8rem; line-height:1.2; margin:1.4rem 0 1rem; }
h2 { font-size:1.15rem; line-height:1.35; }
p { margin:0 0 1rem; }
.game-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid #d8cdb9; padding-bottom:.8rem; }
.game-toolbar a { font-weight:650; }
#storage-notice { background:#eae0cd; padding:.7rem; margin-top:1rem; }
#storage-notice[hidden] { display:none; }
.nickname-form { display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; margin-bottom:1rem; }
.nickname-form label { width:100%; }
.nickname-form input { flex:1; min-width:10rem; }
.progress { color:#303d32; font-weight:700; }
.card-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:.8rem; }
.card-controls li { border:1px solid #d8cdb9; padding:1rem; min-width:0; break-inside:avoid; }
.card-controls h2 { margin:0 0 .8rem; }
.stamp { border:2px solid #303d32; padding:.6rem; color:#303d32; font-weight:750; font-size:.95rem; text-align:center; letter-spacing:.04em; }
.stamp.round { border-radius:35%; }
.stamp.empty { border:1px dashed #66624e; color:#66624e; font-weight:400; letter-spacing:normal; }
time { display:block; font-size:.8rem; margin-top:.6rem; color:#66624e; }
.small { font-size:.85rem; color:#66624e; margin-top:1rem; }
.finisher { border-top:2px solid #303d32; margin-top:1.5rem; padding-top:1rem; }
.reset { margin-top:1rem; }
.print-rider { font-weight:700; }
.transcript { list-style:none; padding:0; }
.transcript li { margin-bottom:.8rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.command-buttons { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.command-buttons button { font-size:.85rem; }
.command-form { margin:1rem 0; }
.command-form input { margin-right:.6rem; }
.award { border-left:4px solid #303d32; padding:.7rem; margin-top:1rem; font-weight:600; }
.encounter-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#reset-confirm { max-width:min(90vw,32rem); border:2px solid #80462d; background:#faf7f0; color:#292b24; padding:1.4rem; }
#reset-confirm::backdrop { background:#292b24b3; }
#reset-confirm button { margin:.4rem; }
@media(max-width:580px) { .card-controls { grid-template-columns:1fr; } body { padding:.8rem; } .command-form input { max-width:none; margin:0 0 .5rem; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
@media print {
  :root,body { background:white!important; color:black!important; font-size:11pt; }
  body { max-width:none; padding:0; margin:0; }
  .game-toolbar,.nickname-form,button,.storage-explanation,.small,#storage-notice,.reset,.encounter-announcement { display:none!important; }
  .card-controls { display:grid; grid-template-columns:1fr 1fr; gap:8pt; }
  .card-controls li,.stamp { border-color:black!important; color:black!important; }
  time { color:black; }
  h1 { font-size:20pt; }
}
.current { border:2px solid #80462d!important; }
.control-status { font-size:.85rem; margin-bottom:.5rem; }
.future .control-status { color:#66624e; }
.completed .control-status { color:#303d32; font-weight:650; }
.postcard { border:1px solid #d8cdb9; padding:1rem; }
.postcard.complete { border:2px solid #303d32; background:#fffdf7; }
.chipmunks { max-width:100%; height:auto; }
.submission { margin-top:1.5rem; }
.submission a { display:block; margin:.6rem 0; }
.screenshot-mode .game-toolbar,.screenshot-mode #storage-notice,.screenshot-mode #game > :not(.postcard),.screenshot-mode #game > .nickname-form { display:none!important; }
.screenshot-mode { padding:.6rem; }
.screenshot-mode .card-controls { grid-template-columns:1fr 1fr; gap:.4rem; }
.screenshot-mode .card-controls li { padding:.5rem; }
.screenshot-mode h2 { font-size:1rem; margin:.2rem 0; }
.screenshot-mode .control-status { display:none; }
.screenshot-mode .stamp { font-size:.75rem; padding:.35rem; }
.screenshot-mode time { margin-top:.2rem; }
#exit-screenshot { margin:1rem 0; }
@media print { .submission,#game > :not(.postcard),#exit-screenshot { display:none!important; } .postcard { border:0; } }
