:root{--ink:#0d0b09;--panel:#17130f;--line:#3a3026;--parch:#e9dcc0;--dim:#a8977a;--gold:#c9a45c;--red:#9e3b2e;--grn:#5f8a4e}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--parch);font-family:"Cormorant Garamond",Garamond,Georgia,serif;font-size:19px}
h1,h2,h3,.disp{font-family:"Cinzel Decorative","Cinzel",Georgia,serif;font-weight:700;color:var(--gold);letter-spacing:.03em}
header{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
header h1{font-size:20px;margin:0}nav{display:flex;gap:6px;flex-wrap:wrap}
button{font-family:inherit;font-size:17px;background:var(--panel);color:var(--parch);border:1px solid var(--line);border-radius:6px;padding:8px 14px;cursor:pointer}
button:hover{border-color:var(--gold)}button.pri{background:var(--gold);color:var(--ink);font-weight:700;border-color:var(--gold)}
button:disabled{opacity:.35;cursor:default}button.on{border-color:var(--gold);color:var(--gold)}
main{max-width:1100px;margin:0 auto;padding:16px;display:grid;grid-template-columns:1fr 260px;gap:16px}
@media(max-width:800px){main{grid-template-columns:1fr}#board{order:-1}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;margin-bottom:14px}
.clue{font-size:clamp(22px,3.2vw,32px);line-height:1.3;margin:10px 0;padding-left:12px;border-left:3px solid var(--gold)}
.clue.old{font-size:19px;color:var(--dim);border-left-color:var(--line)}
.clue b{font-family:"Cinzel Decorative",Georgia,serif;font-size:.6em;color:var(--gold);display:block}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.grid button{text-align:left;padding:8px}.grid button .L{font-family:"Cinzel Decorative",Georgia;font-size:22px;color:var(--gold)}
.grid button.done{text-decoration:line-through;opacity:.4}
.players button.sel{background:var(--gold);color:var(--ink)}.players button.lock{opacity:.3;text-decoration:line-through}
#board table{width:100%;border-collapse:collapse}#board td{padding:4px;border-bottom:1px solid var(--line)}#board td:last-child{text-align:right;font-size:24px;color:var(--gold)}
.muted{color:var(--dim)}.ok{color:var(--grn)}.bad{color:#d06a5a}.reveal{font-size:28px}
.timer{font-size:28px;color:var(--gold);font-family:"Cinzel Decorative",Georgia}
input{font-family:inherit;font-size:18px;padding:6px;background:#0f0c0a;color:var(--parch);border:1px solid var(--line);border-radius:4px;width:100%;margin:3px 0}
.log{font-size:15px;color:var(--dim);max-height:200px;overflow:auto}
footer .copy{font-size:13px}
footer{text-align:center;color:var(--dim);padding:20px;border-top:1px solid var(--line);font-size:15px}
.peek{border:1px dashed var(--red);padding:8px;color:#e5a294}
#sheet{display:none}
.sheet .row{border-bottom:1px solid #999;padding:6px 0}.sheet .row .L{font-weight:700;font-size:22px;margin-right:10px}
@media print{header,main,footer nav,#board{display:none!important}body{background:#fff;color:#000}#sheet{display:block!important;color:#000}#sheet h2{color:#000}footer{color:#333;border:0}}

.hero{min-height:78vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.hero h1{font-size:clamp(34px,9vw,64px);margin:.2em 0;line-height:1.1}.hero .sub{font-size:22px;color:var(--dim);font-style:italic}
.big{font-size:24px;padding:16px 48px;margin:10px;min-width:240px}.menu{display:flex;flex-direction:column;align-items:center;gap:4px}
.rule{display:flex;gap:14px;align-items:flex-start;margin:14px 0}.rule .ic{font-size:30px;width:44px;text-align:center;color:var(--gold);flex:none}
.wrap{max-width:760px;margin:0 auto;padding:16px}.tabs button{margin-right:6px}.orn{color:var(--gold);letter-spacing:.5em}
.pts{font-size:46px;color:var(--gold);font-family:"Cinzel Decorative",Georgia}
@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}}
