:root{--bg: #05060a;--panel: rgba(0, 0, 0, .78);--text: #ffffff;--muted: #9aa0c0;--accent: #8f7bd8;--speaker-color: #c9a6ff;--font: "DejaVu Sans", Verdana, "Segoe UI", Tahoma, sans-serif}*{box-sizing:border-box;margin:0}html,body{height:100%;background:var(--bg);overflow:hidden}body{font-family:var(--font);color:var(--text)}#app{height:100dvh;display:grid;place-items:center}#stage{position:relative;width:min(100vw,calc(100dvh * 16 / 9));aspect-ratio:16 / 9;container-type:size;overflow:hidden;background:#000;user-select:none;-webkit-user-select:none;touch-action:manipulation}.bg-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .6s ease}.bg-layer.shown{opacity:1}.bg-layer.instant{transition:none}#cg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .8s ease;pointer-events:none}#cg.shown{opacity:1}#cg.hidden{display:none}#sprites{position:absolute;inset:0;pointer-events:none;isolation:isolate}.sprite{position:absolute;bottom:4cqh;height:92%;opacity:0;transition:left .5s ease,transform .5s ease,opacity .45s ease,filter .35s ease}.sprite.shown{opacity:1}.sprite img{height:100%;width:auto;display:block;transition:opacity .2s ease}.sprite.dim{filter:brightness(.62) saturate(.85)}.sprite.portrait{height:92%;bottom:0;transform:translate(-50%);z-index:2}.sprite.portrait.dim{z-index:1}.sprite.portrait.at-far-left{left:12%}.sprite.portrait.at-left{left:29%}.sprite.portrait.at-center{left:50%}.sprite.portrait.at-right{left:71%}.sprite.portrait.at-far-right{left:88%}.sprite.portrait img{height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 1.5cqh 2.5cqh rgba(0,0,0,.45))}#ui{position:absolute;inset:0}#textbox{position:absolute;left:0;right:0;bottom:0;height:26cqh;background:var(--panel);border-radius:1.4cqw 1.4cqw 0 0;padding:2.2cqh 3cqw 4.8cqh;backdrop-filter:blur(4px)}#nameplate{position:absolute;top:-3.1cqh;left:3cqw;padding:.5cqh 1.6cqw;background:#000000d9;border-radius:.8cqw;color:var(--speaker-color);font-weight:700;font-size:2.7cqh}#nameplate.hidden{display:none}#text{font-size:3.1cqh;line-height:1.5;color:var(--text)}#next-hint{position:absolute;right:2.6cqw;bottom:5.2cqh;font-size:2.4cqh;color:var(--muted);opacity:0;transition:opacity .2s}#next-hint.shown{opacity:1;animation:bob 1s ease-in-out infinite alternate}@keyframes bob{0%{transform:translateY(0)}to{transform:translateY(.9cqh)}}#hud{position:absolute;left:50%;transform:translate(-50%);bottom:1cqh;display:flex;align-items:center;gap:.9cqw;z-index:6}#hud.hidden{display:none}#hud button{font-family:var(--font);font-size:2.1cqh;color:#b9bede;background:none;border:none;cursor:pointer;padding:.3cqh .2cqw;transition:color .12s}#hud button:hover{color:#fff}#hud button.active{color:var(--accent);font-weight:700}.qm-sep{color:#4a4f70;font-size:2cqh;user-select:none}#skip-ind{position:absolute;top:2.4cqh;left:2.6cqw;font-size:2.5cqh;color:var(--accent);z-index:6;animation:blink .8s steps(2) infinite}#skip-ind.hidden{display:none}@keyframes blink{50%{opacity:.25}}#poll{position:absolute;inset:0;z-index:11;display:grid;place-items:center;background:#04050c9e;cursor:pointer}#poll.hidden{display:none}.poll-card{width:min(46cqw,92%);padding:3.4cqh 3cqw 2.8cqh;background:#0a0c1af5;border:1px solid #2a2f4a;border-radius:1.2cqw;box-shadow:0 3cqh 9cqh #000000b3;display:flex;flex-direction:column;gap:2cqh}.poll-card h2{font-size:3.8cqh;color:var(--accent);text-align:center}.poll-sub{font-size:2.2cqh;color:var(--muted);text-align:center;letter-spacing:.12em;text-transform:uppercase;margin-top:-1cqh}#poll-rows{display:flex;flex-direction:column;gap:1.7cqh}.poll-row{display:grid;grid-template-columns:16cqw 1fr 6cqh;align-items:center;gap:1.6cqw}.poll-name{font-size:2.6cqh;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poll-bar{height:2.2cqh;background:#171b30;border-radius:1.1cqh;overflow:hidden}.poll-fill{height:100%;border-radius:1.1cqh;min-width:.8cqh;transition:width .8s cubic-bezier(.22,1,.36,1)}.poll-val{font-size:2.6cqh;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.poll-hint{font-size:2cqh;color:#565b7d;text-align:center}#choices{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.8cqh;background:#04050c73;z-index:8}#choices.open{display:flex}.choice-prompt{font-size:3.2cqh;color:var(--muted);text-align:center;padding:0 8cqw;margin-bottom:1cqh}.choice-btn{width:62%;padding:1.7cqh 3.2cqw;font-size:3.1cqh;font-family:var(--font);color:#f4f4ff;background:#0a0e1c9e;border:1px solid rgba(255,255,255,.1);border-radius:.8cqw;cursor:pointer;text-align:center;transition:background .15s,border-color .15s,transform .15s}.choice-btn:hover:not(:disabled),.choice-btn:focus-visible{background:#201c42d9;border-color:var(--accent);transform:translateY(-.3cqh);outline:none}.choice-btn:disabled{opacity:.35;cursor:not-allowed}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3cqh;background:#05060aeb;z-index:12;padding:4cqh 6cqw}.screen.hidden{display:none}.screen h1{font-size:8cqh;font-weight:700;letter-spacing:.06em;text-align:center}.screen h2{font-size:4.6cqh;color:var(--accent);font-weight:700}.screen-title-sub{font-size:2.8cqh;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.screen-back{padding:1.4cqh 4cqw;font-size:2.8cqh}#main-menu{justify-content:space-between;align-items:stretch;padding:6cqh 6cqw 3.6cqh;background:#05060a;overflow:hidden}#mm-bg{position:absolute;inset:0;background-size:cover;background-position:center;animation:mm-drift 46s ease-in-out infinite alternate}@keyframes mm-drift{0%{transform:scale(1.04) translateY(0)}to{transform:scale(1.13) translateY(-1.4cqh)}}#mm-veil{position:absolute;inset:0;background:linear-gradient(180deg,#05060a99,#05060a1a 42%,#05060ae6),linear-gradient(90deg,#05060ac7,#05060a40 52%,#05060a0d)}#mm-dust{position:absolute;inset:0;pointer-events:none}#mm-dust i{position:absolute;bottom:-4cqh;width:.9cqh;height:.9cqh;border-radius:50%;background:#dcdef066;filter:blur(1px);animation:mm-dust-rise linear infinite}@keyframes mm-dust-rise{0%{transform:translate(0);opacity:0}12%{opacity:.8}to{transform:translate(4cqw,-106cqh);opacity:0}}#mm-dust i:nth-child(1){left:12%;animation-duration:21s;animation-delay:0s}#mm-dust i:nth-child(2){left:28%;animation-duration:27s;animation-delay:4s}#mm-dust i:nth-child(3){left:47%;animation-duration:19s;animation-delay:9s}#mm-dust i:nth-child(4){left:63%;animation-duration:31s;animation-delay:2s}#mm-dust i:nth-child(5){left:78%;animation-duration:24s;animation-delay:13s}#mm-dust i:nth-child(6){left:90%;animation-duration:29s;animation-delay:6s}.mm-top{position:relative;text-align:center;margin-top:2cqh}.mm-top h1{font-size:7.4cqh;font-weight:700;letter-spacing:.1em;text-shadow:0 .6cqh 2.4cqh rgba(0,0,0,.85)}.mm-sub{margin-top:1.4cqh;font-size:2.4cqh;color:#c9cde6;letter-spacing:.42em;text-transform:uppercase;text-shadow:0 .4cqh 1.6cqh rgba(0,0,0,.8)}.mm-buttons{position:relative;align-self:flex-start;display:flex;flex-direction:column;align-items:flex-start;gap:1.2cqh;margin-left:4cqw}.mm-buttons button{font-family:var(--font);font-size:4cqh;color:#d6d9ef;background:none;border:none;border-left:.4cqw solid transparent;cursor:pointer;padding:.7cqh 1.6cqw .7cqh 1.4cqw;letter-spacing:.04em;text-shadow:0 .3cqh 1.2cqh rgba(0,0,0,.9);transition:color .16s,border-color .16s,transform .16s,text-shadow .16s}.mm-buttons button:hover:not(:disabled),.mm-buttons button:focus-visible{color:#fff;border-left-color:var(--accent);transform:translate(.7cqw);text-shadow:0 0 2.4cqh rgba(143,123,216,.55);outline:none}.mm-buttons button:disabled{opacity:.32;cursor:not-allowed}.mm-footer{position:relative;display:flex;align-items:center;justify-content:space-between}.mm-age{font-size:2.4cqh;font-weight:700;letter-spacing:.08em;color:#f0a99c;border:1px solid rgba(224,108,90,.65);border-radius:.6cqw;padding:.3cqh 1cqw}#gallery{gap:2.2cqh}.gallery-count{font-size:2.6cqh;color:var(--muted);letter-spacing:.06em}#gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:20cqh;gap:2.2cqh 1.2cqw;width:min(84cqw,100%);max-height:58cqh;overflow-y:auto;padding:.6cqh .6cqw 2.4cqh;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.g-item{position:relative;height:100%;border-radius:.8cqw;overflow:hidden;border:1px solid #2a2f4a;background:#0b0e1a;cursor:pointer;padding:0;font-family:var(--font);transition:border-color .16s,transform .16s,box-shadow .16s}.g-item img{width:100%;height:100%;object-fit:cover;display:block}.g-item .g-cap{position:absolute;left:0;right:0;bottom:0;padding:1.8cqh 1cqw .8cqh;font-size:2.1cqh;color:#e6e8f6;text-align:left;background:linear-gradient(transparent,#000000d1);pointer-events:none}.g-item:not(.locked):hover,.g-item:not(.locked):focus-visible{border-color:var(--accent);transform:translateY(-.5cqh);box-shadow:0 1.6cqh 4cqh #00000080;outline:none}.g-item.locked{cursor:default;display:grid;place-items:center}.g-item.locked .g-q{font-size:5.4cqh;color:#33385c;font-weight:700;text-shadow:none}.g-item.locked .g-cap{color:#464c74;text-align:center;padding-bottom:1cqh}#cg-view{position:absolute;inset:0;z-index:14;display:grid;place-items:center;background:#03040af0;cursor:pointer}#cg-view.hidden{display:none}#cg-view img{max-width:86cqw;max-height:72cqh;border-radius:.8cqw;box-shadow:0 3cqh 9cqh #000000b3}#cg-view-cap{position:absolute;bottom:6cqh;left:0;right:0;text-align:center;font-size:2.9cqh;color:#c9cde6;letter-spacing:.05em}#cg-view-hint{position:absolute;top:3cqh;right:4cqw;font-size:2.1cqh;color:#565b7d}.gm-layout{display:grid;grid-template-columns:34cqw 1fr;width:100%;height:100%;align-items:stretch}.gm-nav{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2.4cqh;padding-left:12cqw;border-right:1px solid #222744}.gm-nav h2{margin-bottom:1cqh}.gm-nav button{font-family:var(--font);font-size:3.2cqh;color:#c9cde6;background:none;border:none;cursor:pointer;padding:.3cqh 1cqw;transition:color .15s,transform .15s}.gm-nav button:hover{color:#fff;transform:translate(.5cqw)}.gm-content{display:grid;place-items:center;color:var(--muted);font-size:2.8cqh}.screen-back{font-family:var(--font);color:#c9cde6;background:none;border:1px solid #3a4066;border-radius:.8cqw;cursor:pointer;transition:color .15s,border-color .15s}.screen-back:hover{color:#fff;border-color:var(--accent)}.hero-cards{display:flex;gap:6cqw}.hero-card{display:flex;flex-direction:column;align-items:center;gap:1.6cqh;width:26cqw;padding:2cqh 1.5cqw 3cqh;font-family:var(--font);color:var(--text);background:linear-gradient(160deg,#1816348c,#080a14bf);border:1px solid rgba(255,255,255,.1);border-radius:1.6cqw;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.hero-card:hover,.hero-card:focus-visible{transform:translateY(-1cqh) scale(1.02);border-color:var(--accent);box-shadow:0 2cqh 6cqh #00000080,0 0 3cqw #8f7bd859;outline:none}.hero-frame{width:100%;aspect-ratio:3 / 4;border-radius:1.2cqw;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,rgba(143,123,216,.22),transparent 65%),linear-gradient(180deg,#10142a,#0a0c18);display:grid;place-items:end center}.hero-frame img{width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 1.5cqh 2cqh rgba(0,0,0,.55));transition:transform .25s ease}.hero-card:hover .hero-frame img{transform:scale(1.04)}.hero-name{font-size:3.6cqh;color:var(--accent);letter-spacing:.04em}.hero-tag{font-size:2.2cqh;color:var(--muted);text-align:center;line-height:1.5}#slots{display:grid;grid-template-columns:repeat(2,1fr);gap:2cqh;width:min(78cqw,100%)}.slot{display:flex;align-items:center;gap:1.6cqw;padding:1.4cqh 1.6cqw;font-family:var(--font);color:var(--text);background:#0a0c1899;border:1px solid #2a2f4a;border-radius:1cqw;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.slot:hover{border-color:var(--accent);background:#181634b3}.slot .thumb{width:15cqw;aspect-ratio:16 / 9;border-radius:.6cqw;background:#0b0e1a;background-size:cover;object-fit:cover;flex-shrink:0}.slot .slot-empty{width:15cqw;aspect-ratio:16 / 9;border-radius:.6cqw;background:#0b0e1a;display:grid;place-items:center;color:var(--muted);font-size:2.4cqh;flex-shrink:0}.slot .slot-meta{font-size:2.2cqh;color:var(--muted);line-height:1.5}.slot .slot-meta b{color:var(--text);font-size:2.7cqh}.slot.confirm{border-color:#e06c5a;background:#5c2626b3}#history-list{display:flex;flex-direction:column;gap:2.2cqh;width:min(72cqw,100%);max-height:62cqh;overflow-y:auto;padding:1cqh 2cqw;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.history-line{font-size:2.9cqh;line-height:1.6}.history-line .who{color:var(--speaker-color, var(--accent));font-weight:700;display:block;margin-bottom:.3cqh}.settings-rows{display:flex;flex-direction:column;gap:2.6cqh;width:min(58cqw,100%)}.settings-row{display:grid;grid-template-columns:1fr 2fr 6cqh;align-items:center;gap:2cqw;font-size:3cqh}.settings-row input[type=range]{width:100%;height:3cqh;accent-color:var(--accent);cursor:pointer}.settings-row b{font-size:2.5cqh;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}#ending{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:2.6cqh;background:#03040ae0;text-align:center;padding:0 12cqw;z-index:9}#ending.open{display:flex}#ending h2{font-size:4.8cqh;color:var(--accent)}#ending p{font-size:3cqh;line-height:1.5;max-width:74cqw;white-space:pre-line}#ending button{margin-top:2cqh;padding:1.8cqh 4cqw;font-size:3cqh;font-family:var(--font);color:var(--text);background:#141830e6;border:1px solid rgba(143,123,216,.55);border-radius:1.2cqw;cursor:pointer}#ending button:hover{background:#2e265cf2;border-color:var(--accent)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(/fonts/Roboto-Regular.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url(/fonts/Roboto-Medium.woff2) format("woff2");font-display:swap}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:600;src:url(/fonts/RobotoCondensed-SemiBold.woff2) format("woff2");font-display:swap}#login-screen{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:1.5rem;background:#0d0b16;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:#d0b8a3}.setup-card{background:#0b0a13e6;border:1px solid #3d3835;border-radius:6px;padding:40px 36px;width:100%;max-width:380px;text-align:center;box-shadow:0 4px 12px #0000004d,0 2px 4px #0003}.setup-logo{width:72px;height:72px;display:block;margin:0 auto 10px;border-radius:6px;border:1px solid #3d3835}.setup-card h1{font-family:Roboto Condensed,Roboto,Arial,sans-serif;font-size:1.5rem;font-weight:600;letter-spacing:.01em;margin-bottom:.5rem;color:#d0b8a3}.setup-card .ig-accent{color:#ff6400}.setup-card .subtitle{color:#9f8475;margin-bottom:1.5rem;font-size:.85rem}.login-error{color:#e93a3a;font-size:.8rem;margin-bottom:1rem;padding:8px 12px;background:#e93a3a1a;border:1px solid rgba(233,58,58,.3);border-radius:3px}.discord-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:11px 20px;background:#5865f2;border:none;border-radius:4px;color:#fff;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:filter .2s}.discord-btn:hover{filter:brightness(1.12);color:#fff}.discord-btn:active{filter:brightness(.95)}.mm-user{display:inline-flex;align-items:center;gap:.7cqw;padding:.5cqh 1cqw;background:#0b0a13c7;border:1px solid rgba(208,184,163,.22);border-radius:.6cqw}.mm-user.hidden{display:none}.mm-user-avatar{width:2.8cqh;height:2.8cqh;border-radius:.3cqw;object-fit:cover;border:1px solid #3d3835}.mm-user-name{font-size:2cqh;color:#d0b8a3;max-width:14cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-logout{font-family:var(--font);font-size:1.8cqh;color:#9f8475;background:#302831b3;border:1px solid #3d3835;border-radius:.4cqw;padding:.3cqh .8cqw;cursor:pointer;transition:color .15s,border-color .15s}.mm-logout:hover{color:#fff;border-color:#ff6400}
