:root{--wood:#3b1f14;--wood2:#5a3020;--brass:#d4a64a;--cream:#f7eedb;--ink:#2a1a12;--green:#1f4d36;--red:#8e2b22}
*{box-sizing:border-box}
body{margin:0;font-family:Georgia,"Times New Roman",serif;background:var(--wood) repeating-linear-gradient(90deg,#3b1f14 0 40px,#43241a 40px 80px);color:var(--ink);min-height:100vh}
.sign{background:var(--green);border-bottom:4px solid var(--brass);color:var(--cream);text-align:center;padding:14px 10px}
.sign h1{margin:4px 0;font-size:1.7rem;letter-spacing:.5px;color:var(--brass);font-variant:small-caps}
.small{font-size:.8rem;opacity:.9}
main{max-width:560px;margin:0 auto;padding:14px}
.card{background:var(--cream);border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 4px 12px rgba(0,0,0,.35);border:2px solid var(--brass)}
.ep{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;color:var(--wood2)}
h2{margin:.2em 0 .4em;font-size:1.4rem}
.scene{background:linear-gradient(#5a3020,#3b1f14);border-radius:10px;padding:12px;color:var(--cream);display:grid;grid-template-columns:repeat(5,1fr);gap:6px;text-align:center;font-size:1.8rem;min-height:90px;align-items:center}
.scene .lab{display:block;font-size:.75rem;color:var(--brass);font-family:sans-serif}
.art-slot{display:none}
.items{display:flex;flex-direction:column;gap:8px;margin-top:12px}
button.item,button.opt{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;font-size:1rem;padding:12px;border-radius:10px;border:2px solid var(--wood2);background:#fff;color:var(--ink);cursor:pointer;min-height:48px}
button.item .letter{font-weight:bold;background:var(--wood2);color:var(--cream);border-radius:6px;padding:2px 8px}
button.item.wrong{background:#f1d2cc;border-color:var(--red);text-decoration:line-through;opacity:.75}
button.item.right{background:#cfe8d6;border-color:var(--green)}
button:disabled{cursor:default}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
button.opt{justify-content:center}
button.opt.right{background:#cfe8d6;border-color:var(--green)}
button.opt.wrong{background:#f1d2cc;border-color:var(--red)}
.btn{display:inline-block;font:inherit;background:var(--green);color:var(--cream);border:2px solid var(--brass);padding:10px 16px;border-radius:10px;cursor:pointer;margin:4px 4px 0 0;text-decoration:none}
.msg{font-weight:bold;margin:8px 0}
.reveal{border-left:4px solid var(--brass);padding-left:10px}
.stats{display:flex;justify-content:space-around;text-align:center}
.stats b{display:block;font-size:1.4rem}
pre.share{background:#fff;padding:10px;border-radius:8px;white-space:pre-wrap;font-size:.95rem}
.letters{display:flex;gap:6px;justify-content:center;margin:10px 0}
.letters span{width:40px;height:48px;border:2px solid var(--brass);border-radius:6px;background:var(--wood2);color:var(--cream);font-size:1.6rem;display:flex;align-items:center;justify-content:center}
input.guess{font:inherit;font-size:1.2rem;padding:10px;border-radius:8px;border:2px solid var(--wood2);width:100%;text-transform:uppercase}
ol.chosen{padding-left:22px}
footer{color:var(--cream);text-align:center;font-size:.8rem;padding:10px 16px 30px;opacity:.9}
footer a,.card a{color:var(--brass)}
.card a{color:var(--green);font-weight:bold}
.art{display:block;margin:8px 0 12px;text-decoration:none;position:relative}
.art img{display:block;width:100%;height:auto;border-radius:10px;border:2px solid var(--wood2)}
.art .zoom{display:block;text-align:center;font-size:.8rem;color:var(--ink);opacity:.75;margin-top:4px;font-family:sans-serif}
.pic{position:relative;width:100%;margin:8px 0;cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none}
.pic img{display:block;width:100%;height:auto;border-radius:10px;border:2px solid var(--wood2)}
.ring{position:absolute;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.5);pointer-events:none}
.ring.wrong{border-color:#e05050}.ring.right{border-color:#3fd16b;border-width:4px}
.ring span{position:absolute;top:-4px;left:-4px;background:#222;color:#fff;font:bold .75rem sans-serif;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.tip{min-height:1.3em;font-size:.9rem;opacity:0;transition:opacity .3s;text-align:center;font-family:sans-serif}.tip.show{opacity:.8}
.note{margin:4px 0;font-size:.95rem}.note.wrong{color:#a03030}.note.right{font-weight:bold;color:#1d6b36}
