:root{--primary: rgb(79, 128, 225);--on-primary: #fff;--background: #fff;--text: #000;--border: rgba(0, 0, 0, .15);--selected: rgba(0, 0, 0, .06);--fake: rgb(46, 150, 90);--day-primary: rgb(79, 128, 225);--night-primary: rgb(104, 72, 180);--end-primary: rgb(28, 110, 72);--winner: rgba(46, 150, 90, .28);--danger: rgb(214, 72, 68);--success: rgb(46, 150, 90);--scrim: rgba(0, 0, 0, .5);--image-placeholder: rgba(0, 0, 0, .1);--hairline: 1px;--score: rgb(176, 118, 12);--gold: rgb(243, 205, 96);--gold-deep: rgb(198, 141, 30);--on-gold: rgb(72, 46, 6);--rarity-common: rgb(110, 117, 124);--rarity-rare: rgb(52, 120, 210);--rarity-epic: rgb(128, 84, 200);--rarity-legendary: rgb(198, 141, 30);--paper: rgb(255, 255, 255);--radius-m: 18px;--radius-l: 26px;--ink: rgba(18, 22, 40, .18);--shadow-soft: 0 6px 18px rgba(20, 24, 40, .1);--bounce: cubic-bezier(.34, 1.56, .64, 1);--menu-background: rgb(67, 72, 77);--phase-split: linear-gradient(135deg, var(--day-primary) calc(50% - .5px) , var(--night-primary) calc(50% + .5px) );--sheen: linear-gradient(180deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .14) 34%, rgba(0, 0, 0, .1));--gloss: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 64%);--press-scale: .97;--press-opacity: .72;--safe-bottom: min(env(safe-area-inset-bottom), 34px)}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow:hidden;overscroll-behavior:none;font-size:100%}body{margin:0;overflow:hidden;background-color:var(--background);background-image:linear-gradient(180deg,color-mix(in srgb,var(--primary) 18%,transparent) 0%,color-mix(in srgb,var(--primary) 5%,transparent) 45%,transparent 100%);color:var(--text);font:1rem/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none}img{-webkit-user-drag:none;pointer-events:none}button,input,textarea,select,[role=button]{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}button,[role=button]{transition:transform .08s ease,opacity .08s ease}button:active:not(:disabled),[role=button]:active{transform:scale(var(--press-scale));opacity:var(--press-opacity)}:is(button,[role=button]):active:has(:is(button,[role=button]):active){transform:none;opacity:1}select{-webkit-appearance:none;appearance:none;height:34px;max-width:100%;padding:0 28px 0 12px;border:var(--hairline) solid var(--border);border-radius:25px;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2343484d'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;color:var(--text);font-size:.875rem;font-weight:400;letter-spacing:normal;text-transform:none;text-align:left;line-height:1;cursor:pointer;outline:none}select:focus{border-color:var(--primary)}.divider select{height:28px;padding-left:10px;border:0;border-left:var(--hairline) solid var(--border);border-radius:0}.divider select:focus{border-left-color:var(--primary)}body:before{content:"";position:fixed;inset:-10% -40% 35%;z-index:0;pointer-events:none;background-image:radial-gradient(170px 70px at 8% 18%,rgba(255,255,255,.55),transparent 72%),radial-gradient(210px 80px at 34% 12%,rgba(255,255,255,.45),transparent 72%),radial-gradient(190px 72px at 61% 22%,rgba(255,255,255,.5),transparent 72%),radial-gradient(160px 66px at 86% 14%,rgba(255,255,255,.42),transparent 72%),radial-gradient(150px 60px at 48% 34%,rgba(255,255,255,.35),transparent 72%);background-repeat:no-repeat;backface-visibility:hidden;animation:drift-far 120s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:-6% -30% 45%;z-index:0;pointer-events:none;opacity:.75;background-image:radial-gradient(260px 96px at 18% 26%,rgba(255,255,255,.6),transparent 72%),radial-gradient(300px 108px at 55% 16%,rgba(255,255,255,.5),transparent 72%),radial-gradient(240px 88px at 82% 30%,rgba(255,255,255,.45),transparent 72%);background-repeat:no-repeat;backface-visibility:hidden;animation:drift-near 80s ease-in-out infinite alternate}@keyframes drift-far{0%{transform:translate3d(-3%,0,0)}to{transform:translate3d(3%,0,0)}}@keyframes drift-near{0%{transform:translate3d(4%,0,0)}to{transform:translate3d(-4%,0,0)}}@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none}}.app{position:relative;z-index:1;height:100%;height:100dvh;display:flex;flex-direction:column;max-width:520px;margin:0 auto;border-left:var(--hairline) solid var(--border);border-right:var(--hairline) solid var(--border);overflow:hidden}.column{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.screen-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;background:var(--background)}.scroll{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-anchor:none;padding-bottom:16px}.center{margin:auto;padding:24px;text-align:center;color:var(--text)}.loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text)}.loading .dots{display:flex;gap:6px}.loading .dots span{width:10px;height:10px;border-radius:50%;background:var(--day-primary);animation:dot-bounce 1.1s ease-in-out infinite,dot-color 4.5s steps(1,end) infinite}.loading .dots span:nth-child(2){animation-delay:.16s,0s}.loading .dots span:nth-child(3){animation-delay:.32s,0s}@keyframes dot-bounce{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(-7px);opacity:1}}@keyframes dot-color{0%{background:var(--day-primary)}33%{background:var(--night-primary)}66%{background:var(--end-primary)}}@media(prefers-reduced-motion:reduce){.loading .dots span{animation:none;opacity:.6}}.header{position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));border-radius:0 0 var(--radius-l) var(--radius-l);background-color:var(--primary);background-image:var(--sheen);box-shadow:var(--shadow-soft);color:var(--on-primary)}.header .title{flex:1;font-size:1.125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button,.icon-slot{padding:4px;line-height:1;color:inherit;display:inline-flex;align-items:center;justify-content:center}.icon-button{background:transparent;border:0;cursor:pointer}.divider.top-border{border-top:var(--hairline) solid var(--border)}.row+.divider.top-border,.field+.divider.top-border,.achievement+.divider.top-border,.wallet+.divider.top-border,.divider+.divider.top-border{border-top:0}.divider .title,.votes-list .voter .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{display:flex;align-items:center;gap:8px;flex:0 0 auto;height:40px;padding:0 12px;background-color:var(--paper);background-image:linear-gradient(180deg,var(--paper),rgba(0,0,0,.03));border-bottom:var(--hairline) solid var(--border);color:var(--text);font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;z-index:1}.row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-bottom:var(--hairline) solid var(--border);text-align:left;color:inherit}.row.pressable{cursor:pointer;-webkit-touch-callout:none}.pair{display:inline-flex;align-items:center;gap:8px}.row .texts{flex:1;min-width:0;display:flex;flex-direction:column}.row .title-line{display:flex;align-items:center;gap:6px;min-width:0}.row .title{display:block;min-width:0;max-width:100%;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .subtitle{display:block;max-width:100%;color:var(--text);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.dim{opacity:.55}.row.winner{background:var(--winner);box-shadow:inset 3px 0 0 var(--success);opacity:1}.log-row,.role-row{padding:8px 12px;border-bottom:var(--hairline) solid var(--border)}.log-row .head,.votes-list .head,.counter{display:flex;align-items:center;gap:8px}.log-row .head .time,.votes-list .head .name{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row .message{margin-top:2px;padding-left:28px;color:var(--text);font-size:.875rem;overflow-wrap:anywhere}.log-row .actions{display:flex;justify-content:flex-end;margin-top:6px}.role-row .head{display:flex;align-items:center;gap:10px}.role-row .head .texts{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.role-row .title{font-weight:600}.role-row .description{margin-top:6px;color:var(--text);font-size:.875rem;overflow-wrap:anywhere}.row.wrap{align-items:flex-start}.row.wrap .title,.row.wrap .subtitle{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.row.wrap .subtitle{margin-top:2px}.row.described{flex-wrap:wrap}.row .description{width:100%;margin-top:4px;color:var(--text);font-size:.8125rem;overflow-wrap:anywhere}.row .title.admin{color:var(--primary)}:root[data-palette=neutral] .header{background-image:var(--sheen),var(--phase-split)}:root[data-palette=neutral] .button:not(.ghost):not(.gold):not(:disabled){background-image:var(--gloss),var(--phase-split)}.stack{display:flex;flex-direction:column;gap:12px;padding:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;text-transform:uppercase;background-color:var(--primary);background-image:var(--gloss);background-origin:border-box;color:var(--on-primary);border-radius:999px;padding:10px 18px;cursor:pointer;font-weight:700;letter-spacing:.02em;text-align:center;box-shadow:0 3px 9px #14182829}.button.ghost{background-color:color-mix(in srgb,var(--primary) 8%,transparent);background-image:none;border-color:color-mix(in srgb,var(--primary) 32%,transparent);color:var(--primary);box-shadow:none}.button.gold{background-color:var(--gold-deep);background-image:var(--gloss),linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--on-gold);box-shadow:0 3px 9px #78520a47}.button .price{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.button .price svg,.wallet .balance svg{transform:translateY(-.05em)}.button.small{height:34px;padding:0 14px;border-radius:999px;line-height:1;font-weight:600}.button.round{width:32px;height:32px;padding:0;border-radius:50%}.dot{width:18px;height:18px;padding:0;border:0;border-radius:50%;cursor:pointer;background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 22%,transparent)}.dot.ready{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 22%,transparent)}.icon-button:disabled,.button:disabled,.dialog .action:disabled{opacity:.4;cursor:default}.field{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.scroll-note{position:relative;margin:8px 12px 12px;padding:12px 14px;border:1px solid color-mix(in srgb,#8a6a3a 35%,transparent);border-radius:3px 12px;background:radial-gradient(120% 60% at 50% 0,rgb(255 255 255 / 55%),transparent 60%),linear-gradient(180deg,#fbf3e0,#f3e6c8);box-shadow:inset 0 0 22px #8c64321f,0 1px 2px #3c28141f;color:#4a3418;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.game-settings .scroll-note{margin:6px 0 0}.scroll-note:before,.scroll-note:after{content:"";position:absolute;left:0;right:0;height:6px;background:linear-gradient(90deg,rgb(140 100 50 / 18%),transparent 30%,transparent 70%,rgb(140 100 50 / 18%))}.scroll-note:before{top:0}.scroll-note:after{bottom:0}.scroll-note textarea{width:100%;min-height:4.5em;padding:0;border:0;background:transparent;color:inherit;font:inherit;resize:none}.scroll-note.editor textarea{height:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,#8a6a3a 45%,transparent) transparent}.scroll-note textarea::placeholder{color:color-mix(in srgb,#4a3418 45%,transparent)}.game-card{border-bottom:var(--hairline) solid var(--border)}.game-card>.row{border-bottom:0}.game-card.open{background:color-mix(in srgb,var(--primary) 6%,transparent)}.game-details{padding:0 12px 12px}.game-settings{display:flex;flex-direction:column;gap:2px;padding:4px 0 10px}.game-settings .setting{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.8125rem}.game-settings .setting .name{color:var(--text);opacity:.75}.game-settings .setting .value{flex:0 0 auto;font-weight:600}.join-private{display:flex;align-items:center;gap:12px;padding-right:16px}.join-private .field{flex:1;min-width:0}.join-private .button{flex:0 0 auto}.field .error{color:var(--danger);font-size:.875rem}.field.invalid input{border-color:var(--danger)}.field select,.field .button{align-self:flex-start;margin-top:4px}.field input{background:var(--background);border:2px solid var(--border);border-radius:22px;padding:10px 14px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #4f80e12e}.avatar-frame{align-self:center;position:relative;display:inline-flex}.avatar-picker{margin-top:4px;position:relative;display:inline-flex;padding:0;border:0;background:transparent;cursor:pointer}.avatar-picker .edit,.avatar-shuffle{position:absolute;bottom:4px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:0 0 0 3px var(--background)}.avatar-picker .edit{right:4px}.avatar-shuffle{left:4px;cursor:pointer}.avatar-picker:disabled,.avatar-shuffle:disabled{cursor:default}.avatar-picker:disabled .edit,.avatar-shuffle:disabled{opacity:.4}.avatar{border-radius:50%;background:var(--image-placeholder);object-fit:cover;flex:0 0 auto}.role-image{object-fit:contain;flex:0 0 auto}.stamp{position:relative;display:inline-flex;flex:0 0 auto}.badge{position:absolute;min-width:18px;height:1.4em;padding:0 5px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:.8125rem;font-weight:700;line-height:1.4em;text-align:center;box-shadow:0 1px 3px #14182840}.flag{display:inline-flex;flex:0 0 auto;align-items:center;line-height:0;border-radius:3px;overflow:hidden;box-shadow:0 0 0 1px #14182838}.tags{display:flex;flex-wrap:wrap;gap:4px}.tag{flex:0 0 auto;padding:1px 7px;border:var(--hairline) solid var(--border);border-radius:999px;color:var(--text);font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.75;white-space:nowrap}.tag.night{border-color:color-mix(in srgb,var(--night-primary) 45%,transparent);color:var(--night-primary);opacity:1}.tag.day{border-color:color-mix(in srgb,var(--day-primary) 45%,transparent);color:var(--day-primary);opacity:1}.tag.both{border-color:color-mix(in srgb,var(--night-primary) 45%,transparent);color:var(--night-primary);opacity:1}.chip{flex:0 0 auto;padding:2px 9px;border-radius:999px;color:var(--on-primary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;white-space:nowrap}.chip.round{min-width:12ch;text-align:center}.chip.round.day{background:var(--day-primary)}.chip.round.night{background:var(--night-primary)}.chip.count{background:transparent;border:var(--hairline) solid var(--border);color:var(--text)}.chip.good{background:var(--success)}.chip.evil{background:var(--danger)}.badge.votes{top:auto;bottom:-6px;left:50%;transform:translate(-50%);min-width:0;height:1.4em;padding:0 7px;border-radius:8px;font-size:.75rem;line-height:1.4em;white-space:nowrap}.target-arrow{position:absolute;top:50%;left:0;width:0;height:0;transform:translate(-125%,-50%);border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid var(--danger)}.target-arrow.fake{border-left-color:var(--fake)}.target-arrow.up{transform:translate(-125%,calc(-50% - 8px))}.target-arrow.down{transform:translate(-125%,calc(-50% + 8px))}.title.rarity-common,.title.rarity-rare,.title.rarity-epic,.title.rarity-legendary{font-weight:600}.watch-picker{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:var(--hairline) solid var(--border)}.watch-picker select{flex:1;min-width:0}.watch-picker .button{flex:0 0 auto}.achievement{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name tags" "description description description";align-items:center;gap:6px 10px;padding:10px 12px;border-bottom:var(--hairline) solid var(--border)}.achievement.locked{opacity:.45}.achievement .name{font-weight:600}.achievement .tags{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.achievement .description{grid-area:description;font-size:.8125rem}.badge.inline.won{background:var(--success)}.badge.inline.lost{background:var(--danger)}.official{display:inline-flex;align-items:center;flex:0 0 auto}.badge.inline.score{background:var(--score);font-weight:600}.badge.inline.score.negative{background:var(--danger)}.badge.inline.rarity-common{background:var(--rarity-common)}.badge.inline.rarity-rare{background:var(--rarity-rare)}.badge.inline.rarity-epic{background:var(--rarity-epic)}.badge.inline.rarity-legendary{background:var(--rarity-legendary)}.badge.inline{position:static;min-width:0;height:1.4em;padding:0 7px;border-radius:8px;font-size:.75rem;line-height:1.4em;white-space:nowrap}.badge.dot{min-width:12px;width:12px;height:12px;padding:0;border-radius:50%}.badge.top-right{top:0;right:0;transform:translate(40%,-45%)}.notice{flex:0 0 auto;padding:10px 14px;text-align:center;font-size:.8125rem;font-weight:600;color:var(--score);background:color-mix(in srgb,var(--score) 12%,transparent);border-bottom:var(--hairline) solid var(--border)}.field input:disabled{opacity:.55}.instructions{flex:0 0 auto;padding:10px 16px;text-align:center;border-bottom:var(--hairline) solid var(--border)}.phase-icon{font-size:1.25rem;line-height:1}.phase-badge{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;box-shadow:inset 0 0 0 2px #ffffff59}.phase-badge.night{background:var(--night-primary)}.phase-badge.day{background:var(--day-primary)}.countdown{flex:0 0 auto;padding:0;border:0;background:transparent;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700;letter-spacing:0;color:var(--primary)}button.countdown{cursor:pointer}.instructions .big{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--primary);font-size:1.5rem;font-weight:inherit;text-align:center;word-break:break-word}.instructions button.big{cursor:pointer}.instructions .small{color:var(--text);font-size:.875rem;margin-bottom:2px}.tabs{position:relative;z-index:2;transform:translateZ(0);display:flex;border-top:var(--hairline) solid var(--border);border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--paper);box-shadow:0 -6px 18px #14182814}.tabs.with-icons button{flex-direction:column;gap:0;min-height:60px;padding:15px 4px 7px}.tabs button{flex:1;min-height:56px;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center;background:transparent;border:0;border-top:0;color:var(--text);padding:8px 4px;cursor:pointer;font-size:.8125rem;position:relative;transition:transform .16s var(--bounce),color .12s ease}.tabs button:before{content:"";position:absolute;top:6px;width:34px;height:4px;border-radius:999px;background:transparent;transition:background .14s ease}.tabs button.active{color:var(--primary);font-weight:700;transform:translateY(-2px)}.tabs button.active:active:not(:disabled){transform:translateY(-2px) scale(var(--press-scale))}.tabs button.active:before{background:var(--primary)}.tabs button svg{transition:transform .18s ease-out}.tabs button.active svg{transform:scale(1.08)}.tabs .badge{position:static;background:var(--primary)}.messages-area{position:relative;flex:1;min-height:0;display:flex}.jump-to-bottom{position:absolute;right:12px;bottom:12px;min-width:34px;height:34px;padding:0 10px;border:0;border-radius:17px;background:var(--menu-background);color:var(--paper);font-size:.875rem;font-weight:600;cursor:pointer}.messages{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:6px;padding:10px}.message{display:flex;align-items:flex-end;gap:8px;max-width:85%}.message.mine{align-self:flex-end;flex-direction:row-reverse}.bubble{position:relative;border:var(--hairline) solid var(--border);border-radius:var(--radius-m);padding:9px 12px;box-shadow:0 2px 6px #14182812;background:var(--paper);color:var(--text);white-space:pre-wrap;word-break:break-word}.bubble.pressable{cursor:pointer}.message.mine .bubble{background:var(--primary);border-color:transparent;color:var(--on-primary)}.bubble .author{display:block;font-size:.8125rem;font-weight:600}.bubble .when{display:block;margin-top:4px;font-size:.8125rem;opacity:.7}.bubble:has(.pin) .when{padding-right:26px}.bubble .pin{position:absolute;right:2px;bottom:2px;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:13px;background:transparent;color:inherit;opacity:.3;cursor:pointer}.bubble .pin.on{opacity:1;color:var(--score)}.bubble span.pin{cursor:default}.bubble.holdable{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.filter-pin{display:inline-flex;opacity:.5}.filter-pin.on{opacity:1;color:var(--score)}.composer{display:flex;align-items:flex-end;gap:8px;padding:8px 10px;border-top:var(--hairline) solid var(--border)}.composer .input-wrap{flex:1;min-width:0;display:flex;align-items:flex-end;background:var(--background);border:var(--hairline) solid var(--border);border-radius:25px;overflow:hidden}.composer textarea{flex:1;min-width:0;max-height:120px;background:transparent;border:0;padding:8px 12px;color:inherit;font:inherit;resize:none;overflow-y:auto;scrollbar-width:none;outline:none}.composer textarea::-webkit-scrollbar{display:none}.filters{display:flex;align-items:center;gap:6px;padding:8px 12px;overflow-x:auto;border-bottom:var(--hairline) solid var(--border);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 22%,transparent) transparent;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%)}.filters::-webkit-scrollbar{height:5px}.filters::-webkit-scrollbar-track{background:transparent}.filters::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent)}.filters select{flex:0 0 auto;max-width:140px;font-size:.8125rem}.inline-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:stretch;padding:0 12px;font-size:1.0625rem;line-height:1;border:0;border-left:var(--hairline) solid var(--border);border-radius:0;background:transparent;color:var(--text);white-space:nowrap;cursor:pointer}.inline-toggle.on{background:var(--primary);color:var(--on-primary)}.overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:16px;z-index:20;transform:translateZ(0);animation:scrim-in .16s ease both}.overlay.chained{animation:none}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.dialog{width:100%;max-width:420px;max-height:80%;display:flex;flex-direction:column;background:var(--background);border:2px solid var(--ink);border-radius:var(--radius-l);box-shadow:var(--shadow-soft);overflow:hidden;animation:dialog-in .16s ease both}@keyframes dialog-in{0%{opacity:0}to{opacity:1}}.dialog .card-body{flex:1 1 auto;height:58vh;min-height:0}.dialog .divider{height:auto;padding:12px;color:var(--text);font-size:1.0625rem;font-weight:700;letter-spacing:0;text-transform:none;text-align:center}.dialog .divider .title{overflow:visible;white-space:normal}.profile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.profile::-webkit-scrollbar{display:none}.profile .avatar-wrap{margin-bottom:16px}.profile .username,.profile .motto{font-size:.875rem;text-align:center}.role-detail{align-items:center}.dialog .role-detail{overflow-y:auto;overscroll-behavior:contain}.votes-list{display:flex;flex-direction:column;gap:12px;padding:12px 16px;overflow-y:auto;overscroll-behavior:contain}.votes-list .group{display:flex;flex-direction:column;gap:6px}.votes-list .voters{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;padding-left:40px}.votes-list .voter{display:inline-flex;align-items:center;gap:6px;min-width:0;height:34px;padding:0 10px 0 2px;color:var(--text);font-size:.8125rem}.dialog .body{padding:14px 16px;white-space:pre-wrap;overflow-y:auto;overscroll-behavior:contain}.dialog .editor-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.dialog .actions{display:flex;flex-direction:column;flex:0 0 auto}.dialog .action{background:transparent;border:0;border-top:var(--hairline) solid var(--border);padding:12px;cursor:pointer;text-align:center}.countdown.paused,.dialog .action.danger{color:var(--danger)}.menu{position:fixed;inset:0;z-index:15;display:flex}.menu .panel{width:78%;max-width:320px;background:var(--menu-background);color:var(--paper);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:20px}.menu .backdrop{flex:1;background:var(--scrim);border:0;cursor:pointer}.menu .backdrop:active:not(:disabled){transform:none;opacity:1}.menu .item{display:flex;align-items:center;gap:10px;background:transparent;border:0;color:inherit;padding:14px 16px;cursor:pointer;text-align:left;width:100%}.menu .spacer{flex:1}.logo{display:flex;flex-direction:column;align-items:center;color:var(--primary);padding:16px 8px 4px;line-height:1.05}.logo .name{background-image:var(--phase-split);-webkit-background-clip:text;background-clip:text;color:transparent}.logo .name{font-size:2.75rem;font-weight:800;letter-spacing:.12em}.menu .logo .name{background-image:none;color:var(--on-primary)}.menu .logo .name{font-size:2rem;letter-spacing:.06em}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px}.grid button{background:transparent;border:0;padding:4px;cursor:pointer}.rank{min-width:18px;padding-left:4px;font-size:.875rem;text-align:right;color:var(--text);opacity:.75}.row .value{flex:0 0 auto;align-self:center;color:var(--text);font-size:.875rem}.counter .value{min-width:22px;text-align:center;font-size:1.25rem}.switch{width:42px;height:24px;border-radius:12px;border:var(--hairline) solid var(--border);background:var(--image-placeholder);position:relative;cursor:pointer;flex:0 0 auto}.switch .thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text)}.switch.on{background:var(--primary);border-color:var(--primary)}.switch.on .thumb{left:auto;right:2px;background:var(--on-primary)}.switch:disabled{opacity:.4}.login{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:20px;overflow-y:auto;overscroll-behavior:contain}.captcha{display:flex;align-items:center;gap:8px;padding:22px 12px 0}.captcha img{border:var(--hairline) solid var(--border);border-radius:8px}.legal{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem}.legal.centered{justify-content:center;margin:0;padding:0 16px}.legal a{color:var(--primary)}.hint.danger{color:var(--danger)}.language-row{display:flex;justify-content:center;gap:10px}.language-row .flag-button{display:flex;align-items:center;justify-content:center;padding:6px;border:var(--hairline) solid transparent;border-radius:10px;background:transparent;opacity:.55}.language-row .flag-button.on{border-color:var(--primary);background:var(--selected);opacity:1}.login .card{background:var(--background);border:var(--hairline) solid var(--border);border-radius:12px;padding:8px 4px 16px}.login .tab-row{display:flex;margin-bottom:18px}.login .tab-row button{flex:1;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text);font-size:1.25rem;padding:8px;cursor:pointer}.login .tab-row button.active{color:var(--primary);border-bottom-color:var(--primary)}.link{background:transparent;border:0;color:var(--primary);cursor:pointer;padding:6px;text-align:center;width:100%}.showcase{position:relative;width:100%;height:176px;display:flex;align-items:center;justify-content:center;overflow:hidden}.showcase.compact{height:124px}.showcase .layer{position:absolute;display:inline-flex}.showcase .layer.front{z-index:2}.showcase .layer.side{z-index:1;opacity:.45}.showcase .layer.side.left{transform:translate(-72px) scale(.8)}.showcase .layer.side.right{transform:translate(72px) scale(.8)}.wizard{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:var(--hairline) solid var(--border)}.wizard .button{flex:1}.hint{padding:10px 16px;color:var(--text);font-size:.875rem}@media(display-mode:standalone){.tabs{padding-bottom:var(--safe-bottom)}.composer,.wizard{padding-bottom:calc(10px + var(--safe-bottom))}.menu .panel{padding-bottom:calc(20px + var(--safe-bottom))}}.rotate-hint{display:none}.crash{height:100dvh;overflow:auto;padding:24px;background:var(--background);color:var(--text);font-size:.9375rem}.crash pre{white-space:pre-wrap;word-break:break-word;font-size:.8125rem;color:var(--text)}@media(orientation:landscape)and (max-height:500px)and (min-width:560px){.app>*:not(.rotate-hint){display:none}.rotate-hint{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--background);color:var(--text);text-align:center;font-size:1.125rem}}.phase-transition{--phase-sheen: radial-gradient(circle at 50% 32%, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0) 62%), linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(0, 0, 0, .34));position:fixed;inset:0;z-index:18;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border:0;text-align:center;color:var(--on-primary);animation:phase-fade .35s ease both}.phase-transition.night{background:var(--phase-sheen),var(--night-primary)}.phase-transition.day{background:var(--phase-sheen),var(--day-primary)}.phase-transition.end{background:var(--phase-sheen),var(--end-primary)}.phase-transition.end .sky{gap:12px;height:132px}.phase-transition.end .disc{font-size:2.5rem;animation:phase-pop .9s cubic-bezier(.2,1.4,.3,1) both}.phase-transition.end .role-image{animation:phase-rise 1.1s cubic-bezier(.22,.9,.24,1) .15s both}.phase-transition .sky{position:relative;width:100%;height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden}.phase-transition .disc{font-size:3.5rem;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.32));animation:phase-rise 1.1s cubic-bezier(.22,.9,.24,1) both,phase-breath 3.2s ease-in-out 1.1s infinite}.phase-transition .progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffffd9;transform-origin:left center;animation:phase-progress var(--phase-duration, 3s) linear both}.phase-transition .title{font-size:1.5rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;animation:phase-appear .5s ease .35s both}.phase-transition .summary{max-width:22rem;font-size:1rem;opacity:.95;overflow-wrap:anywhere;animation:phase-appear .5s ease .6s both}.phase-transition .names{font-size:.875rem;font-weight:600;opacity:.8;overflow-wrap:anywhere;animation:phase-appear .5s ease .8s both}@keyframes phase-fade{0%{opacity:0}to{opacity:1}}@keyframes phase-rise{0%{transform:translateY(64px) scale(.6);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes phase-breath{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes phase-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes phase-pop{0%{transform:scale(.2) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes phase-appear{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.phase-transition,.phase-transition .role-image,.phase-transition .disc,.phase-transition .title,.phase-transition .summary,.phase-transition .names{animation:phase-fade .2s ease both}.phase-transition .progress{display:none}}.avatar-wrap{position:relative;display:inline-flex;border-radius:50%;line-height:1;isolation:isolate;overflow:clip;overflow-clip-margin:44px}@supports not (overflow-clip-margin: 44px){.avatar-wrap{overflow:visible}.scroll,.messages{padding-bottom:44px}}.avatar-wrap .avatar{position:relative;z-index:1}.unfair{position:absolute;top:62%;left:54%;z-index:3;width:112%;padding:.15em 0;text-align:center;border:.12em solid rgb(190 30 30 / 75%);border-radius:.25em;background:#ffffff73;color:#aa1414d9;font-weight:800;letter-spacing:.08em;line-height:1.1;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-18deg);pointer-events:none;white-space:nowrap}.avatar-badge{position:absolute;z-index:2;font-size:.95em;line-height:1;pointer-events:none;filter:drop-shadow(0 1px 1px rgb(0 0 0 / 45%))}.avatar-badge.badge-crown{top:-.5em;left:-.3em;transform:rotate(-45deg)}.avatar-badge.badge-trophy{right:-.3em;bottom:-.3em}.avatar-badge.badge-flame{top:-.5em;right:-.25em;animation:badge-flame .45s ease-in-out infinite alternate}.avatar-badge.badge-bolt{bottom:-.3em;left:-.3em;animation:badge-bolt 2.2s steps(1,end) infinite}.avatar-badge.badge-ghost{top:-.55em;left:-.25em;animation:badge-ghost 2.8s ease-in-out infinite alternate}@keyframes badge-flame{0%{transform:scale(.92) rotate(-6deg);filter:drop-shadow(0 0 4px rgb(255 120 20 / 70%))}to{transform:scale(1.12) rotate(6deg);filter:drop-shadow(0 0 9px rgb(255 160 40 / 95%))}}@keyframes badge-bolt{0%,74%{opacity:.45;transform:scale(.9)}76%,80%{opacity:1;transform:scale(1.2)}78%,84%{opacity:.3;transform:scale(1)}86%,to{opacity:.45;transform:scale(.9)}}@keyframes badge-ghost{0%{transform:translateY(0) scale(1);opacity:.6}to{transform:translateY(-4px) scale(1.06);opacity:1}}.avatar-badge.badge-star{top:-.45em;right:-.3em}.avatar-badge.badge-moon{top:-.4em;right:-.35em;transform:rotate(12deg)}.avatar-badge.badge-skull{right:-.3em;bottom:-.35em}.avatar-badge.badge-diamond{bottom:-.3em;left:-.3em;animation:badge-sparkle 2.4s ease-in-out infinite}@keyframes badge-sparkle{0%,to{filter:drop-shadow(0 1px 1px rgb(0 0 0 / 45%));transform:scale(1)}50%{filter:drop-shadow(0 0 6px rgb(120 220 255 / 90%));transform:scale(1.15)}}.frame-gold .avatar{box-shadow:0 0 0 2px #e8b23a}.frame-frost .avatar{box-shadow:0 0 0 2px #8fd3ff,0 0 10px 2px #8fd3ff8c}.frame-shadow .avatar{box-shadow:0 0 0 2px #2b2b33,0 0 12px 3px #14141cb3;animation:frame-pulse 2.8s ease-in-out infinite alternate}.frame-neon:before,.frame-neon:after,.frame-sparkle:before,.frame-sparkle:after,.frame-storm:before,.frame-storm:after,.frame-rainbow:before{content:"";position:absolute;inset:-12%;z-index:0;border-radius:50%;pointer-events:none;will-change:transform;animation:frame-spin 2.2s linear infinite}.frame-fire .fire{position:absolute;inset:-26%;z-index:0;border-radius:50%;pointer-events:none;filter:blur(2px) saturate(1.15)}.frame-fire .fire span{position:absolute;border-radius:50%;background-image:radial-gradient(#ffd65cf2 12%,#ff7a00bf,#ff3a0000 72%);opacity:0;animation:fire-rise 1s ease-in infinite;will-change:transform,opacity}.frame-fire .avatar{box-shadow:0 0 0 2px #ff8a3d,0 0 14px 3px #ff6a1a99}@keyframes fire-rise{0%{opacity:0;transform:translateY(18%) scale(.7)}30%{opacity:1}to{opacity:0;transform:translateY(-90%) scale(.2)}}.frame-sparkle:before,.frame-sparkle:after{background:radial-gradient(circle at 14% 26%,#fff 0 2.2px,#ffd45e 2.6px,transparent 3.4px),radial-gradient(circle at 82% 18%,#fff 0 2.6px,#ffb02e 3px,transparent 3.8px),radial-gradient(circle at 50% 4%,#fff 0 2px,#ffd45e 2.4px,transparent 3.2px),radial-gradient(circle at 94% 60%,#fff 0 2.4px,#ffb02e 2.8px,transparent 3.6px),radial-gradient(circle at 68% 94%,#fff 0 2.2px,#ffd45e 2.6px,transparent 3.4px),radial-gradient(circle at 20% 84%,#fff 0 2.6px,#ffb02e 3px,transparent 3.8px),radial-gradient(circle at 4% 52%,#fff 0 2px,#ffd45e 2.4px,transparent 3.2px);filter:drop-shadow(0 0 4px rgb(255 176 46 / 95%)) drop-shadow(0 0 1px rgb(120 74 0 / 85%));animation:frame-spin 9s linear infinite,sparkle-twinkle 1.5s steps(2,end) infinite}.frame-sparkle:after{inset:-20%;animation:frame-spin-back 7s linear infinite,sparkle-twinkle 1.1s steps(2,end) infinite .4s}.frame-sparkle .shine{position:absolute;inset:0;z-index:2;border-radius:50%;overflow:hidden;pointer-events:none}.frame-sparkle .shine:before{content:"";position:absolute;inset:-40%;background:linear-gradient(100deg,transparent 36%,rgb(255 255 255 / 40%) 45%,rgb(255 255 255 / 96%) 50%,rgb(255 255 255 / 40%) 55%,transparent 64%);animation:shine-sweep 5s ease-in-out infinite}@keyframes shine-sweep{0%,72%{transform:translate(-130%)}94%,to{transform:translate(130%)}}.frame-sparkle .avatar{box-shadow:0 0 0 2px #ffe9a0,0 0 12px 2px #ffdc788c}@keyframes sparkle-twinkle{0%,to{opacity:1;scale:1}50%{opacity:.25;scale:.88}}.frame-neon:before{background:conic-gradient(from 0turn,#00e5ff,#b400ff,#00e5ff);filter:blur(3px);animation-duration:3s}.frame-neon:after{inset:-16%;background:conic-gradient(from .25turn,transparent 0deg,#7df9ff 30deg,transparent 120deg,#ff5ef7 210deg,transparent 300deg);filter:blur(6px);animation:frame-spin-back 1.5s linear infinite,neon-buzz 1.7s ease-in-out infinite}.frame-storm:before{background:conic-gradient(from 0turn,#4b1fa8,#b06bff,#1f2ea8,#d7c4ff,#4b1fa8);filter:blur(3px);animation-duration:1.6s}.frame-storm:after{inset:-20%;background:conic-gradient(from 0turn,transparent 0deg,#ffffff 6deg,transparent 14deg,transparent 180deg,#e6dcff 188deg,transparent 198deg);filter:blur(2px);animation:frame-spin .9s linear infinite,storm-strike 2.6s steps(1,end) infinite}.frame-rainbow:before{background:conic-gradient(from 0turn,#d5474b,#e8b23a,#55b46a,#58a6ff,#b46ad9,#d5474b);animation:frame-spin 4s linear infinite,rainbow-shift 6s linear infinite;filter:blur(2px)}.frame-neon .avatar{box-shadow:0 0 0 2px #00e5ff}.frame-storm .avatar{box-shadow:0 0 0 2px #b06bff}.frame-rainbow .avatar{box-shadow:0 0 0 2px #fff8}@keyframes frame-spin{to{transform:rotate(1turn)}}@keyframes frame-spin-back{to{transform:rotate(-1turn)}}@keyframes neon-buzz{0%,to{opacity:.45}50%{opacity:1}}@keyframes storm-strike{0%,88%{opacity:0}90%,93%{opacity:1}91%,96%{opacity:.2}}@keyframes rainbow-shift{to{filter:blur(2px) hue-rotate(1turn)}}@keyframes frame-pulse{0%{box-shadow:0 0 0 2px #2b2b33,0 0 6px 1px #14141c73}to{box-shadow:0 0 0 2px #45454f,0 0 16px 5px #14141cd9}}.tint-gold,.row .subtitle.tint-gold,.bubble.tint-gold>span:not(.author):not(.when):not(.pin){background-image:linear-gradient(90deg,#d99f2b,#a86412);background-clip:text;-webkit-background-clip:text;color:transparent}.tint-blood{--tint: #bd3d41}.tint-sky{--tint: #3f8ada}.tint-leaf{--tint: #43a05a}.tint-blood,.tint-sky,.tint-leaf,.row .subtitle:is(.tint-blood,.tint-sky,.tint-leaf),.bubble:is(.tint-blood,.tint-sky,.tint-leaf)>span:not(.author):not(.when):not(.pin){color:var(--tint)}.tint-rainbow,.row .subtitle.tint-rainbow{background:linear-gradient(90deg,#bd3d41,#d99f2b,#43a05a,#3f8ada,#9b57c2);background-clip:text;-webkit-background-clip:text;color:transparent;animation:tint-shift 6s linear infinite;background-size:200% 100%}@keyframes tint-shift{0%{background-position:0 0}to{background-position:200% 0}}.bubble:is(.tint-gold,.tint-blood,.tint-sky,.tint-leaf){color:inherit}.bubble .author.tint-rainbow{background:linear-gradient(90deg,#bd3d41,#d99f2b,#43a05a,#3f8ada,#9b57c2);background-clip:text;-webkit-background-clip:text;color:transparent}.message.mine .bubble:is(.tint-gold,.tint-blood,.tint-sky,.tint-leaf){border-color:var(--border);background:var(--paper);color:var(--text)}.message.mine .bubble:is(.tint-gold,.tint-blood,.tint-sky,.tint-leaf) .when{color:var(--text);opacity:.55}.message.mine .bubble:not(:is(.tint-gold,.tint-blood,.tint-sky,.tint-leaf)) .pin.on{color:inherit;opacity:.7}.wallet{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:12px;border-bottom:var(--hairline) solid var(--border)}.wallet .balance{display:inline-flex;align-items:center;gap:6px;padding:6px 14px 6px 12px;border-radius:999px;background-image:var(--gloss),linear-gradient(180deg,var(--gold),var(--gold-deep));color:var(--on-gold);box-shadow:0 3px 9px #78520a3d}.wallet .balance .amount{font-size:1.25rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.wallet .hint{flex:1 0 100%;padding:0;text-align:right;font-size:.75rem}.preview{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-weight:700;font-size:20px;flex:0 0 auto}@media(prefers-reduced-motion:reduce){.frame-fire .avatar,.tint-rainbow{animation:none}}.rank.podium{font-weight:800;opacity:1}.badge.inline.score.podium{font-weight:800}@media(prefers-reduced-motion:reduce){.tabs button,.tabs button svg{transition:none}.frame-fire .fire,.frame-sparkle .shine,.frame-neon:after,.frame-sparkle:after,.frame-storm:after{display:none}.avatar-badge.badge-flame,.avatar-badge.badge-bolt,.avatar-badge.badge-ghost,.frame-sparkle:before{animation:none}.dialog,.badge,.frame-fire:before,.frame-neon:before,.frame-storm:before,.frame-rainbow:before,.frame-shadow .avatar,.avatar-badge.badge-diamond{animation:none}}.surrender{display:inline-flex;flex:0 0 auto;align-items:center;line-height:0}.surrender .pole{fill:none;stroke:#5a606e;stroke-width:1.8;stroke-linecap:round}.surrender .cloth{fill:#fcfcfc;stroke:#5a606e;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgb(20 24 40 / 25%))}
