:root{--bg: #0d0b1c;--panel: rgba(18, 13, 28, .92);--panel-solid: #171126;--line: #3a2f56;--text: #f1e9da;--dim: #a99fbd;--fire: #ffb53a;--fire2: #f06d22;--good: #6fc3df;--evil: #e23a4a;--gold: #f2c94c;--violet: #9a6ae0;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Silkscreen,Pixelify Sans,ui-monospace,Courier New,monospace;font-size:15px;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;font-variant-ligatures:none}html[lang=vi] body{font-family:VT323,ui-monospace,Courier New,monospace;font-size-adjust:.52}button,input,select{font:inherit;color:inherit}#view{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;image-rendering:pixelated;image-rendering:crisp-edges;display:block;touch-action:none}#labels{position:fixed;inset:0;pointer-events:none;overflow:hidden}.lbl{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000}.lbl.name{font-size:12px;color:#fff}.lbl.name.off{opacity:.45}.lbl.name.ghost{color:#b9c6ff;opacity:.7}.lbl.bubble{background:#f4f0ff;color:#120d1c;text-shadow:none;padding:2px 6px;border:2px solid #120d1c;font-size:12px;max-width:180px;white-space:normal;border-radius:0}.lbl.num{font-size:13px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:2px}.lbl.num.dead{color:#776d8c}.lbl.num.sel{color:#fff;background:#f06d22bf;padding:0 4px}.lbl.num .votes{color:#ff8a8a;margin-left:2px}.lbl .ic{transform:scale(.75);margin:-4px -3px}#flash{position:fixed;inset:0;pointer-events:none;opacity:0}#flash.go{animation:flash 1.2s ease-out}@keyframes flash{0%{opacity:.6}to{opacity:0}}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(5,3,12,.65) 100%)}body.dead-me #vignette{background:radial-gradient(ellipse at center,#280a3c33 30%,#0a0314e6)}#loading{position:fixed;inset:0;display:grid;place-items:center;font-size:22px;color:var(--fire);background:var(--bg)}#hud{position:fixed;left:0;right:0;top:0;padding:calc(6px + var(--safe-t)) calc(8px + var(--safe-r)) 6px calc(8px + var(--safe-l));display:flex;align-items:flex-start;gap:8px;pointer-events:none}#hud>*{pointer-events:auto}#hud{flex-wrap:wrap}.chip,.btn{white-space:nowrap}.chip{background:var(--panel);border:2px solid var(--line);padding:4px 8px;display:flex;align-items:center;gap:6px;box-shadow:0 2px #000}.phase{flex-direction:column;align-items:flex-start;gap:0;min-width:110px}.phase .p{color:var(--fire);font-weight:600;font-size:15px}.phase .s{color:var(--dim);font-size:12px}.timer{font-variant-numeric:tabular-nums;color:#fff}.timer.low{color:var(--evil)}.hpbar{width:90px;height:10px;background:#2a1020;border:1px solid #000;position:relative}.hpbar>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(#ff6070,#c8321f)}.ap{display:flex;gap:3px}.ap i{width:10px;height:14px;background:#3a3020;border:1px solid #000}.ap i.on{background:var(--gold)}.spacer{flex:1}.btn{background:#2a1f40;border:2px solid #5a4a80;color:var(--text);padding:6px 10px;cursor:pointer;box-shadow:0 2px #000;min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.1}.btn:active{transform:translateY(2px);box-shadow:none}.btn:disabled{opacity:.4;cursor:default}.btn.fire{background:#6a2c10;border-color:var(--fire2);color:#fff3d8}.btn.evil{background:#4a1020;border-color:var(--evil)}.btn.good{background:#12344a;border-color:var(--good)}.btn.gold{background:#4a3a10;border-color:var(--gold)}.btn.small{min-height:30px;padding:3px 8px;font-size:13px}.btn .badge{background:var(--evil);color:#fff;font-size:11px;padding:0 4px}.iconbtn{width:40px;padding:0}#panel{position:fixed;left:50%;transform:translate(-50%);bottom:calc(8px + var(--safe-b));width:min(560px,calc(100vw - 16px - var(--safe-l) - var(--safe-r)));background:var(--panel);border:2px solid var(--line);box-shadow:0 3px #000;padding:8px;max-height:46vh;overflow:auto}#panel .head{display:flex;align-items:center;gap:8px;margin-bottom:4px}#panel .head .ttl{font-weight:600;color:var(--gold);font-size:16px}#panel .head .x{margin-left:auto}#panel .info{color:var(--text);font-size:14px;margin:4px 0}#panel .info .q{color:#fff6d8}#panel .info .d{color:var(--dim);font-size:12px}#panel .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}#panel .acts .btn{flex:1 1 auto}#panel .hint{color:var(--dim);font-size:12px;text-align:center}.reading{border-left:3px solid var(--line);padding-left:6px;margin:4px 0}.reading.true{border-color:var(--good)}.reading.false{border-color:var(--evil)}#banner{position:fixed;left:0;right:0;top:34%;text-align:center;pointer-events:none;opacity:0;font-size:clamp(26px,6vw,48px);color:var(--fire);text-shadow:3px 3px 0 #000}#banner.go{animation:banner 2.6s ease-out}#banner small{display:block;font-size:.45em;color:var(--text)}@keyframes banner{0%{opacity:0;transform:scale(1.2)}15%{opacity:1;transform:none}75%{opacity:1}to{opacity:0}}#toasts{position:fixed;left:50%;transform:translate(-50%);top:calc(64px + var(--safe-t));display:flex;flex-direction:column;gap:4px;align-items:center;pointer-events:none;width:min(520px,94vw)}.toast{background:var(--panel);border:2px solid var(--line);padding:4px 10px;font-size:13px;animation:toast 5s forwards;text-align:center}.toast.err{border-color:var(--evil)}@keyframes toast{0%{opacity:0}8%{opacity:1}85%{opacity:1}to{opacity:0}}#modal{position:fixed;inset:0;display:grid;place-items:center;background:#05030c8c;padding:calc(10px + var(--safe-t)) calc(10px + var(--safe-r)) calc(10px + var(--safe-b)) calc(10px + var(--safe-l))}#modal[hidden]{display:none}.card{background:var(--panel-solid);border:2px solid var(--line);box-shadow:0 4px #000;padding:14px;width:min(520px,100%);max-height:100%;overflow:auto;touch-action:pan-y}.card h1{margin:0 0 4px;color:var(--fire);font-size:30px;text-shadow:2px 2px 0 #000}.card h2{margin:0 0 8px;color:var(--gold);font-size:20px}.card h3{margin:12px 0 6px;color:var(--fire);font-size:15px}.card p{margin:6px 0;line-height:1.35}.card .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.card .col{display:flex;flex-direction:column;gap:8px}.card input[type=text]{background:#0d0918;border:2px solid var(--line);padding:8px;color:var(--text);min-width:0;flex:1;-webkit-user-select:text;user-select:text}.card input.code{text-transform:uppercase;letter-spacing:4px;max-width:120px;text-align:center}.dim{color:var(--dim)}.big-code{font-size:40px;letter-spacing:8px;color:var(--gold);text-shadow:2px 2px 0 #000}.plist{display:flex;flex-direction:column;gap:4px}.plist .pl{display:flex;align-items:center;gap:8px;padding:4px 6px;background:#120d1e;border:1px solid #2a2140}.plist .pl.dead{opacity:.55}.plist .pl .dot{width:12px;height:12px;border:1px solid #000}.plist .pl .tag{font-size:11px;color:var(--dim)}.plist .pl .ev{color:var(--evil);font-size:12px}.plist .pl .vt{margin-left:auto;color:#ff8a8a;font-size:12px}.seg{display:inline-flex;border:2px solid var(--line)}.seg button{background:transparent;border:0;padding:6px 10px;cursor:pointer}.seg button.on{background:#4a2f70;color:#fff}.roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.role{display:flex;gap:8px;align-items:flex-start;background:#120d1e;border:1px solid #2a2140;padding:6px;font-size:13px}.role b{color:var(--gold)}.role.evil b{color:var(--evil)}.role.out b{color:var(--good)}.title-art{display:flex;justify-content:center;gap:8px;margin:4px 0 6px}.menu-btns{display:grid;gap:8px}.menu-btns .btn{min-height:46px;font-size:17px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.stone{background:#120d1e;border:2px solid #2a2140;padding:6px;font-size:12px;cursor:pointer;text-align:left;color:var(--text)}.stone.sel{border-color:var(--fire2)}.stone.dead{opacity:.6}.stone .n{color:var(--gold);font-size:15px;font-weight:600;display:flex;align-items:center;gap:4px}.stone .n .votes{margin-left:auto;color:#ff8a8a}.stone .s{color:#fff6d8;margin-top:2px}.stone .tr{color:var(--evil);font-size:11px}.chatlog{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow:auto;touch-action:pan-y;padding-right:4px}.msg{font-size:13px;line-height:1.3;-webkit-user-select:text;user-select:text}.msg .who{font-weight:600}.msg.sys{color:var(--fire)}.msg.ghost{color:#b9c6ff;font-style:italic}.msg.team{color:#ff9aa6}.chatform{display:flex;gap:6px;margin-top:8px}.ic{display:inline-block;width:28px;height:28px;background-image:url(/assets/icons.png);background-repeat:no-repeat;image-rendering:pixelated;flex:none}.ic.red{filter:drop-shadow(0 0 2px #e23a4a)}.ic.sm{width:14px;height:14px}@media(max-width:640px),(max-height:500px){body{font-size:14px}.phase{min-width:0}.hpbar{width:60px}#panel{max-height:52vh}.card h1{font-size:24px}}@media(max-height:460px)and (orientation:landscape){#panel{left:auto;right:calc(8px + var(--safe-r));transform:none;width:min(380px,48vw);max-height:calc(100vh - 70px)}#toasts{top:calc(52px + var(--safe-t))}.chatlog{max-height:44vh}}.card[data-kind=rules]{width:min(860px,100%);height:640px;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:0;background:none;border:0;box-shadow:none;overflow:visible;display:flex}.book{position:relative;flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;background:#2a1414;border:3px solid #120d1c;box-shadow:0 6px #000,inset 0 0 0 4px #5a2a1e;padding:10px;perspective:1600px;animation:bookIn .28s ease-out}@keyframes bookIn{0%{transform:translateY(30px) scale(.86);opacity:0}to{transform:none;opacity:1}}.cover{position:absolute;inset:-3px;z-index:4;transform-origin:left center;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(ellipse at 50% 45%,#7a2020,#4a1212 60%,#2a0a0a);border:3px solid #120d1c;box-shadow:inset 0 0 0 6px #3a0e0e,inset 0 0 0 8px #c8902a,inset 14px 0 0 8px #2a0a0a;animation:coverOpen .85s cubic-bezier(.55,.05,.35,1) .3s forwards}.cover .sigil .ic{transform:scale(2.6);image-rendering:pixelated;filter:drop-shadow(0 0 6px #ffb53a)}.cover-title{margin-top:26px;color:#f2c94c;font-size:26px;text-shadow:2px 2px 0 #000;letter-spacing:1px}.cover-line{width:40%;height:3px;background:#c8902a;box-shadow:0 6px #c8902a}@keyframes coverOpen{0%{transform:rotateY(0);opacity:1}70%{opacity:1}to{transform:rotateY(-178deg);opacity:0;visibility:hidden}}.ribbons{display:flex;gap:4px;margin:-4px 0 6px 8px;flex-wrap:wrap}.ribbon{background:#6a1e1e;color:#f6e2c0;border:2px solid #120d1c;padding:4px 12px 6px;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);min-height:34px}.ribbon.on{background:#c8902a;color:#1a1008}.pages-wrap{position:relative;flex:1;min-height:0;display:flex;perspective:1400px}.pages{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text;background:linear-gradient(90deg,#e9d6b0,#f3e4c4 47%,#cdb48a,#f3e4c4 53%,#e9d6b0);color:#2a1a10;padding:14px 22px;border:2px solid #120d1c}.spread{column-count:2;column-gap:44px}.turner{position:absolute;top:0;bottom:0;left:50%;width:50%;z-index:2;pointer-events:none;transform-origin:left center;background:linear-gradient(90deg,#cdb48a,#f3e4c4 30%,#e9d6b0);border:2px solid #120d1c;box-shadow:-6px 0 12px #00000059;animation:turn .5s ease-in forwards}@keyframes turn{0%{transform:rotateY(0)}to{transform:rotateY(-180deg);opacity:.2}}.pages h2{color:#6a1e1e;margin:0 0 8px;column-span:all}.pages h3{color:#8a3a12;margin:10px 0 6px;break-after:avoid}.pages h3 .count{color:#8a6a40;font-size:.85em}.pages p{margin:6px 0;line-height:1.35}.pages b{color:#5a1414}.pages .dim{color:#6a5440}.pages .roles{display:block}.pages .role{background:#ffffff40;border:1px solid #b89a6a;color:#2a1a10;margin-bottom:6px;break-inside:avoid}.pages .role b{color:#2a1a10}.pages .role.evil b{color:#8a1020}.pages .role.out b{color:#1e4a6a}.pages .here{background:#8a1020;color:#fff;font-size:11px;padding:0 4px}.pages .noteblock{break-inside:avoid;margin-bottom:8px}.pages .note{font-size:13px;margin:3px 0}.pages .note.other{color:#4a3a6a}.pages .note.dead{color:#8a1020}.pages .reading{border-left-color:#b89a6a}.pages .reading .q{color:#2a1a10}.pages .reading .d{color:#6a5440}.book-foot{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:8px;color:#e9d6b0;font-size:12px}.book-foot .dim{color:#c8a878}@media(max-width:700px),(max-height:460px){.spread{column-count:1}.pages{background:#f0e0be;padding:10px 14px}.turner{left:0;width:100%}.card[data-kind=rules]{width:100%}}@media(max-height:380px){.book{padding:6px}.ribbon{min-height:28px;padding:2px 10px 4px;font-size:13px}.ribbons{margin-bottom:4px}.book-foot{margin-top:4px}.book-foot .dim{display:none}.book-foot .btn{min-height:30px}}@media(prefers-reduced-motion:reduce){.book,.cover,.turner{animation-duration:.01s!important;animation-delay:0s!important}}.punish{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:16vh;pointer-events:none;z-index:5;background:radial-gradient(ellipse at center,#78000a73,#1e0005bf);animation:punishBg 3.2s ease-out forwards}@keyframes punishBg{0%{opacity:0}8%{opacity:1}70%{opacity:1}to{opacity:0}}.punish .heart{transform:scale(3);image-rendering:pixelated;animation:heartBreak 1.4s steps(6) forwards}@keyframes heartBreak{0%{transform:scale(1.5)}30%{transform:scale(3.4)}45%{transform:scale(2.8) rotate(-8deg)}60%{transform:scale(3) rotate(6deg);filter:grayscale(0)}to{transform:scale(2.8) translateY(4px);filter:grayscale(.7) brightness(.7)}}.punish .loss{margin-top:44px;font-size:54px;color:#ff4a5a;text-shadow:4px 4px 0 #000;animation:lossDrop 2s ease-out forwards}@keyframes lossDrop{0%{transform:translateY(-30px) scale(1.4)}to{transform:translateY(10px)}}.punish .why{margin-top:6px;font-size:18px;color:#ffd0c0;text-shadow:2px 2px 0 #000;text-align:center;padding:0 16px}.chip.hurt{animation:hurt .12s linear 8;border-color:var(--evil)}@keyframes hurt{0%{transform:translate(-3px)}50%{transform:translate(3px)}to{transform:none}}.steps{margin:8px 0;padding-left:22px;line-height:1.5}.steps li{margin:4px 0}.stone .hb{color:#c8a8ff;font-size:11px;margin-top:2px}.pages .note.habit{color:#4a2a7a;font-style:italic}.book.grand{animation:codexRise .45s cubic-bezier(.2,.8,.3,1) both}.book.quick{animation:bookIn .22s ease-out both}@keyframes codexRise{0%{transform:perspective(900px) translateY(45%) rotateX(38deg) scale(.55);opacity:0;filter:brightness(.4)}70%{opacity:1}to{transform:none;opacity:1;filter:none}}.cover .corner{position:absolute;width:18px;height:18px;border:3px solid #c8902a}.cover .corner.tl{left:14px;top:14px;border-right:0;border-bottom:0}.cover .corner.tr{right:14px;top:14px;border-left:0;border-bottom:0}.cover .corner.bl{left:14px;bottom:14px;border-right:0;border-top:0}.cover .corner.br{right:14px;bottom:14px;border-left:0;border-top:0}.cover .sigil .ic{transform:scale(2.8);image-rendering:pixelated}.cover-title{letter-spacing:6px}.clasp{position:absolute;right:-6px;top:50%;transform:translateY(-50%);padding:10px 6px 10px 10px;background:#3a0e0e;border:3px solid #c8902a;border-right:0}.clasp .ic{transform:scale(1.4);image-rendering:pixelated}.book.grand .cover{animation:coverOpen .75s cubic-bezier(.55,.05,.35,1) .9s forwards}.book.grand .cover .sigil{animation:sigilWake .8s ease-in .2s both}.book.grand .clasp{animation:claspShake .2s steps(4) .45s 1,claspBreak .35s ease-in .65s forwards}.book.quick .cover{animation:coverOpen .42s cubic-bezier(.55,.05,.35,1) .08s forwards}.book.quick .clasp,.book.quick .riffle,.book.quick .burst,.book.quick .motes{display:none}@keyframes sigilWake{0%{filter:drop-shadow(0 0 0 #ff3a3a) brightness(.6)}60%{filter:drop-shadow(0 0 14px #ff3a3a) brightness(1.4)}to{filter:drop-shadow(0 0 22px #ffb53a) brightness(1.8)}}@keyframes claspShake{0%,to{margin-top:0}25%{margin-top:-3px}75%{margin-top:3px}}@keyframes claspBreak{to{transform:translate(60px,80px) rotate(70deg);opacity:0}}.riffle{position:absolute;inset:0;z-index:3;pointer-events:none;perspective:1400px}.riffle i{position:absolute;inset:6px 8px;transform-origin:left center;opacity:0;background:linear-gradient(90deg,#cdb48a,#f3e4c4 25%,#e9d6b0);border:1px solid #8a6a40}.book.grand .riffle i{animation:leaf .42s ease-in forwards}.book.grand .riffle i:nth-child(1){animation-delay:1s}.book.grand .riffle i:nth-child(2){animation-delay:1.07s}.book.grand .riffle i:nth-child(3){animation-delay:1.14s}.book.grand .riffle i:nth-child(4){animation-delay:1.21s}.book.grand .riffle i:nth-child(5){animation-delay:1.28s}@keyframes leaf{0%{opacity:1;transform:rotateY(0)}to{opacity:0;transform:rotateY(-175deg)}}.burst{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 30% 50%,rgba(255,220,140,.85),rgba(255,150,60,.25) 40%,transparent 70%)}.book.grand .burst{animation:burst .9s ease-out 1s both}@keyframes burst{0%{opacity:0}30%{opacity:1}to{opacity:0}}.motes{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.motes i{position:absolute;bottom:10%;left:var(--x);width:4px;height:4px;background:#ffd35a;box-shadow:0 0 6px #ffb53a;opacity:0}.book.grand .motes i{animation:mote calc(1.6s * var(--s)) ease-out calc(1.05s + var(--d)) both}@keyframes mote{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translate(12px,-260px)}}.book.grand .ribbons,.book.grand .pages-wrap,.book.grand .book-foot{animation:pagesIn .4s ease-out 1.25s both}.book.quick .ribbons,.book.quick .pages-wrap,.book.quick .book-foot{animation:pagesIn .25s ease-out .3s both}@keyframes pagesIn{0%{opacity:0}to{opacity:1}}.book.skip,.book.skip *{animation-delay:0s!important;animation-duration:.01s!important}.book.closing{animation:codexSink .3s ease-in .12s forwards!important}.book.closing .cover{animation:coverClose .25s ease-in forwards!important;visibility:visible}@keyframes coverClose{0%{transform:rotateY(-178deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes codexSink{to{transform:perspective(900px) translateY(30%) rotateX(25deg) scale(.7);opacity:0}}@media(prefers-reduced-motion:reduce){.book *,.book{animation-duration:.01s!important;animation-delay:0s!important}}#nightfall{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 40%,#1a1430,#07050e 70%);color:#d8d0f0;font-size:22px;opacity:0;pointer-events:none;transition:opacity .35s}#nightfall.on{opacity:1;pointer-events:auto}#nightfall .moon{width:56px;height:56px;border-radius:50%;background:#f4f0ff;box-shadow:0 0 30px #a9b8e8,inset -14px -6px #c8cce8;animation:moonPulse 1.6s ease-in-out infinite alternate}@keyframes moonPulse{0%{transform:scale(.94);filter:brightness(.9)}to{transform:scale(1.04);filter:brightness(1.15)}}.night-card .night-num{font-size:34px;color:var(--fire);text-shadow:2px 2px 0 #000;text-align:center;margin:2px 0 6px}.role.new{border-color:var(--gold);box-shadow:inset 0 0 0 1px #6a5420}.role.locked{opacity:.6;border-style:dashed}.pages .role.locked{background:#0000000f}.ash-note{color:#ff9a8a}.curse-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.curse-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;cursor:pointer;text-align:center;background:linear-gradient(#2a0e18,#160812);color:var(--text);border:2px solid #8a1020;box-shadow:0 3px #000;transition:transform .12s,box-shadow .12s}.curse-card b{color:#ff8a9a;font-size:18px}.curse-card span{font-size:13px;color:var(--dim)}.curse-card:hover,.curse-card:focus-visible{transform:translateY(-3px);box-shadow:0 6px #000,0 0 18px #e23a4a73}.curse-card:active{transform:translateY(2px);box-shadow:none}@media(max-width:520px){.curse-pick{grid-template-columns:1fr}}:root{--ink: #3a2414;--ink-dim: #7a5a3a;--ink-red: #8a1828;--ink-gold: #8a5a10;--ink-blue: #1e5a7a;--cream: #f6e6c4}.btn,.chip,#panel,.card,.toast,.tour-bubble,.seg,.card input[type=text]{image-rendering:pixelated}.btn{border:10px solid transparent;border-image:url(/assets/ui_btn.png) 5 fill / 10px / 0 stretch;background:none;box-shadow:none;color:var(--cream);text-shadow:1px 1px 0 #1e0406;padding:0 6px;min-height:40px}.btn:active{border-image-source:url(/assets/ui_btn_down.png);transform:translateY(1px)}.btn.fire,.btn.gold{border-image-source:url(/assets/ui_btn_gold.png);color:#3a1a04;text-shadow:0 1px 0 #ffe9a0}.btn.evil{border-image-source:url(/assets/ui_btn_evil.png)}.btn.good{border-image-source:url(/assets/ui_btn_good.png)}.btn.small{min-height:34px;padding:0 3px}.btn:disabled{filter:grayscale(.7) brightness(.8)}.btn .ic.hud{margin:-4px -2px}.btn .lbltxt{margin-left:2px}.iconbtn{width:46px;padding:0}.chip{border:8px solid transparent;border-image:url(/assets/ui_tab.png) 5 fill / 8px / 0 stretch;background:none;box-shadow:none;padding:0 4px;color:var(--cream)}.phase .p{color:#ffd35a}.phase .s{color:#e2cc9e}.hp-chip .hearts{display:inline-flex}.hp-chip .hearts .ic{margin:-6px -5px}.hp-chip .hpnum{margin-left:6px;color:#ffb0b8;font-variant-numeric:tabular-nums}.ap-chip .ic{margin:-6px -4px}.chip.hurt{animation:hurt .12s linear 8}#panel,.card{border:16px solid transparent;border-image:url(/assets/ui_parch.png) 8 fill / 16px / 0 round;background:none;box-shadow:0 6px #0000008c;color:var(--ink);--text: var(--ink);--dim: var(--ink-dim);--fire: #a8401a;--gold: var(--ink-gold);--good: var(--ink-blue);--evil: var(--ink-red)}#panel{padding:2px 4px}.card{padding:4px 8px}.card h1{color:#8a1828;text-shadow:1px 1px 0 #f6e6c4,2px 2px 0 rgba(0,0,0,.2)}.card h2{color:#6a1e1e}.card h2:before,.card h2:after{content:"❦";color:#b07a1a;font-size:.8em;margin:0 8px}.card h3{color:#8a3a12;border-bottom:2px dotted #c8a878;padding-bottom:2px}.card .dim,#panel .dim,#panel .d,#panel .hint{color:var(--ink-dim)}#panel .head .ttl{color:#8a1828}#panel .info .q{color:var(--ink)}.reading{border-left-color:#c8a878}.toast{border:12px solid transparent;border-image:url(/assets/ui_parch.png) 8 fill / 12px / 0 round;background:none;color:var(--ink);padding:0 6px}.toast.err{color:#8a1828}.card input[type=text]{background:#fff7e2;border:2px solid #8a6a40;color:var(--ink);box-shadow:inset 0 2px #e2cc9e}.seg{border:8px solid transparent;border-image:url(/assets/ui_tab.png) 5 fill / 8px / 0 stretch}.seg button{color:#e2cc9e;padding:4px 8px}.seg button.on{background:#b07a1a;color:#2a1404}.plist .pl,.role,.stone{background:#fbf0d6;border:2px solid #c8a878;color:var(--ink);box-shadow:0 2px #c8a878}.role b{color:#3a2414}.role.evil b{color:#8a1828}.role.out b{color:#1e5a7a}.stone .n{color:#8a5a10}.stone .s{color:var(--ink)}.stone.sel{border-color:#b0353a}.msg .who{text-shadow:1px 1px 0 #3a2414,-1px 1px 0 #3a2414,1px -1px 0 #3a2414,-1px -1px 0 #3a2414}.msg.sys{color:#a8401a}.chatlog{background:#fbf0d6;border:2px solid #c8a878;padding:6px}.big-code{color:#8a1828;text-shadow:2px 2px 0 #e2cc9e}.curse-card{color:var(--cream);--dim: #d8bfa8}.night-card .night-num{color:#8a1828;text-shadow:2px 2px 0 #e2cc9e}.night-card .night-num:before,.night-card .night-num:after{content:"✦";color:#b07a1a;margin:0 12px;font-size:.6em;vertical-align:middle}#banner{color:#ffd35a;text-shadow:3px 3px 0 #3e0a0e,-1px -1px 0 #3e0a0e}#banner:before,#banner:after{content:"❧";color:#b07a1a;font-size:.55em;margin:0 14px;vertical-align:middle;display:inline-block}#banner:before{transform:scaleX(-1)}.cover{border:24px solid transparent;border-image:url(/assets/ui_leather.png) 8 / 24px / 0 round}.cover .sigil .gem{width:104px;height:104px;image-rendering:pixelated}#tour{position:fixed;inset:0;z-index:30;pointer-events:none}#tour.leaving{opacity:0;transition:opacity .25s}#tour.dim{background:#08041073}.tour-spot{position:absolute;border-radius:10px;pointer-events:none;box-shadow:0 0 0 9999px #0804108c,0 0 0 3px #ffd35a,0 0 18px 4px #ffd35ab3;transition:left .12s,top .12s,width .12s,height .12s;animation:spotPulse 1.4s ease-in-out infinite alternate}@keyframes spotPulse{to{box-shadow:0 0 0 9999px #0804108c,0 0 0 3px #ffe9a0,0 0 26px 8px #ffd35ae6}}.tour-bubble{position:absolute;left:0;top:0;pointer-events:auto;display:flex;gap:8px;align-items:flex-start;border:16px solid transparent;border-image:url(/assets/ui_parch.png) 8 fill / 16px / 0 round;color:var(--ink);filter:drop-shadow(0 6px 0 rgba(0,0,0,.5));max-height:calc(100vh - 20px);overflow:auto}.tour-bubble.pop{animation:tourPop .28s cubic-bezier(.2,1.4,.4,1)}@keyframes tourPop{0%{opacity:0}to{opacity:1}}.tour-bubble .dom{flex:none;width:60px;height:72px;background:url(/assets/dom.png) 0 0 / 360px 72px no-repeat;image-rendering:pixelated;animation:domBob 1s steps(6) infinite}@keyframes domBob{to{background-position:-360px 0}}.tour-body{flex:1;min-width:0}.tour-text{font-size:15px;line-height:1.35}.tour-text b{color:#8a1828}.tour-foot{display:flex;align-items:center;gap:6px;margin-top:8px}.tour-dots{flex:1;display:flex;gap:3px;flex-wrap:wrap}.tour-dots i{width:7px;height:7px;background:#e2cc9e;border:1px solid #8a6a40}.tour-dots i.past{background:#c8a878}.tour-dots i.on{background:#b0353a}.tour-hand{position:absolute;width:36px;height:32px;display:none;pointer-events:none;background:url(/assets/ic_hand.png) center / contain no-repeat;image-rendering:pixelated;filter:drop-shadow(2px 2px 0 #000)}.tour-hand.drag{animation:handDrag 1.6s ease-in-out infinite}.tour-hand.tap{animation:handTap 1s ease-in-out infinite}@keyframes handDrag{0%{transform:translate(80px);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translate(-80px);opacity:0}}@keyframes handTap{0%,to{transform:translateY(6px) scale(1)}50%{transform:translate(0) scale(.85)}}@media(max-height:460px){.tour-bubble .dom{width:45px;height:54px;background-size:270px 54px;animation-name:domBobSmall}.tour-text{font-size:14px}.tour-foot .btn{min-height:30px}}@keyframes domBobSmall{to{background-position:-270px 0}}@media(max-width:520px){.btn .lbltxt{display:none}}
