:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:8px 16px;font-size:1em;font-weight:500;font-family:inherit;background-color:#646cff;cursor:pointer;transition:all .25s;color:#fff}button:hover{background-color:#535bf2;transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#646cff;color:#fff}}.werewolf-game{position:fixed;top:70px;right:20px;width:360px;background:#000000d9;border-radius:12px;box-shadow:0 4px 15px #00000080;color:#fff;z-index:1000;overflow:hidden;transition:width .3s,height .3s;max-height:calc(100vh - 90px);display:flex;flex-direction:column}.werewolf-game.collapsed{width:220px;height:60px}.werewolf-game.expanded{height:auto}.game-header{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid rgba(255,255,255,.1);background:#0000004d}.game-header h2{margin:0;font-size:1.2rem;white-space:nowrap}.expand-toggle{background:none;border:none;color:#bb86fc;cursor:pointer;font-size:.9rem;padding:5px 10px;border-radius:4px;transition:background .2s}.expand-toggle:hover{background:#bb86fc1a}.game-content{padding:15px;overflow-y:auto;flex-grow:1;display:flex;flex-direction:column;gap:20px}.game-status{background:#0003;border-radius:8px;padding:15px}.game-status h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#bb86fc}.status-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.status-item{display:flex;flex-direction:column;gap:5px}.status-label{font-size:.85rem;color:#ffffffb3}.status-value{font-weight:700;font-size:1rem}.role-setup{background:#0003;border-radius:8px;padding:15px}.role-setup h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#bb86fc}.roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.role-config{display:flex;justify-content:space-between;align-items:center;padding:8px;background:#ffffff0d;border-radius:6px}.role-controls{display:flex;align-items:center;gap:8px}.role-controls button{width:25px;height:25px;display:flex;justify-content:center;align-items:center;background:#ffffff1a;border:none;border-radius:4px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.role-controls button:hover:not(:disabled){background:#fff3}.role-controls button:disabled{opacity:.5;cursor:not-allowed}.total-players{margin-top:15px;text-align:center;font-weight:700;color:#bb86fc}.game-controls{background:#0003;border-radius:8px;padding:15px}.game-controls h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#bb86fc}.buttons-group{display:flex;gap:10px;flex-wrap:wrap}.control-button{flex:1;min-width:100px;padding:10px;border:none;border-radius:6px;background:#646cff;color:#fff;font-weight:700;cursor:pointer;transition:all .2s}.control-button:hover:not(:disabled){background:#535bf2;transform:translateY(-2px)}.control-button:disabled{background:#4a4a4a;cursor:not-allowed}.control-button.danger{background:#f44}.control-button.danger:hover{background:#e33}.players-section{background:#0003;border-radius:8px;padding:15px}.players-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.players-header h3{margin:0;font-size:1.1rem;color:#bb86fc}.player-search{padding:8px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;width:150px}.players-grid.admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:300px;overflow-y:auto;padding-right:5px}.players-grid.admin::-webkit-scrollbar{width:5px}.players-grid.admin::-webkit-scrollbar-track{background:#0003}.players-grid.admin::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.player-card{background:#0000004d;border-radius:6px;padding:10px;transition:all .2s;border:1px solid rgba(255,255,255,.1)}.player-card:hover{background:#0006}.player-card.dead{opacity:.6}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.player-header h4{margin:0;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheriff-badge{font-size:1rem}.player-details{font-size:.8rem;margin:5px 0}.player-role,.player-status{margin-bottom:3px}.role-value,.status-value{font-weight:700}.role-value.werewolf{color:#f44}.role-value.seer{color:#4af}.role-value.witch{color:#a4f}.role-value.hunter{color:#f80}.role-value.guard{color:#4f8}.role-value.villager{color:#aaa}.status-value.alive{color:#4f8}.status-value.dead{color:#f44}.player-speech{margin-top:5px;font-size:.8rem;font-style:italic;background:#ffffff0d;padding:5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-log{background:#0003;border-radius:8px;padding:15px}.game-log h3{margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#bb86fc}.log-entries{max-height:200px;overflow-y:auto;padding-right:5px}.log-entries::-webkit-scrollbar{width:5px}.log-entries::-webkit-scrollbar-track{background:#0003}.log-entries::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.log-entry{margin-bottom:5px;font-size:.85rem;line-height:1.4}.log-time{color:#bb86fc;margin-right:8px;font-size:.75rem}.status-message{font-weight:500;color:#3498db;text-align:center;flex-grow:1}.game-content{display:flex;flex-direction:column;gap:15px}.game-controls{display:flex;justify-content:center;margin:15px 0}.control-button{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:500;transition:background .3s}.control-button:hover{background:#c0392b}.player-list{background:#34495e;padding:10px;border-radius:5px}.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.player-card{background:#2c3e50;border:1px solid #3498db;border-radius:5px;padding:10px;text-align:center;transition:transform .2s}.player-card:hover{transform:translateY(-3px)}.player-card.dead{opacity:.6;border-color:#e74c3c}.player-card.sheriff{border-color:#f1c40f;background:linear-gradient(to bottom,#34495e,#2c3e50)}.player-name{font-weight:700;margin-bottom:5px}.player-role{color:#3498db;font-size:.9em;margin-bottom:5px}.player-status{font-size:.8em;color:#bdc3c7}.game-log{background:#34495e;padding:10px;border-radius:5px;max-height:200px;overflow-y:auto}.log-entries{display:flex;flex-direction:column;gap:5px}.log-entry{font-size:.9em;padding:5px;border-bottom:1px solid #2c3e50}.log-time{color:#3498db;margin-right:10px;font-size:.8em}.expand-toggle{background:transparent;color:#3498db;border:1px solid #3498db;padding:5px 10px;border-radius:5px;cursor:pointer;font-size:.8em;transition:all .3s}.expand-toggle:hover{background:#3498db;color:#fff}.werewolf-game.collapsed .game-content{display:none}.role-setup{background:#34495e;padding:10px;border-radius:5px;margin-top:10px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.role-config{display:flex;flex-direction:column;align-items:center;background:#2c3e50;padding:8px;border-radius:5px}.role-name{font-size:.9em;margin-bottom:5px}.role-controls{display:flex;align-items:center;gap:10px}.role-controls button{width:25px;height:25px;background:#3498db;color:#fff;border:none;border-radius:3px;cursor:pointer}.role-controls button:disabled{background:#95a5a6;cursor:not-allowed}.total-players{text-align:right;margin-top:10px;font-weight:500;color:#e74c3c}.no-players,.no-logs{text-align:center;padding:20px;color:#95a5a6;font-style:italic}.control-panel{display:flex;flex-direction:column;gap:10px;align-items:center}.control-panel label{display:flex;align-items:center;gap:5px;margin-bottom:10px}.player-page{min-height:100vh;padding:2rem;background:#1a1a1a;color:#fff}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{margin:0;color:#4caf50}.back-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border:1px solid #fff;border-radius:4px;transition:all .3s ease}.back-link:hover{background:#fff;color:#1a1a1a}.join-form{max-width:400px;margin:0 auto;padding:2rem;background:#ffffff1a;border-radius:8px;box-shadow:0 4px 6px #0000001a}.join-form h2{margin-top:0;margin-bottom:1.5rem;text-align:center;color:#4caf50}.input-group{display:flex;gap:1rem;margin-bottom:1rem}.input-group input{flex:1;padding:.8rem;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:1rem}.input-group input::placeholder{color:#ffffff80}.input-group button{padding:.8rem 1.5rem;border:none;border-radius:4px;background:#4caf50;color:#fff;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.input-group button:hover:not(:disabled){background:#45a049}.input-group button:disabled{background:#666;cursor:not-allowed}.error-message{color:#f44;text-align:center;margin-top:1rem}.player-game{max-width:600px;margin:0 auto;padding:2rem;background:#ffffff1a;border-radius:8px;box-shadow:0 4px 6px #0000001a}.welcome-message{text-align:center;margin-bottom:2rem}.welcome-message h2{color:#4caf50;margin-bottom:1rem}.welcome-message p{margin:.5rem 0;color:#fffc}.game-status{padding:1rem;background:#0003;border-radius:4px;margin-top:2rem}.player-client{max-width:1200px;margin:0 auto;padding:20px;color:#333;font-family:Arial,sans-serif}.game-interface{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:#343a40;color:#fff;border-bottom:1px solid #495057}.game-info h1{margin:0 0 10px;font-size:24px}.game-info p{margin:5px 0;font-size:14px}.player-info{text-align:right}.player-info h2{margin:0 0 5px;font-size:20px}.player-info .role{font-size:16px;color:#ffc107;font-weight:700}.death-notice{color:#dc3545;font-weight:700;margin-top:5px;font-size:16px}.game-content{display:flex;min-height:600px}.main-area{flex:3;padding:20px;border-right:1px solid #dee2e6}.side-area{flex:1;padding:15px;background-color:#f1f3f5;overflow-y:auto;max-height:800px}.players-section{margin-bottom:25px}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:15px}.player-card{position:relative;padding:12px;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:80px}.player-card:hover{box-shadow:0 0 10px #0000001a;transform:translateY(-2px)}.player-card.self{background-color:#e2f2ff;border-color:#4dabf7}.player-card.dead{opacity:.6;background-color:#f8f9fa;cursor:not-allowed}.player-card.targeted{border:2px solid #fd7e14;box-shadow:0 0 8px #fd7e1480}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.player-header h4{margin:0;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheriff-badge{font-size:18px;color:#ffc107}.role{font-size:14px;color:#6c757d}.dead-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#dc3545cc;color:#fff;padding:3px 8px;border-radius:4px;font-size:14px;font-weight:700}.target-indicator{position:absolute;bottom:5px;right:5px;background-color:#fd7e14;color:#fff;padding:2px 6px;border-radius:4px;font-size:12px}.action-section{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000d}.night-phase-indicator{margin-bottom:20px;padding:10px 15px;border-radius:6px;border-left:4px solid #6c757d}.night-phase-indicator.active{border-left-color:#0d6efd;background-color:#e7f0ff}.night-phase-indicator.inactive{border-left-color:#6c757d;background-color:#f8f9fa}.night-phase-indicator h3{margin:0 0 10px;font-size:18px}.action-prompt{display:flex;align-items:center;justify-content:space-between}.pulse-icon{font-size:24px;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.wait-prompt{display:flex;align-items:center;gap:10px;color:#6c757d}.role-action{margin-top:20px;padding:15px;background-color:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.role-title{margin-top:0;margin-bottom:15px;font-size:18px;color:#343a40;border-bottom:1px solid #dee2e6;padding-bottom:10px}.player-selection{margin:15px 0;padding:10px;background-color:#0d6efd0d;border-radius:4px}.selection-label{margin:0;font-size:14px}.action-button{padding:8px 16px;background-color:#0d6efd;border:none;border-radius:4px;color:#fff;font-weight:700;cursor:pointer;transition:background-color .3s}.action-button:hover{background-color:#0b5ed7}.action-button:disabled{background-color:#6c757d;cursor:not-allowed}.witch-actions{display:flex;flex-direction:column;gap:15px}.witch-save-option,.witch-poison-option{padding:10px;background-color:#fffc;border-radius:6px;border:1px solid #dee2e6}.potion-button{padding:8px 16px;border:none;border-radius:4px;color:#fff;font-weight:700;cursor:pointer;transition:all .3s}.potion-button.save{background-color:#198754}.potion-button.save:hover{background-color:#157347}.potion-button.poison{background-color:#dc3545}.potion-button.poison:hover{background-color:#bb2d3b}.potion-button.skip{background-color:#6c757d}.potion-button.skip:hover{background-color:#5c636a}.potion-button:disabled{opacity:.6;cursor:not-allowed}.discussion-area{margin-top:20px}.discussion-area textarea{width:100%;height:80px;padding:10px;border:1px solid #dee2e6;border-radius:4px;margin-bottom:10px;resize:vertical}.waiting-area{padding:15px;background-color:#f8f9fa;border-radius:6px;text-align:center}.players-waiting{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:15px 0}.waiting-player{background-color:#fff;padding:5px 10px;border-radius:4px;font-size:14px;border:1px solid #dee2e6}.dead-player-message{padding:15px;background-color:#dc35451a;border-radius:6px;text-align:center;color:#dc3545;margin:15px 0}.game-log{height:100%;display:flex;flex-direction:column}.game-log h3{margin-top:0;margin-bottom:15px;font-size:18px;padding-bottom:10px;border-bottom:1px solid #dee2e6}.log-entries{flex:1;overflow-y:auto;font-size:14px}.log-entry{padding:8px 0;border-bottom:1px solid #eee}.log-time{color:#6c757d;margin-right:8px;font-size:12px}.phase-controls{margin-top:25px;padding-top:15px;border-top:1px solid #dee2e6;text-align:center}.phase-button{padding:10px 20px;background-color:#343a40;color:#fff;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:background-color .3s}.phase-button:hover{background-color:#23272b}.phase-button:disabled{background-color:#6c757d;cursor:not-allowed}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left-color:#0d6efd;border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}.loading-spinner.small{width:20px;height:20px;border-width:3px;margin:10px auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{text-align:center;padding:40px}.error-message{position:relative;padding:12px 40px 12px 15px;background-color:#f8d7da;color:#721c24;border-radius:6px;margin-bottom:15px}.message-box{position:relative;padding:12px 40px 12px 15px;background-color:#d1e7dd;color:#0f5132;border-radius:6px;margin-bottom:15px}.close-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.7}.close-button:hover{opacity:1}.refresh-status{font-size:12px;padding:3px 8px;border-radius:4px;margin-top:10px}.refresh-status.good{background-color:#1987541a;color:#198754}.refresh-status.warning{background-color:#ffc1071a;color:#ffc107}.refresh-status.error{background-color:#dc35451a;color:#dc3545}@media (max-width: 768px){.game-content{flex-direction:column}.main-area,.side-area{width:100%;border-right:none}.side-area{border-top:1px solid #dee2e6;max-height:300px}.game-header{flex-direction:column;align-items:flex-start}.player-info{text-align:left;margin-top:15px}}.connection-status{display:flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;margin-left:auto}.connection-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.connection-status.connected{background-color:#34c75926;color:#34c759}.connection-status.connected:before{background-color:#34c759}.connection-status.delayed{background-color:#ffcc0026;color:#fc0}.connection-status.delayed:before{background-color:#fc0}.connection-status.disconnected,.connection-status.reconnecting{background-color:#ff453a26;color:#ff4539}.connection-status.disconnected:before,.connection-status.reconnecting:before{background-color:#ff4539}.connection-status.reconnecting:before{animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:.3}50%{opacity:1}to{opacity:.3}}.player-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.refresh-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666;margin-top:16px;padding-top:8px;border-top:1px solid #eee}.refresh-button{font-size:12px;padding:4px 8px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px}.refresh-button:hover:not(:disabled){background-color:#e9e9e9}.connection-warning{margin-top:8px;padding:4px 10px;border-radius:4px;background-color:#fff3cd;color:#856404;font-size:12px;font-weight:700;border-left:3px solid #ffc107;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:.8}50%{opacity:1}to{opacity:.8}}.hunter-actions{padding:15px;background-color:#f8f9fa;border-radius:6px;border:1px solid #17a2b8;margin-bottom:15px}.hunter-actions h3{color:#0c5460;margin-top:0;margin-bottom:10px;font-size:18px;border-bottom:1px solid #17a2b8;padding-bottom:5px}.hunter-actions p{margin-bottom:15px;color:#0c5460}.hunter-actions .action-button{background-color:#17a2b8}.hunter-actions .action-button:hover:not(:disabled){background-color:#138496}.voice-recognition{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.voice-recognition-container{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;max-width:600px;width:100%;text-align:center}.voice-recognition h2{color:#333;margin-bottom:10px;font-size:2.5rem;font-weight:700}.description{color:#666;margin-bottom:30px;font-size:1.1rem;line-height:1.6}.controls{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}.record-button{background:linear-gradient(45deg,#ff6b6b,#ee5a24);color:#fff;border:none;padding:15px 30px;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #ff6b6b4d;min-width:150px}.record-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff6b6b66}.record-button.recording{background:linear-gradient(45deg,#ff4757,#c44569);animation:pulse 1.5s infinite}.clear-button,.copy-button{background:linear-gradient(45deg,#3742fa,#2f3542);color:#fff;border:none;padding:12px 25px;border-radius:25px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #3742fa33}.clear-button:hover,.copy-button:hover{transform:translateY(-1px);box-shadow:0 5px 15px #3742fa4d}.clear-button:disabled,.copy-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.recording-indicator{display:flex;align-items:center;justify-content:center;gap:10px;margin:20px 0;padding:15px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:10px;color:#856404;font-weight:600}.pulse-dot{width:12px;height:12px;background:#ff4757;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.transcript-container{margin:30px 0;text-align:left}.transcript-container h3{color:#333;margin-bottom:15px;font-size:1.3rem;font-weight:600}.transcript-text{background:#f8f9fa;border:2px solid #e9ecef;border-radius:15px;padding:20px;min-height:120px;max-height:300px;overflow-y:auto;line-height:1.6}.transcript-text p{margin:0;color:#333;font-size:1.1rem;word-wrap:break-word}.placeholder{color:#999!important;font-style:italic;text-align:center;margin-top:40px!important}.tips{background:#e8f5e8;border:1px solid #c3e6c3;border-radius:15px;padding:20px;margin-top:30px;text-align:left}.tips h4{color:#2d5a2d;margin-bottom:15px;font-size:1.2rem;font-weight:600}.tips ul{margin:0;padding-left:20px;color:#4a674a}.tips li{margin-bottom:8px;line-height:1.5}.error-message{background:#ffe6e6;border:1px solid #ffb3b3;border-radius:10px;padding:15px;margin:20px 0;color:#c00;text-align:center}.error-message p{margin:5px 0;font-weight:500}@media (max-width: 768px){.voice-recognition-container{padding:30px 20px;margin:10px}.voice-recognition h2{font-size:2rem}.controls{flex-direction:column;align-items:center}.record-button,.clear-button,.copy-button{width:100%;max-width:250px}.transcript-text{min-height:100px;max-height:200px}}@media (max-width: 480px){.voice-recognition{padding:10px}.voice-recognition-container{padding:20px 15px}.voice-recognition h2{font-size:1.8rem}.description{font-size:1rem}}.navigation{background:linear-gradient(135deg,#667eea,#764ba2);padding:15px 0;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.nav-brand a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:700;transition:all .3s ease}.nav-brand a:hover{transform:scale(1.05);text-shadow:0 0 10px rgba(255,255,255,.5)}.nav-links{display:flex;gap:20px}.nav-link{color:#fff;text-decoration:none;padding:10px 15px;border-radius:25px;transition:all .3s ease;font-weight:500;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-link:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 5px 15px #0003}@media (max-width: 768px){.nav-container{flex-direction:column;gap:15px}.nav-links{gap:10px}.nav-link{padding:8px 12px;font-size:.9rem}}.app{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;width:100vw;overflow:hidden;background-color:#000;position:relative;max-width:1200px;margin:0 auto;padding:20px;background-image:url(images஬kimage.png);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.app .live2d-main{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.app .live2d-main .live2d-container{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.app .live2d-main .subtitles{position:fixed;left:50%;bottom:100px;transform:translate(-50%);width:80%;text-align:center;z-index:1000}.app .live2d-main .subtitles .subtitle-text{display:inline-block;color:#fff;padding:8px 16px;font-size:28px;font-weight:500;letter-spacing:.5px;line-height:1.4;white-space:pre-wrap;border-radius:8px;-webkit-text-stroke:1px #5cc2eb;text-stroke:1px #2FA4E7;text-shadow:0 0 5px rgba(47,164,231,.6),0 0 10px rgba(47,164,231,.3);transform:skew(-2deg);animation:fadeIn .3s ease-in-out,bounce .5s ease-in-out;font-family:Comic Sans MS,ZCOOL KuaiLe,Varela Round,Rubik,system-ui}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:skew(-2deg) scale(1)}50%{transform:skew(-2deg) scale(1.02)}}.app .chat-container{height:400px;overflow-y:auto;border:1px solid #646cff;border-radius:8px;padding:10px;margin-bottom:20px;background:#ffffff0d}.app .chat-container .chat-message{margin:10px 0;padding:10px;border-radius:8px;max-width:80%}.app .chat-container .chat-message.user{background:#646cff1a;margin-left:auto;border:1px solid rgba(100,108,255,.2)}.app .chat-container .chat-message.assistant{background:#ffffff0d;margin-right:auto;border:1px solid rgba(255,255,255,.1)}.app .chat-input-container{position:fixed;left:50%;transform:translate(-50%);bottom:20px;display:flex;padding:15px;z-index:1000;width:90%;max-width:800px;background-color:#4b3d3d99;border-radius:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;border:1px solid rgba(255,255,255,.1)}.app .chat-input-container .chat-input{flex:1;padding:10px 15px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff1a;color:#fff;font-size:16px}.app .chat-input-container .chat-input::placeholder{color:#ffffff80}.app .chat-input-container .chat-submit-button{padding:10px 20px;border-radius:8px;border:none;background:#646cff;color:#fff;cursor:pointer;transition:all .2s}.app .chat-input-container .chat-submit-button:hover{background:#535bf2;transform:translateY(-2px)}.app .live2d-main .subtitles .subtitle-text.loading{color:#2fa4e7;font-size:20px;animation:pulse 1.5s ease-in-out infinite}.loading-dots{display:inline-block;min-width:30px}@keyframes pulse{0%{opacity:.5;transform:scale(.95) skew(-2deg)}50%{opacity:1;transform:scale(1.02) skew(-2deg)}to{opacity:.5;transform:scale(.95) skew(-2deg)}}.circle-button{position:fixed;bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;background-color:#ecb8c4;color:#fff;border:none;font-size:24px;cursor:pointer;z-index:100;transition:background-color .3s}.circle-button:hover{background-color:#ff4c7a}.video-buttons{position:fixed;bottom:100px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:100}.video-modal{position:fixed;top:10%;left:10%;width:80%;height:80%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.video-container{position:relative;background:#fff;padding:20px;border-radius:8px}.video-container video{width:100%;height:auto}.video-container button{position:absolute;top:10px;right:10px;background:#efc3cd;color:#fff;border:none;padding:5px 10px;cursor:pointer;border-radius:5px}.video-buttons button{background-color:#efc3cd;color:#fff;border:none;border-radius:8px;padding:10px 15px;cursor:pointer;transition:background-color .3s}.video-buttons button:hover{background-color:#f5d5dd}.chat-history-container{position:fixed;top:20px;right:20px;width:350px;height:500px;background:#ecdcdcb3;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;z-index:1000;transition:all .3s ease;border:1px solid #ddd;border-radius:5px;padding:10px;max-height:400px;overflow-y:auto}.chat-history-container.minimized{height:40px;width:80px;background:#00000080;max-height:50px;overflow:hidden}.chat-controls{position:absolute;top:0;right:0;padding:8px;z-index:1001;width:100%;justify-content:center;display:flex;justify-content:flex-end;margin-bottom:10px}.minimize-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:12px;transition:all .2s ease;white-space:nowrap;padding:5px 10px;background-color:#f0f0f0;border:none;border-radius:3px}.minimize-button:hover{background:#fff3}.chat-history{height:calc(100% - 40px);margin-top:40px;overflow-y:auto;padding:0 15px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.danmaku-content{height:100%;overflow-y:auto;padding:10px;font-size:14px;color:#ffffffe6;line-height:1.4}.chat-message{margin:8px 0;padding:8px;border-radius:6px;max-width:90%;word-wrap:break-word;font-size:14px;line-height:1.4}.chat-message.user{background:#646cff33;margin-left:auto;color:#fff}.chat-message.assistant{background:#ffffff1a;margin-right:auto;color:#fff}.chat-message.assistant pre{background:#0000004d;padding:12px;border-radius:6px;overflow-x:auto}.chat-message.assistant code{font-family:Fira Code,monospace;font-size:.9em;padding:2px 4px;background:#0003;border-radius:4px}.chat-message.assistant p{margin:8px 0}.chat-message.assistant ul,.chat-message.assistant ol{margin:8px 0;padding-left:20px}.chat-message.assistant blockquote{border-left:3px solid rgba(255,255,255,.3);margin:8px 0;padding-left:12px;color:#fffc}.user-message{color:#fff;font-size:.95em}.chat-input-container{display:flex;gap:10px;align-items:center}.chat-submit-button{white-space:nowrap;padding:10px 20px;background:#646cff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.chat-submit-button:disabled{background:#4a4a4a;cursor:not-allowed}.chat-submit-button:not(:disabled):hover{background:#535bf2;transform:translateY(-2px)}.chat-message .markdown-content{font-size:14px;line-height:1.4}.chat-message .markdown-content p{margin:.5em 0}.chat-message .markdown-content pre{background:#0000004d;padding:8px;border-radius:4px;overflow-x:auto}.chat-message .markdown-content code{font-family:monospace;font-size:13px;background:#0003;padding:2px 4px;border-radius:3px}.chat-history-container.minimized .chat-history{display:none}.test-toggle-button{position:fixed;top:10px;left:10px;z-index:1002;background:#535bf2;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer}.test-toggle-button:hover{background:#646cff}.home-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#000c;position:fixed;top:0;left:0;right:0;z-index:1000;margin-bottom:20px}.home-header h1{margin:0;font-size:1.5rem;color:#bb86fc}.player-link{background:#4a148c;color:#fff;padding:8px 16px;border-radius:4px;text-decoration:none;transition:background .3s}.player-link:hover{background:#6a1b9a}.game-container{display:flex;flex-direction:column;gap:20px}.message-content{word-break:break-word}.game-controls-container{display:flex;flex-direction:column;gap:15px;width:100%;max-width:800px;margin:0 auto}.player-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1rem 0}.player-link.primary-button{display:inline-block;padding:.8rem 1.5rem;font-size:1.2rem;font-weight:700;color:#fff;background-color:#4caf50;border:none;border-radius:4px;text-decoration:none;transition:background-color .3s ease}.player-link.primary-button:hover{background-color:#45a049}.player-hint{font-size:.9rem;color:#666;text-align:center}
