@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/cinzel-400-DMUuCU8H.woff2)format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/cinzel-600-Dd5YO2UX.woff2)format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/cinzel-700-Dkw14w9r.woff2)format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/cinzel-900-BI3z7Tow.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-CRpggXlh.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/ebgaramond-500-DehAIUv0.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/ebgaramond-600-DHwxsLHv.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/ebgaramond-400-italic-DSEbMgZu.woff2)format("woff2")}:root{--font-display:"Cinzel", "Trajan Pro", serif;--font-body:"EB Garamond", "Iowan Old Style", serif;--parchment-light:#f3e6c4;--parchment:#e8d3a0;--parchment-dark:#d3b878;--parchment-shadow:#a98a52;--wood-darkest:#241409;--wood-dark:#3b2415;--wood:#5a3a22;--wood-light:#7d5535;--wood-highlight:#9c7248;--felt:#1f3a2c;--felt-dark:#142719;--felt-light:#2c4f3b;--metal-light:#d9c98c;--metal:#a6893f;--metal-dark:#6b5324;--ink:#2c1c10;--ink-soft:#4a3624;--gold:#c9a227;--gold-bright:#e6c65c;--wax-red:#7a1f1f;--wax-red-dark:#4d1212;--forest:#33472f;--forest-dark:#22301f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:19px/1.5 var(--font-body);color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background-color:var(--felt);background-image:radial-gradient(circle at 50% 40%, #ffffff0f, transparent 55%), radial-gradient(ellipse at center, #0000 35%, #000000a6 100%), repeating-radial-gradient(circle at 0 0, #0000000d 0px, #0000000d 1px, transparent 1px, transparent 3px), linear-gradient(180deg, var(--felt-light), var(--felt) 45%, var(--felt-dark));place-content:center;place-items:center;min-height:100svh;padding:32px 16px;display:flex}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:.04em;margin:0}h1{text-align:center;text-shadow:0 1px #ffffff59,0 2px 3px #00000040;font-size:2.6rem;font-weight:700}h2{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:1.15rem;font-weight:600}p{margin:0}.board-panel{background:linear-gradient(155deg, var(--wood-highlight), var(--wood) 40%, var(--wood-dark) 100%);border-radius:10px;width:100%;max-width:460px;padding:14px;position:relative;box-shadow:inset 0 1px #ffffff1f,inset 0 -6px 10px #0006,0 22px 40px #0000008c,0 4px #0000004d}.board-panel-content{text-align:center;color:var(--ink);background-color:var(--parchment);box-shadow:inset 0 0 0 2px var(--parchment-dark), inset 0 0 36px #5a3a2259;background-image:radial-gradient(circle at 15% 20%,#ffffff59,#0000 45%),radial-gradient(circle at 85% 75%,#785a322e,#0000 50%),radial-gradient(circle at 50% 100%,#785a3226,#0000 60%),repeating-linear-gradient(115deg,#785a320b 0 1px,#0000 1px 5px);border-radius:4px;flex-direction:column;align-items:center;gap:22px;padding:36px 30px 32px;display:flex;position:relative}.board-panel-corner{z-index:2;background:linear-gradient(135deg, var(--metal-light), var(--metal) 55%, var(--metal-dark));width:34px;height:34px;position:absolute;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -2px 3px #0006,0 2px 4px #00000080}.board-panel-corner:after{content:"";background:radial-gradient(circle at 35% 30%,#4a3a1a,#241a0a);border-radius:50%;width:7px;height:7px;margin:auto;position:absolute;inset:0;box-shadow:0 1px #ffffff26}.board-panel-corner-tl{clip-path:polygon(0 0,100% 0,0 100%);top:4px;left:4px}.board-panel-corner-tr{clip-path:polygon(100% 0,100% 100%,0 0);top:4px;right:4px}.board-panel-corner-bl{clip-path:polygon(0 0,100% 100%,0 100%);bottom:4px;left:4px}.board-panel-corner-br{clip-path:polygon(100% 0,100% 100%,0 100%);bottom:4px;right:4px}.board-panel h1{margin-bottom:4px;padding-bottom:16px;position:relative}.board-panel h1:after{content:"";background:linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold-bright) 50%, var(--gold) 80%, transparent);width:120px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.landing-subtitle{color:var(--ink-soft);margin-top:-12px;font-style:italic}.landing-actions{flex-direction:column;gap:14px;width:100%;max-width:280px;display:flex}.button{font:600 1rem/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--wood-darkest);background:linear-gradient(180deg, var(--wood-light), var(--wood) 55%, var(--wood-dark));color:var(--parchment-light);cursor:pointer;text-shadow:0 -1px #0009;border-radius:3px;padding:14px 22px;text-decoration:none;transition:transform .12s,box-shadow .12s,filter .12s;position:relative;box-shadow:inset 0 1px #ffffff40,inset 0 -2px 4px #0006,0 3px 6px #00000073}.button:hover{filter:brightness(1.08)}.button:active{transform:translateY(1px);box-shadow:inset 0 1px #fff3,inset 0 2px 5px #00000080}.button:disabled{cursor:not-allowed;filter:grayscale(.4)brightness(.75)}.button-primary{background:linear-gradient(180deg, var(--gold-bright), var(--gold) 55%, #8a6a15);color:var(--ink);text-shadow:0 1px #fff6;border-color:#5c3d0c}.join-form,.wizard-step{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:300px;display:flex}input[type=text],input[type=number]{font:1rem var(--font-body);border:2px solid var(--wood);background:var(--parchment-light);color:var(--ink);text-align:center;box-sizing:border-box;border-radius:3px;width:100%;padding:12px 16px;box-shadow:inset 0 2px 5px #5a3a2259}.join-form input{text-transform:uppercase;letter-spacing:3px}input[type=text]:focus,input[type=number]:focus{border-color:var(--gold);outline:none;box-shadow:inset 0 2px 5px #5a3a2259,0 0 0 3px #c9a22759}.wizard-step input[type=number]{max-width:160px}.option-list{flex-direction:column;gap:10px;width:100%;display:flex}.option{border:2px solid var(--wood);background:var(--parchment-light);cursor:pointer;border-radius:3px;align-items:center;gap:10px;padding:12px 16px;font-weight:500;display:flex}.option input[type=radio]{accent-color:var(--wax-red)}.field{width:100%;color:var(--ink-soft);flex-direction:column;gap:6px;font-weight:500;display:flex}.wizard-actions{gap:12px;width:100%;display:flex}.wizard-actions .button{flex:1}.error{color:var(--wax-red);font-weight:600}.role-cards{flex-direction:column;gap:12px;width:100%;display:flex}.role-card{border:2px solid var(--wood);background:var(--parchment-light);border-radius:6px;align-items:center;gap:14px;padding:10px 14px;display:flex;box-shadow:inset 0 1px 3px #5a3a2240}.role-card-icon{width:40px;height:40px;color:var(--wax-red);filter:drop-shadow(0 1px #ffffff4d);flex:none}.role-card.is-readonly .role-card-icon{color:var(--forest)}.role-card-label{text-align:left;color:var(--ink-soft);flex:1;font-weight:600}.role-card-stepper{align-items:center;gap:8px;display:flex}.role-card-step-btn{border:2px solid var(--wood-darkest);background:linear-gradient(180deg, var(--wood-light), var(--wood));width:28px;height:28px;color:var(--parchment-light);font:700 1.1rem/1 var(--font-body);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffff40,0 2px 3px #00000059}.role-card-step-btn:disabled{cursor:not-allowed;filter:grayscale(.5)brightness(.8)}.role-card-count{text-align:center;min-width:26px;font:700 1.1rem var(--font-display);color:var(--ink)}.quest-steps{align-items:center;gap:0;width:100%;max-width:300px;display:flex}.quest-step{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex;position:relative}.quest-step-medallion{width:34px;height:34px;font:700 .95rem var(--font-display);border:2px solid var(--wood-darkest);background:linear-gradient(180deg, var(--parchment-dark), var(--parchment-shadow));color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px 2px #ffffff4d,inset 0 -2px 3px #00000040}.quest-step.is-active .quest-step-medallion{background:linear-gradient(180deg, var(--gold-bright), var(--gold));color:var(--ink);box-shadow:inset 0 1px 1px #ffffff80,0 0 8px #c9a227b3}.quest-step.is-done .quest-step-medallion{background:linear-gradient(180deg, var(--forest), var(--forest-dark));color:var(--parchment-light)}.quest-step-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.68rem;font-weight:600}.quest-step:not(:last-child):after{content:"";background:repeating-linear-gradient(90deg, var(--wood) 0px, var(--wood) 4px, transparent 4px, transparent 8px);width:calc(100% - 48px);height:2px;position:absolute;top:17px;left:calc(50% + 24px)}.code-plaque-wrapper{flex-direction:column;align-items:center;gap:10px;margin:4px 0;display:flex}.code-plaque{background:linear-gradient(155deg, var(--wood-highlight), var(--wood) 45%, var(--wood-dark));border-radius:6px;justify-content:center;align-items:center;padding:16px 28px;display:flex;position:relative;box-shadow:inset 0 2px #ffffff26,inset 0 -4px 8px #00000073,0 6px 14px #00000080}.code-plaque:before{content:"";pointer-events:none;border:1.5px solid #e6c65c66;border-radius:3px;position:absolute;inset:6px}.code-plaque-code{font:700 2rem/1 var(--font-display);letter-spacing:6px;color:var(--gold-bright);text-shadow:0 1px #ffffff26,0 2px 3px #000000b3,0 0 10px #e6c65c40}.code-plaque-hint{font-family:var(--font-body);color:var(--ink-soft);font-size:.95rem;font-style:italic}.player-list{flex-direction:column;gap:12px;width:100%;max-width:340px;display:flex}.player-tokens{flex-wrap:wrap;justify-content:center;gap:12px;padding:4px;display:flex}.player-token{flex-direction:column;align-items:center;gap:4px;width:76px;display:flex;position:relative}.player-token-meeple-wrapper{position:relative}.player-token-meeple{width:40px;height:40px;color:var(--parchment-light);background:radial-gradient(circle at 35% 30%, var(--wax-red) 0%, var(--wax-red-dark) 100%);border-radius:50%;padding:6px;box-shadow:inset 0 2px 3px #ffffff4d,inset 0 -3px 5px #0006,0 3px 5px #00000073}.player-token-kick{border:2px solid var(--wood-darkest);background:linear-gradient(180deg, #c25454, var(--wax-red-dark));width:20px;height:20px;color:var(--parchment-light);font:700 .75rem/1 var(--font-body);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 3px #00000080}.player-token-kick:hover{filter:brightness(1.15)}.player-token-name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.player-list-empty{color:var(--ink-soft);font-style:italic}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-box-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a060399;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out dialog-overlay-in;display:flex;position:fixed;inset:0}.dialog-box{text-align:center;width:100%;max-width:360px;color:var(--ink);background-color:var(--parchment);border:6px solid var(--wood);box-shadow:inset 0 0 0 2px var(--parchment-dark), inset 0 0 30px #5a3a224d, 0 18px 36px #0000008c;background-image:radial-gradient(circle at 15% 20%,#ffffff59,#0000 45%),radial-gradient(circle at 85% 75%,#785a322e,#0000 50%),repeating-linear-gradient(115deg,#785a320b 0 1px,#0000 1px 5px);border-radius:6px;flex-direction:column;align-items:center;gap:16px;padding:28px 26px 24px;animation:.18s ease-out dialog-box-in;display:flex;position:relative}.dialog-title{font-size:1.35rem}.dialog-message{font-size:1.05rem;line-height:1.5}.dialog-actions{gap:12px;width:100%;margin-top:4px;display:flex}.dialog-actions .button{flex:1}.village-overview-box{text-align:left;align-items:stretch;max-width:420px}.village-overview-list{flex-direction:column;gap:8px;width:100%;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.village-overview-row{background:var(--parchment-light);border:2px solid var(--wood-light);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.village-overview-row.is-dead{background:var(--wood-dark);border-color:var(--wood-darkest);color:var(--parchment-light)}.village-overview-name{font-weight:600}.village-overview-meta{align-items:baseline;gap:10px;display:flex}.village-overview-role{color:var(--ink-soft);font-size:.85rem;font-style:italic}.village-overview-row.is-dead .village-overview-role{color:var(--parchment-shadow)}.village-overview-status{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.8rem}.village-overview-row.is-dead .village-overview-status{color:var(--parchment-shadow)}.role-reveal{background:var(--parchment-light);border:3px solid var(--wood);border-radius:8px;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:320px;padding:24px;display:flex;box-shadow:inset 0 2px 6px #5a3a224d}.role-reveal-icon{width:72px;height:72px;color:var(--wax-red);filter:drop-shadow(0 2px 1px #ffffff4d)}.role-reveal-label{font-size:1.6rem}.role-reveal-description{color:var(--ink-soft);font-style:italic}.role-reveal-hint{color:var(--ink-soft);font-size:.85rem;font-style:italic}.role-reveal-dead{background:var(--wood-dark);border-color:var(--wood-darkest)}.role-reveal-dead .role-reveal-icon{color:var(--parchment-shadow)}.role-reveal-dead .role-reveal-label,.role-reveal-dead .role-reveal-description{color:var(--parchment-light)}.role-reveal-toggle{all:unset;cursor:pointer;justify-content:center;width:100%;display:flex}.role-reveal-toggle:hover .role-reveal{filter:brightness(1.04)}.role-reveal-toggle:active .role-reveal{transform:translateY(1px)}.role-reveal-facedown{background:linear-gradient(180deg, var(--wood-light), var(--wood) 55%, var(--wood-dark));border-color:var(--wood-darkest)}.role-reveal-facedown .role-reveal-icon{color:var(--parchment-shadow)}.role-reveal-facedown .role-reveal-label{color:var(--parchment-light)}@keyframes game-card-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.game-round{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-size:.85rem}.game-card{background:var(--parchment-light);border:3px solid var(--wood);border-radius:8px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;padding:28px 24px;animation:.25s ease-out game-card-in;display:flex;box-shadow:inset 0 2px 6px #5a3a224d,0 8px 16px #0000004d}.game-card-icon{width:56px;height:56px;color:var(--wax-red)}.game-card-title{font-size:1.3rem}.game-card-body{font-size:1.05rem;line-height:1.5}.game-card-hint{color:var(--ink-soft);margin-top:8px;font-size:.9rem;font-style:italic}.game-selection-grid{width:100%;max-width:340px}.game-selectable-token{border:2px solid var(--wood);background:var(--parchment-light);cursor:pointer;font:inherit;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;display:flex}.game-selectable-token:disabled{cursor:not-allowed;opacity:.6}.game-selectable-token.is-selected{background:linear-gradient(180deg, var(--gold-bright), var(--gold));border-color:#5c3d0c}.game-selectable-token .player-token-name{color:var(--ink)}
