.app-container{display:flex;flex-direction:column;height:100vh;height:100svh;height:100dvh;width:100%}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.welcome-modal{background:#1e2a38;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2rem 1.75rem;max-width:420px;width:100%;display:flex;flex-direction:column;gap:1rem;box-shadow:0 8px 32px #00000080}.welcome-title{margin:0;font-size:1.6rem;color:#fff;text-align:center}.welcome-body{margin:0;font-size:.95rem;color:#fffc;line-height:1.6}.welcome-label{margin:0;font-size:.95rem;color:#ffffffe6;font-weight:700}.welcome-hint{font-size:.82rem;font-weight:400;color:#ffffff80}.welcome-input{width:100%;padding:.65rem .9rem;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font-size:1rem;box-sizing:border-box;outline:none}.welcome-input:focus{border-color:#1abc9ccc}.welcome-input::placeholder{color:#ffffff59}.welcome-ok-btn{align-self:flex-end;padding:.6rem 2rem;border-radius:8px;border:none;background:#1abc9ce6;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .2s}.welcome-ok-btn:hover{background:#1abc9c}.main-content{display:flex;flex:1;width:100%;height:100%;overflow:hidden;gap:0;position:relative}.awabi-section{flex:1;display:flex;overflow:hidden;position:relative}.awabi-controls{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;z-index:100}@media (max-width: 1023px){.awabi-controls{position:fixed!important;bottom:calc(1rem + env(safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%)!important;right:auto!important;top:auto!important;z-index:1200!important}}.auto-play-btn{padding:0 1.4rem;height:44px;border-radius:22px;border:2px solid rgba(255,255,255,.35);background:#00000073;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,transform .1s;box-shadow:0 4px 12px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auto-play-btn:hover{background:#ffffff26}.auto-play-btn:active{transform:scale(.95)}.auto-play-btn--active{background:#e74c3cbf;border-color:#e74c3c;box-shadow:0 4px 16px #e74c3c73;animation:auto-play-pulse 1.5s ease-in-out infinite}@keyframes auto-play-pulse{0%,to{box-shadow:0 4px 16px #e74c3c73}50%{box-shadow:0 4px 24px #e74c3ccc}}.chat-toggle-btn{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;aspect-ratio:1 / 1;box-sizing:border-box;flex-shrink:0;border-radius:50%;background:#16a085e6;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;z-index:100}.chat-toggle-btn:hover{background:#16a085;transform:scale(1.1);box-shadow:0 6px 16px #16a08580}.chat-toggle-btn:active{transform:scale(.95)}.music-toggle-btn{width:50px;height:50px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.35);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.music-toggle-btn:hover{background:#ffffff40;transform:translateY(-2px)}.music-toggle-btn.active{background:#2ecc71e6;border-color:#ffffff80;box-shadow:0 6px 16px #2ecc7166}.chat-section{position:fixed;right:0;bottom:0;top:auto;width:100%;height:70vh;background:#0000004d;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease;z-index:1500}.chat-section.maximized{height:100vh}.chat-header-controls{display:none}.chat-close-btn{position:absolute;top:.8rem;right:.8rem;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:30px;height:30px;border-radius:4px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.chat-close-btn:hover{background:#ffffff4d;box-shadow:0 2px 8px #0003}.chat-header-controls{display:flex;justify-content:flex-end;padding:.8rem;border-bottom:1px solid rgba(255,255,255,.1)}.chat-maximize-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s ease}.chat-maximize-btn:hover{background:#ffffff4d;box-shadow:0 2px 8px #0003}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-section.floating{position:fixed;right:1.5rem;bottom:1.5rem;top:auto;width:350px;height:500px;max-height:80vh;border-radius:12px;box-shadow:0 5px 40px #0006;border:none;animation:popUp .3s ease;z-index:1500}@keyframes popUp{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@media (max-width: 1023px){.chat-section.floating{display:none}}@media (max-width: 375px){.awabi-controls{bottom:calc(.75rem + env(safe-area-inset-bottom))!important;right:.75rem!important;gap:.5rem}.chat-toggle-btn,.music-toggle-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:1.3rem}}.speech-debug{position:absolute;bottom:5rem;left:50%;transform:translate(-50%);color:#ffffff40;font-size:1rem;max-width:80%;text-align:center;pointer-events:none;z-index:50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ofuse-widget-wrapper{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:2000;pointer-events:auto}.ofuse-donate-btn{position:fixed;bottom:calc(1.5rem + env(safe-area-inset-bottom));left:1rem;width:50px;height:50px;min-width:50px;min-height:50px;aspect-ratio:1 / 1;border-radius:50%;background:#ff69b4e6;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;box-sizing:border-box;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;z-index:1200;overflow:hidden}.ofuse-donate-btn:hover{background:#ff69b4;transform:scale(1.1);box-shadow:0 6px 16px #ff69b480}.chat-float-btn{position:fixed;bottom:calc(1.5rem + env(safe-area-inset-bottom));right:1rem;width:50px;height:50px;min-width:50px;min-height:50px;aspect-ratio:1 / 1;border-radius:50%;background:#16a085e6;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;transition:all .3s ease;box-shadow:0 4px 12px #0000004d;z-index:1200;overflow:hidden}.chat-float-btn:hover{background:#16a085;transform:scale(1.1);box-shadow:0 6px 16px #16a08580}.chat-float-btn:active{transform:scale(.95)}.awabi-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.awabi-canvas{width:100%;height:100%;display:block;cursor:crosshair}.manko-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000d9;z-index:50}.manko-text{font-size:clamp(5rem,22vw,14rem);font-weight:900;color:#ff69b4;letter-spacing:.05em;text-shadow:0 0 30px rgba(255,105,180,.9),0 0 60px rgba(255,105,180,.6),0 0 120px rgba(255,105,180,.3);animation:manko-pulse 1.2s ease-in-out infinite;-webkit-user-select:none;user-select:none}@keyframes manko-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.awabi-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0a0a0aeb;color:#fff;font-size:1.5rem;font-weight:700;padding:1.4rem 2.4rem;border-radius:14px;border:2px solid rgba(255,210,0,.85);text-align:center;z-index:200;white-space:nowrap;pointer-events:none;box-shadow:0 0 40px #ffd20080,0 8px 32px #0009;animation:awabi-toast-in .4s cubic-bezier(.175,.885,.32,1.275) forwards}.awabi-toast--fading{animation:awabi-toast-out .8s ease-in forwards}@keyframes awabi-toast-in{0%{opacity:0;transform:translate(-50%,-40%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes awabi-toast-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-52%) scale(1.05)}to{opacity:0;transform:translate(-50%,-65%) scale(.9)}}.awabi-stats-panel{background:#08121ee0;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:.9rem 1.2rem;min-width:200px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}@media (max-width: 1023px){.awabi-stats-panel{min-width:280px;width:90vw;max-width:420px}}.awabi-stats-title{font-size:.78rem;font-weight:700;color:#fff9;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.4rem}.awabi-stats-section-title{font-size:.7rem;font-weight:700;color:#ffffff73;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;margin-top:.1rem}.awabi-stats-row{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:.25rem 0}.awabi-stats-label{font-size:.82rem;color:#fffc;white-space:nowrap}.awabi-stats-value{font-size:.95rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}.awabi-stats-value--rb{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rb-shift 2s linear infinite}.awabi-stats-value--golden{color:gold;text-shadow:0 0 8px rgba(255,215,0,.8),0 0 16px rgba(255,215,0,.4)}@keyframes rb-shift{to{background-position:200% center}}.awabi-stats-always{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:100;pointer-events:none}.awabi-stats-always .awabi-stats-panel{pointer-events:auto}@media (min-width: 1024px){.awabi-stats-always{left:1rem;transform:none}}.awabi-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:150;display:flex;align-items:center;justify-content:center}.awabi-modal{display:flex;flex-direction:column;gap:1rem;padding:.5rem}.awabi-modal-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:8px;color:#fff;font-size:.9rem;padding:.5rem 1rem;cursor:pointer;transition:background .15s}.awabi-modal-close:hover{background:#fff3}.awabi-stats-divider{height:1px;background:#ffffff1f;margin:.4rem 0}.awabi-stats-row--prob{padding:.15rem 0}.awabi-stats-label--prob{font-size:.76rem;color:#ffffff8c}.awabi-stats-frac{font-size:.85rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.awabi-stats-value--combined{color:#aef;text-shadow:0 0 6px rgba(170,238,255,.6)}.awabi-stats-body{display:flex;gap:.8rem;align-items:flex-start}.awabi-stats-left{flex:1;min-width:0}.awabi-slump-wrap{display:none;flex-direction:column;gap:.3rem;flex-shrink:0;width:200px}@media (min-width: 1024px){.awabi-slump-wrap{display:flex;width:280px}}.awabi-slump-label{font-size:.72rem;color:#ffffff80}.awabi-slump-canvas{width:100%;height:80px;border-radius:6px;background:#0000004d;display:block}.awabi-slump-legend{display:flex;gap:.8rem;font-size:.7rem}.awabi-slump-legend-exp{color:#fff6}.awabi-slump-legend-rb{color:#ff6ec7}.awabi-slump-legend-bb{color:gold}.awabi-win-history{margin-top:.4rem;display:flex;flex-direction:column;gap:.15rem}.awabi-win-history-title{font-size:.7rem;color:#ffffff73;margin-bottom:.2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:.3rem}.awabi-win-history-scroll{max-height:10rem;overflow-y:scroll;display:block;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain}.awabi-win-history-scroll::-webkit-scrollbar{width:4px}.awabi-win-history-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.awabi-win-history-row{display:flex;gap:.4rem;align-items:center;font-size:.7rem;color:#fff9;flex-wrap:wrap}.awabi-win-history-nth{color:#fff6;min-width:2.5rem}.awabi-win-history-user{color:#ffffffbf;font-weight:600;max-width:6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awabi-win-history-date{color:#ffffff80}.awabi-win-history-type--bb{color:gold;font-weight:700}.awabi-win-history-type--rb{color:#ff6ec7;font-weight:700}.awabi-win-history-g{color:#ffffff8c;margin-left:auto}.sakibare-countdown{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:160;animation:countdown-pulse .3s ease-out}@keyframes countdown-pulse{0%{transform:translate(-50%,-50%) scale(1.4);opacity:.5}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.sakibare-countdown-num{font-size:clamp(6rem,20vw,14rem);font-weight:900;line-height:1;color:#fff;text-shadow:0 0 20px rgba(255,200,0,.9),0 0 60px rgba(255,150,0,.6),0 0 120px rgba(255,100,0,.3);font-variant-numeric:tabular-nums}.sakibare-countdown-label{font-size:clamp(1.5rem,5vw,3rem);font-weight:700;color:#ffdc64d9;letter-spacing:.2em;margin-top:-.5rem}.rush-announce{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;z-index:170;animation:rush-announce-in .4s cubic-bezier(.175,.885,.32,1.275) forwards,rush-announce-out .6s ease-in 2.4s forwards}.rush-announce-main{font-size:clamp(3rem,12vw,8rem);font-weight:900;line-height:1;color:#fff;text-shadow:0 0 20px rgba(255,210,0,1),0 0 60px rgba(255,160,0,.9),0 0 120px rgba(255,100,0,.6);letter-spacing:.05em;white-space:nowrap}.rush-announce-sub{font-size:clamp(1.2rem,4vw,2.5rem);font-weight:700;color:#ffe664f2;text-shadow:0 0 10px rgba(255,200,0,.8),0 0 30px rgba(255,150,0,.5);letter-spacing:.15em}@keyframes rush-announce-in{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes rush-announce-out{0%{opacity:1}to{opacity:0}}.sakibare-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:150;animation:sakibare-flash-anim 1.5s ease-out forwards}.sakibare-flash--bb{background:radial-gradient(ellipse at center,#ffd700d9,#ffa50099 30%,#ff640000 70%)}.sakibare-flash--rb{background:radial-gradient(ellipse at center,#fffffff2,#c864ffb3 25%,#64c8ff00 65%)}@keyframes sakibare-flash-anim{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1.05)}40%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}.chat-room{display:flex;flex-direction:column;height:100%;background:#1a1a2ecc;min-height:0}.chat-username-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;gap:1rem}.chat-username-setup h2{color:#ffffffe6;margin-bottom:1rem}.chat-username-setup form{display:flex;gap:.5rem;width:100%;max-width:250px}.chat-username-setup input{flex:1;padding:.7rem;background:#ffffff1a;border:1px solid rgba(22,160,133,.3);color:#fff;border-radius:8px;font-size:.95rem;transition:all .3s ease}.chat-username-setup input:focus{outline:none;border-color:#16a085;background:#ffffff26;box-shadow:0 0 10px #16a0854d}.chat-username-setup button{background:linear-gradient(135deg,#16a085,#1abc9c);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.chat-username-setup button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #16a08566}.chat-header{padding:1rem;border-bottom:1px solid rgba(22,160,133,.3);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-header h3{color:#ffffffe6;margin:0;font-size:1.1rem}.chat-user-badge{background:linear-gradient(135deg,#16a085,#1abc9c);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;min-height:0}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff6;text-align:center}.chat-empty p{margin:.5rem 0;font-size:.9rem}.chat-message{background:#16a0851a;padding:.75rem;border-radius:8px;border-left:3px solid rgba(22,160,133,.5);animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;font-size:.85rem}.message-user{font-weight:600}.message-time{color:#fff6;font-size:.75rem}.message-text{color:#ffffffe6;word-break:break-word;line-height:1.4}.chat-input-area{padding:1rem;border-top:1px solid rgba(22,160,133,.3);background:#0003;flex-shrink:0}.chat-input-area form{display:flex;gap:.5rem;align-items:center}.chat-input-area input{flex:1;padding:.6rem .8rem;background:#ffffff14;border:1px solid rgba(22,160,133,.3);color:#fff;border-radius:8px;font-size:.9rem;transition:all .3s ease;height:36px;box-sizing:border-box}.chat-input-area input:focus{outline:none;border-color:#16a085;background:#ffffff1f;box-shadow:0 0 10px #16a08533}.chat-input-area button{background:linear-gradient(135deg,#16a085,#1abc9c);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap;height:36px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-input-area button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #16a08566}.chat-input-area .chat-image-btn{display:none!important}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#16a0850d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#16a0854d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#16a08580}:root{color-scheme:light dark;color:#ffffffde;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{min-width:320px;min-height:100vh;min-height:100svh;min-height:100dvh;background:linear-gradient(135deg,#1a1a2e,#16213e);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}
