@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2)format("woff2"),url(/assets/libre-baskerville-latin-400-normal-BTm3cn9P.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-italic-Dx5Rrf3o.woff2)format("woff2"),url(/assets/libre-baskerville-latin-400-italic-DvfstiAl.woff)format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/libre-baskerville-latin-700-normal-CLGq6Yj4.woff2)format("woff2"),url(/assets/libre-baskerville-latin-700-normal-D1DCMXWx.woff)format("woff")}@font-face{font-family:HamletOrNot;src:url(/assets/HamletOrNot-D95dQBYS.ttf)format("truetype");font-display:swap}:root{--bg:#16120d;--bg-raised:#221b14;--bg-panel:#2b2219;--line:#4a3b2a;--text:#ecdfc4;--muted:#b3a283;--gold:#d2a94d;--gold-bright:#f3cf74;--blue:#7d8fb0;--danger:#e07a62;--ok:#8fc27a;--radius:8px;--font-text:"Libre Baskerville", Georgia, "Iowan Old Style", serif;--font-heading:"HamletOrNot", "Libre Baskerville", Georgia, serif;--card-ratio:1.4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font-text);margin:0;font-size:14px;line-height:1.4}button,input,select{font:inherit;color:inherit}h1,h2,h3,.headline{font-family:var(--font-heading);font-weight:400}button{cursor:pointer;background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);padding:.45em .9em}button:hover:not(:disabled){border-color:var(--gold)}button:disabled{cursor:default;opacity:.55}button.primary{background:var(--gold);border-color:var(--gold);color:#1b140b;font-weight:700}button.primary:hover:not(:disabled){background:var(--gold-bright)}button.link{color:var(--gold);text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}a{color:var(--gold)}input,select{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:.45em .6em}input:focus,select:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.row{flex-wrap:wrap;align-items:center;gap:.5em;display:flex}.error{color:var(--danger)}.win{color:var(--ok);font-weight:700}.hint{color:var(--muted);font-size:.9em}.badge{border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:.5em;padding:0 .45em;font-size:.8em}.banner{background:var(--gold);color:#1b140b;text-align:center;padding:.4em 1em;font-weight:700}.banner.inline{border-radius:var(--radius)}.home,.lobby{flex-direction:column;gap:1rem;max-width:34rem;margin:0 auto;padding:2.5rem 16px;display:flex}.home h1{letter-spacing:.08em;color:var(--gold);margin:0;font-size:4.2rem;font-weight:400}.tagline{color:var(--muted);margin-top:-.5rem}.field{flex-direction:column;gap:.3em;display:flex}.field span{color:var(--muted);font-size:.9em}.home-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.join{gap:.4rem;display:flex}.code-input,.room-code{letter-spacing:.2em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.code-input{width:6.5em}.room-code{color:var(--gold)}.home-links{flex-wrap:wrap;gap:1.25rem;margin-top:1rem;display:flex}.credit{color:var(--muted);margin-top:2rem;font-size:.8em}.curtain{text-align:center;align-items:center;padding-top:25vh}.players{flex-direction:column;gap:.35em;margin:0;padding:0;list-style:none;display:flex}.dot{border-radius:50%;width:.6em;height:.6em;margin-right:.5em;display:inline-block}.dot.on{background:var(--ok)}.dot.off{background:var(--line)}.settings{flex-wrap:wrap;gap:1rem;display:flex}.puzzle-list{flex-direction:column;gap:.35em;display:flex}.difficulty{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75em}.difficulty.easy{color:var(--ok)}.difficulty.medium{color:var(--gold)}.difficulty.hard{color:var(--danger)}.card{background:0 0;border:none;border-radius:6px;flex:none;padding:0;line-height:0;transition:transform .12s,box-shadow .12s;position:relative}.card img{aspect-ratio:5/7;border-radius:6px;width:100%;box-shadow:0 2px 6px #00000080}.card:disabled{opacity:1}.card-xs{width:28px}.card-sm{width:64px}.card-md{width:92px}.card-lg{width:112px}.card.clickable{box-shadow:0 0 0 2px var(--gold);border-radius:6px}.card.clickable:hover{transform:translateY(-4px)}.card.picked{box-shadow:0 0 0 3px var(--gold-bright), 0 0 14px var(--gold);transform:translateY(-6px)}.card.face-down .peek{text-align:center;color:var(--gold-bright);text-shadow:0 1px 2px #000;font-size:10px;line-height:1.1;position:absolute;inset:auto 0 6px}.card-preview{pointer-events:none;z-index:50;width:min(300px,40vw);position:fixed;bottom:16px;right:16px}.card-preview img{border-radius:12px;width:100%;box-shadow:0 8px 30px #000000b3}@media (hover:none){.card-preview{display:none}}.empty-slot{aspect-ratio:5/7;border:1px dashed var(--line);width:64px;color:var(--muted);background:0 0;border-radius:6px;place-items:center;padding:0;font-size:.8em;line-height:1;display:grid}.empty-slot.clickable{border:2px solid var(--gold);color:var(--gold)}.empty-slot.picked{border:3px solid var(--gold-bright)}.game{grid-template-columns:minmax(0,1fr) 320px;gap:12px;min-height:100vh;padding:12px 16px;display:grid}.board-wrap{flex-direction:column;gap:10px;min-width:0;display:flex}.table-header{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5em;display:flex}.players-inline span+span:before{content:" · "}.players-inline .offline{opacity:.5;text-decoration:line-through}.board{border:1px solid var(--line);background:radial-gradient(#3a2c1d 0%,#241b12 70%);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:".top.""left center right"".bottom.";gap:10px;padding:12px;display:grid}.seat-top{grid-area:top}.seat-left{grid-area:left}.seat-right{grid-area:right}.seat-bottom{grid-area:bottom}.center{text-align:center;flex-direction:column;grid-area:center;justify-content:center;align-items:center;gap:8px;display:flex}.round-info{color:var(--muted);font-size:.85em}.discard{flex-direction:column;align-items:center;gap:4px;display:flex}.label{color:var(--muted);font-size:.8em}.headline{color:var(--gold-bright);font-size:1.5em;line-height:1.2}.seat{background:#00000038;border:1px solid #0000;border-radius:12px;min-width:0;padding:8px}.seat.active{border-color:var(--gold)}.seat.ghost{opacity:.75}.seat header{justify-content:space-between;align-items:center;gap:.5em;margin-bottom:6px;display:flex}.seat-name{background:0 0;border:1px solid #0000;align-items:center;gap:.4em;padding:.1em .4em;font-weight:700;display:inline-flex}.seat-name:disabled{opacity:1}.seat-name.clickable{border-color:var(--gold);color:var(--gold-bright)}.seat-name.picked{background:var(--gold);color:#1b140b}.turn-dot{background:var(--gold-bright);width:.55em;height:.55em;box-shadow:0 0 6px var(--gold);border-radius:50%}.seat-stats{color:var(--muted);white-space:nowrap;gap:.7em;font-size:.9em;display:flex}.marks{color:var(--gold);letter-spacing:.1em}.coins{color:var(--text)}.seat-row{align-items:flex-start;gap:10px;display:flex}.pile{flex:none;position:relative}.pile-count{background:var(--bg);border:1px solid var(--gold);min-width:1.5em;color:var(--gold-bright);text-align:center;pointer-events:none;border-radius:999px;padding:0 .3em;font-size:.8em;line-height:1.5;position:absolute;top:-6px;right:-6px}.keep{min-height:calc(64px * var(--card-ratio));border:1px dashed var(--line);border-radius:8px;flex-wrap:wrap;flex:1;align-content:flex-start;gap:4px;padding:4px;display:flex}.keep.clickable{border:2px solid var(--gold);cursor:pointer;background:#d2a94d14}.keep.picked{border:3px solid var(--gold-bright)}.keep-empty{color:var(--line);align-self:center;margin:auto;font-size:.8em}.hand{background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;padding:8px 12px 12px}.hand-cards{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.side{flex-direction:column;gap:10px;min-width:0;max-height:calc(100vh - 24px);display:flex;position:sticky;top:12px}.status p{margin:0 0 .3em}.you-decide{color:var(--gold-bright);font-weight:700}.waiting{color:var(--muted)}.options{flex-direction:column;gap:6px;max-height:45vh;display:flex;overflow-y:auto}.option{text-align:left;align-items:center;gap:.5em;line-height:1.25;display:flex}.option .card{pointer-events:none}.order-row{align-items:center;gap:.5em;display:flex}.order-row button{padding:.1em .5em}.room-controls,.puzzle-side{flex-direction:column;gap:.5em;display:flex}.puzzle-text{margin:0;font-style:italic}.solution{background:var(--bg-raised);border-left:3px solid var(--gold);margin:0;padding:.5em .75em}.undo-vote{background:var(--bg-raised);border:1px solid var(--gold);border-radius:var(--radius);padding:.5em .75em}.undo-vote p{margin:0 0 .5em}.log{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);flex:1;min-height:120px;padding:.5em .75em;font-size:.85em;overflow-y:auto}.log-heading{color:var(--gold);margin-top:.5em}.log-line{color:var(--text)}.overlay{z-index:40;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;width:100%;max-width:720px;max-height:90vh;padding:1rem 1.25rem;overflow-y:auto}.modal h3{margin-top:0}.card-grid{flex-wrap:wrap;gap:8px;margin-bottom:1rem;display:flex}@media (width<=960px){.game{grid-template-columns:minmax(0,1fr)}.side{max-height:none;position:static}.log{max-height:40vh}}@media (width<=640px){.game{padding:8px}.board{grid-template-columns:minmax(0,1fr);grid-template-areas:"top""left""right""center""bottom";padding:8px}.card-sm{width:48px}.card-lg{width:84px}.empty-slot{width:48px}.keep{min-height:calc(48px * var(--card-ratio))}}
