@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&display=swap";.account-dialog{width:min(390px,calc(100% - 24px));max-width:none;height:min(800px,calc(100dvh - 24px));max-height:none;margin:auto;padding:0;border:1px solid #b39a5840;border-radius:3px;background:#091510;color:#eee5d2;box-shadow:0 22px 80px #0009;overflow:hidden}.account-dialog::backdrop{background:#020806cf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.account-shell{height:100%;display:flex;flex-direction:column;min-height:0}.account-heading-simple{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;padding:12px 16px 8px;flex-shrink:0}.account-heading-simple h2{margin:0;text-align:center;font-size:16px;line-height:1.6;font-weight:400;overflow-wrap:anywhere}.account-back{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:none;color:#d6bf83}.account-back:hover{background:#c9b17b0a}.account-tabs{display:flex;padding:0 28px;border-bottom:1px solid #c4af752b;flex-shrink:0}.account-tabs button{flex:1;padding:10px 3px 13px;white-space:nowrap;font-size:12px;background:none;border:0;border-bottom:2px solid transparent;color:#9fae9e}.account-tabs button[aria-current=page]{color:#eddbb5;border-color:#bca16b}.account-scroll{padding:22px 28px 28px;overflow-y:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin}.google-signin{display:block;width:100%;padding:12px;border:1px solid #dadce0;border-radius:4px;background:#f4f1ea;color:#23352c;font:500 15px system-ui,sans-serif;min-height:54px}.google-signin:hover{background:#fff}.profile-portrait{display:inline-block;flex-shrink:0;width:70px;height:70px;border-radius:50%;border:1px solid #c3aa70;background-image:url(/game-assets/villagers.webp);background-size:300% 300%;background-color:#0a1712}.identity-dialog{height:auto;max-height:calc(100dvh - 24px)}.identity-dialog .account-shell{max-height:calc(100dvh - 26px)}.identity-dialog .account-scroll{padding-top:12px}.profile-form>label{margin:0;font-size:14px;line-height:1.8}.profile-form>label>input{height:54px;background:#14251f;border:1px solid #c9b17b66;border-radius:0;padding:12px 16px;font-size:18px}.avatar-choices{padding:0;border:0;margin:24px 0 28px;min-width:0}.avatar-choices legend{font-size:14px;color:#e9e1cd;margin-bottom:16px}.avatar-choices>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 12px;max-width:300px;margin:auto}.avatar-choices button{position:relative;border:1px solid #8b7e524d;border-radius:50%;background:none;width:74px;height:74px;padding:4px;justify-self:center;line-height:0}.avatar-choices button .profile-portrait{width:64px;height:64px}.avatar-choices button[aria-pressed=true]{border-color:#edd395;box-shadow:0 0 0 1px #edd395}.avatar-choice-check{position:absolute;right:-2px;bottom:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#c9b17b;color:#15251d;font:13px system-ui,sans-serif}.profile-form .gold{width:100%;min-height:56px}.account-logout{display:block;margin:22px auto 0;font-size:12px;min-height:36px}.login-dialog .account-scroll{flex:1;display:flex;flex-direction:column;padding-top:24px}.login-content{display:flex;flex-direction:column;flex:1;min-height:min-content}.login-card-art{position:relative;width:min(100%,334px);height:clamp(180px,30dvh,244px);margin:0 auto 22px;flex-shrink:0}.login-card-art img{position:absolute;display:block;width:34%;height:82%;object-fit:contain;top:16%;filter:drop-shadow(0 8px 14px #0006)}.login-card-art img:first-child{left:4%;opacity:.65}.login-card-art img:nth-child(2){right:4%;opacity:.65}.login-card-art img:last-child{left:50%;transform:translate(-50%);top:0;width:42%;height:100%}.login-benefits-title{font-size:20px;line-height:1.5;text-align:center;margin:0 0 24px;font-weight:400}.login-benefits{list-style:none;padding:0 4px;margin:0 0 26px;display:flex;flex-direction:column;gap:20px}.login-benefits li{display:flex;align-items:center;gap:14px}.login-benefits svg{flex:0 0 22px;color:#c9b17b}.login-benefits strong{font-size:14px;font-weight:400;line-height:1.6}.login-benefits p{font:11px/1.8 Noto Sans JP,system-ui,sans-serif;color:#adbaad;margin:4px 0 0}.login-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}.login-actions .text-button{min-height:44px;font-size:13px}.collection-save{margin-top:28px}.entry-saved-identity{display:flex;align-items:center;gap:12px;padding:0 0 18px;border-bottom:1px solid #c9b17b30;font-size:15px}.entry-saved-identity .profile-portrait{width:42px;height:42px}.entry-saved-identity>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}.collection-heading h3{font-size:17px;margin:0}.collection-heading>span{font-size:23px;color:#d9c58f}.collection-heading small{font-size:11px;color:#9faa98}.collection-role-tabs{display:flex;overflow-x:auto;gap:6px;margin:0 -8px 20px;padding:0 8px 7px;scrollbar-width:thin}.collection-role-tabs button{flex:0 0 auto;min-height:36px;padding:6px 11px;border:1px solid #bba37133;background:transparent;font-size:12px;color:#aebaa7;border-radius:3px}.collection-role-tabs button[aria-pressed=true]{color:#eeddb3;border-color:#bba37199;background:#bba37112}.collection-preview{margin:0 0 24px;text-align:center}.collection-preview>img{display:block;width:min(190px,65%);height:auto;aspect-ratio:336/572;object-fit:contain;margin:auto;filter:drop-shadow(0 12px 17px #0008)}.collection-preview.is-locked>img{filter:grayscale(.65) brightness(.55)}.collection-preview figcaption>small{display:block;color:#b7a16c;margin:14px 0 0;letter-spacing:.12em}.collection-preview h3{font-size:19px;margin:6px 0 15px}.collection-preview .gold{width:100%;min-height:46px;font-size:13px}.collection-preview p{font-size:12px;color:#a8b39e}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.collection-card{padding:10px 9px 12px;min-width:0;background:#030a072b;border:1px solid #a78e5133;border-radius:7px;text-align:center}.collection-card img{display:block;width:100%;aspect-ratio:336/572;object-fit:contain}.collection-card.is-locked img{filter:grayscale(.75) brightness(.45)}.collection-card.is-inspected{border-color:#d0b779;background:#b39a580e}.collection-card>span{display:block;font-size:12px;margin-top:10px;line-height:1.7}.collection-card>small{display:block;font-size:10px;color:#adac90;margin-top:4px}.collection-how{margin-top:24px;font-size:12px}.collection-how p{font-size:11px;color:#aab7a3;line-height:1.9}.profile-stat-totals{display:grid;grid-template-columns:repeat(3,1fr);padding:8px 0 24px;border-bottom:1px solid #bca16b33;text-align:center;gap:8px}.profile-stat-totals strong{display:block;font-size:30px;color:#dfcc9f;font-weight:400;font-variant-numeric:tabular-nums}.profile-stat-totals strong small{font-size:14px}.profile-stat-totals span{display:block;font-size:11px;margin-top:7px;color:#a8b39e}.stats-subheading{font-size:15px;margin:27px 0 12px}.role-stats{width:100%;border-collapse:collapse;font-size:12px}.role-stats th,.role-stats td{padding:12px 4px;border-bottom:1px solid #ad986029;font-weight:400;text-align:right}.role-stats th:first-child{text-align:left}.role-stats thead th{font-size:10px;color:#a8b39e}.match-history{padding:0;margin:0;list-style:none}.match-history li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ad986029;padding:14px 0;gap:10px}.match-history strong{font-size:13px;font-weight:400}.match-history small{display:block;font-size:10px;color:#a8b39e;margin-top:6px}.match-history li>span{font-size:12px;color:#9ba491}.match-history li>span.match-won{color:#d5ba79}.account-empty{font-size:12px;color:#a8b39e;line-height:1.9}.home-account-button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:#d3c296;font-size:12px;padding:3px;max-width:130px}.home-account-button span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-account-button:has(.profile-portrait){justify-content:center;min-width:44px;min-height:44px}.home-account-button .profile-portrait{width:30px;height:30px}.home-library-links{display:flex;justify-content:center;gap:28px;margin-top:22px}.home-library-links button{border:0;background:transparent;color:#d4c193;font-size:12px;padding:8px}.home-library-links .unread-dot{display:inline-block;width:5px;height:5px;margin-left:5px;border-radius:50%;background:#e8ce88;vertical-align:super}.home-profile-line{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;color:#d4c9ae;margin:0 0 16px}.home-profile-line .profile-portrait{width:30px;height:30px}.reward-reveal{margin:22px 0;padding:28px 0;border-block:1px solid #c7ad7044;text-align:center;background:radial-gradient(ellipse at 50% 40%,#b69c4220,transparent 68%)}.reward-reveal h3{font-size:17px;line-height:1.8;margin:12px 0 20px}.reward-artworks{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.reward-artworks figure{width:145px;margin:0 0 18px}.reward-artworks img{display:block;width:100%;filter:drop-shadow(0 10px 15px #0007)}.reward-artworks figcaption small{display:block;color:#b9a673;font-size:10px;margin:12px 0 5px}.reward-artworks figcaption span{font-size:14px}.reward-reveal .secondary{width:100%;font-size:12px}.reward-save-note{font-size:11px;line-height:1.9;color:#a8b39e;margin:12px 8px 0}.home-reward-link{font-size:11px;color:#d7c590;border:0;background:none;padding:6px}@media(max-width:360px){.account-scroll{padding:18px 17px 26px}.account-heading{padding-inline:18px}.avatar-choices button .profile-portrait{width:58px;height:58px}.collection-card>span{font-size:11px}.header-actions:has(.home-account-button){gap:3px}.home-account-button{max-width:106px;font-size:11px}}.phase-home .home-account-button>svg{width:17px;height:17px}.phase-home .title-screen{min-height:calc(100dvh - 76px);padding-top:0;justify-content:flex-start}.phase-home .title-block{min-height:clamp(280px,48dvh,410px);display:grid;place-items:center}.phase-home .title-block h1{width:min(100%,280px);margin:0;line-height:0;letter-spacing:0}.phase-home .opening-wordmark{display:block;width:100%;height:auto;mix-blend-mode:screen}.phase-home .title-block h1{mix-blend-mode:screen}.phase-home header .brand{visibility:hidden}.phase-home .world-image{object-position:100% 15%}.phase-home .mist{opacity:.2}.phase-home .entry-actions{display:flex;flex-direction:column;flex:1;padding:0 4px max(24px,env(safe-area-inset-bottom));gap:12px}.phase-home .entry-actions>button+button{margin-top:0}.phase-home .home-library-links{margin-top:auto;padding-top:28px;border-top:1px solid #c9b17b30;gap:24px}.phase-home .entry-actions>.home-library-links{margin-top:auto}.phase-home .home-library-links button{min-height:44px}.phase-home .home-reward-link{font-size:11px}@media(max-width:480px){.account-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.account-heading-simple{padding-top:max(12px,env(safe-area-inset-top))}.account-scroll{padding-bottom:max(28px,env(safe-area-inset-bottom))}.identity-dialog{height:auto;max-height:100dvh}.identity-dialog .account-shell{max-height:100dvh}}@media(max-width:360px){.account-scroll{padding-inline:22px}.login-benefits{padding-inline:0;gap:18px}.login-benefits strong{font-size:13px}.avatar-choices button{width:68px;height:68px}.avatar-choices button .profile-portrait{width:58px;height:58px}.account-heading-simple{padding-inline:12px}}@media(max-height:680px){.login-dialog .account-scroll{padding-top:8px}.login-card-art{height:170px;margin-bottom:16px}.login-benefits-title{margin-bottom:18px}.login-benefits{gap:15px;margin-bottom:16px}}.avatar-choices>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 8px;max-width:320px}.avatar-choices button{width:100%;height:auto;aspect-ratio:1;padding:3px;min-width:44px}.avatar-choices button .profile-portrait{display:block;width:100%;height:auto;aspect-ratio:1}@media(max-width:350px){.avatar-choices>div{grid-template-columns:repeat(4,minmax(0,1fr))}}.reward-page{position:relative;min-height:100svh;padding:64px 24px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 40%,#26372b,#08120e 70%);gap:18px}.reward-page h2{font-size:20px;margin:0;line-height:1.6}.reward-page .reward-artworks{margin:12px 0;display:flex;flex-wrap:wrap;justify-content:center;gap:24px}.reward-page figure{margin:0;width:220px}.reward-flip{display:block;width:100%;aspect-ratio:800/1264;border:0;padding:0;background:transparent;perspective:1100px;border-radius:10px}.reward-flip-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.reward-flip.is-open .reward-flip-inner{transform:rotateY(180deg)}.reward-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;border-radius:9px;box-shadow:0 12px 32px #0009,0 0 24px #d5b76c25}.reward-front{transform:rotateY(180deg)}.reward-page .reward-face img{display:block;width:100%;height:100%;object-fit:cover}.reward-caption{min-height:54px;margin-top:20px;display:grid;gap:6px;opacity:0}.reward-caption.revealed{opacity:1;transition:opacity .4s .65s}.reward-caption small,.reward-tap{color:#c8b780;font-size:12px}.reward-page>.gold{width:100%}.reward-page>.text-button{min-height:44px;font-size:13px}@media(prefers-reduced-motion:reduce){.reward-flip-inner,.reward-caption.revealed{transition:none}}.reward-controls{width:100%;min-height:154px;display:flex;flex-direction:column;justify-content:center;gap:16px}.reward-controls>.gold{width:100%}.reward-controls>.text-button{min-height:44px;font-size:13px}.reward-heading-hidden{visibility:hidden}.brand{width:64px;height:44px;overflow:hidden;mix-blend-mode:screen}.brand>img{display:block;width:64px;height:64px;object-fit:contain}.gold-toast{position:fixed;z-index:200;left:50%;bottom:calc(var(--toast-bottom, 0px) + max(16px,env(safe-area-inset-bottom)));transform:translate(-50%);width:min(358px,calc(100vw - 32px));max-height:min(60dvh,440px);margin:0;padding:4px;overflow:auto;overscroll-behavior:contain;border:1px solid #c9b17baa;border-radius:0;background:#10211cfb;color:#eee8d9;font-family:"Noto Serif JP",serif;box-shadow:0 8px 24px #0006;pointer-events:auto;animation:gold-toast-enter .18s ease-out both}.gold-toast:before,.gold-toast:after{content:"";position:absolute;top:0;width:14px;height:8px;border-top:1.5px solid #f0d8a0;pointer-events:none}.gold-toast:before{left:0;border-left:1.5px solid #f0d8a0}.gold-toast:after{right:0;border-right:1.5px solid #f0d8a0}.gold-toast-error{background:#271c18fc}.gold-toast-inset{border:1px solid #c9b17b35;padding:10px 9px 9px 11px}.gold-toast-row{display:flex;align-items:center;gap:10px}.gold-toast-seal{flex:0 0 30px;color:#d7bf86}.gold-toast-error .gold-toast-seal{color:#e7b59b}.gold-toast-copy{flex:1;min-width:0}.gold-toast-title{margin:0;font-size:14px;font-weight:400;line-height:1.7;overflow-wrap:anywhere}.gold-toast-description{margin:5px 0 0;font-family:Noto Sans JP,system-ui,sans-serif;color:#d0d7c9;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.gold-toast .gold-toast-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#c9b17b;cursor:pointer}.gold-toast .gold-toast-close:hover{background:#c9b17b0d}.gold-toast .gold-toast-close:focus-visible{outline:1px solid #f0d8a0;outline-offset:-4px}.gold-toast-track{height:1px;margin-top:10px;background:#c9b17b24;overflow:hidden}.gold-toast-track span{display:block;height:100%;background:#c9b17baa;transform-origin:left;animation:gold-toast-time var(--toast-duration) linear forwards}@keyframes gold-toast-enter{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@keyframes gold-toast-time{to{transform:scaleX(0)}}body:has(.reduced) .gold-toast,body:has(.story-reduced) .gold-toast{animation:none}body:has(.reduced) .gold-toast-track,body:has(.story-reduced) .gold-toast-track{visibility:hidden}@media(prefers-reduced-motion:reduce){.gold-toast{animation:none}.gold-toast-track{visibility:hidden}}:root{font-family:"Noto Serif JP",Yu Mincho,serif;color:#eee5d2;background:#07100d;color-scheme:dark;font-synthesis:none;--gold: #c7ad70;--line: #c4af7540;--muted: #aeb9a9}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #e7cf91;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,h3,p{font-weight:400}button{min-height:44px}input,select,textarea{font-size:16px;color:#eee5d2;background:#0a1712c9;border:1px solid var(--line);border-radius:3px;width:100%;padding:12px}textarea{min-height:120px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}input[type=range]{accent-color:var(--gold)}label{display:block;font-size:14px;line-height:1.8;margin:16px 0}label>input,label>select,label>textarea{margin-top:8px}details{border-top:1px solid var(--line);padding:15px 0;font-size:14px;line-height:1.9}summary{cursor:pointer;min-height:30px;color:#dcc795}small{font-size:11px}button:disabled:not(.person){opacity:.45}.game{position:relative;isolation:isolate;margin:auto;max-width:480px;min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip;padding-top:env(safe-area-inset-top)}.landscape,.veil,.mist{position:fixed;top:0;right:0;bottom:0;left:0;max-width:480px;margin:auto;pointer-events:none}.landscape{z-index:-4;background-size:cover;background-position:50% 45%;transition:background-image 1.2s,filter 2s}.veil{z-index:-3;background:linear-gradient(#081712df,#08171240 27%,#08171255 48%,#081712f5 82%)}.mist{z-index:-2;background:radial-gradient(ellipse at 30% 40%,#9bad902b,transparent 60%);animation:mist 17s ease-in-out infinite alternate}.night .landscape{filter:brightness(.42) saturate(.5)}.night .veil{background:linear-gradient(#071010ee,#07101066 45%,#071010f5 85%)}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px 12px}.brand{display:flex;gap:10px;align-items:center;font-size:28px;color:var(--gold)}.brand span{font-size:20px;letter-spacing:5px;color:#eee5d2}.header-actions{display:flex;gap:7px}.icon{border:1px solid var(--line);background:#10241aa8;border-radius:50%;width:44px;height:44px;flex-shrink:0;font:23px Georgia;color:#d6bf83}.entry{padding:12px 24px 32px}.title-screen{min-height:calc(100dvh - 80px);display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding-top:clamp(65px,16vh,160px)}.title-block{text-shadow:0 3px 30px #000}.title-block h1{font-size:70px;letter-spacing:18px;margin:15px 0 18px 18px}.title-block>p:last-child{font-size:14px;letter-spacing:3px}.eyebrow{font:10px Georgia;letter-spacing:3px;color:#d1b97b;margin:0}.entry-actions{padding:90px 5px max(12px,env(safe-area-inset-bottom))}.gold,.secondary,.danger{width:100%;min-height:51px;padding:13px 15px;letter-spacing:1px;border-radius:2px}.gold{color:#18251a;background:linear-gradient(105deg,#b49a5e,#e3ca88,#c2a769);border:1px solid #cbb77f;box-shadow:inset 0 0 0 3px #31402a88;font-weight:600}.gold span{float:right}.secondary{background:#11231cc4;border:1px solid #c2ad6d70;color:#e0d3ae}.danger{background:#542521;border:1px solid #9d5140}.entry-actions>button+button,.result>button{margin-top:12px}.text-button{border:0;background:none;color:#d1bc86;padding:0}.page-title{font-size:27px;letter-spacing:4px;margin:20px 0 28px}.muted{font-size:12px;line-height:1.9;color:var(--muted)}.role-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.role-counts label{margin:0;text-align:center;font-size:12px}.role-counts img{width:48px;height:78px;object-fit:cover;display:block;margin:auto auto 7px;border:1px solid #b6a47188}.role-counts input{max-width:70px;padding:6px;text-align:center}.role-counts span{display:block}.prose{font-size:14px;line-height:2.1;color:#d7ddcc}.prose h3{font-size:15px;line-height:1.9;color:#eee4c9;margin:10px 0 18px}.prose p{margin:0 0 20px}.prose h3:not(:first-child){margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.phase-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.phase-heading h1{font-size:24px;letter-spacing:3px;margin:9px 0}.timer{font:32px Georgia;font-variant-numeric:tabular-nums;letter-spacing:2px;color:#dbcba3;text-shadow:0 0 18px #a2341d66;white-space:nowrap}.timer span{opacity:.4;padding:0 2px}.timer.urgent{color:#bc7058;animation:heartbeat 2s infinite}.roster{padding:0 24px;flex:1}.section-caption{font-size:13px;line-height:1.9;text-align:center;color:#c7d0bd;margin:8px 0 22px}.count-row{display:flex;justify-content:space-between;font-size:11px;color:#d4c59c;border-block:1px solid var(--line);padding:10px 0}.players{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px;padding:24px 0}.person{border:0;background:none;position:relative;min-width:0;padding:0;color:#eee3c7;text-align:center;opacity:1}.avatar{display:block;width:76px;aspect-ratio:1;margin:auto;border-radius:50%;background-image:url(/game-assets/villagers.webp);background-size:300% 300%;border:1px solid #bba96e;outline:1px solid #bba96e5c;outline-offset:5px;box-shadow:0 8px 18px #0007}.person strong{display:block;font-size:15px;font-weight:400;overflow-wrap:anywhere;line-height:1.5;margin-top:11px}.person small{display:block;margin-top:5px;color:#bdbd9e;font-size:10px}.person em{display:block;font-size:12px;font-style:normal;color:#d4b678;margin-top:4px}.person.dead .avatar{filter:grayscale(1) brightness(.5)}.person.dead strong{color:#8b998b}.person.selected .avatar{outline:3px solid #e6ca81;box-shadow:0 0 26px #d7ab4844}.choice-mark{position:absolute;top:56px;right:4px;border-radius:50%;background:#aa7343;color:#f8ecc7;font-size:20px;width:29px;height:29px}.rule-link{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:0;border-block:1px solid var(--line);background:#0b211960;text-align:left;line-height:1.8;font-size:14px}.rule-link small{display:block;color:var(--muted);margin-top:3px}.rule-link>span:last-child{color:var(--gold)}.dock{padding:15px 24px max(20px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#0a1913cc 20%);margin-top:auto}.dock>.muted{text-align:center;font-size:11px;margin:0 0 13px}.dock>button+button{margin-top:10px}.pair{display:flex;gap:12px;align-items:center}.pair>*{flex:1;min-width:0}.pair p{font-size:12px}.error{color:#f0b09a;background:#351f1df2;padding:10px;line-height:1.8;font-size:13px}.reveal-screen{flex:1;display:flex;flex-direction:column;min-height:calc(100dvh - 185px);padding:0 16px max(20px,env(safe-area-inset-bottom))}.reveal-screen iframe{width:100%;border:0;flex:1;min-height:360px;height:calc(100dvh - 295px)}.subtle{background:transparent;border:0;color:#c7c2a8;font-size:12px;margin-bottom:8px}.play-area{padding:0 24px;flex:1}.narration{font-size:13px;line-height:1.9;color:#d0d6c5}.night-instructions{border-top:1px solid var(--line);padding-top:10px;font-size:13px;line-height:1.9}.night-instructions h2{font-size:15px;color:#d6c393}.confirmed{text-align:center;font-size:13px;line-height:1.9;color:#ddc78d}.confirmation p{font-size:14px;line-height:1.9}nav{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:17px;padding-top:8px}nav button{font-size:11px;padding:0 4px;background:transparent;border:0;color:#c0bc9e}.event-scene{position:relative;margin:0 -24px;min-height:480px;height:65dvh;display:flex;align-items:flex-end;overflow:hidden}.event-scene>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;animation:event-reveal 6s ease-out}.event-scene>div{padding:90px 24px 35px;background:linear-gradient(transparent,#0b1712);width:100%;text-align:center}.event-scene h2{font-size:25px;line-height:1.9;letter-spacing:2px}.event-scene p:last-child{font-size:12px;color:var(--muted)}.result{padding:0 24px 40px}.result-heading{text-align:center;padding:25px 0 15px}.moon{font:70px Georgia;color:#d9b674;text-shadow:0 0 50px #d2a84c}.result h2{font-size:24px;line-height:1.8}.result-heading p,.result h3{font-size:14px;line-height:1.9}.replay{margin:15px 0;padding-bottom:12px;border-bottom:1px solid var(--line)}.replay img{width:100%;max-height:380px;object-fit:cover;animation:event-reveal 4s ease-out}.replay p{font-size:13px;line-height:1.9}.result>.rule-link{margin:0}.result>.gold{margin-top:24px}dialog{color:#e7e1cc;background:linear-gradient(155deg,#20372a,#0a1912);border:1px solid #a99d646e;border-radius:18px;width:calc(100% - 24px);max-width:450px;max-height:calc(100dvh - 30px);padding:0;box-shadow:0 24px 90px #000b}dialog::backdrop{background:#020b08cf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog[open]{display:flex;flex-direction:column}.dialog-top{padding:16px 19px 12px;display:flex;justify-content:space-between;align-items:center;flex:none;gap:10px}.dialog-top h2{font-size:17px;letter-spacing:1px;margin:0}.dialog-body{padding:10px 22px 20px;overflow:auto;overscroll-behavior:contain;min-height:0}.dialog-footer{border-top:1px solid var(--line);padding:12px 20px;flex:none}.card-dialog{height:min(800px,calc(100dvh - 24px))}.card-dialog .dialog-body{padding:0 10px 16px;flex:1;display:flex;overflow:hidden}.card-dialog iframe{width:100%;height:100%;border:0;min-height:0}.invite{text-align:center;font-size:14px;line-height:1.9}.invite>img{width:240px;max-width:100%;border:8px solid #d6c390;margin:8px auto}.invite-code{font:30px Georgia;letter-spacing:6px;color:#e1cd99;margin:8px 0}.invite input{font:12px sans-serif;margin-top:12px}.check{display:flex;gap:10px;align-items:center;font-size:13px}.check input{margin:0;flex-shrink:0}.timeline{list-style:none;padding:0 0 0 17px;border-left:1px solid var(--line);font-size:14px;line-height:1.9}.timeline li{position:relative;padding:5px 0 20px}.timeline li:before{content:"";width:5px;height:5px;background:var(--gold);position:absolute;left:-20px;top:15px;transform:rotate(45deg)}.timeline small{color:var(--gold)}.timeline p{margin:6px 0}.reduced *,.reduced *:before{animation:none!important;transition:none!important}@keyframes mist{0%{opacity:.25;transform:translateY(0)}to{opacity:.8;transform:translateY(-3%)}}@keyframes heartbeat{50%{text-shadow:0 0 22px #c94827;opacity:.75}}@keyframes event-reveal{0%{filter:brightness(.1);transform:scale(1.06)}to{filter:brightness(1);transform:scale(1)}}@media(max-width:360px){header{padding-inline:16px}.phase-heading,.roster,.play-area,.dock{padding-inline:18px}.avatar{width:63px}.person strong{font-size:13px}.players{gap:19px 10px}.timer{font-size:27px}}@media(min-width:600px){.game{border-inline:1px solid #a9945630}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}:root{--gold: #c9b17b;--line: #b9a16a55;--muted: #adbaad;color:#eee8d9}.game,.landscape,.veil,.mist{max-width:390px}.veil{background:linear-gradient(#091713e8,#09171366 24%,#0a171325 42%,#0a1713aa 61%,#091611fa 84%)}header{padding:22px 22px 6px;gap:10px}.brand span{font-size:24px;letter-spacing:5px}.icon{background:#10231b88;border-color:#b9a16a66}.invite-header{font-size:11px;min-width:38px}.gold,.secondary{background:#16291fcc;color:#eee0bd;border:1px solid #c5ab72;border-radius:0;box-shadow:inset 0 0 0 3px #16291f,inset 0 0 0 4px #b59a5c40;font-weight:400;font-size:14px;min-height:54px}.gold:before{content:"◇";margin-right:9px;color:#e6d1a4}.gold span{float:none;margin-left:8px}.secondary{border-color:#b9a16a66;box-shadow:none}.page-title{text-align:center;font-size:24px;letter-spacing:3px;margin:8px 0 18px}.entry{padding:4px 22px 24px}.name-field{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);font-size:12px;margin:8px 0}.name-field input{background:transparent;border:0;width:65%;margin:0;padding:10px 0;font-size:14px;text-align:right}.capacity-selector{display:flex;align-items:center;justify-content:center;gap:24px;height:54px;margin:8px 0 12px}.capacity-selector>span{font-size:25px;min-width:54px;text-align:center}.capacity-selector small{font-size:16px;margin-left:3px}.capacity-selector button{width:44px;border:0;background:none;color:var(--gold);font-size:21px}.role-counts{gap:18px 12px;margin:4px 0 20px}.role-counts img{width:68px;height:108px;border:1px solid #bba16b;outline:1px solid #bba16b55;outline-offset:3px;border-radius:3px;box-shadow:0 5px 10px #000a;margin-bottom:8px}.role-counts label{font-size:12px}.role-counts select{display:inline-block;width:34px;padding:0;margin:0;min-height:30px;border:0;background:transparent;border-radius:0;font-size:13px;color:#eee8d9}.role-counts select:disabled{opacity:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px}.engraved-row{display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin:0;min-height:48px;font-size:12px}.engraved-row>span:first-child{flex:1}.engraved-row>span:last-child{color:var(--gold)}.engraved-row select{width:auto;max-width:52%;background:none;border:0;padding:10px 4px;margin:0;color:var(--gold);font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:right}.engraved-row select:disabled{opacity:1}select option{background:#11251c}.rules-details{border:0;text-align:center;padding:10px 0}.rules-details summary{font-size:12px;min-height:44px;display:flex;justify-content:center;align-items:center;list-style:none}.rules-details summary::-webkit-details-marker{display:none}.rules-details summary:before{content:"▤";margin-right:9px}.rules-details .prose{text-align:left;padding:12px 0}.composition-error{font-size:12px;color:#f1c2a4;line-height:1.8}.phase-heading{flex-direction:column;text-align:center;padding:18px 22px 12px;gap:8px}.phase-heading h1{font-size:24px;letter-spacing:3px;margin:6px 0}.phase-heading .eyebrow{font-size:10px;letter-spacing:2px}.phase-lobby .phase-heading .eyebrow{order:2}.phase-lobby .phase-heading>div{display:flex;flex-direction:column}.timer{font-size:42px;letter-spacing:6px;line-height:1.2;padding:0 15px 13px;border-bottom:1px solid #b9a16a44;text-shadow:0 2px 16px #000}.timer.urgent{color:#c68669}.roster,.play-area{padding:0 22px}.section-caption{font-size:11px;margin:6px 0 15px}.count-row{border:0;padding:8px 0;font-size:10px}.players{gap:22px 12px;padding:18px 0 24px}.avatar{width:68px}.person strong{font-size:13px;margin-top:10px}.person small{font-size:10px;margin-top:4px}.choice-mark{top:48px}.rule-link{padding:12px 10px;font-size:12px}.rule-link small{display:inline;margin-left:8px;font-size:10px}.dock{padding:12px 22px max(24px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#091611c0)}.dock>.muted{font-size:10px}.phase-lobby .roster{flex:initial}.phase-lobby .dock{margin-top:0}.narration{font-size:12px}.scene-dialog{width:min(390px,100%);max-width:390px;height:100dvh;max-height:100dvh;margin:0 auto;border:0;border-radius:0;background:linear-gradient(#091713e8,#09171366 24%,#0a171325 42%,#0a1713aa 61%,#091611fa 84%),url(/game-assets/square.webp) center/cover;box-shadow:none}.scene-dialog .dialog-top{padding:22px 22px 12px}.scene-dialog .dialog-top h2{font-size:22px;letter-spacing:2px}.scene-dialog .dialog-body{padding:4px 22px 20px;flex:1}.scene-dialog .dialog-footer{border:0;padding:12px 22px max(20px,env(safe-area-inset-bottom))}.scene-dialog .dialog-footer button{border:0;background:none;color:var(--gold);font-size:12px}.modal-rules .dialog-body{flex:initial}.modal-rules .dialog-footer{margin-top:auto}.modal-invite .dialog-top h2{font-size:20px}.invitation-paper{width:242px;max-width:100%;margin:24px auto 28px;background:#e8dfc0;color:#28332a;padding:16px 24px 20px;border:5px double #a89c77;box-shadow:0 18px 32px #0008}.invitation-paper>p:first-child{margin:0 0 20px;font-size:20px;letter-spacing:5px}.invitation-paper img{display:block;width:180px;max-width:100%;margin:auto;mix-blend-mode:multiply}.invitation-paper .invite-code{color:#28332a;font-size:23px;margin:22px 0 6px;letter-spacing:4px}.invitation-paper small{color:#73694e;font-size:10px}.invite>p{font-size:12px}.invite input{background:none;border:0;border-bottom:1px solid var(--line);text-align:center;color:var(--muted)}.modal-history .dialog-body,.modal-notes .dialog-body{background:linear-gradient(transparent,#091611cc)}.victory-cards{display:flex;justify-content:center;height:210px;align-items:center;padding:15px}.victory-cards img{width:95px;height:152px;object-fit:cover;border:1px solid var(--gold);box-shadow:0 10px 25px #0009}.victory-cards img:first-child{transform:rotate(-15deg) translate(14px,9px)}.victory-cards img:nth-child(2){z-index:1;transform:translateY(-8px)}.victory-cards img:last-child{transform:rotate(15deg) translate(-14px,9px)}.result-heading{padding-top:10px}.result h2{font-size:23px}@media(max-width:360px){.role-counts img{width:64px;height:102px}.avatar{width:62px}.scene-dialog .dialog-body{padding-inline:18px}}.night-tabs{display:flex;border-bottom:1px solid var(--line);gap:8px}.night-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;color:#adbaad;font-size:12px;padding:8px 2px}.night-tabs button[aria-selected=true],.night-tabs button[aria-pressed=true]{color:#ead6a6;border-bottom-color:#c9b17b}.inference-choice{text-align:center;font-size:12px;line-height:1.8}.inference-choice .night-tabs button{font-size:10px}.night-note-link{width:100%;font-size:11px}.review-person{display:flex;gap:22px;align-items:center;justify-content:center;margin:28px 0}.review-person .avatar{margin:0;flex-shrink:0}.review-person h3{font-size:18px;margin:0}.review-person p{font-size:11px;color:var(--gold)}.review-days{display:flex;overflow:auto;border-bottom:1px solid var(--line)}.review-days button{flex-shrink:0;background:none;border:0;color:var(--muted);font-size:12px;padding:8px 12px}.review-days button[aria-pressed=true]{color:var(--gold);border-bottom:1px solid var(--gold)}.review-inference{text-align:center;margin:40px 0;font-size:14px;line-height:2}.review-inference strong{font:52px Georgia;color:var(--gold)}.review-inference strong small{font-size:20px;margin-left:4px}@media(max-height:740px){.modal-rules .capacity-selector{height:44px;margin:0 0 8px}.modal-rules .role-counts{gap:10px 12px;margin-bottom:12px}.modal-rules .engraved-row{min-height:40px}.modal-rules .dialog-footer{padding-block:3px}.modal-rules .dialog-top{padding-top:12px}}.modal-rules .dialog-body{flex:1}.modal-rules .dialog-footer{background:linear-gradient(#091611ee,#091611)}.modal-rules .dialog-footer .gold{border:1px solid #c5ab72;background:#16291fcc;color:#eee0bd;font-size:14px}.phase-night .phase-heading .eyebrow,.phase-vote .phase-heading .eyebrow,.phase-discussion .phase-heading .eyebrow{display:none}.phase-night .phase-heading,.phase-vote .phase-heading,.phase-discussion .phase-heading{padding-top:12px;gap:4px}.phase-night .narration p{margin:4px 0 10px;font-size:10px}.phase-night .players,.phase-vote .players{gap:16px 12px;padding:16px 0}.phase-night .person small,.phase-vote .person small{min-height:0;margin-top:2px;line-height:1.2}.phase-night .inference-choice>p{margin:8px 0}.phase-night .landscape{filter:brightness(.7) saturate(.65)}.phase-night .veil{background:linear-gradient(#071010df,#07101030 45%,#071010ee 85%)}.inference-roster{gap:22px 12px}.modal-notes label{font-size:12px}.modal-notes textarea{background:#091611aa;border:0;border-block:1px solid var(--line);border-radius:0;font-size:14px;line-height:1.9}.modal-notes .check{color:var(--muted);font-size:11px}.story-screen{position:fixed;top:0;right:0;bottom:0;left:0;isolation:isolate;background:#070d0c;color:#c5c8bd;overflow:hidden;animation:story-enter .6s ease both}.story-night{background:#070b10}.story-dawn{background:#101411}.story-page{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;max-width:430px;margin:auto;padding:max(70px,18dvh) 28px max(48px,7dvh);background:none;border:0;cursor:pointer}.story-page:disabled{opacity:1!important}.story-page h1{font-size:16px;font-weight:400;letter-spacing:3px;line-height:1.8;color:#bda87c;margin:0}.story-prose{margin-top:52px;width:100%}.story-prose p{font-size:15px;letter-spacing:.5px;line-height:2.15;margin:0 0 30px;text-align:center}.story-prose p:first-child{color:#e8e2d4}.story-char{opacity:0;filter:blur(3px);animation:story-letter .6s ease forwards}.story-shown .story-char{opacity:1;filter:none;animation:none}.story-prompt{margin-top:auto;font-size:11px;line-height:1.8;letter-spacing:1px;color:#898e81}.story-fog,.story-dust{position:absolute;top:-15%;right:-15%;bottom:-15%;left:-15%;z-index:-1;pointer-events:none}.story-fog{opacity:.12;background:radial-gradient(ellipse at 25% 55%,#69817a55,transparent 55%),radial-gradient(ellipse at 80% 70%,#85857433,transparent 50%);animation:story-fog 18s ease-in-out infinite alternate}.story-dust{opacity:.12;background-image:radial-gradient(circle,#bda87c 0 .6px,transparent 1px);background-size:137px 173px;animation:story-fog 27s linear infinite alternate}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes story-letter{to{opacity:1;filter:blur(0)}}@keyframes story-enter{0%{opacity:0}to{opacity:1}}@keyframes story-fog{to{transform:translate(3%,-4%)}}.story-reduced *{animation:none!important}.story-reduced .story-char{opacity:1;filter:none}@media(prefers-reduced-motion:reduce){.story-char{opacity:1;filter:none}}@media(max-height:650px){.story-page{padding-top:50px;padding-bottom:30px}.story-prose{margin-top:30px}.story-prose p{margin-bottom:20px;font-size:14px}}.narration .action-purpose{margin:0 0 10px;font-size:16px;font-weight:400;line-height:1.8;color:#e8e2d4}.phase-night .narration p,.phase-vote .narration p{font-size:12px;line-height:1.9;color:#c5c8bd}.game:has(.game-bottom-nav){padding-bottom:calc(64px + env(safe-area-inset-bottom))}.game-bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;width:min(390px,100%);margin:0 auto;min-height:calc(64px + env(safe-area-inset-bottom));padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:#091611f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.game-bottom-nav button{flex:1;min-height:48px}.scene-enter{animation:game-scene-enter .42s ease-out both}@keyframes game-scene-enter{0%{opacity:0}to{opacity:1}}.reduced .scene-enter{animation:none}@media(prefers-reduced-motion:reduce){.scene-enter{animation:none}}.boot-screen{min-height:100dvh;background:#070d0c}.game-enter{animation:game-scene-enter .48s ease-out both}.game-enter.reduced{animation:none}@media(prefers-reduced-motion:reduce){.game-enter{animation:none}}.pack-info{margin:16px 0;padding:16px 8px;border-top:1px solid var(--line);text-align:left}.pack-info h3{font-size:16px;font-weight:400;color:#e8dfc6;margin:0 0 12px}.pack-info p{font-size:12px;line-height:1.9;color:#c5c8bd}.pack-member{display:flex;align-items:center;gap:14px;margin:10px 0}.pack-member img{width:48px;height:48px;object-fit:cover;border-radius:50%}.pack-member small{display:block;margin-top:4px;color:var(--muted)}.card-dialog .dialog-body{flex-direction:column;overflow-y:auto}.card-dialog iframe{flex:0 0 auto;height:min(60dvh,520px);min-height:320px}.card-dialog .pack-info{flex:0 0 auto;width:100%;padding:12px 16px}.pack-member>span{min-width:0}.phase-wait{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 22px 20px;color:#c9bd9e;animation:game-scene-enter .6s ease both}.phase-wait p{margin:0;font-size:12px;line-height:1.9;letter-spacing:.08em;text-align:center}.phase-wait-line{height:1px;flex:1;max-width:30px;background:linear-gradient(90deg,transparent,#b9a16a88)}.phase-wait-line:last-child{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.phase-wait{animation:none}}.reduced .phase-wait{animation:none}.game-top-nav{margin:0 22px 12px;padding:0;flex-shrink:0;border-top:0;border-bottom:1px solid var(--line);gap:8px}.game-top-nav button{flex:1;min-height:44px;font-size:11px;padding:6px 0}.action-dock{position:fixed;z-index:20;bottom:0;left:0;right:0;width:min(390px,100%);margin:0 auto;padding:12px 22px max(12px,env(safe-area-inset-bottom));background:#091611f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:45dvh;overflow-y:auto}.action-dock:empty{display:none}.action-dock .confirmation p{font-size:12px;line-height:1.8;margin:0 0 10px}.action-dock .confirmed{margin:0;font-size:12px}.timer-controls{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.timer-shorten{position:absolute;right:calc(50% + 83px);width:52px;min-height:32px;padding:4px;font-size:10px;white-space:nowrap;color:#c9bd9e;border:1px solid #b9a16a55;background:#09161199}.show-victory>header,.show-victory>.phase-heading{display:none}.victory-screen{border:0;background:transparent;color:#eee8d9;width:100%;min-height:100dvh;padding:64px 24px max(40px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;text-align:center}.victory-screen .victory-cards{width:100%;margin:48px 0 40px;flex-shrink:0}.victory-screen h1{font-size:28px;font-weight:400;letter-spacing:.06em;margin:0;line-height:1.7}.victory-screen .victory-prompt{font-size:12px;letter-spacing:.12em;color:#c9bd9e;margin:56px 0 0}.relic-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:44px;min-height:44px;padding:8px;border:0;background:transparent;color:#c8b681;isolation:isolate}.relic-icon:hover{color:#f1dfaa;background:#c8b6810a}.relic-icon:focus-visible{outline:1px solid #d3bd82;outline-offset:2px}.timer-controls{min-height:44px}.journal-relic{position:absolute;left:calc(50% + 83px)}.ability-relic.unread:before{content:"";position:absolute;top:4px;right:-2px;bottom:4px;left:-2px;border-radius:50%;background:radial-gradient(ellipse,#bcc3e34d,transparent 68%);filter:blur(5px);z-index:-1;animation:relic-aura 3.2s ease-in-out infinite alternate}.ability-relic.unread{color:#e4d8af}.relic-unread{position:absolute;right:5px;top:7px;width:4px;height:4px;border-radius:50%;background:#e8d197;box-shadow:0 0 6px #dfca8c}@keyframes relic-aura{0%{opacity:.45;transform:translateY(3px) scale(.85)}to{opacity:1;transform:translateY(-3px) scale(1.2)}}.reduced .ability-relic:before{animation:none}@media(prefers-reduced-motion:reduce){.ability-relic:before{animation:none!important}}.attack-plan{margin:8px 0 24px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.attack-plan h3{font-size:14px;font-weight:400;color:#d3bd82;margin:0 0 14px}.attack-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:8px;padding:9px 0;font-size:15px}.attack-plan-row small{font-size:10px;color:#b5b8a8;margin-left:6px}.attack-plan-row>span:nth-child(2){color:#bba371}.attack-plan p{font-size:12px;line-height:1.9;color:#c5c8bd;margin:14px 0 0}.wolf-notes-toggle{display:block;margin:20px auto;font-size:13px}.wolf-notes-heading{font-size:15px;line-height:1.9;margin:20px 0}.vote-narration>p:empty{display:none}.vote-narration{margin-bottom:0}.person.runoff-excluded{opacity:.38;filter:grayscale(1)}.person.runoff-excluded .avatar{filter:grayscale(1)}.person.runoff-candidate small{color:#d4bd80}.person.runoff-candidate .avatar{border-color:#c8b378}.suspicion-control{padding:2px 0 12px}.suspicion-control label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#e8dfc6}.suspicion-control output{font-size:20px;color:#d3bd82}.suspicion-control input{width:100%;height:32px;accent-color:#c3a66d;cursor:pointer}.suspicion-scale{display:flex;justify-content:space-between;font-size:10px;color:#b5b8a8}.inference-share{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.8;margin-top:10px;color:#c5c8bd}.inference-share input{width:16px;height:16px;accent-color:#c3a66d}.death-veil{position:fixed;top:0;right:0;bottom:0;left:0;max-width:390px;margin:auto;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 0% 12%,#820d12a6,transparent 49%),radial-gradient(ellipse at 100% 74%,#700b158c,transparent 50%),radial-gradient(ellipse at 48% 108%,#65080ba6,transparent 48%),linear-gradient(#340a1238,#25050938);box-shadow:inset 0 0 95px #39050b80;animation:game-scene-enter 1.2s ease-out}.spectator .landscape{filter:saturate(.35) brightness(.7)}.spectator-label{color:#d5a19a;font-size:11px;letter-spacing:.16em;margin:8px 0}.reduced .death-veil{animation:none}@media(prefers-reduced-motion:reduce){.death-veil{animation:none}}:is(.phase-execution,.phase-morning)>header,:is(.phase-execution,.phase-morning) .phase-heading,:is(.phase-execution,.phase-morning) .action-dock{display:none}:is(.phase-execution,.phase-morning) .play-area{padding:0;animation:none}.event-scene{position:fixed;top:0;right:0;bottom:0;left:0;width:min(390px,100%);height:100dvh;min-height:0;margin:auto;z-index:30;isolation:isolate;background:#080d0c}.event-scene>img{z-index:-2;object-position:50% 45%;animation:outcome-image 7s ease-out both}.event-scene>div{position:relative;z-index:2;padding:110px 28px max(70px,calc(env(safe-area-inset-bottom) + 40px));background:linear-gradient(transparent,#050b09e6 65%,#050b09fa);animation:outcome-text 1.6s ease-out both}.event-scene h2{font-size:23px;line-height:1.9;letter-spacing:.05em;font-weight:400;text-wrap:pretty}.event-impact{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.event-scene:is(.attack,.execution:not(.no-execution)) .event-impact{background:radial-gradient(ellipse at 3% 21%,#590a12b8,transparent 43%),radial-gradient(ellipse at 100% 77%,#660d1799,transparent 43%);animation:blood-settle 2.8s ease-out both}.event-scene:is(.attack,.execution:not(.no-execution)) .event-impact i{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:radial-gradient(ellipse 42px 30px at 7% 23%,#580810e8 60%,#58081088 80%,transparent 100%),radial-gradient(ellipse 19px 25px at 18% 17%,#710e19d9 50%,transparent 93%),radial-gradient(ellipse 8px 11px at 28% 12%,#790e18c9 65%,transparent 100%),radial-gradient(ellipse 5px 7px at 34% 26%,#6b0b15bd 60%,transparent),radial-gradient(ellipse 12px 8px at 22% 34%,#610a14d9 65%,transparent),radial-gradient(ellipse 4px 5px at 39% 18%,#780f18b0 60%,transparent),radial-gradient(ellipse 30px 44px at 98% 61%,#580a13e6 55%,transparent 96%),radial-gradient(ellipse 13px 17px at 85% 70%,#680b16db 60%,transparent),radial-gradient(ellipse 6px 8px at 78% 59%,#750e18cc 60%,transparent),radial-gradient(ellipse 4px 6px at 72% 75%,#6b0b15c9 60%,transparent);filter:blur(.5px);animation:blood-arrive .75s ease-out both}.event-scene:is(.attack,.execution:not(.no-execution)) .event-impact i:nth-child(2){transform:rotate(7deg) scale(1.08);opacity:.45;filter:blur(4px);animation:blood-settle 3s ease-out both}.event-scene:is(.attack,.execution:not(.no-execution)) .event-impact i:nth-child(3){inset:23% auto auto 7%;width:3px;height:19%;background:linear-gradient(#580810dd,#580810b8 80%,transparent);border-radius:40% 55% 60% 60%;transform-origin:top;animation:blood-trail 4s .4s ease-out both;filter:blur(.6px)}.event-scene.execution:not(.no-execution) .event-impact{background:linear-gradient(180deg,#020303d9,transparent 65%);animation:verdict-shadow 2s ease-out both}.event-scene.no-execution .event-impact,.event-scene.peace .event-impact{background:linear-gradient(#d9c99b0d,transparent)}@keyframes outcome-image{0%{opacity:0;transform:scale(1.05)}25%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes outcome-text{0%{opacity:0;transform:translateY(10px)}45%{opacity:0}to{opacity:1;transform:none}}@keyframes blood-arrive{0%{opacity:0;filter:blur(3px)}30%{opacity:.95}to{opacity:.85;filter:blur(.5px)}}@keyframes blood-settle{0%{opacity:0}35%{opacity:.85}to{opacity:.7}}@keyframes blood-trail{0%{opacity:0;transform:scaleY(.05)}20%{opacity:.7}to{opacity:.7;transform:scaleY(1)}}@keyframes verdict-shadow{0%{opacity:0;transform:translateY(-25%)}to{opacity:1;transform:none}}.reduced .event-scene *{animation:none!important}@media(prefers-reduced-motion:reduce){.event-scene *{animation:none!important}}.victory-reason{max-width:310px;margin-top:22px;text-align:center}.victory-reason p{font-size:14px;line-height:1.9;margin:10px 0;color:#e0d7c3}.victory-reason small{display:block;font-size:11px;line-height:1.8;color:#bcb6a5}.event-scene.execution{align-items:center}.event-scene.execution>div{padding:64px 26px;background:radial-gradient(ellipse at center,#030807c9 0%,#03080788 45%,transparent 74%)}.event-scene.execution h2{margin:20px 0 0;text-shadow:0 2px 14px #000}.event-scene.execution:not(.no-execution) .event-impact{background:radial-gradient(ellipse at 3% 21%,#590a12b8,transparent 43%),radial-gradient(ellipse at 100% 77%,#660d1799,transparent 43%),linear-gradient(180deg,#02030388,transparent 65%);animation:blood-settle 2.8s ease-out both}.suspicion-control{padding:0}.suspicion-control label{font-size:12px}.suspicion-control output{font-size:17px}.suspicion-control input{display:block;margin:3px 0 0;height:28px;padding:0}.person-suspicion{display:block;font-size:11px;color:var(--suspicion-color,#c3aa77);margin-top:3px;line-height:1.5;font-variant-numeric:tabular-nums}.person[data-suspicion=true] .avatar{border-color:var(--suspicion-color);box-shadow:0 0 12px color-mix(in srgb,var(--suspicion-color) 30%,transparent);transition:border-color .2s,box-shadow .2s}.person[data-suspicion=true] .avatar:after{border-color:var(--suspicion-color)}.suspicion-control output{color:var(--suspicion-color)}.suspicion-control input{accent-color:var(--suspicion-color)}.person[data-suspicion=true] .avatar{position:relative;isolation:isolate;border-color:#bba96e;box-shadow:0 8px 18px #0007}.person[data-suspicion=true] .avatar:before,.person[data-suspicion=true] .avatar:after{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;pointer-events:none;border:0;border-radius:42%;opacity:var(--suspicion-smoke,0);background:radial-gradient(ellipse at 20% 35%,#a334478c,transparent 42%),radial-gradient(ellipse at 78% 62%,#8c263fbb,transparent 43%),radial-gradient(ellipse at 45% 90%,#70374d99,transparent 38%);-webkit-mask-image:radial-gradient(circle,transparent 35%,#000 49%,#000 65%,transparent 76%);mask-image:radial-gradient(circle,transparent 35%,#000 49%,#000 65%,transparent 76%);filter:blur(5px);animation:suspicion-smoke 7s ease-in-out infinite alternate;animation-delay:var(--smoke-delay,0s);transition:opacity .5s}.person[data-suspicion=true] .avatar:after{top:-25px;right:-25px;bottom:-25px;left:-25px;filter:blur(7px);animation-direction:alternate-reverse;animation-duration:9s}@keyframes suspicion-smoke{0%{transform:translate(-2px,3px) rotate(-12deg) scale(.96)}to{transform:translate(3px,-5px) rotate(18deg) scale(1.1)}}.reduced .person .avatar:before,.reduced .person .avatar:after{animation:none!important}@media(prefers-reduced-motion:reduce){.person .avatar:before,.person .avatar:after{animation:none!important}}.phase-vote .action-dock .gold{position:relative;background:radial-gradient(ellipse at 50% 120%,#67192280,transparent 72%),linear-gradient(180deg,#251416,#100c0e);border-color:#86634b;color:#ead8bd;box-shadow:inset 0 0 0 3px #120d0f,inset 0 0 0 4px #76513c66,inset 0 -12px 30px #4d101329,0 5px 18px #0006;text-shadow:0 1px 5px #000;letter-spacing:.09em;transition:background .25s,border-color .25s,box-shadow .25s}.phase-vote .action-dock .gold:before{color:#a66b57}.phase-vote .action-dock .gold:not(:disabled):hover{background:radial-gradient(ellipse at 50% 100%,#7c1e2a99,transparent 80%),#211013;border-color:#bd8a65;box-shadow:inset 0 0 0 3px #120d0f,inset 0 0 0 4px #96674c88,0 0 22px #6c15252e}.phase-vote .action-dock .gold:not(:disabled):active{transform:translateY(1px);background:#350f16}.phase-vote .action-dock .gold:focus-visible{outline:2px solid #d2ad7c;outline-offset:4px}.phase-vote .action-dock .gold:disabled{opacity:.45}.person-caption{display:block;margin-top:9px;padding:3px 2px 7px}.person .person-caption strong{display:block;font-size:15px;font-weight:500;line-height:1.6;color:#f5ecd9;text-shadow:0 1px 2px #000b}.person .person-caption .person-suspicion{font-size:11px;font-weight:400;line-height:1.7;color:#e2d3b3;text-shadow:0 1px 2px #000b;font-variant-numeric:tabular-nums}.person .person-caption small{color:#c7c5b6;text-shadow:0 1px 2px #000b;line-height:1.6}.person.dead .person-caption strong{color:#a7afa2}.person.dead .person-caption .person-suspicion{color:#aaa999}.players{align-items:start}.players>.person{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:start}.players>.person>.avatar{flex:0 0 auto}.players .person-caption{display:grid;grid-template-rows:26px 21px 20px;align-content:start;width:100%;height:74px;margin-top:9px;padding:3px 0 4px}.players .person-caption strong{grid-row:1;margin:0;line-height:26px}.players .person-caption .person-suspicion{grid-row:2;margin:0;line-height:21px}.players .person-caption small{grid-row:3;margin:0;line-height:20px}.players .person-caption em{grid-row:2;margin:0;line-height:21px}.players .person-caption{grid-template-rows:26px 21px;height:54px;padding:3px 0 4px}.players .person-caption small{grid-row:2}.players .person-caption:has(.person-suspicion) small{display:none}.players .person-caption strong{font-weight:400}.game .players{row-gap:10px;padding-top:12px;padding-bottom:14px}.game .players .person-caption{grid-template-rows:23px 18px;height:43px;margin-top:5px;padding:0}.game .players .person-caption strong{line-height:23px}.game .players .person-caption .person-suspicion,.game .players .person-caption small,.game .players .person-caption em{line-height:18px}.participant-management{margin:16px 0;color:var(--gold,#d4bf80)}.participant-management summary{cursor:pointer;padding:10px 0}.kick-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid #c5ad6330}.kick-row>span:first-child{margin-right:auto}.kick-row button{width:auto;min-height:36px;padding:6px 12px;font-size:13px}.card-screen-aura{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;border:0;z-index:1;pointer-events:none;background:transparent}.reveal-screen iframe{flex:1 0 auto;height:calc(100dvh - 235px);min-height:360px}.card-dialog iframe{flex:1;min-height:320px;height:100%}.card-dialog .card-pack-peek{position:absolute;bottom:20px;left:20px;right:20px;z-index:2;padding:10px 14px;background:#08120fed;border:1px solid #c4af7540;text-align:center;max-height:110px;overflow:auto;pointer-events:auto}.card-pack-peek small{display:block;color:var(--gold);font-size:11px;margin-bottom:4px}.card-pack-peek span{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.game .players .person-caption{grid-template-columns:minmax(0,1fr)}.game .players .person-caption>*{grid-column:1}.phase-ended .players .person-caption small{display:none}.card-screen-aura{opacity:0;transition:opacity .3s ease;color-scheme:dark}.environment-badge{position:fixed;bottom:8px;left:8px;z-index:100;pointer-events:none;background:#17231eee;border:1px solid #c7ad70;color:#e6d4a5;padding:3px 7px;font:11px sans-serif;letter-spacing:2px;border-radius:3px}.support-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#030a09f0;overflow:auto;display:grid;align-items:center;padding:24px 16px}.support-dialog{position:relative;max-width:440px;width:100%;margin:auto;padding:28px 20px;border:1px solid #b59b60;background:#0b1a16;text-align:center;box-shadow:inset 0 0 0 5px #0b1a16,inset 0 0 0 6px #665c3d}.support-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:28px}.support-cards{display:flex;gap:14px;justify-content:center;margin:24px 0 12px}.support-cards img{width:42%;height:auto;object-fit:contain}.support-dialog small{display:block;margin:12px 0;color:#c0baa4}.support-amounts{display:flex;gap:8px;margin:20px 0}.support-amounts button{flex:1;padding:12px 0;border:1px solid #665c3d;background:#10231c;color:#e1d3a9}.support-amounts button[aria-pressed=true]{border-color:#e1c77c;background:#34402b}.support-dialog .gold{width:100%}.support-link{display:block;margin:24px auto;color:#d2bc82;background:transparent;border:0;padding:12px}.support-overlay .reward-page{width:min(100%,520px);margin:auto}.room-composition{min-width:0}.room-capacity{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0 22px;border-bottom:1px solid var(--line);margin-bottom:24px}.room-capacity>div:first-child{display:grid;gap:5px}.room-capacity .setting-label{font-size:14px;color:#eee5d2}.room-capacity>div>small{font-size:10px;color:#b7beaf}.room-capacity-control{display:flex;align-items:center;gap:6px;white-space:nowrap}.room-capacity-control button{width:36px;min-height:44px;padding:0;background:none;border:0;color:var(--gold);font-size:22px}.room-capacity-control>span{display:flex;align-items:baseline;gap:3px;font-size:13px}.room-capacity-control small{font-size:11px;color:#c3bdab}.room-capacity-control strong{font-size:32px;line-height:1;font-weight:400;font-variant-numeric:tabular-nums;margin:0 3px}.room-deck{margin-bottom:22px}.room-deck-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-deck-heading h2{font-size:17px;letter-spacing:.07em;margin:0;font-weight:500}.deck-preview-count{display:flex;align-items:center;gap:2px;margin:0!important}.deck-preview-count select{width:auto!important;min-height:36px;padding:4px 3px!important;margin:0!important;font-size:12px;border:0!important;background:transparent!important;color:var(--gold);-webkit-appearance:none;-moz-appearance:none;appearance:none}.deck-preview-count>span{color:var(--gold);font-size:12px;pointer-events:none}.deck-player-count{font-size:12px;color:var(--gold)}.deck-caption{font-size:11px;color:#c2c5b6;line-height:1.7;margin:4px 0 14px}.room-card-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:7px 5px 10px;margin:10px -5px 0;scrollbar-width:thin;scrollbar-color:#b69d5d55 transparent}.room-card-gallery:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.room-role-card{flex:0 0 clamp(132px,38vw,166px);min-width:0;margin:0;scroll-snap-align:start}.room-role-card img{display:block;width:100%;aspect-ratio:800/1264;object-fit:contain;outline:1px solid #c8ae6a70;outline-offset:3px;border:1px solid #bc9c63;border-radius:4px;box-shadow:0 8px 18px #0008;background:#09110e}.room-role-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:12px;font-size:14px}.role-copy-count{color:var(--gold);font-size:12px}.role-copy-count strong{font-weight:500;font-size:19px}.deck-overview{display:flex;align-items:center;gap:8px;margin-top:4px}.deck-overview p{flex:1;margin:0;color:#c2c4b4;font-size:10px;line-height:1.9}.deck-arrows{display:flex;gap:4px;flex-shrink:0}.deck-arrows button{min-height:36px;width:36px;padding:0;border:1px solid #c8ae6a55;color:var(--gold);background:#0b1812a3;font-size:18px}.custom-deck{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px}.custom-deck summary{font-size:11px;color:#c8c7b8;cursor:pointer;padding:12px 0;list-style:none}.custom-deck summary:after{content:"＋";float:right;color:var(--gold)}.custom-deck[open] summary:after{content:"−"}.custom-deck summary::-webkit-details-marker{display:none}.custom-role-counts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.custom-role-counts label{display:flex;justify-content:space-between;align-items:center;margin:0!important;font-size:12px}.custom-role-counts select{width:56px;padding:6px 4px;margin:0;background:#0b1812a3;font-size:12px}.custom-deck-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0 12px;font-size:11px;color:#c2c4b4}.custom-deck-footer button{font-size:11px;padding:8px 0}@media(max-width:350px){.room-capacity{flex-wrap:wrap;gap:8px}.room-capacity-control{margin-left:auto}.room-capacity-control strong{font-size:28px}.room-deck-heading h2{font-size:15px}.deck-overview{align-items:flex-start}}.role-list{margin-top:14px;border-top:1px solid var(--line)}.role-list-row{display:flex;align-items:center;justify-content:space-between;min-height:48px;border-bottom:1px solid #c8ae6a26;font-size:15px;color:#eee5d2}.role-list-row select{width:80px;min-height:44px;margin:0;padding:8px 10px;background:#0b1812a3;border:0;color:var(--gold);font:inherit;text-align:right}.role-list-count{color:var(--gold);padding-right:12px;font-variant-numeric:tabular-nums}.game .world-landscape{background:#08120f;filter:none;overflow:hidden;transition:filter 1.8s}.world-image{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;object-position:100% 15%}.world-arriving{animation:world-dissolve 1.8s ease-in-out both}.game.night .veil{background:linear-gradient(#070e1266,#070e1240 25%,#070e1250 55%,#07100ed9)}.game.phase-home .veil{background:linear-gradient(#09171355,#09171318 28%,#09171335 55%,#091611df)}.game.spectator .world-landscape{filter:brightness(.8) saturate(.8)}@keyframes world-dissolve{0%{opacity:0}to{opacity:1}}.reduced .world-arriving{animation:none}@media(prefers-reduced-motion:reduce){.world-arriving{animation:none}.game .world-landscape{transition:none}}.game:is(.phase-create,.phase-join,.phase-lobby) .veil{background:linear-gradient(180deg,#050f0ccc,#050f0cb8 35%,#050f0cd1 75%,#07100e)}.game:is(.phase-discussion,.phase-vote,.phase-morning) .veil{background:linear-gradient(180deg,#06130dcc,#06130db8 25%,#06130db8 65%,#07100ee8)}.game.phase-ended .veil{background:linear-gradient(180deg,#06100dcc,#06100dbf 35%,#06100dd9 75%,#07100ef5)}.game.phase-ended .mist{opacity:.12}.game.phase-ended .players .person-caption strong{color:#f5ecd9;text-shadow:none;font-weight:500}.game.phase-ended .players .person-caption em{color:#dbc58f;text-shadow:none}
