.it-modal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;background:#0009;padding:20px;backdrop-filter:blur(5px)}
.it-box{width:min(800px,100%);max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;border:1px solid var(--border,#444);border-radius:14px;background:var(--panel,#242424);color:var(--text,#eee);box-shadow:0 24px 90px #0005;overflow:hidden}
.it-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 22px;border-bottom:1px solid var(--border,#444)}.it-head h2{font-size:18px;margin:0;flex:1}.it-wallet{font-size:13px;color:var(--muted,#aaa)}.it-head button{font-size:12px}.it-effect-toggle{flex-basis:100%;text-align:left;background:none!important;padding:0!important;color:var(--muted)!important}
.it-nav{display:flex;gap:7px;padding:12px 20px;flex-wrap:wrap;border-bottom:1px solid var(--border,#444)}.it-modal button,.it-launcher{cursor:pointer;border:1px solid var(--border,#444);background:var(--panel2,#303030);color:var(--text,#eee);padding:9px 13px;border-radius:7px;font:inherit;font-size:13px;min-height:36px}.it-modal button:disabled{opacity:.45;cursor:default}.it-nav button[aria-pressed=true],.it-modal .it-primary{background:var(--accent,#9473c6);color:#fff;border-color:transparent}.it-modal button:focus-visible,.it-modal input:focus-visible,.it-modal select:focus-visible{outline:2px solid var(--accent,#ba9fe9);outline-offset:2px}
.it-body{overflow:auto;padding:20px 22px;min-height:240px}.it-body h3{font-size:16px;margin:0 0 16px}.it-body h3:not(:first-child){margin-top:24px}.it-note{font-size:12px;line-height:1.7;color:var(--muted,#aaa);margin:10px 0 15px}.it-stock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-radius:8px;background:var(--panel2,#303030);font-size:13px}.it-stock button{margin-left:auto}.it-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.it-field{display:flex;flex-direction:column;gap:7px;font-size:12px;min-width:0}.it-field select,.it-field input{width:100%;box-sizing:border-box;font:inherit;font-size:14px;min-height:42px;padding:9px 10px;background:var(--bg2,#222);color:var(--text,#eee);border:1px solid var(--border,#444);border-radius:7px}.it-form>.it-primary,.it-form>.it-note,.it-sticker-preview{grid-column:1/-1}.it-sticker-preview{background:linear-gradient(135deg,#67489b,#344980);color:#fff;font-weight:700;font-size:27px;text-align:center;padding:28px;border-radius:12px;letter-spacing:2px}.it-status{flex-shrink:0;min-height:18px;font-size:12px;line-height:1.6;padding:12px 22px;border-top:1px solid var(--border,#444);margin:0;color:var(--muted,#aaa)}.it-record{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border,#444);font-size:13px;line-height:1.6}.it-record strong{flex:1;min-width:150px}.it-record small{color:var(--muted);flex-basis:100%}.it-packets{margin:18px 0}.it-launcher{flex-shrink:0;padding:5px 8px;font-size:12px;white-space:nowrap}
.it-chat-card{margin:10px 12px;padding:12px 14px;border:1px solid var(--border,#444);background:var(--panel2,#303030);color:var(--text,#eee);border-radius:12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}.it-chat-card small{font-size:11px;opacity:.7;flex-basis:100%}.it-sticker-art{font-size:24px;padding:18px 22px;border-radius:10px;background:linear-gradient(135deg,#70508f,#385581);color:#fff;animation:it-pop .45s ease-out}.it-gift-art{font-size:32px;animation:it-pop .5s ease-out}.it-chat-packet{background:linear-gradient(120deg,#8b2625,#be583c);color:#fff}.it-chat-card button{background:#fff2;border:1px solid #ffffff50;color:inherit;border-radius:6px;padding:7px 10px;cursor:pointer}.it-chat-card button:disabled{opacity:.65;cursor:default}.mc-social{padding:0 12px 10px;display:flex;gap:5px;flex-wrap:wrap}.mc-social small{color:var(--muted);width:100%}.it-profile-stamp{font-size:11px;padding:4px 7px;border-radius:5px;background:var(--panel2);color:var(--text)}
.it-effect{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at bottom,#9473c619,transparent 70%)}.it-effect-caption{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);max-width:85%;padding:14px 20px;border:1px solid #ffffff40;border-radius:12px;background:#251d3be8;color:#fff;text-align:center;box-shadow:0 10px 50px #0003;pointer-events:auto}.it-effect-caption button{display:block;margin:8px auto 0;border:0;background:transparent;color:#d8c7f4;font-size:11px;cursor:pointer}.it-effect i{position:absolute;left:var(--x);top:-10%;font-style:normal;font-size:27px;color:#f2d38c;text-shadow:0 0 15px #d9c295;animation:it-fall var(--duration) linear var(--delay) infinite}.it-effect-petals i{color:#f3a4c4}.it-effect-entry{background:radial-gradient(ellipse at center,#b99a6e22,transparent 65%)}
@keyframes it-pop{from{transform:scale(.7);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes it-fall{from{transform:translateY(-10vh) rotate(0)}to{transform:translateY(120vh) rotate(240deg)}}
@media(max-width:600px){.it-modal{padding:10px}.it-box{max-height:95vh;max-height:95dvh}.it-head{padding:14px}.it-nav{padding:10px;gap:5px}.it-nav button{padding:7px 9px;font-size:12px}.it-body{padding:16px 14px}.it-form{grid-template-columns:1fr}.it-status{padding:10px 14px}.it-stock{padding:10px}.it-stock button{margin-left:0}.it-launcher{font-size:11px;padding:4px 6px}}
@media(prefers-reduced-motion:reduce){.it-sticker-art,.it-gift-art,.it-effect i{animation:none}.it-effect i{top:calc(15% + var(--x));opacity:.4}}

.room-throw-overlay .projectile{position:absolute;left:0;top:0;width:42px;height:42px;filter:drop-shadow(0 6px 5px #0005)}.room-throw-overlay .projectile svg{width:100%;height:100%}.room-throw-overlay .material-hit{position:absolute;width:120px;height:140px;transform-origin:50% 43%;filter:drop-shadow(0 2px 2px #0004)}.room-throw-overlay .material-hit svg{width:100%;height:100%}.room-throw-overlay .material-drip{position:absolute;transform-origin:top;border-radius:40% 40% 50% 50%;background:linear-gradient(90deg,#be9729,#ffe8a1 40%,#e7b521);box-shadow:inset 1px 0 1px #fff8}.room-throw-overlay .material-drip.tomato{background:linear-gradient(90deg,#a72519,#ff8a59,#c23320)}.room-throw-overlay .material-drip.snow{background:#e0f5ff}

.room-throw-overlay .material-drip.cappuccino{background:linear-gradient(90deg,#603820,#b77e48 35%,#e4c291 60%,#946035)}

/* 房间氛围卡 2.0：三种氛围使用不同的光场、粒子和提示层。 */
.it-effect{isolation:isolate;background:radial-gradient(ellipse at 50% 82%,#9473c633,transparent 68%)}
.it-effect::before,.it-effect::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1}
.it-effect::before{background:radial-gradient(circle at 50% 52%,#ffffff12,transparent 35%);animation:it-breathe 3.2s ease-in-out infinite}
.it-effect-stars{background:radial-gradient(ellipse at 50% 45%,#7d6cff2b,transparent 58%),linear-gradient(180deg,#0c1128aa,#17102b22 58%,transparent)}
.it-effect-stars::after{inset:12% 20%;border-radius:50%;background:radial-gradient(ellipse,#d9d2ff22,transparent 64%);filter:blur(18px);animation:it-star-pulse 4s ease-in-out infinite}
.it-effect-petals{background:linear-gradient(180deg,#40172a12,#cf6d8a20 70%,transparent)}
.it-effect-petals::after{inset:auto 8% 0;height:44%;background:radial-gradient(ellipse at 50% 100%,#f6b4cc38,transparent 66%);filter:blur(10px)}
.it-effect-applause{background:radial-gradient(ellipse at 50% 56%,#ffc85c2e,transparent 56%),linear-gradient(180deg,#5b3a1518,transparent 70%)}
.it-effect-applause::after{inset:18% 25%;border:1px solid #ffd98a30;border-radius:50%;box-shadow:0 0 0 28px #ffd98a0c,0 0 0 58px #ffd98a08;animation:it-ring 2.4s ease-out infinite}
.it-effect-caption{bottom:calc(82px + env(safe-area-inset-bottom));display:grid;gap:4px;min-width:190px;padding:15px 20px 13px;border:1px solid #ffffff38;border-radius:15px;background:linear-gradient(135deg,#211d3bed,#171524e8);backdrop-filter:blur(12px);box-shadow:0 12px 50px #0005;text-align:center}
.it-effect-kicker{color:#d7c9ff;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.it-effect-title{color:#fff;font-size:17px;line-height:1.35}
.it-effect-detail{color:#c7bfd3;font-size:11px}
.it-effect-caption button{margin:5px auto 0;padding:3px 8px;color:#cfc4e7;border:1px solid #ffffff25;border-radius:999px;background:#ffffff0d;font-size:10px}
.it-effect i{top:-12%;left:var(--x);font-size:var(--size,27px);will-change:transform,opacity;text-shadow:0 0 16px currentColor;animation-duration:var(--duration,5s);animation-delay:var(--delay,0s)}
.it-effect-stars i{color:#f5e8a6;animation-name:it-star-drift}
.it-effect-petals i{color:#f7aac8;text-shadow:0 2px 12px #d55d8c99;animation-name:it-petal-drift}
.it-effect-applause i{color:#ffd786;text-shadow:0 0 12px #ffb52f;animation-name:it-applause-pop}
@keyframes it-breathe{0%,100%{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
@keyframes it-star-pulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.8;transform:scale(1.08)}}
@keyframes it-ring{0%{opacity:0;transform:scale(.5)}25%{opacity:.8}100%{opacity:0;transform:scale(1.4)}}
@keyframes it-star-drift{0%{opacity:0;transform:translate3d(0,-10vh,0) scale(.3) rotate(0)}18%{opacity:1}55%{opacity:.7;transform:translate3d(var(--drift),55vh,0) scale(1) rotate(110deg)}100%{opacity:0;transform:translate3d(calc(var(--drift) * -1),115vh,0) scale(.45) rotate(230deg)}}
@keyframes it-petal-drift{0%{opacity:0;transform:translate3d(0,-8vh,0) rotate(-40deg) scale(.7)}15%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),115vh,0) rotate(300deg) scale(1.1)}}
@keyframes it-applause-pop{0%{opacity:0;transform:translate3d(0,48vh,0) scale(.3)}16%{opacity:1}55%{opacity:.8;transform:translate3d(var(--drift),8vh,0) scale(1.1)}100%{opacity:0;transform:translate3d(calc(var(--drift) * 2),-35vh,0) scale(.55)}}
@media(max-width:600px){.it-effect-caption{bottom:calc(70px + env(safe-area-inset-bottom));min-width:170px;max-width:calc(100vw - 36px);padding:12px 16px}.it-effect-title{font-size:15px}}
@media(prefers-reduced-motion:reduce){.it-effect::before,.it-effect::after,.it-effect i{animation:none}.it-effect i{opacity:.5;top:25%}}

/* 房间氛围卡 2.1：轻量舞台提示，不遮挡房间内容。 */
.it-effect{background:transparent!important}
.it-effect::before,.it-effect::after{display:none!important}
.it-effect-caption{top:22px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);display:flex;align-items:center;gap:9px;min-width:0;width:max-content;max-width:calc(100vw - 32px);padding:8px 11px 8px 13px;border:1px solid #ffffff28;border-radius:999px;background:#151421d9;backdrop-filter:blur(14px);box-shadow:0 8px 24px #0004;color:#e8e3f4;font-size:12px;line-height:1.2;white-space:nowrap}
.it-effect-caption button{display:grid;place-items:center;width:18px;height:18px;margin:0;padding:0;border:1px solid #ffffff28;border-radius:50%;background:#ffffff0d;color:#cfc7df;font-size:0;line-height:1}
.it-effect-caption button::after{content:'×';font-size:13px;line-height:1}
.it-effect i{font-size:15px!important;text-shadow:0 0 10px currentColor;opacity:.66}
.it-effect-stars i{color:#f6dda0;animation-duration:7s}
.it-effect-petals i{color:#f2a8c1;animation-duration:8s}
.it-effect-applause i{color:#ffd58c;animation-duration:5s}
@media(max-width:600px){.it-effect-caption{top:14px;max-width:calc(100vw - 24px);padding:7px 9px 7px 11px;font-size:11px}}
