@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap";.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.login-container{width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2rem;margin-bottom:.5rem;background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:var(--text-muted)}.login-form{background:var(--bg-card);padding:2rem;border-radius:1rem;box-shadow:0 4px 6px #0000004d}.login-form h2{margin-bottom:1.5rem;font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;color:var(--text-muted)}.login-form button[type=submit]{width:100%;margin-top:1rem}.login-footer{text-align:center;margin-top:1rem}.link-button{background:none;color:var(--primary);padding:.5rem;font-size:.875rem}.link-button:hover{text-decoration:underline}.forgot-password{text-align:right;margin-top:-.5rem;margin-bottom:.5rem}.forgot-password a{color:var(--text-muted);font-size:.875rem;text-decoration:none}.forgot-password a:hover{color:var(--primary);text-decoration:underline}.success-message{background:var(--bg-card);padding:1.5rem;border-radius:.5rem;text-align:center;color:var(--text-muted);margin-bottom:1rem}.success-message p{margin:.5rem 0}.login-instruction{text-align:center;color:var(--text-muted);margin-bottom:1.5rem}.login-divider{display:flex;align-items:center;margin:1.5rem 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-divider span{padding:0 1rem;color:var(--text-muted);font-size:.875rem}.login-form button.secondary{width:100%;background:transparent;border:1px solid var(--border-color);color:var(--text)}.login-form button.secondary:hover{background:var(--bg-hover);border-color:var(--primary)}.login-note{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:1rem}.error-link{color:var(--primary);font-weight:500}.error-link:hover{text-decoration:underline}.login-footer a{color:var(--primary)}.login-footer a:hover{text-decoration:underline}.baba-yaga-overlay{position:absolute;inset:0;pointer-events:none;z-index:100;font-family:Georgia,serif}.baba-yaga-dialogue{pointer-events:all;position:absolute;bottom:80px;left:50%;transform:translate(-50%);width:min(600px,90%);background:linear-gradient(135deg,#1a0d2e,#0d0a12);border:2px solid #7b2d8e;border-radius:12px;padding:20px;color:#e8d5f5;box-shadow:0 0 30px #7b2d8e66,inset 0 0 20px #7b2d8e1a;animation:babaFadeIn .3s ease}@keyframes babaFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.baba-yaga-dialogue-inner{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.baba-portrait{width:80px;height:auto;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(123,45,142,.6));image-rendering:auto}.baba-portrait-companion{max-width:150px;width:150px}.baba-dialogue-content{flex:1;min-width:0}.baba-yaga-dialogue .speaker{font-size:14px;font-weight:700;color:#d4a0ff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}.baba-yaga-dialogue .text{font-size:16px;line-height:1.5}.baba-punishment-sprite-wrap{display:flex;justify-content:center;margin-bottom:12px}.baba-punishment-sprite{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 8px rgba(255,60,60,.6));animation:punishSpriteIn .4s ease-out}@keyframes punishSpriteIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.tama-pet-sprite{width:24px;height:24px;object-fit:contain;image-rendering:auto;vertical-align:middle;margin-right:4px;filter:drop-shadow(0 0 4px rgba(123,45,142,.4))}.baba-yaga-choices{display:flex;flex-direction:column;gap:8px}.baba-yaga-choices button{background:linear-gradient(135deg,#2d1f35,#1a0d2e);border:1px solid #7b2d8e;color:#e8d5f5;padding:10px 16px;border-radius:8px;font-size:14px;font-family:Georgia,serif;cursor:pointer;text-align:left;transition:all .2s}.baba-yaga-choices button:hover{background:linear-gradient(135deg,#4a0e4e,#2d1f35);border-color:#d4a0ff;box-shadow:0 0 12px #7b2d8e66;transform:translateY(-1px)}.baba-yaga-upload{border:2px dashed #7b2d8e;border-radius:12px;padding:24px;text-align:center;cursor:pointer;margin-bottom:12px;transition:all .2s;background:#7b2d8e0d}.baba-yaga-upload:hover{border-color:#d4a0ff;background:#7b2d8e1f}.baba-yaga-upload .upload-icon{font-size:36px;margin-bottom:8px}.baba-yaga-upload .upload-text{font-size:13px;color:#b89ad4}.baba-yaga-library{margin-bottom:12px}.baba-yaga-library-empty{text-align:center;padding:16px;color:#b89ad4;font-style:italic}.baba-yaga-library-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;padding-right:4px}.baba-yaga-library-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 14px;background:#1a0d2e99;border:1px solid #4a0e4e;border-radius:8px;color:#e8d5f5;cursor:pointer;transition:all .2s;font-family:inherit;font-size:13px}.baba-yaga-library-item:hover{background:#4a0e4e66;border-color:#7b2d8e}.baba-yaga-library-item:disabled{opacity:.5;cursor:wait}.library-item-title{font-weight:600;margin-bottom:2px}.library-item-meta{font-size:11px;color:#8a6aaa}.baba-yaga-answer{width:100%;min-height:80px;background:#1a0d2ecc;border:1px solid #7b2d8e;border-radius:8px;color:#e8d5f5;padding:12px;font-family:Georgia,serif;font-size:14px;resize:vertical;margin-bottom:12px;box-sizing:border-box}.baba-yaga-answer:focus{outline:none;border-color:#d4a0ff;box-shadow:0 0 8px #7b2d8e4d}.baba-yaga-submit-btn{background:linear-gradient(135deg,#7b2d8e,#4a0e4e);border:none;color:#fff;padding:10px 24px;border-radius:8px;font-size:14px;font-family:Georgia,serif;cursor:pointer;transition:all .2s}.baba-yaga-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7b2d8e80}.baba-yaga-submit-btn:disabled{opacity:.5;cursor:not-allowed}.baba-yaga-quiz{margin-bottom:12px}.baba-yaga-quiz .quiz-progress{font-size:11px;color:#b89ad4;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;text-align:center}.baba-yaga-quiz-btn{display:block;width:100%;background:linear-gradient(135deg,#2d1f35,#1a0d2e);border:1px solid #7b2d8e;color:#e8d5f5;padding:12px 16px;border-radius:8px;font-size:14px;font-family:Georgia,serif;cursor:pointer;text-align:left;transition:all .2s;margin-bottom:6px}.baba-yaga-quiz-btn:hover{background:linear-gradient(135deg,#4a0e4e,#2d1f35);border-color:#d4a0ff;box-shadow:0 0 12px #7b2d8e66;transform:translate(4px)}.baba-yaga-quiz-btn:active{transform:translate(2px);box-shadow:0 0 8px #7b2d8e99}.baba-yaga-tama{pointer-events:all;position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1a0d2e,#0d0a12);border:1px solid #7b2d8e;border-radius:10px;padding:10px 20px;display:flex;align-items:center;gap:16px;color:#e8d5f5;font-size:12px;box-shadow:0 0 15px #7b2d8e4d}.baba-yaga-tama .tama-name{font-weight:700;font-size:14px;min-width:60px}.baba-yaga-tama .tama-stat{display:flex;align-items:center;gap:6px}.baba-yaga-tama .stat-bar{width:80px;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.baba-yaga-tama .stat-fill{height:100%;border-radius:4px;transition:width 1s ease}.baba-yaga-tama .stat-fill.hunger{background:linear-gradient(90deg,#f97316,#ea580c)}.baba-yaga-tama .stat-fill.happiness{background:linear-gradient(90deg,#eab308,#ca8a04)}.baba-yaga-tama .stat-fill.health{background:linear-gradient(90deg,#22c55e,#16a34a)}.baba-yaga-tama .stat-fill.low{animation:statPulse 1s infinite}@keyframes statPulse{0%,to{opacity:1}50%{opacity:.5}}.baba-yaga-tama .stat-val{font-size:11px;min-width:32px;text-align:right}.baba-yaga-warning{pointer-events:all;position:absolute;top:10px;left:50%;transform:translate(-50%);background:#dc2626e6;color:#fff;padding:8px 20px;border-radius:8px;font-weight:700;font-size:13px;animation:warningPulse 2s infinite}@keyframes warningPulse{0%,to{box-shadow:0 0 #dc262600}50%{box-shadow:0 0 20px #dc262680}}.baba-yaga-punishment{animation:punishShake .5s ease}@keyframes punishShake{0%,to{transform:translate(-50%)}20%{transform:translate(calc(-50% + 8px))}40%{transform:translate(calc(-50% - 8px))}60%{transform:translate(calc(-50% + 4px))}80%{transform:translate(calc(-50% - 4px))}}.baba-yaga-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(123,45,142,.3);border-top-color:#d4a0ff;border-radius:50%;animation:babaSpinnerSpin .8s linear infinite;margin-right:8px;vertical-align:middle}@keyframes babaSpinnerSpin{to{transform:rotate(360deg)}}.baba-yaga-status-pill{pointer-events:all;position:absolute;top:10px;left:50%;transform:translate(-50%);background:#1a0d2ee6;border:1px solid #7b2d8e;color:#d4a0ff;padding:6px 16px;border-radius:20px;font-size:13px;display:flex;align-items:center;gap:8px}.status-pill-sprite{width:24px;height:auto;filter:drop-shadow(0 0 4px rgba(123,45,142,.5))}.tama-fed-status{margin-top:4px;padding:3px 8px;background:#4caf5026;border-radius:6px;font-size:11px;color:#66bb6a;text-align:center}.tama-reward{margin-top:4px;padding:4px 8px;background:#ffd70026;border:1px solid rgba(255,215,0,.3);border-radius:6px;font-size:11px;color:gold;text-align:center;animation:rewardGlow 1.5s ease-in-out infinite}@keyframes rewardGlow{0%,to{opacity:.8}50%{opacity:1}}.tama-skills{margin-top:8px;border-top:1px solid rgba(123,45,142,.2);padding-top:8px}.tama-skills-label{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#b89ad4;display:block;margin-bottom:6px}.tama-skills-row{display:flex;gap:6px;justify-content:center}.skill-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:default;transition:all .2s;position:relative}.skill-icon.unlocked{background:linear-gradient(135deg,#7b2d8e4d,#d4a0ff26);border:1px solid rgba(212,160,255,.4)}.skill-icon.locked{background:#ffffff08;border:1px solid rgba(255,255,255,.08);opacity:.5}.skill-icon.unlocked:hover{transform:scale(1.15);box-shadow:0 0 10px #d4a0ff4d}.skill-icon.just-unlocked{animation:skillGlow 1.5s ease-in-out infinite}@keyframes skillGlow{0%,to{box-shadow:0 0 4px #d4a0ff4d}50%{box-shadow:0 0 16px #d4a0ffb3,0 0 24px #a855f74d}}.skill-emoji{font-size:14px;line-height:1}.tama-research-count{display:block;text-align:center;font-size:10px;color:#8b6faa;margin-top:6px}.secret-label{color:#d4a0ff;margin-top:6px}.skill-icon.secret-locked{background:#d4a0ff08;border:1px dashed rgba(212,160,255,.15);opacity:.6;animation:secretPulse 3s ease-in-out infinite}@keyframes secretPulse{0%,to{opacity:.4}50%{opacity:.7}}.skill-icon.secret-unlocked{background:linear-gradient(135deg,#ffc83233,#d4a0ff26);border:1px solid rgba(255,200,50,.4)}.skill-icon.secret-unlocked:hover{box-shadow:0 0 12px #ffc83266}.secret-hint{color:#d4a0ff;font-style:italic;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.punishment-particles{position:absolute;top:50%;left:50%;pointer-events:none;z-index:200}.punishment-particle{position:absolute;font-size:24px;animation:floatUp 1.5s ease-out forwards;opacity:0}@keyframes floatUp{0%{opacity:1;transform:translate(0) scale(.5)}50%{opacity:1;transform:translate(var(--px, 0),var(--py, -40px)) scale(1.2)}to{opacity:0;transform:translate(var(--px, 0),calc(var(--py, -40px) - 30px)) scale(.8)}}.punishment-title{font-size:18px;font-weight:700;color:#ff6b6b;text-shadow:0 0 8px rgba(255,107,107,.4);margin-bottom:4px}.akashic-panel{position:fixed;top:0;right:0;width:360px;max-width:92vw;height:100vh;z-index:600;display:flex;flex-direction:column;background:linear-gradient(170deg,#0c0a1a,#110e24 40%,#0a0816);border-left:2px solid #3d2a6e;box-shadow:-4px 0 24px #5028a040,inset 2px 0 12px #5028a014;animation:akashicSlideIn .35s cubic-bezier(.22,.61,.36,1) forwards;font-family:Georgia,serif;color:#d4c8e8}.akashic-panel.closing{animation:akashicSlideOut .25s ease-in forwards}@keyframes akashicSlideIn{0%{transform:translate(100%);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes akashicSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.akashic-panel:before{content:"";position:absolute;top:0;left:-1px;width:2px;height:100%;background:linear-gradient(180deg,transparent 0%,#a87bff 20%,#d4a0ff 50%,#a87bff 80%,transparent 100%);opacity:.5;animation:akashicBorderGlow 4s ease-in-out infinite}@keyframes akashicBorderGlow{0%,to{opacity:.3}50%{opacity:.7}}.akashic-header{padding:14px 16px 10px;border-bottom:1px solid rgba(100,60,180,.3);display:flex;align-items:center;gap:10px;flex-shrink:0;background:linear-gradient(180deg,rgba(60,30,110,.15) 0%,transparent 100%)}.akashic-header-icon{font-size:22px;filter:drop-shadow(0 0 4px rgba(200,160,255,.5))}.akashic-header-title{flex:1;margin:0;font-size:15px;font-weight:700;color:#e0d0ff;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 8px rgba(160,120,255,.3)}.akashic-header-count{font-size:11px;color:#8a7aaa;font-family:monospace}.akashic-close-btn{background:none;border:1px solid rgba(100,60,180,.3);border-radius:4px;color:#8a7aaa;font-size:14px;cursor:pointer;padding:3px 8px;transition:all .15s}.akashic-close-btn:hover{background:#643cb433;color:#d4c8e8;border-color:#643cb480}.akashic-search{padding:10px 16px;flex-shrink:0}.akashic-search-input{width:100%;box-sizing:border-box;padding:8px 12px 8px 32px;background:#141028cc;border:1px solid rgba(100,60,180,.3);border-radius:6px;color:#d4c8e8;font-size:13px;font-family:Georgia,serif;outline:none;transition:border-color .2s,box-shadow .2s}.akashic-search-input::placeholder{color:#5a4a7a;font-style:italic}.akashic-search-input:focus{border-color:#a078ff80;box-shadow:0 0 8px #a078ff26}.akashic-search-wrap{position:relative}.akashic-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.5;pointer-events:none}.akashic-filters{padding:0 16px 8px;display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.akashic-chip{background:#1e1838cc;border:1px solid rgba(80,50,140,.3);border-radius:12px;padding:3px 10px;font-size:11px;color:#9a8aba;cursor:pointer;transition:all .15s;white-space:nowrap;font-family:Georgia,serif}.akashic-chip:hover{border-color:#8c64dc80;color:#c4b8e0}.akashic-chip.active{background:#643cb440;border-color:#8b5cf6;color:#e0d0ff;box-shadow:0 0 6px #8b5cf633}.akashic-resources{flex:1;overflow-y:auto;padding:4px 12px;scrollbar-width:thin;scrollbar-color:rgba(100,60,180,.3) transparent}.akashic-resources::-webkit-scrollbar{width:5px}.akashic-resources::-webkit-scrollbar-thumb{background:#643cb44d;border-radius:3px}.akashic-resources::-webkit-scrollbar-track{background:transparent}.akashic-card{background:#181230b3;border:1px solid rgba(80,50,140,.25);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;transition:all .2s}.akashic-card:hover{border-color:#8c64dc66;background:#1e1638cc;box-shadow:0 2px 10px #643cb41f}.akashic-card.expanded{border-color:#a078ff66;background:#1e1638e6}.akashic-card-header{display:flex;align-items:flex-start;gap:8px}.akashic-card-type-icon{font-size:18px;flex-shrink:0;margin-top:1px;filter:drop-shadow(0 0 3px rgba(200,160,255,.3))}.akashic-card-info{flex:1;min-width:0}.akashic-card-title{font-size:13px;font-weight:700;color:#e0d0ff;margin:0 0 3px;line-height:1.3}.akashic-card-meta{font-size:11px;color:#7a6a9a;display:flex;align-items:center;gap:8px}.akashic-card-type-label{text-transform:capitalize}.akashic-card-author{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.akashic-card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.akashic-tag{background:#50328c33;border:1px solid rgba(80,50,140,.2);border-radius:3px;padding:1px 6px;font-size:10px;color:#9a8aba}.akashic-card-excerpt{font-size:12px;line-height:1.4;color:#8a7aaa;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.akashic-card-detail{margin-top:10px;padding-top:10px;border-top:1px solid rgba(100,60,180,.2);animation:akashicDetailIn .2s ease}@keyframes akashicDetailIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.akashic-card-description{font-size:12px;line-height:1.5;color:#b0a0cc;margin-bottom:10px}.akashic-card-url{font-size:11px;color:#7a6a9a;word-break:break-all;margin-bottom:10px;display:block}.akashic-card-url:hover{color:#a87bff}.akashic-sphinx-cta{display:block;width:100%;padding:8px;background:linear-gradient(135deg,#643cb44d,#5028a033);border:1px solid rgba(139,92,246,.4);border-radius:6px;color:#d4a0ff;font-size:12px;font-family:Georgia,serif;cursor:pointer;transition:all .2s;text-align:center}.akashic-sphinx-cta:hover{background:linear-gradient(135deg,#7846c866,#6432b44d);border-color:#a078ff80;color:#e8d5f5;box-shadow:0 0 10px #8b5cf633}.akashic-pagination{padding:8px 16px 12px;display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;border-top:1px solid rgba(100,60,180,.15)}.akashic-page-btn{background:#1e1838cc;border:1px solid rgba(80,50,140,.3);border-radius:4px;padding:4px 10px;color:#9a8aba;font-size:12px;cursor:pointer;transition:all .15s;font-family:Georgia,serif}.akashic-page-btn:hover:not(:disabled){border-color:#8c64dc80;color:#d4c8e8}.akashic-page-btn:disabled{opacity:.3;cursor:not-allowed}.akashic-page-info{font-size:11px;color:#6a5a8a;font-family:monospace}.akashic-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;text-align:center;flex:1}.akashic-empty-icon{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 0 12px rgba(160,120,255,.3));animation:akashicFloat 3s ease-in-out infinite}@keyframes akashicFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.akashic-empty-text{font-size:14px;color:#8a7aaa;line-height:1.6;max-width:260px}.akashic-empty-text strong{color:#d4a0ff}.akashic-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:12px;flex:1}.akashic-loading-orb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#a87bff 0%,#6c3baa 60%,transparent 70%);animation:akashicPulse 1.2s ease-in-out infinite}@keyframes akashicPulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}.akashic-loading-text{font-size:12px;color:#7a6a9a;font-style:italic}.akashic-error{padding:16px;margin:12px;background:#8c1e1e26;border:1px solid rgba(180,60,60,.3);border-radius:6px;font-size:12px;color:#d4a0a0;text-align:center}@media(max-width:480px){.akashic-panel{width:100vw;max-width:100vw}}.access-panel{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:340px;max-height:70vh;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #4fc3f7;border-radius:12px;overflow-y:auto;z-index:1100;font-family:Courier New,monospace;color:#fff;animation:accessFadeIn .2s ease}@keyframes accessFadeIn{0%{opacity:0;transform:translateY(-50%) scale(.95)}to{opacity:1;transform:translateY(-50%) scale(1)}}.access-header{padding:12px 16px;border-bottom:1px solid rgba(79,195,247,.3);position:relative}.access-title{font-size:15px;font-weight:700;color:#4fc3f7}.access-subtitle{font-size:11px;color:#888;margin-top:2px}.access-close{position:absolute;right:8px;top:8px;background:none;border:none;color:#888;cursor:pointer;font-size:16px}.access-close:hover{color:#fff}.access-info{padding:10px 16px;font-size:11px;color:#aaa;line-height:1.4;border-bottom:1px solid rgba(255,255,255,.05)}.access-info p{margin:0 0 8px}.access-info ul{margin:0;padding-left:16px}.access-info li{margin-bottom:4px}.access-grants{padding:10px 16px}.access-grants h4{margin:0 0 8px;font-size:12px;color:#4fc3f7}.access-loading,.access-empty{text-align:center;color:#666;padding:10px;font-style:italic;font-size:12px}.access-grant-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#ffffff0d;border-radius:6px;margin-bottom:6px}.grant-info{display:flex;align-items:center;gap:8px}.grant-name{font-size:12px;font-weight:700}.grant-level{font-size:10px;padding:2px 6px;border-radius:8px;background:#4fc3f733;color:#4fc3f7}.grant-level.admin{background:#ffc10733;color:#ffc107}.grant-revoke{background:transparent;border:1px solid #ff5252;color:#ff5252;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:10px;font-family:inherit}.grant-revoke:hover{background:#ff525233}.access-add-btn{display:block;width:calc(100% - 32px);margin:10px 16px;padding:8px;background:#4fc3f726;border:1px dashed #4fc3f7;color:#4fc3f7;border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px}.access-add-btn:hover{background:#4fc3f740}.access-picker{padding:10px 16px;border-top:1px solid rgba(255,255,255,.05)}.access-picker h4{margin:0 0 8px;font-size:12px;color:#4fc3f7}.player-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;max-height:120px;overflow-y:auto}.player-option{background:#ffffff14;border:1px solid #444;color:#ddd;padding:5px 10px;border-radius:16px;cursor:pointer;font-size:11px;font-family:inherit}.player-option:hover{border-color:#4fc3f7;color:#fff}.player-option.selected{border-color:#4fc3f7;background:#4fc3f733;color:#4fc3f7}.level-picker{margin-bottom:10px}.level-picker label{display:block;font-size:11px;color:#888;margin-bottom:6px}.level-options{display:flex;gap:8px}.level-option{flex:1;background:#ffffff0d;border:1px solid #444;color:#ddd;padding:8px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:12px;text-align:center}.level-option:hover{border-color:#4fc3f7}.level-option.selected{border-color:#4fc3f7;background:#4fc3f726;color:#4fc3f7}.level-desc{display:block;font-size:9px;color:#888;margin-top:3px}.access-error{color:#ff5252;font-size:11px;margin-bottom:8px;padding:6px;background:#ff00001a;border-radius:4px}.picker-actions{display:flex;gap:8px}.grant-btn{flex:1;padding:8px;background:#4fc3f7;color:#000;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700}.grant-btn:disabled{opacity:.5;cursor:not-allowed}.picker-actions .cancel-btn{padding:8px 12px;background:#333;color:#aaa;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px}.dj-panel{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:340px;max-height:80vh;background:linear-gradient(135deg,#1a0033,#0d0d2b);border:2px solid #9c27b0;border-radius:12px;overflow-y:auto;z-index:1000;font-family:Courier New,monospace;color:#fff;animation:djFadeIn .3s ease}@keyframes djFadeIn{0%{opacity:0;transform:translateY(-50%) translate(20px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.dj-header{padding:12px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(156,39,176,.3);position:relative}.dj-close{position:absolute;right:8px;top:8px;background:none;border:none;color:#888;cursor:pointer;font-size:16px}.dj-close:hover{color:#fff}.dj-title{font-size:15px;font-weight:700;color:#ce93d8}.dj-live-badge{background:#ff1744;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;animation:livePulse 1.5s infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.6}}.dj-setup{padding:16px;text-align:center}.dj-aux-icon{margin-bottom:12px}.aux-plug{font-size:48px;animation:auxSwing 2s ease-in-out infinite}@keyframes auxSwing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.dj-desc{color:#aaa;font-size:12px;margin-bottom:16px;line-height:1.4}.dj-how-it-works{text-align:left;margin-bottom:16px;padding:10px;background:#9c27b01a;border-radius:8px}.how-step{display:flex;align-items:center;gap:10px;font-size:12px;color:#ccc;margin-bottom:8px}.how-step:last-child{margin-bottom:0}.step-num{width:22px;height:22px;background:#9c27b0;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.dj-error{color:#ff5252;font-size:11px;margin-bottom:8px;padding:6px;background:#ff00001a;border-radius:4px}.dj-plug-in-btn{width:100%;padding:12px;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;margin-bottom:12px;transition:background .2s}.dj-plug-in-btn:hover{background:linear-gradient(135deg,#ab47bc,#8e24aa)}.dj-plug-in-btn:disabled{opacity:.6;cursor:not-allowed}.dj-range-info{margin-top:14px;padding:10px;background:#ffffff0d;border-radius:8px}.range-item{display:flex;align-items:center;gap:8px;font-size:11px;color:#aaa;margin-bottom:4px}.range-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.range-dot.full{background:#00c853}.range-dot.quiet{background:gold}.range-dot.notes{background:#ce93d8}.dj-active{padding:16px}.dj-broadcast-indicator{position:relative;width:80px;height:80px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.dj-pulse-ring{position:absolute;width:100%;height:100%;border:2px solid #9c27b0;border-radius:50%;animation:djPulseRing 2s ease-out infinite}.dj-pulse-ring.delay{animation-delay:1s}@keyframes djPulseRing{0%{transform:scale(.5);opacity:1}to{transform:scale(1.5);opacity:0}}.dj-broadcast-icon{font-size:32px;z-index:1}.dj-now-playing{text-align:center;margin-bottom:16px}.dj-now-label{font-size:10px;color:#9c27b0;letter-spacing:2px;margin-bottom:4px}.dj-track-name{font-size:16px;font-weight:700;color:#ce93d8}.dj-track-label{display:flex;gap:6px;margin-bottom:16px}.dj-track-label input{flex:1;background:#1a1a3e;border:1px solid #444;color:#fff;padding:8px 10px;border-radius:6px;font-family:inherit;font-size:12px;box-sizing:border-box}.dj-track-label input::placeholder{color:#666}.dj-track-label input:focus{border-color:#9c27b0;outline:none}.dj-track-label button{background:#9c27b04d;border:1px solid #9c27b0;color:#ce93d8;padding:6px 12px;border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px;white-space:nowrap}.dj-track-label button:hover{background:#9c27b080}.dj-stats{display:flex;gap:16px;margin:16px 0;padding:10px;background:#ffffff0d;border-radius:8px}.dj-stat{flex:1;text-align:center}.stat-label{display:block;font-size:10px;color:#888;margin-bottom:2px}.stat-value{font-size:16px;font-weight:700;color:#ce93d8}.dj-unplug-btn{width:100%;padding:10px;background:#ff174433;border:1px solid #ff1744;color:#ff5252;border-radius:8px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700}.dj-unplug-btn:hover{background:#ff17444d}.dj-invite-btn{width:100%;padding:8px;margin-bottom:8px;background:#4fc3f726;border:1px solid #4fc3f7;color:#4fc3f7;border-radius:8px;cursor:pointer;font-family:Courier New,monospace;font-size:12px}.dj-invite-btn:hover{background:#4fc3f740}.dj-indicator{position:relative;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;padding:6px 12px;border-radius:16px;cursor:pointer;font-family:Courier New,monospace;font-size:12px;font-weight:700}.dj-indicator-pulse{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#ff1744;border-radius:50%;animation:livePulse 1.5s infinite}.agent-dialogue-panel{position:fixed;bottom:24px;right:24px;width:400px;max-height:70vh;background:#1a1a2e;border-radius:12px;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.dialogue-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#16213e;border-bottom:1px solid #0f3460}.agent-info{display:flex;align-items:center;gap:12px}.agent-name{margin:0;font-size:18px;color:#e94560}.speaking-indicator{font-size:12px;color:#94a3b8;animation:pulse 1s infinite}.dialogue-actions{display:flex;gap:8px}.dialogue-actions button{background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;border-radius:4px;transition:background .2s}.dialogue-actions button:hover{background:#ffffff1a}.voice-toggle.active{background:#e9456033}.close-btn{color:#94a3b8}.close-btn:hover{color:#e94560}.dialogue-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:400px}.dialogue-empty{text-align:center;color:#64748b;padding:40px}.message-bubble{max-width:85%;padding:10px 14px;border-radius:12px;position:relative}.message-bubble.user{align-self:flex-end;background:#e94560;color:#fff;border-bottom-right-radius:4px}.message-bubble.agent{align-self:flex-start;background:#0f3460;color:#e2e8f0;border-bottom-left-radius:4px}.message-sender{font-size:11px;font-weight:600;margin-bottom:4px;opacity:.8}.message-content{font-size:14px;line-height:1.4}.message-time{font-size:10px;opacity:.6;margin-top:4px;display:flex;align-items:center;gap:4px}.transcribed-badge{font-size:10px;color:#a78bfa;margin-left:4px}.listening-indicator{display:flex;gap:4px;padding:10px;align-self:flex-start}.listening-indicator .dot{width:8px;height:8px;background:#e94560;border-radius:50%;animation:bounce .6s infinite alternate}.listening-indicator .dot:nth-child(2){animation-delay:.2s}.listening-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.quest-offer{margin:12px;padding:16px;background:linear-gradient(135deg,#1e3a5f,#16213e);border:1px solid #e94560;border-radius:8px}.quest-offer-header{display:flex;align-items:center;gap:8px;font-size:12px;color:#e94560;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.quest-title{margin:0 0 8px;color:gold;font-size:16px}.quest-description{margin:0 0 12px;font-size:13px;color:#cbd5e1;line-height:1.4}.quest-objectives{font-size:12px;color:#94a3b8;margin-bottom:12px}.quest-objectives ul{margin:4px 0 0;padding-left:20px}.quest-objectives li{margin:4px 0}.quest-actions{display:flex;gap:8px}.quest-actions button{flex:1;padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .1s,opacity .2s}.quest-actions button:hover{transform:translateY(-1px)}.quest-actions button:active{transform:translateY(0)}.accept-btn{background:#e94560;color:#fff}.decline-btn{background:#334155;color:#94a3b8}.decline-btn:hover{color:#fff}.memories-panel{margin:12px;padding:12px;background:#0f3460;border-radius:8px;font-size:13px}.memories-panel h4{margin:0 0 12px;color:#e2e8f0;font-size:14px}.no-memories{color:#64748b;font-style:italic}.memories-list{list-style:none;margin:0;padding:0}.memory-item{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid #1e3a5f}.memory-item:last-child{border-bottom:none}.memory-fact{flex:1;color:#cbd5e1}.memory-category{font-size:10px;background:#16213e;color:#64748b;padding:2px 6px;border-radius:4px;margin-left:8px}.relationship-score{margin-top:12px;padding-top:12px;border-top:1px solid #1e3a5f;text-align:center;font-weight:600;color:#e94560}.dialogue-input{padding:12px 16px;background:#16213e;border-top:1px solid #0f3460;display:flex;gap:8px}.text-input{flex:1;padding:10px 14px;background:#0f3460;border:1px solid #1e3a5f;border-radius:8px;color:#e2e8f0;font-size:14px;outline:none}.text-input:focus{border-color:#e94560}.text-input::placeholder{color:#475569}.send-btn{padding:10px 20px;background:#e94560;border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:hover:not(:disabled){opacity:.9}.voice-mode-input{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.push-to-talk{width:100%;padding:16px;background:#0f3460;border:2px solid #1e3a5f;border-radius:8px;color:#e2e8f0;font-size:14px;cursor:pointer;transition:all .2s}.push-to-talk:hover{border-color:#e94560}.push-to-talk.recording{background:#7f1d1d;border-color:#e94560;animation:recording-pulse 1s infinite}.push-to-talk.processing{background:#334155;border-color:#64748b;cursor:wait;opacity:.8}.push-to-talk:disabled{cursor:not-allowed;opacity:.6}@keyframes recording-pulse{0%,to{box-shadow:0 0 #e9456066}50%{box-shadow:0 0 0 8px #e9456000}}.voice-hint{font-size:11px;color:#475569}.agent-badge{display:inline-block;padding:1px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#c4b5fd;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);border-radius:4px;margin-left:8px;vertical-align:middle}.tool-execution-indicator{display:flex;flex-direction:column;gap:4px;padding:8px 12px;margin:4px 12px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:8px;animation:fadeIn .2s ease}.tool-execution-content{display:flex;align-items:center;gap:8px;font-size:12px;color:#a78bfa}.tool-spinner{width:14px;height:14px;border:2px solid rgba(139,92,246,.3);border-top-color:#a78bfa;border-radius:50%;animation:spin .8s linear infinite}.tool-name{font-weight:500}.tool-progress-bar{height:3px;background:#8b5cf626;border-radius:2px;overflow:hidden}.tool-progress-fill{height:100%;background:#a78bfa;border-radius:2px;transition:width .3s ease}.message-bubble.tool-result{background:#8b5cf614;border:1px solid rgba(139,92,246,.15);border-radius:8px;padding:6px 10px;margin:2px 12px;max-width:85%;align-self:flex-start}.tool-result-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#a78bfa;margin-bottom:2px}.tool-content{font-size:12px;color:#d4d4d8;white-space:pre-wrap;word-break:break-word}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.signpost-proximity-popup{position:fixed;top:80px;left:0;bottom:120px;width:280px;max-width:30vw;transform:translate(-100%);opacity:0;background:linear-gradient(180deg,#0f172af2,#0f172ae0);border-right:2px solid rgba(100,200,255,.25);border-top-right-radius:12px;border-bottom-right-radius:12px;box-shadow:4px 0 24px #00000080,0 0 40px #64c8ff0d;z-index:900;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .3s ease}.signpost-proximity-popup.visible{transform:translate(0);opacity:1}.signpost-pole-header{display:flex;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.signpost-pole-icon{width:6px;height:32px;background:linear-gradient(180deg,#b8860b,#5c4033);border-radius:2px;flex-shrink:0}.signpost-pole-title{flex:1;font-size:15px;font-weight:700;color:#e0e0ff;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signpost-dismiss-btn{width:24px;height:24px;border:none;border-radius:6px;background:#ffffff14;color:#808090;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;flex-shrink:0;line-height:1}.signpost-dismiss-btn:hover{background:#ffffff26;color:#c0c0d0}.signpost-postings{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.signpost-postings::-webkit-scrollbar{width:4px}.signpost-postings::-webkit-scrollbar-track{background:transparent}.signpost-postings::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.signpost-posting{background:#ffffff0a;border-left:3px solid #888;border-radius:0 8px 8px 0;padding:10px 12px;transition:background .15s ease}.signpost-posting:hover{background:#ffffff12}.signpost-posting-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.signpost-posting-icon{font-size:14px}.signpost-posting-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#808090}.signpost-posting-title{font-size:14px;font-weight:600;color:#e0e0ff;margin-bottom:4px;line-height:1.3}.signpost-posting-body{font-size:12px;color:#a0a0b0;line-height:1.5}.signpost-posting-author{font-size:11px;color:#707080;margin-top:6px;font-style:italic}.signpost-posting-announcement{border-left-color:#3b82f6}.signpost-posting-event{border-left-color:#f59e0b}.signpost-posting-band{border-left-color:#ec4899}.signpost-posting-meetup{border-left-color:#8b5cf6}.signpost-posting-flyer{border-left-color:#10b981}.signpost-posting-notice{border-left-color:#6b7280}.signpost-footer{padding:10px 12px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.signpost-ignore-btn{width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0a;color:#808090;font-size:11px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.signpost-ignore-btn:hover{background:#ffffff14;color:#a0a0b0}@media(max-width:768px){.signpost-proximity-popup{width:240px;max-width:60vw;top:60px;bottom:80px}}@keyframes signpost-slide-in{0%{transform:translate(-100%);opacity:0}60%{transform:translate(4px);opacity:1}to{transform:translate(0);opacity:1}}.signpost-proximity-popup.visible{animation:signpost-slide-in .4s cubic-bezier(.16,1,.3,1) forwards}.quest-mini-tracker{position:fixed;top:56px;right:24px;width:220px;background:#1a1a2ef2;border-radius:8px;padding:12px;cursor:pointer;z-index:100;transition:transform .2s}.quest-mini-tracker:hover{transform:scale(1.02)}.mini-tracker-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:#e2e8f0}.quest-icon{font-size:18px}.quest-count{font-size:13px}.mini-quest-item{padding:8px;background:#16213e;border-radius:6px;margin-bottom:6px}.mini-quest-item.ready{border:1px solid #ffd700}.mini-quest-title{display:block;font-size:12px;color:#cbd5e1;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-progress-bar{height:4px;background:#0f3460;border-radius:2px;overflow:hidden}.mini-progress-fill{height:100%;background:#e94560;transition:width .3s ease}.ready-indicator{display:block;font-size:10px;color:gold;margin-top:4px}.more-quests{display:block;text-align:center;font-size:11px;color:#64748b;margin-top:4px}.quest-log-btn{position:fixed;top:56px;right:24px;background:#1a1a2ed9;border:2px solid rgba(233,69,96,.4);border-radius:8px;padding:8px 12px;cursor:pointer;z-index:100;transition:all .2s;color:#e2e8f0;font-size:13px;display:flex;align-items:center;gap:6px}.quest-log-btn:hover{background:#1a1a2ef2;border-color:#e94560;transform:scale(1.05)}.quest-log-btn-icon{font-size:18px}.quest-log-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#94a3b8;width:100%}.quest-log-empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.quest-log-empty p{margin:0 0 6px;font-size:16px}.quest-log-empty-hint{font-size:13px!important;color:#64748b}.quest-list-section-title{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#64748b;margin:8px 0 4px;padding:0 4px}.quest-log-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.quest-log-panel{width:90%;max-width:800px;max-height:80vh;background:#1a1a2e;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.quest-log-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#16213e;border-bottom:1px solid #0f3460}.quest-log-header h2{margin:0;color:#e94560;font-size:20px}.quest-log-header .close-btn{background:none;border:none;color:#94a3b8;font-size:20px;cursor:pointer}.quest-log-header .close-btn:hover{color:#e94560}.quest-log-content{display:flex;flex:1;overflow:hidden}.quest-list{width:280px;border-right:1px solid #0f3460;overflow-y:auto;padding:12px}.quest-list-item{padding:12px;background:#16213e;border-radius:6px;margin-bottom:8px;cursor:pointer;transition:background .2s}.quest-list-item:hover{background:#1e3a5f}.quest-list-item.selected{background:#0f3460;border:1px solid #e94560}.quest-list-item.ready{border-left:3px solid #ffd700}.quest-list-info{display:flex;justify-content:space-between;margin-bottom:6px}.quest-list-title{font-size:13px;color:#e2e8f0;font-weight:500}.quest-list-progress{font-size:12px;color:#64748b}.quest-list-bar{height:3px;background:#0f3460;border-radius:2px;overflow:hidden}.quest-list-fill{height:100%;background:#e94560}.quest-details{flex:1;padding:20px;overflow-y:auto}.quest-details-content{color:#e2e8f0}.quest-details-title{margin:0 0 8px;color:gold;font-size:22px}.quest-details-description{color:#94a3b8;line-height:1.5;margin-bottom:20px}.quest-objectives h4,.quest-rewards h4{color:#e94560;font-size:14px;text-transform:uppercase;margin:0 0 12px}.objective-item{display:flex;align-items:center;gap:8px;padding:10px;background:#16213e;border-radius:6px;margin-bottom:8px}.objective-item.completed{opacity:.7}.objective-item.completed .objective-check{color:#22c55e}.objective-check{font-size:16px;color:#64748b}.objective-text{flex:1;font-size:13px}.objective-progress{font-size:12px;color:#64748b}.quest-rewards{margin-top:20px}.quest-rewards ul{list-style:none;padding:0;margin:0}.quest-rewards li{padding:8px 12px;background:#16213e;border-radius:4px;margin-bottom:6px;font-size:13px}.quest-ready-notice{margin-top:20px;padding:12px;background:#ffd7001a;border:1px solid #ffd700;border-radius:6px;color:gold;text-align:center;font-size:14px}.quest-celebration{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000c;z-index:2000;animation:fadeIn .3s ease}.celebration-content{text-align:center;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.celebration-icon{font-size:64px;animation:bounce .5s ease infinite alternate}.celebration-content h2{color:gold;font-size:32px;margin:16px 0 8px}.celebration-content h3{color:#e2e8f0;font-size:20px;font-weight:400;margin:0 0 24px}.celebration-rewards{display:flex;flex-direction:column;gap:8px}.celebration-reward{padding:12px 24px;background:#e9456033;border-radius:8px;color:#e2e8f0;font-size:16px;animation:slideUp .5s ease forwards;opacity:0}.celebration-reward:nth-child(1){animation-delay:.2s}.celebration-reward:nth-child(2){animation-delay:.4s}.celebration-reward:nth-child(3){animation-delay:.6s}.quest-exercise-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px;padding:10px;background:#16213e;border-radius:6px;border-left:3px solid #e94560}.exercise-tag{font-size:12px;color:#94a3b8;background:#0f346080;padding:3px 8px;border-radius:4px}.quest-find-agent-btn{margin-left:auto;background:#e9456033;border:1px solid #e94560;color:#e94560;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.quest-find-agent-btn:hover{background:#e9456066}.quest-navigate-btn{background:#22c55e33;border:1px solid #22c55e;color:#22c55e;padding:2px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s;flex-shrink:0}.quest-navigate-btn:hover{background:#22c55e66}.agent-nudge-agent{position:fixed;bottom:24px;left:24px;display:flex;gap:12px;background:#1a1a2ef2;border:1px solid rgba(233,69,96,.4);border-radius:12px;padding:14px 16px;max-width:360px;z-index:500;box-shadow:0 8px 32px #00000080;color:#e2e8f0;transform:translate(-120%);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.agent-nudge-agent.visible{transform:translate(0);opacity:1}.nudge-agent-avatar{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#16213e,#0f3460);border:2px solid rgba(233,69,96,.5);display:flex;align-items:center;justify-content:center;animation:nudge-bob 2s ease-in-out infinite}.nudge-agent-avatar-icon{font-size:22px}@keyframes nudge-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.nudge-agent-body{flex:1;min-width:0}.nudge-agent-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.nudge-agent-name{font-size:13px;font-weight:600;color:#e94560}.nudge-agent-severity{font-size:10px;padding:1px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.nudge-severity-high{background:#f4433633;color:#f44336}.nudge-severity-medium{background:#ff980033;color:#ff9800}.nudge-severity-low{background:#8bc34a33;color:#8bc34a}.nudge-agent-message{font-size:13px;color:#cbd5e1;line-height:1.4;margin-bottom:8px}.nudge-agent-timer{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:10px}.nudge-agent-timer-bar{height:100%;background:#e94560;border-radius:2px;transition:width 1s linear}.nudge-agent-actions{display:flex;gap:8px}.nudge-agent-btn{padding:5px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.nudge-agent-btn.accept{background:#e94560;color:#fff}.nudge-agent-btn.accept:hover{background:#d63851;transform:translateY(-1px)}.nudge-agent-btn.dismiss{background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.nudge-agent-btn.dismiss:hover{background:#ffffff26;color:#e2e8f0}.nudge-agent-indicator{position:fixed;bottom:24px;left:24px;background:#1a1a2ee6;border:2px solid rgba(255,193,7,.5);border-radius:8px;padding:6px 12px;color:#e2e8f0;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;z-index:500;transition:all .2s}.nudge-agent-indicator:hover{background:#1a1a2e;border-color:#ffc107;transform:scale(1.05)}.nudge-agent-indicator-icon{font-size:16px}.nudge-agent-indicator-count{background:#f44336;color:#fff;border-radius:50%;font-size:11px;font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;line-height:1}.abhorrent-storm{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:900;pointer-events:none;overflow:hidden}.abhorrent-koan{position:absolute;pointer-events:auto;max-width:340px;min-width:180px;padding:14px 18px;background:#0a0014d9;border:1px solid rgba(200,40,60,.4);border-radius:4px;box-shadow:0 0 20px #b41e3226,0 0 60px #64001e14,inset 0 0 30px #8c14280d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:koanLifecycle var(--koan-duration, 6s) ease-out forwards}.abhorrent-koan-text{color:#dcb4b4e6;font-family:Georgia,Times New Roman,serif;font-size:13px;line-height:1.7;font-style:italic;letter-spacing:.3px;text-shadow:0 0 8px rgba(200,40,60,.2);-webkit-user-select:none;user-select:none}@keyframes koanLifecycle{0%{opacity:0;transform:translateY(10px) scale(.95);filter:blur(2px)}15%{opacity:1;transform:translateY(0) scale(1);filter:blur(0px)}85%{opacity:1;filter:blur(0px)}to{opacity:0;filter:blur(3px);transform:translateY(-5px) scale(.98)}}.abhorrent-koan:nth-child(3n){animation:koanLifecycle var(--koan-duration, 6s) ease-out forwards,koanGlitch .15s steps(2) var(--koan-duration, 6s)}@keyframes koanGlitch{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px)}to{transform:translate(0)}}.abhorrent-escape-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);pointer-events:auto;text-align:center;z-index:901;padding:16px 28px;background:#0a000feb;border:1px solid rgba(200,40,60,.5);border-radius:8px;box-shadow:0 0 40px #b41e3233}.abhorrent-glitch-text{color:#dc2626;font-family:Courier New,monospace;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;animation:glitchText 3s steps(3) infinite;margin-bottom:6px}@keyframes glitchText{0%,90%,to{text-shadow:0 0 0 transparent;transform:translate(0)}92%{text-shadow:-2px 0 #ff0000,2px 0 #00ffff;transform:translate(-2px)}94%{text-shadow:2px 0 #ff0000,-2px 0 #00ffff;transform:translate(2px)}96%{text-shadow:0 0 0 transparent;transform:translate(0)}}.abhorrent-escape-hint{color:#c8a0a0b3;font-size:12px;margin:0 0 10px;font-style:italic}.abhorrent-discard-btn{background:#c8283c26;color:#ef4444;border:1px solid rgba(200,40,60,.4);padding:8px 20px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:all .2s}.abhorrent-discard-btn:hover{background:#c8283c4d;border-color:#ef4444;box-shadow:0 0 15px #c8283c4d}.abhorrent-storm:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 40%,rgba(40,0,10,.15) 100%);pointer-events:none;z-index:-1}.abhorrent-storm:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:#b41e3205;pointer-events:none;z-index:-1;animation:screenFlicker 4s steps(1) infinite}@keyframes screenFlicker{0%,to{opacity:0}4%{opacity:1}5%{opacity:0}54%{opacity:0}55%{opacity:1}56%{opacity:0}}.inventory-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.inventory-panel{background:#1a1a2e;border:2px solid #16213e;border-radius:12px;width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.inventory-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #16213e;gap:12px}.inventory-header h2{margin:0;color:#e0e0e0;font-size:18px}.item-count{color:#888;font-size:13px;flex:1}.inventory-header .close-btn{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.inventory-header .close-btn:hover{background:#16213e;color:#e0e0e0}.inventory-filters{display:flex;gap:4px;padding:8px 20px;border-bottom:1px solid #16213e}.filter-btn{background:#16213e;border:1px solid transparent;color:#888;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:13px}.filter-btn:hover{border-color:#0f3460;color:#e0e0e0}.filter-btn.active{background:#0f3460;border-color:#533483;color:#e0e0e0}.inventory-content{display:flex;flex:1;overflow:hidden}.inventory-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:16px;overflow-y:auto;align-content:start}.inventory-empty{grid-column:1 / -1;text-align:center;color:#666;padding:40px 20px;font-size:14px}.equipped-section-header{grid-column:1 / -1;color:#fbbf24;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding-bottom:4px}.equipped-slots{grid-column:1 / -1;display:flex;gap:8px;margin-bottom:4px}.equipped-slot{flex:1;background:#0f3460;border:2px dashed #533483;border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:70px;transition:border-color .15s,background .15s}.equipped-slot.filled{border-style:solid;border-color:#a78bfa;background:linear-gradient(135deg,#0f3460,#1a1a2e);cursor:pointer}.equipped-slot.filled:hover{border-color:#c4b5fd;background:linear-gradient(135deg,#16213e,#1a1a2e)}.equipped-slot.empty{opacity:.5}.equipped-slot-label{font-size:9px;color:#888;text-transform:uppercase;letter-spacing:.5px}.equipped-slot-icon{font-size:24px;line-height:1}.equipped-slot-name{font-size:10px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.equipped-section-divider{grid-column:1 / -1;height:1px;background:linear-gradient(90deg,transparent,#533483,transparent);margin:4px 0 8px}.equipped-tag{background:#a78bfa!important;color:#1a1a2e!important;font-weight:600}.inventory-slot{background:#16213e;border:2px solid #0f3460;border-radius:8px;padding:10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;transition:border-color .15s,transform .1s}.inventory-slot:hover{border-color:#533483;transform:translateY(-2px)}.inventory-slot.selected{background:#0f3460}.slot-icon{font-size:28px;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.slot-sprite{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.slot-icon .hidden{display:none}.item-details-sprite{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.slot-name{font-size:11px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.slot-quantity{position:absolute;top:4px;right:6px;font-size:11px;color:#fff;background:#0009;padding:1px 4px;border-radius:3px}.slot-rarity-dot{width:6px;height:6px;border-radius:50%;position:absolute;bottom:6px;right:6px}.item-details{width:260px;border-left:1px solid #16213e;padding:16px;overflow-y:auto;background:#0d1b2a}.item-details-header{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.item-details-icon{font-size:32px}.item-details-name{margin:0 0 2px;font-size:15px}.item-details-rarity{font-size:12px;text-transform:capitalize}.item-details-category{font-size:11px;color:#888;margin-left:8px;text-transform:capitalize}.item-details-description{color:#bbb;font-size:13px;line-height:1.4;margin:8px 0}.item-details-effects h4{color:#4fc3f7;font-size:12px;margin:12px 0 4px}.item-details-effects ul{list-style:none;padding:0;margin:0}.effect-item{display:flex;gap:6px;font-size:12px;color:#4fc3f7;padding:2px 0}.effect-type{text-transform:capitalize}.effect-value{color:#81c784}.effect-duration{color:#888}.item-details-meta{display:flex;gap:8px;font-size:12px;color:#888;margin:12px 0;flex-wrap:wrap}.source-tag{background:#16213e;padding:2px 6px;border-radius:3px;color:#aaa}.item-details-actions{display:flex;gap:8px;margin-top:12px}.action-btn.primary-action{border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:filter .15s}.action-btn.primary-action:hover{filter:brightness(.85)}.discard-btn{background:#424242;color:#bbb;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:13px}.discard-btn:hover{background:#616161;color:#fff}.inventory-slot.category-abhorrent{animation:abhorrentGlitch 3s infinite}.inventory-slot.category-flavor{border-style:dashed}.flavor-dialogue-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease-out}.flavor-dialogue-card{background:linear-gradient(145deg,#1a1a2e,#16213e);border:2px solid #fde68a;border-radius:12px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 8px 32px #fde68a26}.flavor-dialogue-scroll{font-size:48px;margin-bottom:12px}.flavor-dialogue-title{color:#fde68a;font-size:18px;margin:0 0 12px}.flavor-dialogue-text{color:#e0e0e0;font-size:15px;line-height:1.6;font-style:italic;margin:0 0 20px}.flavor-dialogue-close{background:#fde68a;color:#1a1a2e;border:none;padding:8px 24px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.flavor-dialogue-close:hover{background:#fcd34d}.item-received-notification{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #533483;border-radius:10px;padding:12px 16px;display:flex;gap:10px;align-items:center;z-index:2000;cursor:pointer;animation:slideInRight .3s ease-out,fadeOut .5s ease-in 4.5s forwards;box-shadow:0 4px 16px #53348366;max-width:280px}.notification-icon{font-size:28px}.notification-content{display:flex;flex-direction:column;gap:2px}.notification-header{color:gold;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.notification-item-name{font-size:14px;font-weight:600}.notification-hint{color:#666;font-size:11px}.inventory-hud-btn{background:#1a1a2ee6;border:2px solid #16213e;border-radius:8px;padding:8px 12px;cursor:pointer;position:absolute;bottom:60px;right:16px;z-index:50;display:flex;align-items:center;gap:4px;transition:border-color .15s}.inventory-hud-btn:hover{border-color:#533483}.inventory-icon{font-size:20px}.inventory-badge{position:absolute;top:-4px;right:-4px;background:#e53935;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes abhorrentGlitch{0%,92%{transform:none;filter:none}93%{transform:translate(-1px,1px);filter:hue-rotate(90deg)}94%{transform:translate(1px,-1px);filter:hue-rotate(180deg)}95%{transform:translate(-1px);filter:none}96%,to{transform:none;filter:none}}.placement-toolbar{position:fixed;bottom:0;left:0;right:0;background:#0f1629f2;border-top:2px solid #4a4a6a;z-index:500;display:flex;flex-direction:column;max-height:180px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toolbar-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;border-bottom:1px solid #333;background:#1a1a2ecc}.room-tabs{display:flex;gap:4px;overflow-x:auto}.room-tab{background:#1a1a2e;border:1px solid #333;border-radius:4px;color:#888;padding:4px 12px;cursor:pointer;font-size:12px;white-space:nowrap}.room-tab.active{background:#2a2a4e;border-color:#8b5cf6;color:#fff}.room-tab:hover{border-color:#555;color:#ccc}.toolbar-close{background:none;border:none;color:#888;font-size:14px;cursor:pointer;padding:4px 8px}.toolbar-close:hover{color:#fff}.toolbar-items{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;flex:1;min-height:64px;align-items:center}.toolbar-empty{color:#666;font-size:13px;padding:0 8px;white-space:nowrap}.toolbar-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px;border:2px solid transparent;border-radius:6px;cursor:pointer;background:#1a1a2e;min-width:60px;flex-shrink:0;transition:border-color .15s,transform .1s}.toolbar-item:hover{border-color:#555;transform:translateY(-2px)}.toolbar-item.selected{border-color:#22c55e;background:#1a2a1e;box-shadow:0 0 8px #22c55e4d}.toolbar-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px}.toolbar-item-icon img{width:32px;height:32px;image-rendering:pixelated}.toolbar-item-name{font-size:10px;color:#aaa;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.toolbar-hint{padding:4px 12px;font-size:11px;color:#666;border-top:1px solid #222;background:#0a0a1480}.dorm-info-bar{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:#1a1a2ee6;border:1px solid #4a4a6a;border-radius:8px;padding:6px 16px;color:#aaa;font-size:13px;z-index:500;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dorm-info-bar .show-toolbar-btn{position:static;transform:none}.placement-indicator{position:fixed;top:12px;left:50%;transform:translate(-50%);background:#2a4a2ef2;border:1px solid #4a8a4a;border-radius:8px;padding:8px 16px;color:#e0e0e0;font-size:14px;font-weight:600;z-index:500;display:flex;align-items:center;gap:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.placement-hint{font-size:11px;color:#8aba8a;font-weight:400}.cancel-place-btn{background:#4a2a2a;border:1px solid #8a4a4a;border-radius:4px;color:#e0e0e0;padding:3px 10px;cursor:pointer;font-size:12px}.cancel-place-btn:hover{background:#6a3a3a}.show-toolbar-btn{position:fixed;bottom:12px;left:50%;transform:translate(-50%);background:#1a1a2ee6;border:1px solid #4a4a6a;border-radius:6px;color:#aaa;padding:6px 16px;cursor:pointer;font-size:12px;z-index:500}.show-toolbar-btn:hover{border-color:#8b5cf6;color:#e0e0e0}.rarity-common{color:#9d9d9d}.rarity-uncommon{color:#1eff00}.rarity-rare{color:#0070dd}.rarity-epic{color:#a335ee}.rarity-legendary{color:#ff8000}.zone-panel-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.zone-panel{background:#1e1e2e;border:1px solid #3d3d4d;border-radius:12px;width:90%;max-width:480px;max-height:75vh;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.zone-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #3d3d4d;background:#2d2d3d;border-radius:12px 12px 0 0}.zone-panel-header h3{margin:0;font-size:1rem;color:#fff}.zone-panel-close{background:transparent;border:none;color:#888;font-size:1.25rem;cursor:pointer;padding:4px 8px;border-radius:4px}.zone-panel-close:hover{color:#fff;background:#ffffff1a}.zone-panel-loading,.zone-panel-empty{padding:2rem;text-align:center;color:#888;font-size:.9rem}.zone-panel-error{padding:8px 16px;background:#3d1c1c;border-bottom:1px solid #5c2d2d;color:#f87171;font-size:.85rem}.zone-panel-cooldown{padding:8px 16px;background:#3d3520;border-bottom:1px solid #5c4f2d;color:#fbbf24;font-size:.85rem}.zone-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.zone-card{background:#2a2a3e;border:1px solid #3d3d4d;border-radius:8px;padding:10px 12px}.zone-card.current{border-color:#4ade80;background:#1a2a1e}.zone-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.zone-card-name{font-size:.9rem;font-weight:600;color:#fff}.zone-card-type{font-size:.7rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.zone-card-type.faculty{background:#4a2d6b;color:#c084fc}.zone-card-type.student_cohort{background:#1e3a5f;color:#60a5fa}.zone-card-type.overflow{background:#3d3520;color:#fbbf24}.zone-card-cohort{font-size:.8rem;color:#888;margin-bottom:6px}.zone-card-capacity{display:flex;align-items:center;gap:8px;margin-bottom:6px}.capacity-bar{flex:1;height:6px;background:#3d3d4d;border-radius:3px;overflow:hidden}.capacity-fill{height:100%;background:#4ade80;border-radius:3px;transition:width .3s}.capacity-fill.full{background:#ef4444}.capacity-text{font-size:.75rem;color:#888;min-width:40px;text-align:right}.zone-card-actions{display:flex;justify-content:flex-end}.zone-current-badge{font-size:.75rem;color:#4ade80;font-weight:600}.zone-full-badge{font-size:.75rem;color:#888}.zone-move-btn{background:#1e3a5f;border:1px solid #2563eb;border-radius:4px;color:#60a5fa;padding:4px 12px;cursor:pointer;font-size:.8rem;font-weight:500;transition:background .2s}.zone-move-btn:hover:not(:disabled){background:#2563eb;color:#fff}.zone-move-btn:disabled{opacity:.5;cursor:not-allowed}.zone-toggle-btn{background:#1a1a2ee6;border:1px solid #4a4a6a;border-radius:6px;color:#aaa;padding:6px 12px;cursor:pointer;font-size:12px}.zone-toggle-btn:hover{border-color:#4ade80;color:#e0e0e0}.plant-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.plant-panel{background:#1a1a2e;border:2px solid #16213e;border-radius:12px;width:750px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.plant-header{display:flex;flex-direction:column;padding:16px 20px;border-bottom:1px solid #16213e;gap:8px;position:relative}.plant-header-top{display:flex;align-items:center;gap:12px}.season-badge{font-size:13px;font-weight:600;padding:2px 10px;border-radius:10px;background:#ffffff0f}.plant-header h2{margin:0;color:#e0e0e0;font-size:18px}.plant-tabs{display:flex;gap:4px;flex:1;margin-left:12px}.tab-btn{background:#16213e;border:1px solid transparent;color:#888;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:13px}.tab-btn.active{border-color:#0f3460;color:#e0e0e0;background:#0f3460}.plant-header .close-btn{position:absolute;top:16px;right:20px;background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.plant-header .close-btn:hover{background:#16213e;color:#e0e0e0}.plant-content{flex:1;overflow-y:auto;padding:12px 20px;display:flex;flex-direction:column;gap:12px}.plant-empty{color:#666;text-align:center;padding:40px 20px;font-size:14px}.plant-list{display:flex;flex-direction:column;gap:6px}.plant-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#16213e;border:1px solid #1a2740;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.plant-card:hover{border-color:#0f3460;background:#1a2740}.plant-card.selected{border-color:#0f3460;background:#1f2f50}.plant-card.health-thriving{border-left:3px solid #00ff88;box-shadow:0 0 8px #00ff8826;animation:thriving-pulse 3s ease-in-out infinite}@keyframes thriving-pulse{0%,to{box-shadow:0 0 6px #00ff881a}50%{box-shadow:0 0 12px #00ff8840}}.plant-card.health-thriving.tier-extreme{border-left-color:gold;box-shadow:0 0 10px #ffd70033;animation:thriving-extreme-pulse 2s ease-in-out infinite}@keyframes thriving-extreme-pulse{0%,to{box-shadow:0 0 8px #ffd70026}50%{box-shadow:0 0 16px #ffd70059}}.plant-card.health-healthy{border-left:3px solid #44cc44}.plant-card.health-okay{border-left:3px solid #cccc44}.plant-card.health-wilting{border-left:3px solid #cc8844;background:linear-gradient(135deg,#16213e 60%,#78501e26)}.plant-card.health-wilting .plant-card-icon{filter:saturate(.5)}.plant-card.health-dying{border-left:3px solid #cc4444;background:linear-gradient(135deg,#16213e 50%,#78281433)}.plant-card.health-dying .plant-card-icon{filter:saturate(.3) brightness(.8);animation:dying-droop 4s ease-in-out infinite}@keyframes dying-droop{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}.plant-card.health-dead{border-left:3px solid #444;opacity:.6;filter:grayscale(.4)}.plant-card-icon{font-size:24px;width:36px;text-align:center}.plant-card-info{flex:1}.plant-card-name{font-size:14px;font-weight:600}.color-variant{font-weight:400;font-size:12px;opacity:.8}.plant-card-health{font-size:12px;margin-top:2px}.plant-card-stage{font-size:11px;color:#666;text-transform:capitalize}.plant-card-streak .streak-badge{background:#2a1a00;color:#f80;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.plant-detail{background:#111828;border:1px solid #1a2740;border-radius:8px;padding:16px;margin-top:8px}.plant-detail h3{margin:0 0 12px;font-size:16px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.detail-row{display:flex;justify-content:space-between;font-size:13px}.detail-label{color:#666}.detail-special{margin-top:12px;font-size:12px;color:#888;font-style:italic}.detail-traits{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.trait-badge{background:#2a1040;color:#a855f7;padding:2px 8px;border-radius:10px;font-size:11px}.detail-actions{display:flex;gap:8px;margin-top:14px}.action-btn{padding:6px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.water-btn{background:#0a4a6e;color:#7dd3fc}.water-btn:hover{background:#0c5a84}.compost-btn{background:#4a3000;color:#c84}.compost-btn:hover{background:#5a3a00}.tier-filters{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid #16213e}.tier-filter-btn{background:#16213e;border:1px solid #1a2740;color:#888;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px}.tier-filter-btn.active{color:#e0e0e0;background:#1a2740}.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.species-card{background:#16213e;border:1px solid #1a2740;border-radius:8px;padding:12px}.species-name{font-size:14px;font-weight:600}.species-tier{font-size:11px;margin-top:2px}.species-info{display:flex;gap:12px;font-size:11px;color:#888;margin-top:6px}.species-special{font-size:11px;color:#666;margin-top:6px;font-style:italic}.plant-notification{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;z-index:1100;animation:plant-toast-in .3s ease-out;pointer-events:none}.plant-notification-health{background:#cc8844e6;color:#fff}.plant-notification-stage{background:#44cc44e6;color:#fff}.plant-notification-died{background:#cc4444e6;color:#fff}.plant-notification-granted{background:#0070dde6;color:#fff}.plant-notification-milestone{background:#ff8800e6;color:#fff}.plant-notification-foraged{background:#1eb41ee6;color:#fff}@keyframes plant-toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.harvest-btn{background:#2d4a0e;color:#8c4}.harvest-btn:hover{background:#3a5c12}.harvestable-indicator{color:#8c4;font-weight:700}.species-season{font-size:11px;margin-top:4px;font-weight:600}.species-seasonal-note{font-size:10px;color:#888;margin-top:3px}.detail-seasonal{margin-top:8px;font-size:12px;color:#7a8ba8;padding:6px 10px;background:#6496c814;border-radius:4px}.consumable-list{display:flex;flex-direction:column;gap:6px}.consumable-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#16213e;border:1px solid #1a2740;border-radius:8px}.consumable-info{flex:1}.consumable-name{font-size:14px;font-weight:600}.consumable-qty{font-weight:400;font-size:12px;opacity:.7}.consumable-desc{font-size:12px;color:#888;margin-top:2px}.consumable-type{font-size:10px;color:#666;text-transform:uppercase;margin-top:2px}.use-btn{background:#1a4a3a;color:#6ca}.use-btn:hover{background:#225a48}.garden-info{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#aaa;padding-bottom:8px;border-bottom:1px solid #16213e}.garden-hint{font-size:11px;color:#666}.garden-plot-list{display:flex;flex-direction:column;gap:8px}.garden-plot-card{background:#16213e;border:1px solid #1a2740;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.garden-plot-header{display:flex;justify-content:space-between;align-items:center}.garden-plot-biome{font-size:13px;font-weight:600;color:#8c4;text-transform:capitalize}.garden-plot-coords{font-size:11px;color:#666}.garden-plot-plant{display:flex;align-items:center;gap:8px;font-size:13px}.garden-plant-icon{font-size:20px}.garden-plot-empty{display:flex;align-items:center;gap:8px;font-size:13px}.garden-empty-label{color:#666;flex:1}.garden-plant-picker{display:flex;align-items:center;gap:6px;flex:1}.garden-plant-picker select{flex:1;background:#111828;color:#e0e0e0;border:1px solid #1a2740;border-radius:4px;padding:4px 8px;font-size:12px}.action-btn.small{padding:3px 10px;font-size:11px}.plant-notification-harvested{background:#2d4a0ee6;color:#8c4}.plant-notification-season{background:#6488cce6;color:#fff}.lecture-status-bar{position:fixed;top:0;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 16px;background:#1a1a2ef2;border-radius:0 0 8px 8px;z-index:500;min-width:300px}.lecture-status-info{display:flex;align-items:center;gap:8px}.status-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.status-indicator.active{background:#22c55e}.status-indicator.paused{background:#fbbf24;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.lecture-title{color:#e2e8f0;font-size:14px;font-weight:500}.paused-badge{background:#fbbf24;color:#000;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.context-toggle{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px;padding:4px 8px}.context-toggle:hover{color:#e2e8f0}.lecture-context-panel{position:fixed;top:48px;left:24px;width:320px;max-height:calc(100vh - 72px);background:#1a1a2ef2;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;z-index:400}.instructor-controls{padding:12px;background:#16213e;border-bottom:1px solid #0f3460}.instructor-controls h4{margin:0 0 8px;font-size:12px;color:#94a3b8;text-transform:uppercase}.control-buttons{display:flex;gap:8px}.control-buttons button{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s}.control-buttons button:hover{opacity:.9}.pause-btn{background:#fbbf24;color:#000}.resume-btn{background:#22c55e;color:#fff}.end-btn{background:#e94560;color:#fff}.context-section{padding:12px;border-bottom:1px solid #0f3460}.context-section h4{margin:0 0 8px;font-size:12px;color:#e94560;text-transform:uppercase}.context-section p{margin:0;color:#e2e8f0;font-size:14px;line-height:1.4}.empty-state{color:#64748b;font-style:italic;font-size:13px}.exercise-card{margin:12px;padding:12px;background:#16213e;border-radius:8px;border-left:3px solid #fbbf24}.exercise-card.completed{border-left-color:#22c55e;opacity:.8}.exercise-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.exercise-icon{font-size:16px}.exercise-label{font-size:11px;color:#fbbf24;text-transform:uppercase;font-weight:600}.exercise-card.completed .exercise-label{color:#22c55e}.exercise-title{margin:0 0 6px;color:#e2e8f0;font-size:14px}.exercise-instructions{margin:0;color:#94a3b8;font-size:13px;line-height:1.4}.exercise-status{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:#fbbf24}.pulse-dot{width:6px;height:6px;background:#fbbf24;border-radius:50%;animation:pulse 1s infinite}.takeaways-list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.takeaway-item{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #0f3460;font-size:13px;color:#e2e8f0;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.takeaway-bullet{color:#e94560}.takeaway-content{flex:1;line-height:1.4}.takeaway-topic{font-size:10px;background:#0f3460;color:#64748b;padding:2px 6px;border-radius:4px;align-self:flex-start}.transcript{flex:1;min-height:150px;display:flex;flex-direction:column}.transcript-container{flex:1;max-height:300px;overflow-y:auto;font-size:13px;line-height:1.5;color:#94a3b8;padding-right:8px;position:relative}.transcript-segment{margin-bottom:8px}.segment-speaker{color:#e94560;font-weight:500;margin-right:4px}.segment-text{color:#cbd5e1}.scroll-to-bottom{position:sticky;bottom:0;width:100%;padding:6px;background:#e94560;border:none;color:#fff;font-size:12px;cursor:pointer}.catchup-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.catchup-modal{width:90%;max-width:500px;background:#1a1a2e;border-radius:12px;overflow:hidden}.catchup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#16213e;border-bottom:1px solid #0f3460}.catchup-header h3{margin:0;color:#e2e8f0;font-size:18px}.catchup-header .close-btn{background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer}.catchup-content{padding:20px;max-height:400px;overflow-y:auto}.catchup-summary{font-family:inherit;white-space:pre-wrap;margin:0;color:#e2e8f0;font-size:14px;line-height:1.6}.loading{text-align:center;color:#64748b;padding:40px}.catchup-footer{padding:12px 20px;background:#16213e;border-top:1px solid #0f3460;text-align:right}.got-it-btn{padding:10px 24px;background:#e94560;border:none;border-radius:6px;color:#fff;font-weight:600;cursor:pointer}.got-it-btn:hover{opacity:.9}.live-notes .notes-container{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.note-item{background:#16213e;border-radius:8px;padding:10px;border-left:3px solid #3b82f6;animation:slideIn .3s ease}.note-item.detail-high{border-left-color:#3b82f6}.note-item.detail-medium{border-left-color:#fbbf24}.note-item.detail-low{border-left-color:#94a3b8}.note-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:11px}.note-icon{font-size:14px}.note-type{color:#3b82f6;text-transform:uppercase;font-weight:600}.note-timestamp{color:#64748b;margin-left:auto;font-size:10px}.note-content{color:#e2e8f0;font-size:13px;line-height:1.5;margin-bottom:8px}.note-key-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.note-key-points li{color:#cbd5e1;font-size:12px;padding-left:12px;position:relative}.note-key-points li:before{content:"•";color:#3b82f6;position:absolute;left:0}.live-slides .slides-container{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.slide-card{background:#16213e;border-radius:8px;padding:12px;border-left:3px solid #a855f7;animation:slideIn .3s ease}.slide-card.importance-high{border-left-color:#a855f7;box-shadow:0 0 10px #a855f733}.slide-card.importance-medium{border-left-color:#fbbf24}.slide-card.importance-low{border-left-color:#64748b}.slide-header{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:11px}.slide-icon{font-size:14px}.slide-visual-type{color:#a855f7;text-transform:uppercase;font-weight:600}.slide-timestamp{color:#64748b;margin-left:auto;font-size:10px}.slide-title{margin:0 0 10px;color:#e2e8f0;font-size:15px;font-weight:600}.slide-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.slide-bullets li{color:#cbd5e1;font-size:13px;padding-left:16px;position:relative;line-height:1.4}.slide-bullets li:before{content:"▸";color:#a855f7;position:absolute;left:0}.live-qa{margin-top:16px}.active-question{background:linear-gradient(135deg,#eab30833,#eab3081a);border:1px solid rgba(234,179,8,.3);border-radius:8px;padding:12px;margin-bottom:12px;animation:questionPulse 2s ease-in-out infinite}@keyframes questionPulse{0%,to{border-color:#eab3084d}50%{border-color:#eab30899}}.question-badge{display:inline-block;background:#eab308;color:#1a1a2e;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin-bottom:8px}.question-text{color:#f1f5f9;font-size:14px;margin:0 0 8px;line-height:1.5}.question-time{color:#94a3b8;font-size:12px}.qa-container{display:flex;flex-direction:column;gap:12px}.qa-card{background:#1e1e3299;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;transition:border-color .2s}.qa-card:hover{border-color:#fff3}.qa-card.status-answered{border-left:3px solid #22c55e}.qa-card.status-asked{border-left:3px solid #eab308}.qa-question-header,.qa-answer-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.qa-icon{font-size:14px}.qa-speaker{color:#a855f7;font-size:12px;font-weight:500}.qa-timestamp{color:#64748b;font-size:11px;margin-left:auto}.qa-label{color:#22c55e;font-size:12px;font-weight:500}.qa-question-text{color:#e2e8f0;font-size:14px;margin:0;line-height:1.5}.qa-answer{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.qa-answer-summary{color:#cbd5e1;font-size:13px;margin:0 0 8px;line-height:1.5}.qa-key-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.qa-key-points li{color:#94a3b8;font-size:12px;padding-left:16px;position:relative}.qa-key-points li:before{content:"•";color:#22c55e;position:absolute;left:0}.review-hint{font-size:11px;color:#a855f7;font-weight:400;margin-left:8px}.note-actions,.slide-actions{display:flex;gap:4px;margin-left:auto}.action-btn{width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn.approve{background:#22c55e33;color:#22c55e}.action-btn.approve:hover{background:#22c55e66}.action-btn.reject{background:#ef444433;color:#ef4444}.action-btn.reject:hover{background:#ef444466}.status-badge{font-size:12px;padding:2px 6px;border-radius:4px;margin-left:auto}.status-badge.approved{background:#22c55e33;color:#22c55e}.status-badge.rejected{background:#ef444433;color:#ef4444}.note-item.rejected,.slide-card.rejected{opacity:.5}.note-item.approved,.slide-card.approved{border-left:3px solid #22c55e}.note-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.topic-tag{background:#a855f733;color:#a855f7;font-size:11px;padding:3px 8px;border-radius:12px;border:1px solid rgba(168,85,247,.3);font-weight:500}.slide-diagram{margin:12px 0;padding:16px;background:#0f34604d;border-radius:8px;overflow-x:auto}.slide-diagram svg{max-width:100%;height:auto}.slide-code{margin:12px 0;padding:12px;background:#1e293b;border-radius:8px;overflow-x:auto;border:1px solid rgba(148,163,184,.2)}.slide-code code{font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.5;color:#e2e8f0}.slide-definition{margin:12px 0;padding:16px;background:linear-gradient(135deg,#a855f71a,#3b82f61a);border-radius:8px;border-left:4px solid #a855f7}.definition-term{font-size:16px;font-weight:700;color:#a855f7;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.definition-content p{margin:6px 0;color:#cbd5e1;font-size:14px;line-height:1.6}.definition-content p:first-child{margin-top:0}.definition-content p:last-child{margin-bottom:0}.error-message{color:#ef4444;font-size:12px;font-style:italic;margin:0;padding:8px;text-align:center}.student-controls{padding:12px;background:#16213e;border-bottom:1px solid #0f3460}.search-bar{position:relative;margin-bottom:10px}.search-input{width:100%;padding:8px 32px 8px 12px;background:#0f3460;border:1px solid #1e3a5f;border-radius:6px;color:#e2e8f0;font-size:13px;outline:none}.search-input::placeholder{color:#64748b}.search-input:focus{border-color:#3b82f6}.clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#64748b;cursor:pointer;font-size:14px;padding:4px 6px}.clear-search:hover{color:#e2e8f0}.filter-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.filter-select{padding:8px 10px;background:#0f3460;border:1px solid #1e3a5f;border-radius:6px;color:#e2e8f0;font-size:12px;cursor:pointer;outline:none}.filter-select:focus{border-color:#3b82f6}.view-controls{display:flex;gap:6px}.toggle-btn{flex:1;padding:8px 12px;background:#0f3460;border:1px solid #1e3a5f;border-radius:6px;color:#94a3b8;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.toggle-btn:hover{border-color:#3b82f6;color:#e2e8f0}.toggle-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.bookmark-btn{background:none;border:none;color:#64748b;font-size:14px;cursor:pointer;padding:2px 6px;transition:color .2s;margin-left:auto}.bookmark-btn:hover,.bookmark-btn.bookmarked{color:#fbbf24}.note-timestamp.clickable,.slide-timestamp.clickable,.qa-timestamp.clickable{cursor:pointer;transition:color .2s}.note-timestamp.clickable:hover,.slide-timestamp.clickable:hover,.qa-timestamp.clickable:hover{color:#3b82f6;text-decoration:underline}.expand-btn{background:none;border:none;color:#94a3b8;font-size:10px;cursor:pointer;margin-left:auto;padding:2px 6px;transition:color .2s}.expand-btn:hover{color:#e2e8f0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.batch-controls{display:flex;align-items:center}.select-all-checkbox{display:flex;align-items:center;gap:6px;font-size:11px;color:#94a3b8;cursor:pointer}.select-all-checkbox input[type=checkbox]{cursor:pointer}.batch-actions{display:flex;gap:8px;margin-bottom:12px;padding:8px;background:#16213e80;border-radius:6px}.batch-btn{flex:1;padding:8px 12px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.batch-btn.approve{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.batch-btn.approve:hover{background:#22c55e4d}.batch-btn.reject{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.batch-btn.reject:hover{background:#ef44444d}.item-checkbox{margin-right:8px;cursor:pointer}.note-item.selected,.slide-card.selected{border:2px solid #3b82f6;box-shadow:0 0 8px #3b82f64d}.action-btn.edit{background:#3b82f633;color:#3b82f6}.action-btn.edit:hover{background:#3b82f666}.edit-actions{display:flex;gap:4px;margin-left:auto}.action-btn.save{background:#22c55e33;color:#22c55e;padding:4px 12px;width:auto;font-size:11px}.action-btn.save:hover{background:#22c55e66}.action-btn.cancel{background:#94a3b833;color:#94a3b8;padding:4px 12px;width:auto;font-size:11px}.action-btn.cancel:hover{background:#94a3b866}.note-edit-mode{margin-top:8px}.note-content-edit{width:100%;min-height:80px;padding:8px;background:#0f34604d;border:1px solid #0f3460;border-radius:4px;color:#e2e8f0;font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;margin-bottom:12px}.note-content-edit:focus{outline:none;border-color:#3b82f6}.key-points-edit{display:flex;flex-direction:column;gap:6px}.key-points-edit label{font-size:11px;color:#94a3b8;font-weight:600;margin-bottom:4px}.key-point-edit-row{display:flex;gap:6px;align-items:center}.key-point-edit-row input{flex:1;padding:6px 8px;background:#0f34604d;border:1px solid #0f3460;border-radius:4px;color:#e2e8f0;font-size:12px}.key-point-edit-row input:focus{outline:none;border-color:#3b82f6}.remove-point-btn{width:24px;height:24px;background:#ef444433;border:none;border-radius:4px;color:#ef4444;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-point-btn:hover{background:#ef444466}.add-point-btn{padding:6px 12px;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:4px;color:#3b82f6;font-size:11px;cursor:pointer;transition:all .2s;margin-top:4px}.add-point-btn:hover{background:#3b82f64d}.slide-edit-mode{margin-top:10px}.slide-title-edit{width:100%;padding:8px;background:#0f34604d;border:1px solid #0f3460;border-radius:4px;color:#e2e8f0;font-family:inherit;font-size:15px;font-weight:600;margin-bottom:12px}.slide-title-edit:focus{outline:none;border-color:#a855f7}.bullets-edit{display:flex;flex-direction:column;gap:6px}.bullets-edit label{font-size:11px;color:#94a3b8;font-weight:600;margin-bottom:4px}.bullet-edit-row{display:flex;gap:6px;align-items:center}.bullet-edit-row input{flex:1;padding:6px 8px;background:#0f34604d;border:1px solid #0f3460;border-radius:4px;color:#e2e8f0;font-size:13px}.bullet-edit-row input:focus{outline:none;border-color:#a855f7}.remove-bullet-btn{width:24px;height:24px;background:#ef444433;border:none;border-radius:4px;color:#ef4444;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-bullet-btn:hover{background:#ef444466}.add-bullet-btn{padding:6px 12px;background:#a855f733;border:1px solid rgba(168,85,247,.3);border-radius:4px;color:#a855f7;font-size:11px;cursor:pointer;transition:all .2s;margin-top:4px}.add-bullet-btn:hover{background:#a855f74d}.store-hud-btn{background:#1a1a2ee6;border:2px solid #16213e;border-radius:8px;padding:8px 12px;cursor:pointer;position:absolute;bottom:100px;right:16px;z-index:50;display:flex;align-items:center;gap:4px;transition:border-color .15s;font-size:20px}.store-hud-btn:hover{border-color:#6c5ce7}.store-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.store-panel{background:#1a1a2e;border:2px solid #16213e;border-radius:12px;width:800px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.store-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #16213e;gap:12px}.store-header h2{margin:0;color:#e0e0e0;font-size:18px;flex:1}.gem-balance-badge{background:#2a1f3d;border:1px solid #6c5ce7;border-radius:20px;padding:4px 12px;color:#a29bfe;font-size:13px;font-weight:600}.store-header .close-btn{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px}.store-header .close-btn:hover{background:#16213e;color:#e0e0e0}.raccoon-greeting{display:flex;align-items:flex-start;gap:10px;padding:10px 20px;background:#2a1f3d99;border-bottom:1px solid #16213e;font-size:13px;color:#c8c0d8;line-height:1.5}.raccoon-face{font-size:22px;flex-shrink:0}.raccoon-text{font-style:italic}.store-tabs{display:flex;padding:0 20px;border-bottom:1px solid #16213e;gap:4px;overflow-x:auto}.store-tab{padding:10px 16px;background:none;border:none;color:#888;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}.store-tab:hover{color:#e0e0e0}.store-tab.active{color:#a29bfe;border-bottom-color:#6c5ce7}.store-content{flex:1;overflow-y:auto;padding:20px}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.store-item-card{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:16px;cursor:pointer;transition:border-color .15s,transform .1s}.store-item-card:hover{border-color:#6c5ce7;transform:translateY(-2px)}.store-item-card .item-name{color:#e0e0e0;font-size:14px;font-weight:600;margin-bottom:4px}.store-item-card .item-desc{color:#888;font-size:12px;margin-bottom:8px;line-height:1.4}.store-item-card .item-price{color:#a29bfe;font-size:13px;font-weight:600}.store-item-card .item-rarity{font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.rarity-common{color:#888}.rarity-uncommon{color:#2ecc71}.rarity-rare{color:#3498db}.rarity-epic{color:#9b59b6}.rarity-legendary{color:#f39c12}.gem-pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.gem-pack-card{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:border-color .15s,transform .1s}.gem-pack-card:hover{border-color:#6c5ce7;transform:translateY(-2px)}.gem-pack-card .pack-gems{color:#a29bfe;font-size:24px;font-weight:700;margin-bottom:4px}.gem-pack-card .pack-label{color:#888;font-size:12px;margin-bottom:8px}.gem-pack-card .pack-price{color:#e0e0e0;font-size:16px;font-weight:600}.creature-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:24px}.creature-tier-card{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:16px}.creature-tier-card .tier-name{font-size:16px;font-weight:700;margin-bottom:4px}.tier-gremlin{color:#2ecc71}.tier-familiar{color:#3498db}.tier-guardian{color:#9b59b6}.tier-ancient{color:#f39c12}.creature-tier-card .tier-cost{color:#a29bfe;font-size:13px;margin-bottom:8px}.creature-tier-card .tier-desc{color:#888;font-size:12px;line-height:1.4}.agent-list{display:flex;flex-direction:column;gap:8px}.agent-card{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px}.agent-card .agent-sprite{width:48px;height:48px;border-radius:8px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;font-size:24px}.agent-card .agent-info{flex:1}.agent-card .agent-name{color:#e0e0e0;font-weight:600;font-size:14px}.agent-card .agent-meta{color:#888;font-size:12px}.agent-status-active{color:#2ecc71}.agent-status-dormant{color:#f39c12}.agent-status-sanctuary{color:#e74c3c}.agent-status-pending_review{color:#3498db}.store-section{margin-bottom:24px}.store-section h3{color:#e0e0e0;font-size:15px;margin:0 0 4px}.store-section .section-desc{color:#888;font-size:12px;margin:0 0 12px;line-height:1.4}.store-btn{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:opacity .15s}.store-btn:hover{opacity:.85}.store-btn:disabled{opacity:.5;cursor:not-allowed}.store-btn-primary{background:#6c5ce7;color:#fff}.store-btn-danger{background:#e74c3c;color:#fff}.store-btn-secondary{background:#16213e;color:#e0e0e0;border:1px solid #1f3460}.transparency-note{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:16px;color:#888;font-size:13px;line-height:1.6;margin-bottom:16px}.transparency-note strong{color:#a29bfe}.membership-card{background:#16213e;border:1px solid #6c5ce7;border-radius:8px;padding:20px;margin-bottom:16px}.membership-card .membership-status{display:flex;align-items:center;gap:8px;margin-bottom:12px}.membership-card .membership-tenure{color:#888;font-size:13px}.store-error{background:#e74c3c26;border:1px solid #e74c3c;border-radius:8px;padding:12px 16px;color:#e74c3c;font-size:13px;margin-bottom:12px}.create-agent-form{display:flex;flex-direction:column;gap:12px}.create-agent-form label{color:#e0e0e0;font-size:13px;font-weight:600}.create-agent-form input,.create-agent-form select,.create-agent-form textarea{background:#1a1a2e;border:1px solid #1f3460;border-radius:6px;padding:8px 12px;color:#e0e0e0;font-size:13px;width:100%}.create-agent-form textarea{resize:vertical;min-height:60px}.checkout-banner{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:12px;gap:8px}.checkout-banner-success{background:#2ecc7126;border:1px solid #2ecc71;color:#2ecc71}.checkout-banner-cancelled{background:#e74c3c1f;border:1px solid #e74c3c;color:#e74c3c}.checkout-banner-dismiss{background:none;border:none;cursor:pointer;color:inherit;font-size:16px;line-height:1;padding:0 4px;opacity:.7;flex-shrink:0}.checkout-banner-dismiss:hover{opacity:1}.transparency-reports-list{display:flex;flex-direction:column;gap:12px}.transparency-report-card{background:#16213e;border:1px solid #1f3460;border-radius:8px;padding:16px}.transparency-report-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.transparency-report-month{font-weight:600;color:#a29bfe;font-size:15px}.transparency-report-total{color:#2ecc71;font-size:14px;font-weight:600}.transparency-report-allocations{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.transparency-allocation-row{display:flex;justify-content:space-between;font-size:13px}.allocation-label{color:#888;text-transform:capitalize}.allocation-amount{color:#e0e0e0}.transparency-report-published{font-size:11px;color:#555;margin-top:4px}.store-item-badges{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.item-owned-badge{background:#2ecc7133;color:#2ecc71;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.item-seasonal-badge{background:#f39c1233;color:#f39c12;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;animation:pulse-seasonal 2s ease-in-out infinite}@keyframes pulse-seasonal{0%,to{opacity:1}50%{opacity:.6}}.item-pack-badge{background:#6c5ce733;color:#a29bfe;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.store-item-owned{opacity:.7}.store-item-actions{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.gift-modal{background:#00000080;border-radius:8px;padding:16px;margin-bottom:16px;border:1px solid #6c5ce7}.gift-modal-content h4{color:#e0e0e0;margin:0 0 8px;font-size:14px}.store-source-badge{position:absolute;top:2px;left:2px;font-size:10px;line-height:1}.mobile-controls{position:fixed;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 20px;pointer-events:none;z-index:1000}.dpad-container{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:60px 60px 60px;gap:4px;pointer-events:auto}.dpad-btn{width:60px;height:60px;border:none;border-radius:12px;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.dpad-btn:active{background:#6366f199;transform:scale(.95)}.dpad-btn .arrow{font-size:24px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-center{grid-column:2;grid-row:2;width:60px;height:60px;border-radius:50%;background:#ffffff1a}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.action-btn{width:70px;height:70px;border:none;border-radius:50%;background:#22c55e80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:20px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #0000004d;border:2px solid rgba(34,197,94,.7)}.action-btn .action-label{font-size:10px;margin-top:2px;opacity:.9}.action-btn:active{background:#22c55ecc;transform:scale(.95)}@media(min-width:769px){.mobile-controls{display:none}}@media(max-width:400px){.mobile-controls{padding:0 10px;bottom:10px}.dpad-container{grid-template-columns:50px 50px 50px;grid-template-rows:50px 50px 50px;gap:2px}.dpad-btn{width:50px;height:50px}.dpad-btn .arrow{font-size:20px}.dpad-center{width:50px;height:50px}.action-btn{width:60px;height:60px;font-size:20px}}.tile-building-editor{display:flex;flex-direction:column;gap:16px;padding:16px;background:#1a1a2e;border-radius:8px;max-height:80vh;overflow:auto}.editor-header{display:flex;align-items:center;gap:16px}.editor-header h3{margin:0;color:#e0e0e0}.building-name-input{flex:1;padding:8px 12px;background:#2d2d5a;border:1px solid #4a4a7a;border-radius:4px;color:#fff;font-size:14px}.editor-layout{display:grid;grid-template-columns:320px 1fr 200px;gap:16px;min-height:400px}.tile-palette{background:#2d2d5a;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px}.tile-palette h4{margin:0;color:#a0a0ff;font-size:14px}.category-tabs{display:flex;flex-wrap:wrap;gap:4px}.cat-tab{padding:4px 8px;background:transparent;border:1px solid #4a4a7a;border-radius:4px;color:#888;font-size:10px;cursor:pointer;text-transform:capitalize}.cat-tab:hover{border-color:#7a7aaa;color:#aaa}.cat-tab.active{background:#4a4a8a;border-color:#7a7aff;color:#fff}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;overflow-y:auto;max-height:300px}.palette-scroll{overflow:auto;max-height:400px;border:1px solid #3a3a6a;border-radius:4px;background:#111}.palette-canvas{image-rendering:pixelated;cursor:crosshair;display:block;width:100%}.palette-info{font-size:11px;color:#88c;font-family:monospace;padding:4px 0}.tile-option{width:48px;height:48px;background:#1a1a2e;border:2px solid #3a3a6a;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;overflow:hidden}.tile-option:hover{border-color:#7a7aff;transform:scale(1.05)}.tile-option.selected{border-color:#7c3aed;box-shadow:0 0 8px #7c3aed80}.tile-option img{width:32px;height:32px;image-rendering:pixelated}.tile-placeholder{font-size:10px;color:#666;text-transform:uppercase}.building-canvas{display:flex;flex-direction:column;gap:12px;align-items:center}.grid-controls{display:flex;align-items:center;gap:16px;color:#aaa;font-size:12px}.grid-controls label{display:flex;align-items:center;gap:6px}.grid-controls input{width:50px;padding:4px 8px;background:#2d2d5a;border:1px solid #4a4a7a;border-radius:4px;color:#fff;text-align:center}.grid-size{color:#666}.building-grid{display:grid;gap:1px;background:#333;padding:2px;border-radius:4px;border:2px solid #4a4a7a}.grid-cell{width:32px;height:32px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.grid-cell:hover{background:#2a2a4e}.grid-cell.filled{background:transparent}.grid-cell img{width:32px;height:32px;image-rendering:pixelated}.cell-coords{font-size:8px;color:#444}.editor-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.editor-actions button,.editor-actions label{padding:8px 16px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.preview-btn{background:#2563eb;border:1px solid #3b82f6;color:#fff}.preview-btn:hover{background:#3b82f6}.export-btn{background:#059669;border:1px solid #10b981;color:#fff}.export-btn:hover{background:#10b981}.import-btn{background:#4a4a8a;border:1px solid #6a6aaa;color:#fff;display:inline-flex;align-items:center}.import-btn:hover{background:#5a5a9a}.save-btn{background:#7c3aed;border:1px solid #9c5aff;color:#fff}.save-btn:hover{background:#9c5aff}.preview-panel{background:#2d2d5a;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px}.preview-panel h4{margin:0;color:#a0a0ff;font-size:14px}.preview-container{display:flex;flex-direction:column;align-items:center;gap:8px}.preview-container img{max-width:100%;image-rendering:pixelated;border:2px solid #4a4a7a;border-radius:4px;background:repeating-conic-gradient(#333 0% 25%,#444 0% 50%) 50% / 16px 16px}.download-link{padding:6px 12px;background:#059669;border-radius:4px;color:#fff;font-size:12px;text-decoration:none}.download-link:hover{background:#10b981}.preview-placeholder{padding:40px 20px;background:#1a1a2e;border-radius:4px;color:#666;font-size:12px;text-align:center}@media(max-width:800px){.editor-layout{grid-template-columns:1fr}.tile-palette{order:2}.building-canvas{order:1}.preview-panel{order:3}}.fullmap-overlay{position:fixed;inset:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:1000;will-change:transform;isolation:isolate}.fullmap-container{width:90%;max-width:900px;height:80vh;background:#1a1a2e;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px #00000080}.fullmap-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.fullmap-header h2{margin:0;font-size:16px;color:#e0e0ff;font-weight:600}.fullmap-hint{font-size:12px;color:#fff6}.fullmap-close-btn{background:none;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1}.fullmap-close-btn:hover{background:#ffffff1a;color:#fff}.fullmap-canvas-wrapper{flex:1;min-height:0;padding:8px}.fullmap-canvas-wrapper canvas{width:100%;height:100%;display:block;border-radius:8px;cursor:grab;touch-action:none}.fullmap-canvas-wrapper canvas:active{cursor:grabbing}@media(max-width:600px){.fullmap-container{width:98%;height:85vh}.fullmap-hint{display:none}.fullmap-header{padding:8px 12px}}.game-canvas-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%;width:100%;background:#0f0f23;overflow:hidden;padding:10px;box-sizing:border-box}.game-canvas{border:2px solid #333;border-radius:4px;image-rendering:pixelated;image-rendering:crisp-edges;flex-shrink:0}.game-canvas:focus{outline:none;border-color:var(--primary)}.controls-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#000000b3;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;color:var(--text-muted)}.lecture-lock-banner{position:absolute;top:0;left:0;right:0;padding:8px 16px;background:#7c3aedd9;color:#fff;text-align:center;font-size:14px;font-weight:600;z-index:100;pointer-events:none}.walk-to-buttons{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:100}.walk-to-btn{background:#1a1a2ee6;border:1px solid #4a4a6a;border-radius:6px;color:#ccc;padding:6px 14px;font-size:12px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.walk-to-btn:hover{border-color:#8b5cf6;color:#fff}.dnd-toggle-btn{position:fixed;bottom:80px;right:16px;width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#0009;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;z-index:100;transition:all .2s}.dnd-toggle-btn:hover{background:#000c;border-color:#fff9}.dnd-toggle-btn.active{border-color:#f44336;box-shadow:0 0 8px #f4433666}.classroom-controls{position:absolute;bottom:60px;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:12px;padding:8px 16px;background:#0f172ae6;border:1px solid rgba(255,255,255,.15);border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px #0006}.classroom-info{display:flex;flex-direction:column;gap:2px}.classroom-name{font-size:.85rem;font-weight:600;color:#e2e8f0}.classroom-enrollment{font-size:.7rem;color:#94a3b8}.find-seat-btn{padding:8px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.find-seat-btn:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 2px 8px #22c55e66}.find-seat-btn:disabled{opacity:.5;cursor:not-allowed}.find-seat-btn.reassign{background:linear-gradient(135deg,#6366f1,#4f46e5);font-size:.75rem;padding:6px 12px}.find-seat-btn.reassign:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca)}.classroom-seat-assigned{display:flex;align-items:center;gap:8px}.seat-label{font-size:.8rem;color:#22c55e;font-weight:500}.classroom-error{font-size:.75rem;color:#f87171}[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--lk-control-fg: var(--lk-fg);--lk-control-bg: var(--lk-bg2);--lk-control-hover-bg: var(--lk-bg3);--lk-control-active-bg: var(--lk-bg4);--lk-control-active-hover-bg: var(--lk-bg5);--lk-connection-excellent: #06db4d;--lk-connection-good: #f9b11f;--lk-connection-poor: #f91f31;--lk-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size: 16px;--lk-line-height: 1.5;--lk-border-radius: .5rem;--lk-box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 0px 0px 24px;--lk-grid-gap: .5rem;--lk-control-bar-height: 69px;--lk-chat-header-height: 69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{display:inline-flex;align-items:stretch;height:100%}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{position:relative;flex-shrink:0}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg: var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg: var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width:600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media(max-width:600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps: calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow-y:hidden;overflow-x:auto}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps: calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg: var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width, 12px);border-radius:var(--lk-va-bar-border-radius, 32px);background-color:var(--lk-va-bar-bg, rgba(136, 136, 136, .2));transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg, rgb(136, 136, 136));transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width: 2.5px;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;inset:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media(max-width:600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg: transparent;--lk-va-bar-width: 2px;--lk-va-bar-gap: 4px;--lk-va-bar-border-radius: 1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media(max-width:400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.lk-prejoin .lk-join-button{--lk-control-fg: var(--lk-accent-fg);--lk-control-bg: var(--lk-accent-bg);--lk-control-hover-bg: var(--lk-accent2);--lk-control-active-bg: var(--lk-accent3);--lk-control-active-hover-bg: var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}.colocation-panel{position:relative;width:100%;background:#fffffff2;border-top:1px solid #ddd;transition:all .3s ease;flex-shrink:0;max-height:50%;overflow-y:auto}.colocation-toggle{width:100%;padding:10px 15px;background:#4a9eff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;text-align:left;transition:background .2s ease}.colocation-toggle:hover{background:#3a8eef}.colocation-content{padding:15px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.colocation-header h3{margin:0 0 8px;font-size:16px;color:#333}.colocation-header p{margin:0 0 15px;font-size:12px;color:#666;line-height:1.4}.participant-list{max-height:200px;overflow-y:auto;margin-bottom:15px;border:1px solid #eee;border-radius:6px;padding:8px}.participant-item{display:flex;align-items:center;padding:8px;margin-bottom:4px;border-radius:4px;cursor:pointer;transition:background .2s ease}.participant-item:hover{background:#f5f5f5}.participant-item input[type=checkbox]{margin-right:10px;cursor:pointer}.participant-name{font-size:14px;color:#333}.colocation-actions{display:flex;gap:8px;margin-bottom:12px}.colocation-actions button{flex:1;padding:10px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply{background:#4caf50;color:#fff}.btn-apply:hover:not(:disabled){background:#45a049}.btn-apply:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.btn-apply.applied{background:#2e7d32;animation:appliedPulse .3s ease}@keyframes appliedPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.btn-clear{background:#f44336;color:#fff}.btn-clear:hover:not(:disabled){background:#da190b}.btn-clear:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.colocation-info{background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;padding:10px}.colocation-info p{margin:0;font-size:12px;color:#1565c0;line-height:1.5}.colocation-info strong{font-weight:600;display:block;margin-bottom:4px}.p2p-video-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#0a0a0f;overflow:hidden}.p2p-video-status{font-size:.7rem;color:var(--text-muted);padding:.25rem 1rem;background:#0000004d;flex-shrink:0}.p2p-video-grid{flex:1;display:grid;padding:.5rem;gap:.5rem;min-height:0}.p2p-grid-1{grid-template-columns:1fr}.p2p-grid-2{grid-template-columns:1fr 1fr}.p2p-grid-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.p2p-grid-3 .p2p-video-tile:first-child{grid-column:1 / -1}.p2p-grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.p2p-video-tile{position:relative;border-radius:.5rem;overflow:hidden;background:#1a1a2e}.p2p-video-tile video{width:100%;height:100%;object-fit:cover}.p2p-video-hidden{display:none}.p2p-video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:.85rem;background:#1a1a2e}.p2p-video-connecting{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#aaa;font-size:.8rem;background:#0009}.p2p-participant-name{position:absolute;bottom:4px;left:4px;padding:2px 6px;border-radius:4px;background:#0009;color:#fff;font-size:.7rem}.p2p-controls{display:flex;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:#000000b3;flex-shrink:0}.p2p-control-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;background:#333;color:#fff;cursor:pointer;font-size:.8rem;transition:background .2s}.p2p-control-btn:hover{background:#444}.p2p-control-off{background:#b71c1c}.p2p-control-off:hover{background:#c62828}.p2p-connection-failed{padding:.5rem 1rem;background:#b71c1c4d;border:1px solid rgba(183,28,28,.6);color:#ff8a80;font-size:.75rem;text-align:center;flex-shrink:0}@media(max-width:768px){.p2p-video-grid{padding:.25rem;gap:.25rem}.p2p-controls{padding:.4rem .5rem}.p2p-control-btn{padding:.4rem .75rem;font-size:.75rem}}.video-panel{display:flex;flex-direction:column;height:100%;width:100%;background:#0a0a0f;overflow:visible}.video-panel-loading{display:flex;flex-direction:column;height:100%;width:100%;background:#0a0a0f}.video-panel-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#00000080;font-weight:500;flex-shrink:0}.video-panel-header .participant-count{font-size:.75rem;color:var(--text-muted)}.video-panel-status{font-size:.7rem;color:var(--text-muted);padding:.25rem 1rem;background:#0000004d;flex-shrink:0}.video-panel-spinner{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.video-panel-content{flex:1;overflow:auto;min-height:0;position:relative}.video-panel-content .lk-grid-layout{height:100%!important;width:100%!important}.video-panel .lk-video-conference{height:100%;width:100%}.video-panel .lk-focus-layout{height:100%}.video-panel .lk-grid-layout{padding:.5rem;gap:.5rem;height:100%}.video-panel .lk-participant-tile{border-radius:.5rem;overflow:hidden}.video-panel .lk-control-bar{padding:.5rem 1rem;gap:.5rem;background:#000000b3}.video-panel .lk-control-bar button{padding:.5rem .75rem}.video-panel .lk-participant-name{font-size:.75rem}.video-panel .lk-room-header{display:none}.video-panel-class{background:#000}.video-panel-class .video-panel-header{background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);position:absolute;top:0;left:0;right:0;z-index:10}.video-panel-class .video-panel-content{position:relative}.class-mode-container{display:flex;flex-direction:column;height:100%}.class-mode-container .lk-focus-layout{flex:1;min-height:0}.class-mode-container .lk-carousel{height:120px;flex-shrink:0;padding:.5rem;background:#00000080}.class-mode-container .lk-carousel .lk-participant-tile{width:160px;height:100px}.video-panel-meeting .lk-grid-layout{padding:1rem;gap:1rem}.video-panel-campus .lk-grid-layout{padding:.5rem;gap:.5rem}@media(max-width:768px){.video-panel{min-height:0;height:100%}.video-panel-header{padding:.4rem .75rem;font-size:.875rem}.video-panel-header .participant-count{font-size:.7rem}.video-panel-status{font-size:.65rem;padding:.2rem .75rem}.video-panel-content{flex:1;min-height:0;overflow:hidden}.video-panel .lk-grid-layout{padding:.25rem;gap:.25rem;height:100%!important;max-height:100%}.video-panel .lk-participant-tile{min-height:80px}.video-panel .lk-control-bar{padding:.4rem .5rem;gap:.25rem;flex-wrap:wrap;justify-content:center}.video-panel .lk-control-bar button{padding:.4rem .5rem;font-size:.75rem}.video-panel .lk-participant-name{font-size:.65rem}}@media(max-width:480px){.video-panel .lk-grid-layout{padding:.15rem;gap:.15rem}.video-panel .lk-participant-tile{min-height:60px}.video-panel .lk-control-bar button{padding:.3rem .4rem}}.presentation-mode-layout{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:#000}.screen-share-main{flex:1;min-height:0;position:relative;overflow:hidden}.screen-share-main .lk-participant-tile{width:100%;height:100%;border-radius:0}.screen-share-main .lk-participant-tile video,.screen-share-main>video{width:100%;height:100%;object-fit:contain;background:#000}.camera-thumbnails-overlay{position:absolute;bottom:80px;right:12px;z-index:10;display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 160px);overflow-y:auto}.camera-thumbnail{width:120px;height:90px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000080;border:2px solid rgba(255,255,255,.2);flex-shrink:0}.camera-thumbnail .lk-participant-tile{width:100%;height:100%}.camera-thumbnail .lk-participant-tile video{object-fit:cover}.camera-thumbnail .lk-participant-name{font-size:.6rem;padding:2px 4px}.presenter-badge{position:absolute;top:12px;left:12px;z-index:20;background:#000000b3;color:#fff;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:500}.stop-sharing-btn{position:absolute;top:12px;right:140px;z-index:20;background:#e53935;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #e5393566;transition:all .2s ease}.stop-sharing-btn:hover{background:#c62828;transform:scale(1.05)}.stop-sharing-btn:active{transform:scale(.98)}.video-panel .lk-control-bar{position:relative;z-index:100;flex-shrink:0;background:#000000e6!important}.presentation-mode-layout~.lk-control-bar,.video-panel-content+.lk-control-bar{z-index:100}@media(max-width:768px){.camera-thumbnails-overlay{bottom:70px;right:8px}.camera-thumbnail{width:80px;height:60px}.camera-thumbnail .lk-participant-name{display:none}}@media(max-width:480px){.camera-thumbnails-overlay{bottom:60px;right:4px;gap:4px}.camera-thumbnail{width:60px;height:45px;border-width:1px}}.multi-screen-share-grid{display:grid;grid-template-columns:repeat(var(--grid-cols, 2),1fr);gap:4px;width:100%;height:100%;background:#000;padding:4px}.multi-screen-share-cell{position:relative;overflow:hidden;border-radius:8px;background:#111;min-height:0}.multi-screen-share-video{width:100%;height:100%}.multi-screen-share-video video{width:100%;height:100%;object-fit:contain;background:#000}.multi-screen-share-pip{position:absolute;bottom:8px;right:8px;width:100px;height:75px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0009;border:2px solid rgba(255,255,255,.3);z-index:5}.multi-screen-share-pip .lk-participant-tile{width:100%;height:100%}.multi-screen-share-pip .lk-participant-tile video{object-fit:cover}.multi-screen-share-pip .lk-participant-name{display:none}.multi-screen-share-name{position:absolute;top:8px;left:8px;z-index:10;background:#000000b3;color:#fff;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:500;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-screen-share-cell .stop-sharing-btn{top:8px;right:8px;padding:6px 12px;font-size:.75rem}@media(max-width:768px){.multi-screen-share-grid{grid-template-columns:repeat(2,1fr);gap:2px;padding:2px}.multi-screen-share-pip{width:70px;height:52px;bottom:4px;right:4px}.multi-screen-share-name{font-size:.65rem;padding:2px 6px}}@media(max-width:480px){.multi-screen-share-grid{grid-template-columns:1fr}.multi-screen-share-pip{width:56px;height:42px}.multi-screen-share-name{font-size:.6rem}}.multi-screen-share-cell-clickable{cursor:pointer;transition:outline .15s ease,transform .15s ease}.multi-screen-share-cell-clickable:hover{outline:2px solid rgba(100,180,255,.6);outline-offset:-2px;transform:scale(1.01)}.multi-screen-instructor-controls{grid-column:1 / -1;display:flex;gap:8px;padding:6px 8px;background:#0009;border-radius:8px;align-items:center;justify-content:flex-end}.take-over-btn{position:absolute;top:12px;right:12px;z-index:20;background:#1565c0;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #1565c066;transition:all .2s ease}.take-over-btn:hover{background:#0d47a1;transform:scale(1.05)}.multi-screen-instructor-controls .take-over-btn{position:static;padding:6px 12px;font-size:.75rem;box-shadow:none}.pop-out-screens-btn{background:#ffffff1f;color:#ccc;border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s ease}.pop-out-screens-btn:hover{background:#fff3;color:#fff}.table-picker-wrapper{position:relative}.table-picker-dropdown{position:absolute;top:100%;right:0;z-index:30;margin-top:4px;background:#14141ef2;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px;min-width:180px;box-shadow:0 4px 16px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.table-picker-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;border:none;background:transparent;color:#ddd;font-size:.8rem;cursor:pointer;border-radius:6px;transition:background .15s ease}.table-picker-item:hover{background:#ffffff1a}.table-picker-label{font-weight:500}.table-picker-count{font-size:.7rem;color:#888;margin-left:8px}.featured-screen-layout{display:flex;flex-direction:column;width:100%;height:100%;background:#000}.featured-screen-main{flex:1;min-height:0;position:relative}.featured-screen-main .screen-share-main{height:100%}.back-to-grid-btn{position:absolute;top:12px;left:12px;z-index:20;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.back-to-grid-btn:hover{background:#ffffff40}.featured-pip{bottom:12px;right:12px;width:120px;height:90px}.copresenter-pip{bottom:12px;left:12px;right:auto;width:120px;height:90px;border-color:#64b4ff80}.featured-screen-main .take-over-btn{top:12px;right:140px}.featured-screen-main .stop-sharing-btn{top:48px;right:12px}.featured-filmstrip{flex-shrink:0;display:flex;gap:4px;padding:4px;background:#000c;overflow-x:auto;height:140px}.featured-filmstrip .multi-screen-share-cell{flex:0 0 200px;height:100%}.featured-filmstrip .multi-screen-share-pip{width:50px;height:38px;bottom:4px;right:4px}.featured-filmstrip .multi-screen-share-name{font-size:.65rem;padding:2px 6px}.pop-out-screen-grid{height:100%;padding:8px;gap:8px}@media(max-width:768px){.featured-filmstrip{height:100px}.featured-filmstrip .multi-screen-share-cell{flex:0 0 150px}.featured-pip,.copresenter-pip{width:80px;height:60px}.back-to-grid-btn{font-size:.7rem;padding:6px 10px}}.video-panel-controls-row{flex-shrink:0;position:relative;z-index:100}.p2p-mode-toggle{font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#ccc;cursor:pointer;transition:all .2s ease;white-space:nowrap}.p2p-mode-toggle:hover{background:#fff3;border-color:#ffffff4d}.p2p-mode-toggle.p2p-mode-active{background:#4caf5033;border-color:#4caf5080;color:#81c784}.call-privacy-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#ccc;cursor:pointer;transition:all .2s ease;padding:0}.call-privacy-toggle:hover{background:#fff3;border-color:#ffffff4d}.call-privacy-toggle.call-private{background:#f4433633;border-color:#f4433680;color:#ef9a9a}.live-captions{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);z-index:20;pointer-events:none;max-width:90%;width:100%}.captions-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.caption-line{background:#000000d9;color:#fff;padding:.5rem 1rem;border-radius:.25rem;font-size:1rem;line-height:1.4;max-width:100%;text-align:center;animation:caption-fade-in .2s ease-out}.lecture-broadcast-fullscreen .caption-line{font-size:1.25rem;padding:.625rem 1.25rem}@keyframes caption-fade-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.caption-speaker{color:#60a5fa;font-weight:600}.caption-text{color:#fff}.caption-line.caption-live{background:#000000b3;border:1px solid rgba(96,165,250,.3)}.caption-line.caption-live .caption-text{color:#ffffffe6}.caption-typing-indicator{display:inline-block;width:.5rem;height:.5rem;margin-left:.375rem;background:#60a5fa;border-radius:50%;animation:typing-pulse 1s ease-in-out infinite;vertical-align:middle}@keyframes typing-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.lecture-broadcast{position:fixed;bottom:1rem;right:1rem;background:var(--bg-card, #1a1a2e);border-radius:.75rem;overflow:hidden;box-shadow:0 4px 20px #00000080;z-index:100;width:400px;max-width:calc(100vw - 2rem)}.lecture-broadcast-minimized{width:auto;min-width:200px}.lecture-broadcast-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;border-radius:0;z-index:9999;background:#000}.broadcast-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lecture-broadcast-fullscreen .broadcast-header{position:absolute;top:0;left:0;right:0;z-index:10;background:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);padding:1rem}.broadcast-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.broadcast-live-badge{background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.05em;animation:pulse-live 2s ease-in-out infinite}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.7}}.broadcast-title{color:#fff;font-size:.875rem;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lecture-broadcast-fullscreen .broadcast-title{max-width:none;font-size:1rem}.broadcast-viewers{color:#ffffffb3;font-size:.75rem}.screen-share-badge{background:#3b82f6;color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:.25rem}.broadcast-controls{display:flex;gap:.25rem}.broadcast-btn{padding:.375rem;background:#ffffff1a;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.broadcast-btn:hover{background:#fff3}.broadcast-btn.active{background:#60a5fa4d;color:#60a5fa}.broadcast-btn.active:hover{background:#60a5fa66}.broadcast-btn.leave-btn{background:#ef44444d}.broadcast-btn.leave-btn:hover{background:#ef444480}.presenter-view{position:relative;background:#000;aspect-ratio:16 / 9}.lecture-broadcast-fullscreen .presenter-view{width:100%;height:100%;aspect-ratio:unset}.presenter-video{width:100%;height:100%;object-fit:contain}.presenter-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#0f0f1a);aspect-ratio:16 / 9}.lecture-broadcast-fullscreen .presenter-placeholder{width:100%;height:100%;aspect-ratio:unset}.waiting-text{color:#ffffff80;font-size:.875rem}.presenter-pip{position:absolute;bottom:.75rem;right:.75rem;width:120px;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 8px #0006;border:2px solid rgba(255,255,255,.2)}.lecture-broadcast-fullscreen .presenter-pip{width:200px;bottom:1.5rem;right:1.5rem}.pip-video{width:100%;aspect-ratio:4 / 3;object-fit:cover}.lecture-broadcast .lk-room-container{background:transparent}.lecture-broadcast .lk-participant-tile{border-radius:0}.interior-editor{display:flex;flex-direction:column;gap:16px;padding:16px;background:#1a1a2e;border-radius:8px;max-height:80vh;overflow:auto}.interior-editor-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.interior-editor-header h3{margin:0;color:#e0e0e0}.interior-editor-header select{padding:8px 12px;background:#2d2d5a;border:1px solid #4a4a7a;border-radius:4px;color:#fff;font-size:14px}.interior-layout{display:grid;grid-template-columns:200px 1fr 220px;gap:16px;min-height:400px}.feature-palette{background:#2d2d5a;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px}.feature-palette h4{margin:0;color:#a0a0ff;font-size:14px}.palette-tools{display:flex;gap:8px}.tool-btn{flex:1;padding:6px 8px;background:#3a3a6a;border:1px solid #5a5a9a;border-radius:4px;color:#ccc;font-size:12px;cursor:pointer;transition:all .2s}.tool-btn:hover{background:#4a4a8a}.tool-btn.active{background:#7c3aed;border-color:#9c5aff;color:#fff}.feature-category-tabs{display:flex;flex-wrap:wrap;gap:4px}.feature-cat-tab{padding:4px 8px;background:transparent;border:1px solid #4a4a7a;border-radius:4px;color:#888;font-size:10px;cursor:pointer;text-transform:capitalize}.feature-cat-tab:hover{border-color:#7a7aaa;color:#aaa}.feature-cat-tab.active{background:#4a4a8a;border-color:#7a7aff;color:#fff}.feature-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:300px}.feature-option{display:flex;align-items:center;gap:8px;padding:8px;background:#1a1a2e;border:2px solid #3a3a6a;border-radius:4px;cursor:pointer;transition:all .2s}.feature-option:hover{border-color:#7a7aff}.feature-option.selected{border-color:#7c3aed;background:#2a2a4e}.feature-color{width:24px;height:24px;border-radius:4px;border:1px solid #5a5a9a}.feature-info{flex:1}.feature-name{color:#e0e0e0;font-size:12px;font-weight:500}.feature-size{color:#888;font-size:10px}.interior-canvas{display:flex;flex-direction:column;gap:12px;align-items:center}.interior-controls{display:flex;align-items:center;gap:16px;color:#aaa;font-size:12px;flex-wrap:wrap}.interior-controls label{display:flex;align-items:center;gap:6px}.interior-controls input[type=number]{width:50px;padding:4px 8px;background:#2d2d5a;border:1px solid #4a4a7a;border-radius:4px;color:#fff;text-align:center}.interior-controls input[type=color]{width:40px;height:28px;padding:0;border:1px solid #4a4a7a;border-radius:4px;cursor:pointer}.interior-grid{position:relative;border:2px solid #4a4a7a;border-radius:4px;overflow:hidden}.interior-cell{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none;box-sizing:border-box}.interior-cell:hover{background:#ffffff1a!important}.interior-cell.exit{border:2px dashed #22c55e}.interior-feature{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:move;-webkit-user-select:none;user-select:none;font-size:10px;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5);box-sizing:border-box;border:2px solid rgba(255,255,255,.3)}.interior-feature:hover{border-color:#7c3aed}.interior-feature.selected{border-color:#7c3aed;box-shadow:0 0 8px #7c3aed80}.interior-feature .delete-btn{position:absolute;top:-8px;right:-8px;width:16px;height:16px;background:#ef4444;border:none;border-radius:50%;color:#fff;font-size:10px;cursor:pointer;display:none;align-items:center;justify-content:center}.interior-feature.selected .delete-btn{display:flex}.interior-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.interior-actions button{padding:8px 16px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.clear-features-btn{background:#dc2626;border:1px solid #ef4444;color:#fff}.clear-features-btn:hover{background:#ef4444}.save-interior-btn{background:#7c3aed;border:1px solid #9c5aff;color:#fff}.save-interior-btn:hover{background:#9c5aff}.properties-panel{background:#2d2d5a;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px}.properties-panel h4{margin:0;color:#a0a0ff;font-size:14px}.property-group{display:flex;flex-direction:column;gap:8px}.property-group label{color:#aaa;font-size:11px;text-transform:uppercase}.property-group input,.property-group select{padding:6px 10px;background:#1a1a2e;border:1px solid #4a4a7a;border-radius:4px;color:#fff;font-size:12px}.color-presets{display:flex;gap:4px;flex-wrap:wrap}.color-preset{width:24px;height:24px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-preset:hover{transform:scale(1.1)}.color-preset.active{border-color:#fff}.feature-label-input{width:100%;margin-top:4px}.exit-position-btn{width:100%;padding:8px;background:#059669;border:1px solid #10b981;border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.exit-position-btn:hover{background:#10b981}.exit-position-btn.active{background:#f59e0b;border-color:#fbbf24}@media(max-width:900px){.interior-layout{grid-template-columns:1fr}.feature-palette{order:2}.interior-canvas{order:1}.properties-panel{order:3}}.admin-toggle-btn{position:fixed;top:70px;right:20px;padding:8px 16px;background:#7c3aed;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;z-index:200;transition:background .2s}.admin-toggle-btn:hover{background:#6d28d9}.admin-panel-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-panel{background:#1e1e2e;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#2d2d3d;border-bottom:1px solid #3d3d4d}.admin-panel-header h2{margin:0;color:#fff;font-size:18px}.close-btn{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#fff}.admin-error{padding:12px 24px;background:#dc2626;color:#fff;font-size:14px}.admin-loading{padding:24px;text-align:center;color:#888}.admin-panel-content{flex:1;overflow-y:auto;padding:24px}.buildings-list{display:flex;flex-direction:column;gap:16px}.building-card{display:flex;gap:16px;background:#2d2d3d;border-radius:8px;padding:16px;transition:opacity .2s}.building-card.inactive{opacity:.5}.building-color{width:48px;height:48px;border-radius:8px;flex-shrink:0}.building-info{flex:1;min-width:0}.building-info h3{margin:0 0 4px;font-size:16px;color:#fff}.building-short{margin:0 0 4px;font-size:12px;color:#7c3aed;text-transform:uppercase}.building-desc{margin:0 0 8px;font-size:13px;color:#888}.building-pos{margin:0;font-size:11px;color:#666}.building-actions{display:flex;flex-direction:column;gap:8px}.building-actions button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;background:#3d3d4d;color:#fff;transition:background .2s}.building-actions button:hover{background:#4d4d5d}.building-actions .delete-btn{background:#dc2626}.building-actions .delete-btn:hover{background:#b91c1c}.building-editor{color:#fff}.building-editor h3{margin:0 0 20px;font-size:18px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;color:#888}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:10px 12px;background:#2d2d3d;border:1px solid #3d3d4d;border-radius:6px;color:#fff;font-size:14px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#7c3aed}.form-group textarea{min-height:80px;resize:vertical}.form-group input[type=color]{width:60px;height:36px;padding:2px;cursor:pointer}.form-group input[type=checkbox]{width:auto}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.editor-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #3d3d4d}.editor-actions button{padding:10px 24px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500}.save-btn{background:#22c55e;color:#fff}.save-btn:hover{background:#16a34a}.cancel-btn{background:#3d3d4d;color:#fff}.cancel-btn:hover{background:#4d4d5d}.admin-tabs{display:flex;gap:4px;padding:12px 24px;background:#2d2d3d;border-bottom:1px solid #3d3d4d}.admin-tab{padding:8px 20px;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;font-size:14px;transition:all .2s}.admin-tab:hover{color:#fff;background:#ffffff0d}.admin-tab.active{color:#fff;background:#7c3aed}.building-generator{color:#fff}.generator-desc{color:#888;font-size:14px;margin:0 0 20px;line-height:1.5}.building-generator .form-group textarea{font-family:inherit}.char-count{display:block;text-align:right;font-size:12px;color:#666;margin-top:4px}.generate-btn{width:100%;padding:12px 24px;background:#7c3aed;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.generating-status{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;color:#888;font-size:14px}.loading-spinner{width:20px;height:20px;border:2px solid #3d3d4d;border-top-color:#7c3aed;border-radius:50%;animation:spin 1s linear infinite}.generated-result{margin-top:24px;padding-top:24px;border-top:1px solid #3d3d4d;text-align:center}.generated-result h4{margin:0 0 16px;font-size:16px;color:#fff}.generated-image-container{display:inline-block;padding:20px;background:#1a1a2e;border-radius:8px;border:1px solid #3d3d4d}.generated-image-container img{display:block;image-rendering:pixelated;image-rendering:crisp-edges;max-width:200px;height:auto}.download-hint{margin:12px 0;font-size:12px;color:#666}.sprite-save-section{display:flex;flex-direction:column;gap:8px;margin:12px 0;padding:12px;background:#2a2a3a;border-radius:6px;border:1px solid #3d3d5d}.sprite-save-section label{font-size:12px;color:#aaa}.sprite-save-section select{padding:8px 12px;background:#1a1a2e;color:#fff;border:1px solid #4a4a7a;border-radius:4px;font-size:13px}.regenerate-btn{padding:8px 20px;background:#3d3d4d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;transition:background .2s}.regenerate-btn:hover:not(:disabled){background:#4d4d5d}.regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.agent-admin-panel{background:#1e1e2e;border-radius:12px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.agent-admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#2d2d3d;border-bottom:1px solid #3d3d4d}.agent-admin-header h2{margin:0;color:#fff;font-size:18px}.agent-admin-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0 4px}.agent-admin-close:hover{color:#fff}.agent-admin-tabs{display:flex;gap:0;background:#252535;border-bottom:1px solid #3d3d4d}.agent-admin-tabs button{flex:1;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:#888;font-size:13px;cursor:pointer;transition:all .2s}.agent-admin-tabs button:hover{color:#ccc;background:#ffffff0d}.agent-admin-tabs button.active{color:#a78bfa;border-bottom-color:#a78bfa}.agent-admin-content{padding:16px 24px;overflow-y:auto;flex:1}.agent-admin-error{background:#ef444426;color:#f87171;padding:8px 16px;margin:0 24px;border-radius:6px;font-size:13px}.agent-admin-success{background:#22c55e26;color:#4ade80;padding:8px 16px;margin:0 24px;border-radius:6px;font-size:13px}.agent-admin-loading{color:#888;text-align:center;padding:24px;font-size:14px}.agent-admin-empty{color:#666;text-align:center;padding:32px;font-size:14px}.agent-admin-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.agent-admin-list-header h3{margin:0;color:#ddd;font-size:15px}.agent-admin-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#252535;border-radius:6px;margin-bottom:6px}.agent-admin-list-item-info{display:flex;flex-direction:column;gap:2px}.agent-admin-list-item-info strong{color:#eee;font-size:14px}.agent-admin-meta{color:#888;font-size:12px}.agent-admin-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:500;width:fit-content}.agent-admin-badge.enabled{background:#22c55e33;color:#4ade80}.agent-admin-badge.disabled{background:#ef444433;color:#f87171}.agent-admin-list-item-actions{display:flex;gap:6px}.agent-admin-btn{padding:6px 14px;border:1px solid #444;border-radius:6px;background:#2d2d3d;color:#ccc;font-size:13px;cursor:pointer;transition:all .15s}.agent-admin-btn:hover{background:#3d3d4d;color:#fff}.agent-admin-btn.primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.agent-admin-btn.primary:hover{background:#6d28d9}.agent-admin-btn.primary:disabled{opacity:.5;cursor:not-allowed}.agent-admin-btn.danger{color:#f87171;border-color:#f87171}.agent-admin-btn.danger:hover{background:#ef444426}.agent-admin-btn.small{padding:4px 10px;font-size:12px}.agent-admin-form{display:flex;flex-direction:column;gap:6px}.agent-admin-form label{color:#aaa;font-size:12px;margin-top:6px}.agent-admin-form input[type=text],.agent-admin-form input[type=number],.agent-admin-form input:not([type]),.agent-admin-form textarea,.agent-admin-form select{padding:8px 10px;background:#252535;border:1px solid #3d3d4d;border-radius:6px;color:#eee;font-size:13px;font-family:inherit}.agent-admin-form input:focus,.agent-admin-form textarea:focus,.agent-admin-form select:focus{outline:none;border-color:#7c3aed}.agent-admin-form textarea{resize:vertical}.agent-admin-form h3{margin:0 0 8px;color:#ddd;font-size:16px}.agent-admin-form h4{margin:12px 0 4px;color:#bbb;font-size:14px;border-top:1px solid #3d3d4d;padding-top:12px}.agent-admin-form-row{display:flex;gap:12px}.agent-admin-form-row>div,.agent-admin-form-row>input{flex:1}.agent-admin-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #3d3d4d}.agent-admin-objective{display:flex;gap:6px;align-items:center;margin-bottom:4px}.agent-admin-objective select{width:110px;flex-shrink:0}.agent-admin-objective input{flex:1}.agent-admin-placement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:12px}.agent-admin-placement-card{background:#252535;border-radius:8px;padding:12px}.agent-admin-placement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.agent-admin-placement-header strong{color:#eee;font-size:14px}.agent-admin-placement-fields{display:flex;flex-direction:column;gap:4px}.agent-admin-placement-fields label{color:#888;font-size:11px}.agent-admin-placement-fields input{padding:6px 8px;background:#1e1e2e;border:1px solid #3d3d4d;border-radius:4px;color:#eee;font-size:13px}.agent-admin-placement-fields input:focus{outline:none;border-color:#7c3aed}.agent-admin-help{color:#888;font-size:13px;margin:0 0 8px}.agent-admin-role-capability{margin-top:8px;border:1px solid #3d3d4d;border-radius:8px;padding:12px;background:#1e1e2e}.agent-admin-role-capability-title{margin:0 0 8px!important;padding:0!important;border:none!important;color:#a78bfa!important;font-size:13px!important;text-transform:uppercase;letter-spacing:.5px}.agent-admin-role-entry{margin-bottom:10px}.agent-admin-role-entry:last-child{margin-bottom:0}.agent-admin-role-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.agent-admin-role-entry textarea{width:100%;padding:8px 10px;background:#252535;border:1px solid #3d3d4d;border-radius:6px;color:#ccc;font-size:12px;font-family:SF Mono,Fira Code,monospace;line-height:1.5;resize:vertical;box-sizing:border-box}.agent-admin-role-entry textarea:focus{outline:none;border-color:#7c3aed;color:#eee}.agent-admin-role-entry textarea.role-override{border-color:#a78bfa;background:#2a2540}.agent-admin-lecture-search{margin-bottom:16px}.agent-admin-lecture-search label{color:#aaa;font-size:12px;display:block;margin-bottom:4px}.agent-admin-lecture-search input{padding:8px 10px;background:#252535;border:1px solid #3d3d4d;border-radius:6px;color:#eee;font-size:13px;flex:1}.agent-admin-lecture-search input:focus{outline:none;border-color:#7c3aed}.agent-admin-lecture-list h4{color:#bbb;font-size:14px;margin:0 0 8px}.agent-admin-tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;max-height:200px;overflow-y:auto;padding:8px;background:#1e1e2e;border:1px solid #3d3d4d;border-radius:6px}.agent-admin-tool-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:12px!important;margin:0!important;color:#ccc!important}.agent-admin-tool-item:hover{background:#a78bfa1a}.agent-admin-tool-item input[type=checkbox]{accent-color:#7c3aed}.agent-admin-tool-name{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#ccc}.agent-admin-type-instructions{font-family:SF Mono,Fira Code,monospace;font-size:12px;line-height:1.5;min-height:120px}.agent-admin-template-palette{margin-top:8px}.agent-admin-template-vars{display:flex;flex-wrap:wrap;gap:4px;max-height:160px;overflow-y:auto;padding:8px;background:#1e1e2e;border:1px solid #3d3d4d;border-radius:6px}.agent-admin-template-var{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:#252535;border:1px solid #3d3d4d;border-radius:4px;cursor:pointer;transition:all .15s;max-width:200px}.agent-admin-template-var:hover{border-color:#a78bfa;background:#2a2540}.agent-admin-template-var code{font-size:11px;color:#a78bfa;font-family:SF Mono,Fira Code,monospace}.agent-admin-template-var span{font-size:10px;color:#888;line-height:1.3}.blocked-users-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.blocked-users-panel{background:var(--bg-card);border-radius:1rem;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.blocked-users-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #333}.blocked-users-header h2{font-size:1.5rem;font-weight:600;color:var(--text);margin:0}.close-button{background:transparent;color:var(--text-muted);font-size:1.5rem;padding:.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s,color .2s}.close-button:hover{background:#ffffff1a;color:var(--text)}.blocked-users-content{padding:1.5rem;overflow-y:auto;flex:1}.blocked-users-loading,.blocked-users-error,.blocked-users-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:1rem}.blocked-users-loading p,.blocked-users-empty .empty-message{color:var(--text);font-size:1rem;margin:0}.empty-description{color:var(--text-muted);font-size:.875rem;max-width:400px;line-height:1.5}.retry-button{margin-top:.5rem}.blocked-users-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.blocked-user-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-dark);border-radius:.75rem;transition:background-color .2s}.blocked-user-item:hover{background:#ffffff0d}.blocked-user-info{display:flex;align-items:center;gap:1rem;flex:1}.blocked-user-avatar{width:48px;height:48px;background:var(--primary);border-radius:8px;flex-shrink:0}.blocked-user-details{display:flex;flex-direction:column;gap:.25rem}.blocked-user-name{font-size:1rem;font-weight:500;color:var(--text)}.blocked-user-date{font-size:.875rem;color:var(--text-muted)}.unblock-button{background:transparent;color:var(--primary);border:1px solid var(--primary);padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.5rem;transition:background-color .2s,color .2s}.unblock-button:hover{background:var(--primary);color:#fff}@media(max-width:640px){.blocked-users-panel{width:95%;max-height:90vh}.blocked-users-header{padding:1rem}.blocked-users-header h2{font-size:1.25rem}.blocked-users-content{padding:1rem}.blocked-user-item{padding:.75rem}.blocked-user-avatar{width:40px;height:40px}.blocked-user-name{font-size:.875rem}.blocked-user-date{font-size:.75rem}}.bios-screen{position:fixed;inset:0;background:#0a0a0a;z-index:9999;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.bios-screen:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);pointer-events:none;z-index:2}.bios-screen:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.6) 100%);pointer-events:none;z-index:2}.bios-output{width:100%;max-width:820px;padding:32px 24px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.45;overflow-y:auto;max-height:100vh;position:relative;z-index:1;scrollbar-width:none}.bios-output::-webkit-scrollbar{display:none}.bios-line{white-space:pre-wrap;word-break:break-all;min-height:1.45em}.bios-line[data-type=header]{color:#3f3;font-weight:700}.bios-line[data-type=ok]{color:#3f3}.bios-line[data-type=warn]{color:#fa0}.bios-line[data-type=info]{color:#3cf}.bios-line[data-type=dim]{color:#555}.bios-line[data-type=accent]{color:#f3f;font-weight:700}.bios-line[data-type=credits]{color:#fd3}.bios-line[data-type=final]{color:#3f3;font-weight:700;animation:glow 1.2s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 0 4px #33ff33,0 0 8px #33ff33}to{text-shadow:0 0 8px #33ff33,0 0 20px #33ff33,0 0 40px #22aa22}}.bios-dismiss-btn{position:fixed;top:16px;right:20px;z-index:10;background:none;border:1px solid #555;color:#888;font-family:Courier New,Courier,monospace;font-size:12px;padding:4px 12px;cursor:pointer;transition:color .2s,border-color .2s}.bios-dismiss-btn:hover{color:#3f3;border-color:#3f3}.bios-progress-bar{color:#3f3!important;margin-top:4px}.bios-line[data-type=waiting]{color:#3cf;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-modal{background:var(--bg-card, #1e1e2e);border-radius:1rem;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080;overflow:hidden}.profile-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#2d2d3d;border-bottom:1px solid #3d3d4d}.profile-header h2{margin:0;font-size:1.25rem;color:var(--text, #fff)}.profile-header .close-btn{background:transparent;color:var(--text-muted, #888);font-size:1.75rem;width:2rem;height:2rem;padding:0;border:none;border-radius:.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.profile-header .close-btn:hover{background:#333;color:var(--text, #fff)}.profile-tabs{display:flex;gap:4px;padding:.75rem 1.5rem;background:#2d2d3d;border-bottom:1px solid #3d3d4d}.profile-tab{padding:.625rem 1.25rem;background:transparent;border:none;border-radius:.5rem;color:var(--text-muted, #888);cursor:pointer;font-size:.9rem;transition:all .2s}.profile-tab:hover{color:var(--text, #fff);background:#ffffff0d}.profile-tab.active{color:#fff;background:var(--primary, #7c3aed)}.profile-error{padding:.75rem 1.5rem;background:#dc2626;color:#fff;font-size:.875rem}.profile-content{flex:1;overflow-y:auto;padding:1.5rem}.avatar-section{display:flex;flex-direction:column;gap:1.5rem}.current-avatar h3,.avatar-generator h3{margin:0 0 .75rem;font-size:1rem;color:var(--text, #fff)}.avatar-preview-box{width:80px;height:80px;border-radius:.5rem;border:2px solid #3d3d4d;background:#1a1a2e;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-image{width:64px;height:64px;image-rendering:pixelated;image-rendering:crisp-edges}.avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#7c3aed,#a855f7);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}.generator-hint{color:var(--text-muted, #888);font-size:.875rem;margin:0 0 1rem;line-height:1.5}.avatar-description-input{width:100%;padding:.875rem;background:#2a2a3e;border:2px solid #3d3d4d;border-radius:.5rem;color:var(--text, #fff);font-size:.9rem;resize:vertical;min-height:80px;font-family:inherit}.avatar-description-input:focus{outline:none;border-color:var(--primary, #7c3aed)}.avatar-description-input::placeholder{color:var(--text-muted, #888);opacity:.7}.char-count{text-align:right;font-size:.75rem;color:var(--text-muted, #666);margin-top:.25rem}.generate-btn{width:100%;margin-top:1rem;padding:.875rem 1.5rem;background:var(--primary, #7c3aed);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.generate-btn:hover:not(:disabled){background:#6d28d9}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generating-status{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;color:var(--text-muted, #888);font-size:.875rem}.loading-spinner{width:20px;height:20px;border:2px solid #3d3d4d;border-top-color:var(--primary, #7c3aed);border-radius:50%;animation:spin 1s linear infinite}.generated-preview{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #3d3d4d}.generated-preview h4{margin:0 0 1rem;font-size:.95rem;color:var(--text, #fff);text-align:center}.sprite-directions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.sprite-direction{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem;background:#1a1a2e;border-radius:.5rem;border:1px solid #3d3d4d}.sprite-direction img{width:48px;height:48px;image-rendering:pixelated;image-rendering:crisp-edges}.sprite-direction span{font-size:.7rem;color:var(--text-muted, #888)}.sprite-saved-note{text-align:center;color:#4ade80;font-size:.875rem;margin:1rem 0 0}.pet-section{display:flex;flex-direction:column;gap:1.5rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem;color:var(--text-muted, #888)}.pet-preview-area{display:flex;flex-direction:column;align-items:center;gap:1rem}.pet-preview-box{width:100px;height:100px;border-radius:.75rem;border:2px solid #3d3d4d;background:#1a1a2e;display:flex;align-items:center;justify-content:center;position:relative}.pet-preview-box[data-enabled=true]{border-color:var(--primary, #7c3aed)}.pet-preview-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pet-preview-display .pet-emoji{font-size:2.5rem}.pet-color-indicator{width:24px;height:8px;border-radius:4px}.preview-empty{color:var(--text-muted, #666);font-size:.875rem}.pet-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9rem;color:var(--text, #fff)}.pet-toggle input{display:none}.pet-toggle .toggle-slider{width:44px;height:24px;background:#3d3d4d;border-radius:12px;position:relative;transition:background .2s}.pet-toggle .toggle-slider:after{content:"";position:absolute;width:18px;height:18px;background:#fff;border-radius:50%;top:3px;left:3px;transition:transform .2s}.pet-toggle input:checked+.toggle-slider{background:var(--primary, #7c3aed)}.pet-toggle input:checked+.toggle-slider:after{transform:translate(20px)}.pet-options{display:flex;flex-direction:column;gap:1.25rem}.option-group{display:flex;flex-direction:column;gap:.5rem}.option-group label{font-size:.875rem;font-weight:500;color:var(--text, #fff)}.pet-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.pet-type-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:#2a2a3e;border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition:all .2s}.pet-type-btn:hover{background:#333;border-color:#444}.pet-type-btn.active{background:var(--primary, #7c3aed);border-color:var(--primary, #7c3aed)}.pet-type-btn .pet-emoji{font-size:1.5rem}.pet-type-btn .pet-label{font-size:.75rem;color:var(--text, #fff)}.color-picker{display:flex;gap:.5rem;flex-wrap:wrap}.color-btn{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:var(--primary, #7c3aed);box-shadow:0 0 0 2px #1e1e2e,0 0 0 4px var(--primary, #7c3aed)}.pet-generator{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #3d3d4d}.pet-generator h3{margin:0 0 .5rem;font-size:1rem;color:var(--text, #fff)}.pet-description-input{width:100%;padding:.75rem;background:#2a2a3e;border:2px solid #3d3d4d;border-radius:.5rem;color:var(--text, #fff);font-size:.875rem;resize:vertical;min-height:60px;font-family:inherit}.pet-description-input:focus{outline:none;border-color:var(--primary, #7c3aed)}.pet-description-input::placeholder{color:var(--text-muted, #888);opacity:.7}.pet-baba-yaga-notice{padding:1rem;text-align:center}.pet-current-info{font-size:1.1rem;margin-bottom:.5rem}.pet-notice-text{color:var(--text-muted, #aaa);font-size:.9rem;line-height:1.5}.pet-research-stats{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.75rem;background:#2a2a3e;border-radius:.5rem}.research-stat{display:flex;align-items:center;gap:.5rem}.research-label{font-size:.8rem;color:var(--text-muted, #888);flex:1;text-align:left}.research-value{font-size:.85rem;font-weight:600;color:var(--text, #fff);min-width:2.5rem;text-align:right}.trust-bar{flex:1;height:6px;background:#3d3d4d;border-radius:3px;overflow:hidden}.trust-fill{height:100%;background:#4ade80;border-radius:3px;transition:width .3s}.trust-fill.medium{background:#facc15}.trust-fill.low{background:#ef4444}.pet-actions{margin-top:.5rem}.save-btn{width:100%;padding:.875rem 1.5rem;background:var(--primary, #7c3aed);color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.save-btn:hover:not(:disabled){background:#6d28d9}.save-btn:disabled{opacity:.5;cursor:not-allowed}.housing-profile-section{display:flex;flex-direction:column;gap:1.5rem}.housing-info-block h3{margin:0 0 .75rem;font-size:1rem;color:var(--text, #fff)}.housing-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.housing-info-label{font-size:.85rem;color:var(--text-muted, #888)}.housing-info-value{font-size:.85rem;color:var(--text, #fff);font-weight:500}.housing-info-muted{color:var(--text-muted, #888);font-size:.875rem;line-height:1.5}.housing-zone-type-badge[data-zone-type=faculty]{color:#c084fc}.housing-zone-type-badge[data-zone-type=student_cohort]{color:#60a5fa}.housing-zone-type-badge[data-zone-type=overflow]{color:#fbbf24}@media(max-width:480px){.profile-modal{width:95%;max-height:90vh}.profile-content{padding:1rem}.sprite-directions{gap:.5rem}.sprite-direction{padding:.5rem}.sprite-direction img{width:40px;height:40px}}.agent-approach-notification{position:fixed;top:80px;left:50%;transform:translate(-50%) translateY(-20px);opacity:0;z-index:1000;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #4a9eff;border-radius:12px;padding:16px 20px;min-width:280px;max-width:360px;box-shadow:0 4px 20px #4a9eff4d,0 0 40px #4a9eff1a;transition:opacity .3s ease,transform .3s ease}.agent-approach-notification.visible{opacity:1;transform:translate(-50%) translateY(0)}.approach-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.approach-icon{font-size:20px}.approach-label{font-size:12px;font-weight:600;color:#4a9eff;text-transform:uppercase;letter-spacing:.5px}.approach-content{margin-bottom:12px}.agent-name{font-size:18px;font-weight:600;color:#fff;margin-bottom:4px}.approach-reason{font-size:14px;color:#a0a0b0;line-height:1.4}.approach-timer{position:relative;height:4px;background:#ffffff1a;border-radius:2px;margin-bottom:16px;overflow:hidden}.timer-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#4a9eff,#0f8);border-radius:2px;transition:width 1s linear}.timer-text{position:absolute;right:0;top:-18px;font-size:11px;color:#808090}.approach-actions{display:flex;gap:10px}.approach-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.approach-btn:hover{transform:translateY(-2px)}.approach-btn:active{transform:translateY(0)}.approach-btn.accept{background:linear-gradient(135deg,#4a9eff,#06c);color:#fff;box-shadow:0 4px 12px #4a9eff66}.approach-btn.accept:hover{box-shadow:0 6px 16px #4a9eff80}.approach-btn.dismiss{background:#ffffff1a;color:#808090}.approach-btn.dismiss:hover{background:#ffffff26;color:#a0a0b0}@keyframes approach-pulse{0%,to{box-shadow:0 4px 20px #4a9eff4d,0 0 40px #4a9eff1a}50%{box-shadow:0 4px 24px #4a9eff80,0 0 60px #4a9eff33}}.agent-approach-notification.visible{animation:approach-pulse 2s ease-in-out infinite}.introduction-notification{position:fixed;top:80px;right:20px;transform:translate(20px);opacity:0;z-index:1000;background:linear-gradient(135deg,#1a2e1a,#163e21);border:2px solid #4aff9e;border-radius:12px;padding:16px 20px;min-width:300px;max-width:380px;box-shadow:0 4px 20px #4aff9e4d,0 0 40px #4aff9e1a;transition:opacity .3s ease,transform .3s ease}.introduction-notification.visible{opacity:1;transform:translate(0)}.introduction-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.introduction-icon{font-size:20px}.introduction-label{font-size:12px;font-weight:600;color:#4aff9e;text-transform:uppercase;letter-spacing:.5px}.introduction-content{margin-bottom:16px}.matched-student{display:flex;align-items:center;gap:12px;margin-bottom:12px}.student-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#4aff9e,#0c6);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#1a2e1a;flex-shrink:0}.student-avatar-img{width:48px;height:48px;border-radius:50%;border:2px solid #4aff9e;object-fit:cover;flex-shrink:0}.student-info{flex:1}.student-name{font-size:18px;font-weight:600;color:#fff;margin-bottom:2px}.match-type{display:flex;align-items:center;gap:6px;font-size:13px;color:#4aff9e}.match-icon{font-size:14px}.introduction-reason{font-size:15px;font-weight:500;color:#c0e8c0;line-height:1.5;margin-bottom:12px;padding:8px 12px;background:#4aff9e14;border-left:3px solid #4aff9e;border-radius:0 6px 6px 0}.match-quality{display:flex;align-items:center;gap:10px}.quality-label{font-size:12px;font-weight:500;color:#808090;white-space:nowrap}.quality-bar{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.quality-fill{height:100%;background:linear-gradient(90deg,#4aff9e,#0f8);border-radius:3px;transition:width .3s ease}.async-badge{margin-top:10px;font-size:12px;color:#a0b0a0;font-style:italic}.introduction-timer{position:relative;height:4px;background:#ffffff1a;border-radius:2px;margin-bottom:16px;overflow:hidden}.introduction-timer .timer-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#4aff9e,#0f8);border-radius:2px;transition:width 1s linear}.introduction-timer .timer-text{position:absolute;right:0;top:-18px;font-size:11px;color:#808090}.introduction-actions{display:flex;gap:10px}.introduction-btn{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.introduction-btn:hover{transform:translateY(-2px)}.introduction-btn:active{transform:translateY(0)}.introduction-btn.accept{background:linear-gradient(135deg,#4aff9e,#0c6);color:#1a2e1a;box-shadow:0 4px 12px #4aff9e66}.introduction-btn.accept:hover{box-shadow:0 6px 16px #4aff9e80}.introduction-btn.dismiss{background:#ffffff1a;color:#808090}.introduction-btn.dismiss:hover{background:#ffffff26;color:#a0a0b0}.introduction-notification.success-state{border-color:#4aff9e}.success-message{font-size:15px;color:#c0e8c0;line-height:1.5;text-align:center;padding:8px 0}.introduction-notification.dismissed-state{border-color:#808090;box-shadow:0 4px 20px #80809033,0 0 40px #8080900d}.dismissed-message{font-size:14px;color:#a0a0b0;line-height:1.5;text-align:center;padding:8px 0}@keyframes introduction-pulse{0%,to{box-shadow:0 4px 20px #4aff9e4d,0 0 40px #4aff9e1a}50%{box-shadow:0 4px 24px #4aff9e80,0 0 60px #4aff9e33}}.introduction-notification.visible:not(.success-state):not(.dismissed-state){animation:introduction-pulse 2s ease-in-out infinite}.admin-resource-notification{position:fixed;top:80px;right:20px;z-index:1000;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #ff9f4a;border-radius:12px;padding:16px 20px;min-width:280px;max-width:360px;box-shadow:0 4px 20px #ff9f4a4d,0 0 40px #ff9f4a1a;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease}.admin-resource-notification.visible{opacity:1;transform:translate(0)}.admin-resource-notification.hiding{opacity:0;transform:translate(20px)}.admin-resource-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.admin-resource-label{font-size:12px;font-weight:600;color:#ff9f4a;text-transform:uppercase;letter-spacing:.5px}.admin-resource-body{font-size:14px;color:#a0a0b0;line-height:1.4;margin-bottom:12px}.admin-resource-url{display:block;font-size:13px;color:#4a9eff;word-break:break-all;margin-top:4px}.admin-resource-agent{font-size:13px;color:#808090}.admin-resource-dismiss{background:#ffffff1a;color:#808090;border:none;border-radius:8px;padding:8px 16px;font-size:13px;cursor:pointer;transition:background .15s ease,color .15s ease}.admin-resource-dismiss:hover{background:#ffffff26;color:#a0a0b0}.proximity-chat-overlay{position:absolute;bottom:12px;left:12px;width:300px;display:flex;flex-direction:column;pointer-events:auto;z-index:20}.proximity-chat-log{max-height:180px;overflow-y:auto;background:#00000073;border-radius:6px 6px 0 0;padding:6px 8px;font-size:12px;line-height:1.4;color:#e0e0e0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.proximity-chat-log::-webkit-scrollbar{width:4px}.proximity-chat-log::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.proximity-chat-line{margin-bottom:2px;word-wrap:break-word}.proximity-chat-line .sender{font-weight:600;color:#7cb3ff}.proximity-chat-line .sender.npc{color:gold}.proximity-chat-input-bar{display:flex;background:#0009;border-radius:0 0 6px 6px;border-top:1px solid rgba(255,255,255,.1)}.proximity-chat-input-bar input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:12px;padding:6px 8px;font-family:inherit}.proximity-chat-input-bar input::placeholder{color:#fff6}.proximity-chat-empty{text-align:center;color:#ffffff4d;font-style:italic;padding:8px}.proximity-chat-line.voice{color:#c8b8ff}.proximity-chat-line.voice .sender{color:#b8a0ff}.source-icon{display:inline-flex;align-items:center;margin-right:3px;vertical-align:middle;opacity:.7}.voice-icon{color:#b8a0ff}.zeppelin-banner{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:600px;width:90%}.zeppelin-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#1e3a5f,#0f2847);border:2px solid #3b82f6;border-radius:12px;color:#e2e8f0;box-shadow:0 4px 20px #3b82f64d,0 0 40px #3b82f61a;animation:zeppelin-slide-in .4s ease-out;position:relative}.zeppelin-card.zeppelin-boarding{border-color:#22c55e;box-shadow:0 4px 20px #22c55e4d,0 0 40px #22c55e1a}.zeppelin-card.zeppelin-in-flight{border-color:#3b82f6}.zeppelin-card.zeppelin-landing{border-color:#f59e0b;box-shadow:0 4px 20px #f59e0b4d}@keyframes zeppelin-slide-in{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.zeppelin-icon{flex-shrink:0;color:#60a5fa}.zeppelin-info{flex:1;min-width:0}.zeppelin-title{font-weight:700;font-size:14px;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zeppelin-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:12px;color:#94a3b8}.zeppelin-status-badge{padding:1px 6px;border-radius:4px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.status-boarding{background:#22c55e33;color:#4ade80}.status-in-flight{background:#3b82f633;color:#60a5fa}.status-landing{background:#f59e0b33;color:#fbbf24}.status-announced{background:#94a3b833;color:#94a3b8}.zeppelin-countdown{color:#fbbf24;font-weight:600}.zeppelin-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.zeppelin-board-btn{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.zeppelin-board-btn:hover:not(:disabled){background:#2563eb;transform:scale(1.02)}.zeppelin-board-btn:disabled{opacity:.6;cursor:not-allowed}.zeppelin-teleport-btn{padding:6px 10px;background:#8b5cf633;color:#a78bfa;border:1px solid rgba(139,92,246,.4);border-radius:6px;font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.zeppelin-teleport-btn:hover{background:#8b5cf64d;color:#c4b5fd}.zeppelin-admin-controls{display:flex;gap:4px}.zeppelin-launch-btn{padding:4px 8px;background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.4);border-radius:4px;font-size:11px;cursor:pointer}.zeppelin-launch-btn:hover{background:#22c55e4d}.zeppelin-end-btn{padding:4px 8px;background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.4);border-radius:4px;font-size:11px;cursor:pointer}.zeppelin-end-btn:hover{background:#ef44444d}.zeppelin-dismiss{position:absolute;top:4px;right:8px;background:none;border:none;color:#64748b;font-size:18px;cursor:pointer;padding:2px 4px;line-height:1}.zeppelin-dismiss:hover{color:#94a3b8}.zeppelin-call-btn{background:#1e40af!important;border-color:#3b82f6!important}.zeppelin-call-btn:hover:not(:disabled){background:#1d4ed8!important}.zeppelin-call-btn:disabled{opacity:.5;cursor:not-allowed}.zeppelin-launcher-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.zeppelin-launcher-modal{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:24px;max-width:420px;width:90%;color:#e2e8f0}.zeppelin-launcher-modal h3{margin:0 0 8px;font-size:18px;color:#f1f5f9}.zeppelin-launcher-desc{font-size:13px;color:#94a3b8;margin:0 0 16px;line-height:1.5}.zeppelin-launcher-modal label{display:block;margin-bottom:12px;font-size:13px;color:#94a3b8}.zeppelin-launcher-modal input{display:block;width:100%;margin-top:4px;padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:14px;box-sizing:border-box}.zeppelin-launcher-modal input:focus{outline:none;border-color:#3b82f6}.zeppelin-launcher-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.zeppelin-cancel-btn{padding:8px 16px;background:#334155;color:#94a3b8;border:none;border-radius:6px;cursor:pointer;font-size:13px}.zeppelin-cancel-btn:hover{background:#475569}.zeppelin-confirm-btn{padding:8px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px}.zeppelin-confirm-btn:hover:not(:disabled){background:#2563eb}.zeppelin-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.zeppelin-error{padding:8px 12px;background:#ef444426;border:1px solid rgba(239,68,68,.4);border-radius:6px;color:#f87171;font-size:13px;line-height:1.4;margin-top:4px}.lecture-launch-btn{background:#7c3aed!important}.lecture-launch-btn:hover{background:#6d28d9!important}.lecture-launcher-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.lecture-launcher-modal{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:24px;max-width:420px;width:90%;color:#e2e8f0}.lecture-launcher-modal h3{margin:0 0 8px;font-size:18px;color:#f1f5f9}.lecture-launcher-desc{font-size:13px;color:#94a3b8;margin:0 0 16px;line-height:1.5}.lecture-launcher-modal label{display:block;margin-bottom:12px;font-size:13px;color:#94a3b8}.lecture-launcher-modal input[type=text],.lecture-launcher-modal select{display:block;width:100%;margin-top:4px;padding:8px 12px;background:#0f172a;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:14px;box-sizing:border-box}.lecture-launcher-modal input[type=text]:focus,.lecture-launcher-modal select:focus{outline:none;border-color:#7c3aed}.lecture-launcher-checkbox{display:flex!important;align-items:center;gap:8px;cursor:pointer}.lecture-launcher-checkbox input[type=checkbox]{width:auto;margin:0;accent-color:#7c3aed}.lecture-launcher-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.lecture-cancel-btn{padding:8px 16px;background:#334155;color:#94a3b8;border:none;border-radius:6px;cursor:pointer;font-size:13px}.lecture-cancel-btn:hover{background:#475569}.lecture-confirm-btn{padding:8px 20px;background:#7c3aed;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px}.lecture-confirm-btn:hover:not(:disabled){background:#6d28d9}.lecture-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.connections-hud-btn{position:relative;background:#0009;border:2px solid rgba(74,255,158,.6);border-radius:8px;padding:6px 10px;color:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:4px;transition:all .2s ease}.connections-hud-btn:hover,.connections-hud-btn.active{background:#000c;border-color:#4aff9e}.connections-hud-icon{font-size:16px}.connections-badge{background:#4aff9e;color:#1a2e1a;border-radius:50%;font-size:11px;font-weight:700;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;line-height:1}.connections-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:flex-start;padding-top:80px;z-index:1000}.connections-panel{background:#1a1a2e;border:1px solid rgba(74,255,158,.2);border-radius:12px;width:440px;max-height:70vh;overflow-y:auto;color:#e0e0e0;box-shadow:0 8px 32px #00000080}.connections-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.connections-header h2{margin:0;font-size:16px;font-weight:600}.connections-close-btn{background:none;border:none;color:#999;font-size:18px;cursor:pointer;padding:0 4px}.connections-close-btn:hover{color:#fff}.connections-loading,.connections-empty{padding:40px 20px;text-align:center;color:#999}.connections-empty-icon{font-size:32px;display:block;margin-bottom:8px}.connections-content{padding:8px}.connections-section{margin-bottom:12px}.section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#a0a0b0;text-transform:uppercase;letter-spacing:.5px;padding:8px 12px;margin:0 0 4px}.section-icon{font-size:14px}.connections-list{display:flex;flex-direction:column;gap:6px}.connection-card{padding:12px;border-radius:8px;background:#ffffff08;border-left:3px solid #4aff9e;transition:background .15s}.connection-card:hover{background:#ffffff0f}.connection-card.accepted{border-left-color:#4a9eff}.connection-card-main{display:flex;align-items:flex-start;gap:12px}.connection-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4aff9e,#0c6);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#1a2e1a;flex-shrink:0}.connection-avatar.accepted{background:linear-gradient(135deg,#4a9eff,#06c);color:#fff}.connection-avatar-img{width:40px;height:40px;border-radius:50%;border:2px solid #4aff9e;object-fit:cover;flex-shrink:0}.connection-info{flex:1;min-width:0}.connection-name{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px}.connection-match-type{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;text-transform:uppercase;margin-bottom:4px}.connection-reason{font-size:13px;color:#bbb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.connection-time{font-size:11px;color:#808090}.connection-card-actions{display:flex;gap:8px;margin-top:10px;padding-left:52px}.connection-btn{padding:6px 14px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.connection-btn:hover{transform:translateY(-1px)}.connection-btn:active{transform:translateY(0)}.connection-btn.accept{background:linear-gradient(135deg,#4aff9e,#0c6);color:#1a2e1a;box-shadow:0 2px 8px #4aff9e4d}.connection-btn.accept:hover{box-shadow:0 4px 12px #4aff9e66}.connection-btn.dismiss{background:#ffffff1a;color:#808090}.connection-btn.dismiss:hover{background:#ffffff26;color:#a0a0b0}.bb-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.bb-panel{background:#121218;border:2px solid #2a1f3d;border-radius:12px;width:720px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 40px #ff3c3c14,0 8px 32px #00000080}.bb-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #2a1f3d}.bb-header-left{display:flex;align-items:center;gap:10px}.bb-title{margin:0;color:#e8d5b5;font-size:18px;font-weight:700;letter-spacing:.3px}.bb-streak-badge{background:#2a1a10;border:1px solid #c45e1a;border-radius:20px;padding:3px 10px;color:#f0a050;font-size:12px;font-weight:600}.bb-close-btn{background:none;border:none;color:#888;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.bb-close-btn:hover{color:#e0e0e0}.bb-buck-greeting{display:flex;align-items:flex-start;gap:10px;padding:10px 20px;background:#1a1210;border-bottom:1px solid #2a1f15;font-size:13px}.bb-buck-avatar{color:#c45e1a;font-weight:700;white-space:nowrap}.bb-buck-text{color:#bba888;font-style:italic}.bb-buck-tip{background:#1a1210;border:1px solid #2a1f15;border-radius:6px;padding:10px 14px;margin-bottom:14px;color:#bba888;font-style:italic;font-size:13px}.bb-error{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:#2a1515;border-bottom:1px solid #4a2020;color:#f88;font-size:13px}.bb-error button{background:none;border:none;color:#f88;font-size:16px;cursor:pointer;padding:0 4px}.bb-tabs{display:flex;padding:0 16px;border-bottom:1px solid #2a1f3d;gap:2px}.bb-tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 14px;color:#888;font-size:13px;cursor:pointer;transition:color .15s,border-color .15s}.bb-tab:hover{color:#ccc}.bb-tab.active{color:#e8d5b5;border-bottom-color:#c45e1a}.bb-content{padding:16px 20px;overflow-y:auto;flex:1}.bb-loading{text-align:center;padding:40px 0;color:#888;font-style:italic}.bb-empty{text-align:center;padding:40px 0;color:#888}.bb-empty-hint{font-size:13px;color:#666;margin-top:6px}.bb-success-msg{background:#0a2a15;border:1px solid #1a5a30;border-radius:6px;padding:8px 14px;color:#6c6;font-size:13px;margin-bottom:12px}.bb-bounty-list{display:flex;flex-direction:column;gap:12px}.bb-bounty-card{background:#181820;border:1px solid #2a2a3a;border-radius:8px;padding:14px 16px;position:relative}.bb-bounty-card.featured{border-color:#c45e1a;box-shadow:0 0 12px #c45e1a1a}.bb-bounty-card.my-bounty.open{border-left:3px solid #4c4}.bb-bounty-card.my-bounty.in_progress{border-left:3px solid #cc4}.bb-bounty-card.my-bounty.fulfilled{border-left:3px solid #6c5ce7}.bb-bounty-card.my-bounty.closed{border-left:3px solid #666}.bb-featured-badge{position:absolute;top:8px;right:10px;background:#c45e1a;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.bb-bounty-status-badge{display:inline-block;font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.bb-bounty-reward{color:#e0e0e0;font-size:14px;margin-bottom:6px}.bb-reward-label,.bb-req-label{color:#888;font-size:12px;font-weight:600}.bb-bounty-poster{color:#777;font-size:12px;margin-bottom:8px}.bb-bounty-requirements ul{margin:4px 0 0;padding-left:18px;color:#aaa;font-size:13px}.bb-bounty-requirements li{margin-bottom:2px}.bb-bounty-meta{display:flex;justify-content:space-between;margin-top:10px;color:#666;font-size:12px}.bb-claim-btn{margin-top:10px;width:100%;background:#c45e1a;border:none;border-radius:6px;padding:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.bb-claim-btn:hover:not(:disabled){background:#d4701f}.bb-claim-btn:disabled{opacity:.5;cursor:not-allowed}.bb-close-bounty-btn{margin-top:10px;background:none;border:1px solid #555;border-radius:6px;padding:6px 12px;color:#aaa;font-size:12px;cursor:pointer}.bb-close-bounty-btn:hover{border-color:#888;color:#ccc}.bb-post-form,.bb-activity-form{display:flex;flex-direction:column;gap:14px}.bb-label{display:flex;flex-direction:column;gap:6px;color:#aaa;font-size:13px;font-weight:600}.bb-textarea{background:#181820;border:1px solid #2a2a3a;border-radius:6px;padding:10px 12px;color:#e0e0e0;font-size:13px;font-family:inherit;resize:vertical}.bb-textarea:focus{outline:none;border-color:#c45e1a}.bb-text-input,.bb-number-input{background:#181820;border:1px solid #2a2a3a;border-radius:6px;padding:8px 12px;color:#e0e0e0;font-size:13px;font-family:inherit}.bb-text-input:focus,.bb-number-input:focus{outline:none;border-color:#c45e1a}.bb-number-input{width:80px}.bb-requirements-section{display:flex;flex-direction:column;gap:8px}.bb-requirement-row{display:flex;gap:8px;align-items:center}.bb-quantity-input{background:#181820;border:1px solid #2a2a3a;border-radius:6px;padding:8px 10px;color:#e0e0e0;font-size:13px;width:60px;text-align:center}.bb-quantity-input:focus{outline:none;border-color:#c45e1a}.bb-activity-select{background:#181820;border:1px solid #2a2a3a;border-radius:6px;padding:8px 10px;color:#e0e0e0;font-size:13px;flex:1}.bb-activity-select.full-width{width:100%}.bb-activity-select:focus{outline:none;border-color:#c45e1a}.bb-remove-req-btn{background:none;border:1px solid #444;border-radius:4px;color:#888;font-size:12px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.bb-remove-req-btn:hover{border-color:#f88;color:#f88}.bb-add-req-btn{background:none;border:1px dashed #444;border-radius:6px;padding:6px 12px;color:#888;font-size:12px;cursor:pointer;align-self:flex-start}.bb-add-req-btn:hover{border-color:#aaa;color:#aaa}.bb-checkbox-label{display:flex;align-items:center;gap:8px;color:#aaa;font-size:13px;cursor:pointer}.bb-submit-btn{background:#c45e1a;border:none;border-radius:6px;padding:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.bb-submit-btn:hover:not(:disabled){background:#d4701f}.bb-submit-btn:disabled{opacity:.5;cursor:not-allowed}.bb-streak-display{display:flex;flex-direction:column;gap:16px}.bb-streak-counter{text-align:center;padding:20px}.bb-streak-number{font-size:48px;font-weight:800;color:#f0a050;line-height:1}.bb-streak-label{color:#888;font-size:14px;margin-top:4px}.bb-streak-best{text-align:center;color:#666;font-size:13px}.bb-streak-last{text-align:center;color:#555;font-size:12px}.bb-milestones h4{color:#aaa;font-size:14px;margin:0 0 10px}.bb-milestone{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;margin-bottom:6px}.bb-milestone.unlocked{background:#1a1a10;border:1px solid #c45e1a40}.bb-milestone.locked{background:#141418;border:1px solid #222;opacity:.6}.bb-milestone-streak{font-weight:700;color:#f0a050;min-width:24px}.bb-milestone-label{flex:1;color:#bbb;font-size:13px}.bb-milestone-status{font-size:10px;font-weight:700;letter-spacing:.5px}.bb-milestone.unlocked .bb-milestone-status{color:#c45e1a}.bb-milestone.locked .bb-milestone-status{color:#555}.header-bounty-btn{background:#1a1a2ee6;border:1px solid #2a1f3d;border-radius:4px;padding:4px 10px;color:#e8d5b5;font-size:12px;cursor:pointer;transition:border-color .15s}.header-bounty-btn:hover{border-color:#c45e1a}.bb-claim-card.submitted{border-left:3px solid #f0a050}.bb-claim-card.accepted{border-left:3px solid #4c4}.bb-claim-card.pursuing{border-left:3px solid #888}.bb-claim-card.fulfilled{border-left:3px solid #6c5ce7}.bb-claim-card.rejected{border-left:3px solid #c44}.bb-claim-card.abandoned{border-left:3px solid #555}.bb-claim-status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.bb-claim-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:3px}.bb-claim-status.submitted{background:#2a1a10;color:#f0a050}.bb-claim-status.accepted{background:#0a2a15;color:#6c6}.bb-claim-status.fulfilled{background:#1a1a3a;color:#a29bfe}.bb-claim-status.rejected{background:#2a1515;color:#f88}.bb-claim-status.pursuing{background:#1a1a20;color:#888}.bb-claim-status.abandoned{background:#1a1a1a;color:#666}.bb-claim-claimant{color:#888;font-size:12px;margin-bottom:8px}.bb-claim-evidence{margin-top:8px}.bb-claim-evidence ul{margin:4px 0 0;padding-left:18px;color:#bbb;font-size:13px}.bb-claim-evidence li{margin-bottom:4px}.bb-evidence-link{color:#f0a050;text-decoration:none;font-size:12px}.bb-evidence-link:hover{text-decoration:underline}.bb-claim-actions{display:flex;gap:8px;margin-top:12px}.bb-accept-btn{flex:1;background:#1a3a1a;border:1px solid #3a6a3a;border-radius:6px;padding:8px;color:#6c6;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.bb-accept-btn:hover{background:#1a4a1a}.bb-reject-btn{flex:1;background:#2a1515;border:1px solid #4a2020;border-radius:6px;padding:8px;color:#f88;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.bb-reject-btn:hover{background:#3a1515}.bb-fulfill-btn{flex:1;background:#c45e1a;border:none;border-radius:6px;padding:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.bb-fulfill-btn:hover{background:#d4701f}.bb-greenway{display:flex;flex-direction:column;gap:16px}.bb-greenway-stats{display:flex;gap:20px;justify-content:center;padding:12px;background:#2278321f;border-radius:8px;border:1px solid rgba(34,120,50,.25)}.bb-greenway-stat{display:flex;align-items:center;gap:6px}.bb-greenway-stat-icon{display:inline-block;width:12px;height:12px;border-radius:50%}.bb-flower-icon{background:radial-gradient(circle,#f66 40%,#c33);width:8px;height:8px}.bb-bush-icon{background:radial-gradient(circle,#4c6 30%,#284);width:12px;height:10px;border-radius:40%}.bb-vine-icon{background:linear-gradient(90deg,#284,#4c6,#284);width:16px;height:4px;border-radius:2px}.bb-greenway-stat-count{color:#e8d5b5;font-weight:700;font-size:16px}.bb-greenway-stat-label{color:#8b7a6a;font-size:12px}.bb-greenway-zones-label{text-align:center;color:#6b8a4e;font-size:13px;font-style:italic}.bb-greenway-plant-section h4{margin:0 0 8px;color:#e8d5b5;font-size:14px}.bb-greenway-hint{color:#8b7a6a;font-size:12px;margin:0 0 12px}.bb-greenway-plant-buttons{display:flex;gap:10px}.bb-greenway-plant-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;background:#22783226;border:1px solid rgba(34,120,50,.35);border-radius:8px;color:#c4dea8;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.bb-greenway-plant-btn:hover{background:#2278324d;border-color:#22783299}.bb-greenway-plant-preview{display:block;margin:0 auto 2px}.bb-plant-size{font-size:10px;color:#6b8a4e;font-weight:400}.bb-planting-overlay{position:fixed;top:0;left:0;width:100%;pointer-events:none;z-index:900}.bb-planting-hud{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:#123c12eb;border-bottom:2px solid rgba(34,120,50,.5);pointer-events:auto}.bb-planting-hud-type{color:#c4dea8;font-weight:700;font-size:14px}.bb-planting-hud-hint{color:#8b9b7a;font-size:12px}.bb-planting-cancel-btn{padding:4px 12px;background:#b43c2899;border:1px solid rgba(180,60,40,.8);border-radius:4px;color:#fdd;font-size:12px;cursor:pointer;transition:background .15s}.bb-planting-cancel-btn:hover{background:#c83c28cc}.emoji-menu-bar{display:flex;align-items:center;gap:4px}.emoji-menu-trigger{position:relative;display:flex;align-items:center;gap:5px;height:34px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.emoji-menu-trigger:hover{background:#ffffff14;border-color:#444}.emoji-menu-trigger.open{background:#4f46e526;border-color:var(--primary, #4f46e5)}.emoji-menu-trigger.direct.active{background:#ef444426;border-color:#ef4444}.emoji-menu-trigger-icon{font-size:1rem;line-height:1;flex-shrink:0}.emoji-menu-trigger-label{font-size:12px;font-weight:500;color:#bbb;line-height:1}.emoji-menu-trigger:hover .emoji-menu-trigger-label{color:#eee}.emoji-menu-trigger.open .emoji-menu-trigger-label{color:#c4b5fd}.emoji-menu-trigger-badge{min-width:16px;height:16px;padding:0 4px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;border-radius:8px;flex-shrink:0}.emoji-menu-group{position:relative}.emoji-menu-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:#1e1e2e;border:1px solid #333;border-radius:10px;box-shadow:0 8px 24px #00000080;z-index:1000;overflow:hidden;animation:emojiMenuSlideIn .12s ease-out}@keyframes emojiMenuSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.emoji-menu-dropdown-header{padding:8px 14px 6px;font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #2a2a3a}.emoji-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:0;color:#ccc;font-size:13px;font-weight:400;text-align:left;cursor:pointer;transition:background .1s,color .1s}.emoji-menu-item:hover{background:#ffffff0f;color:#fff}.emoji-menu-item.active{background:#4f46e51f;color:#a78bfa}.emoji-menu-item-icon{font-size:1rem;flex-shrink:0;width:20px;text-align:center}.emoji-menu-item-text{flex:1;display:flex;flex-direction:column;min-width:0}.emoji-menu-item-label{line-height:1.3}.emoji-menu-item-desc{font-size:11px;color:#777;line-height:1.3;margin-top:1px}.emoji-menu-item:hover .emoji-menu-item-desc{color:#999}.emoji-menu-item-badge{min-width:18px;height:18px;padding:0 5px;background:#ef444433;color:#ef4444;font-size:10px;font-weight:600;line-height:18px;text-align:center;border-radius:9px;flex-shrink:0}.smart-go-button{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;background:linear-gradient(135deg,#4f46e5,#6d5ce7);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.smart-go-button:hover{background:linear-gradient(135deg,#5b52f0,#7c6bf0);box-shadow:0 2px 8px #4f46e566;transform:translateY(-1px)}.smart-go-button:active{transform:translateY(0)}.smart-go-emoji{font-size:1.1rem;line-height:1}.smart-go-text{display:flex;flex-direction:column;text-align:left}.smart-go-label{font-size:13px;font-weight:600;line-height:1.2}.smart-go-hint{font-size:10px;font-weight:400;opacity:.8;line-height:1.2}.hamburger-menu{position:relative}.hamburger-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:34px;padding:0;background:transparent;border:1px solid #444;border-radius:8px;cursor:pointer;transition:all .15s ease}.hamburger-trigger:hover{background:#ffffff14;border-color:#666}.hamburger-trigger.open{background:#4f46e526;border-color:var(--primary, #4f46e5)}.hamburger-icon{display:block;width:16px;height:2px;background:#bbb;position:relative;transition:background .2s}.hamburger-icon:before,.hamburger-icon:after{content:"";display:block;width:16px;height:2px;background:#bbb;position:absolute;left:0;transition:transform .2s}.hamburger-icon:before{top:-5px}.hamburger-icon:after{top:5px}.hamburger-trigger:hover .hamburger-icon,.hamburger-trigger:hover .hamburger-icon:before,.hamburger-trigger:hover .hamburger-icon:after{background:#eee}.hamburger-trigger.open .hamburger-icon{background:transparent}.hamburger-trigger.open .hamburger-icon:before{background:#c4b5fd;transform:rotate(45deg) translate(3.5px,3.5px)}.hamburger-trigger.open .hamburger-icon:after{background:#c4b5fd;transform:rotate(-45deg) translate(3.5px,-3.5px)}.hamburger-panel{position:absolute;top:calc(100% + 6px);right:0;width:260px;max-height:70vh;overflow-y:auto;background:#1e1e2e;border:1px solid #333;border-radius:12px;box-shadow:0 12px 40px #00000080;z-index:1001;animation:emojiMenuSlideIn .12s ease-out}.hamburger-panel-header{padding:12px 16px 10px;font-size:15px;font-weight:600;color:#eee;border-bottom:1px solid #2a2a3a}.hamburger-section{padding:4px 0;border-bottom:1px solid #2a2a3a}.hamburger-section:last-child{border-bottom:none}.hamburger-section-title{padding:8px 16px 4px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.hamburger-section .emoji-menu-item{padding:10px 16px}@media(max-width:900px){.emoji-menu-trigger-label{display:none}.emoji-menu-trigger{padding:0;width:34px;justify-content:center}.smart-go-text .smart-go-hint{display:none}}@media(max-width:768px){.emoji-menu-bar .emoji-menu-group,.emoji-menu-bar .emoji-menu-trigger.direct{display:none}.smart-go-button{height:32px;padding:0 10px}.hamburger-panel{width:240px;right:-4px}}@media(max-width:480px){.smart-go-label{font-size:12px}.hamburger-panel{width:calc(100vw - 32px);right:-8px}}.meetup-reminder{position:fixed;bottom:24px;right:24px;display:flex;gap:12px;background:#1a1a2ef2;border:1px solid rgba(100,181,246,.4);border-radius:12px;padding:14px 16px;max-width:340px;z-index:500;box-shadow:0 8px 32px #00000080;color:#e2e8f0;transform:translate(120%);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.meetup-reminder.visible{transform:translate(0);opacity:1}.meetup-reminder.starting{border-color:#66bb6a99}.meetup-reminder-icon{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#1a237e,#283593);border:2px solid rgba(100,181,246,.5);display:flex;align-items:center;justify-content:center;font-size:22px;animation:meetup-pulse 2s ease-in-out infinite}.meetup-reminder.starting .meetup-reminder-icon{border-color:#66bb6a99;background:linear-gradient(135deg,#1b5e20,#2e7d32)}@keyframes meetup-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.meetup-reminder-body{flex:1;min-width:0}.meetup-reminder-header{margin-bottom:2px}.meetup-reminder-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64b5f6}.meetup-reminder.starting .meetup-reminder-label{color:#66bb6a}.meetup-reminder-title{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px;line-height:1.3}.meetup-reminder-location{font-size:12px;color:#64b5f6;margin-bottom:2px;font-weight:500}.meetup-reminder.urgent .meetup-reminder-location{color:#ffb74d}.meetup-reminder-meta{font-size:12px;color:#94a3b8;margin-bottom:8px}.meetup-reminder-timer{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:10px}.meetup-reminder-timer-bar{height:100%;background:#64b5f6;border-radius:2px;transition:width 1s linear}.meetup-reminder.starting .meetup-reminder-timer-bar{background:#66bb6a}.meetup-reminder-actions{display:flex;gap:8px}.meetup-reminder-btn{padding:5px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.meetup-reminder-btn.head-over{background:#64b5f6;color:#0d1117}.meetup-reminder-btn.head-over:hover{background:#42a5f5;transform:translateY(-1px)}.meetup-reminder.starting .meetup-reminder-btn.head-over{background:#66bb6a}.meetup-reminder.starting .meetup-reminder-btn.head-over:hover{background:#4caf50}.meetup-reminder-btn.dismiss{background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.meetup-reminder-btn.dismiss:hover{background:#ffffff26;color:#e2e8f0}.meetup-panel-overlay{position:fixed;inset:0;background:#00000080;z-index:600;display:flex;align-items:center;justify-content:center}.meetup-panel{background:#1a1a2e;border:1px solid rgba(100,181,246,.3);border-radius:12px;width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 16px 64px #0009}.meetup-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.meetup-panel-header h2{margin:0;font-size:18px;color:#e2e8f0}.meetup-panel-close{background:none;border:none;color:#94a3b8;font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.meetup-panel-close:hover{color:#e2e8f0}.meetup-panel-content{padding:16px 20px;overflow-y:auto;flex:1}.meetup-create-btn{width:100%;padding:10px;background:#64b5f61a;border:1px dashed rgba(100,181,246,.4);border-radius:8px;color:#64b5f6;font-size:14px;font-weight:600;cursor:pointer;margin-bottom:16px;transition:all .15s}.meetup-create-btn:hover{background:#64b5f633;border-color:#64b5f6}.meetup-create-form{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:14px;margin-bottom:16px}.meetup-create-form h3{margin:0 0 10px;font-size:15px;color:#e2e8f0}.meetup-form-input,.meetup-form-textarea,.meetup-form-select{width:100%;padding:8px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#e2e8f0;font-size:13px;margin-bottom:8px;font-family:inherit;box-sizing:border-box}.meetup-form-input:focus,.meetup-form-textarea:focus,.meetup-form-select:focus{outline:none;border-color:#64b5f6}.meetup-form-textarea{resize:vertical}.meetup-form-row{display:flex;gap:8px}.meetup-form-row>*{flex:1}.meetup-form-actions{display:flex;gap:8px;margin-top:4px}.meetup-form-submit{padding:8px 16px;background:#64b5f6;color:#0d1117;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.meetup-form-submit:hover{background:#42a5f5}.meetup-form-submit:disabled{opacity:.5;cursor:not-allowed}.meetup-form-cancel{padding:8px 16px;background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:13px;cursor:pointer}.meetup-form-cancel:hover{color:#e2e8f0}.meetup-loading,.meetup-empty{text-align:center;padding:24px;color:#64748b;font-size:14px}.meetup-list{display:flex;flex-direction:column;gap:10px}.meetup-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px}.meetup-card.active{border-color:#66bb6a66}.meetup-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.meetup-card-icon{font-size:16px}.meetup-card-category{font-size:11px;color:#64b5f6;text-transform:capitalize;font-weight:600}.meetup-card-organizer-badge{font-size:10px;background:#64b5f626;color:#64b5f6;padding:1px 6px;border-radius:4px;margin-left:auto}.meetup-card-title{font-size:14px;font-weight:600;color:#e2e8f0;margin-bottom:4px}.meetup-card-description{font-size:12px;color:#94a3b8;margin-bottom:6px;line-height:1.4}.meetup-card-meta{display:flex;gap:12px;font-size:11px;color:#64748b;margin-bottom:8px}.meetup-card-footer{display:flex;align-items:center;justify-content:space-between}.meetup-card-rsvp-count{font-size:12px;color:#94a3b8}.meetup-card-btn{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.meetup-card-btn.rsvp{background:#64b5f6;color:#0d1117}.meetup-card-btn.rsvp:hover{background:#42a5f5}.meetup-card-btn.rsvp:disabled{opacity:.5;cursor:not-allowed}.meetup-card-btn.unrsvp{background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.meetup-card-btn.unrsvp:hover{color:#e2e8f0}.meetup-card-btn.cancel{background:#f4433626;color:#ef5350}.meetup-card-btn.cancel:hover{background:#f4433640}.meetup-card-host{font-size:11px;color:#475569;margin-top:6px}.meetup-card-location{display:flex;align-items:center;gap:4px;font-size:12px;color:#94a3b8;margin-bottom:8px}.meetup-card-location-icon{font-size:12px}.meetup-card-location-badge{font-size:10px;padding:1px 6px;border-radius:4px;margin-left:4px}.meetup-card-location-badge.public{background:#66bb6a26;color:#66bb6a}.meetup-card-location-badge.dorm{background:#ffb74d26;color:#ffb74d}.meetup-card-location-badge.classroom{background:#ab47bc26;color:#ab47bc}.meetup-form-label{display:block;font-size:12px;color:#94a3b8;margin-bottom:4px;margin-top:4px;font-weight:600}.meetup-form-location-hint{font-size:11px;color:#64748b;margin-top:-4px;margin-bottom:8px;padding-left:2px}.meetup-organizer-link-wrapper{position:relative;display:inline-block}.meetup-organizer-link{background:none;border:none;color:#64b5f6;cursor:pointer;font-size:11px;padding:0;text-decoration:underline;text-decoration-style:dotted;font-family:inherit}.meetup-organizer-link:hover{color:#90caf9}.meetup-organizer-pronouns{color:#64748b;font-size:10px}.meetup-organizer-popup{position:absolute;bottom:100%;left:0;background:#1e1e3a;border:1px solid rgba(100,181,246,.3);border-radius:8px;padding:10px 12px;min-width:200px;box-shadow:0 8px 32px #00000080;z-index:10;margin-bottom:4px}.meetup-organizer-popup-header{display:flex;align-items:center;gap:4px;margin-bottom:8px;font-size:13px;color:#e2e8f0}.meetup-organizer-popup-close{background:none;border:none;color:#94a3b8;font-size:16px;cursor:pointer;margin-left:auto;padding:0 2px;line-height:1}.meetup-organizer-popup-close:hover{color:#e2e8f0}.meetup-organizer-popup-row{font-size:12px;color:#94a3b8;margin-bottom:4px}.meetup-organizer-popup-row a{color:#64b5f6;text-decoration:none}.meetup-organizer-popup-row a:hover{text-decoration:underline}.meetup-organizer-popup-label{color:#64748b;margin-right:4px}.meetup-organizer-popup-empty{color:#475569;font-style:italic}.meetup-panel-tabs{display:flex;gap:4px;margin-left:12px}.meetup-panel-tab{background:none;border:none;color:#64748b;font-size:12px;font-weight:600;padding:4px 12px;border-radius:6px;cursor:pointer;transition:all .15s}.meetup-panel-tab:hover{color:#94a3b8;background:#ffffff0d}.meetup-panel-tab.active{color:#64b5f6;background:#64b5f61a}.meetup-card-live-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:#ef535033;color:#ef5350;animation:meetup-live-pulse 1.5s ease-in-out infinite}@keyframes meetup-live-pulse{0%,to{opacity:1}50%{opacity:.6}}.meetup-card-btn.checkin{background:#66bb6a;color:#0d1117;font-weight:700}.meetup-card-btn.checkin:hover{background:#4caf50}.meetup-card-btn.complete{background:#64b5f626;color:#64b5f6;border:1px solid rgba(100,181,246,.3)}.meetup-card-btn.complete:hover{background:#64b5f640}.meetup-card-checked-in{font-size:11px;color:#66bb6a;font-weight:600}.meetup-analytics{padding:4px 0}.meetup-analytics-section-title{font-size:14px;font-weight:700;color:#e2e8f0;margin:0 0 12px}.meetup-analytics-subtitle{font-size:12px;font-weight:600;color:#94a3b8;margin:16px 0 8px}.meetup-analytics-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.meetup-analytics-stat{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 8px;text-align:center}.meetup-analytics-stat-value{font-size:20px;font-weight:700;color:#e2e8f0;line-height:1.2}.meetup-analytics-stat-label{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.meetup-analytics-rate-bar{display:flex;align-items:center;gap:8px;margin-bottom:4px}.meetup-analytics-rate-label{font-size:11px;color:#94a3b8;min-width:100px}.meetup-analytics-rate-track{flex:1;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.meetup-analytics-rate-fill{height:100%;border-radius:3px;transition:width .5s ease}.meetup-analytics-rate-value{font-size:12px;font-weight:600;color:#e2e8f0;min-width:36px;text-align:right}.meetup-analytics-list{display:flex;flex-direction:column;gap:8px}.meetup-analytics-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 12px}.meetup-analytics-item.compact{padding:6px 12px}.meetup-analytics-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.meetup-analytics-item-title{font-size:13px;font-weight:600;color:#e2e8f0}.meetup-analytics-item-status{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px}.meetup-analytics-item-status.completed{background:#66bb6a26;color:#66bb6a}.meetup-analytics-item-status.cancelled{background:#ef535026;color:#ef5350}.meetup-analytics-item-status.upcoming{background:#64b5f626;color:#64b5f6}.meetup-analytics-item-status.active{background:#ffb74d26;color:#ffb74d}.meetup-analytics-item-meta{display:flex;gap:12px;font-size:11px;color:#64748b;margin-bottom:4px}.meetup-analytics-attendees{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:4px}.meetup-analytics-attendee{display:flex;align-items:center;gap:8px;font-size:12px;color:#94a3b8}.meetup-analytics-attendee-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.meetup-analytics-attendee-indicator.present{background:#66bb6a}.meetup-analytics-attendee-indicator.absent{background:#ef5350}.meetup-analytics-attendee-time{font-size:10px;color:#475569;margin-left:auto}.meetup-analytics-attendee-absent{font-size:10px;color:#ef5350;margin-left:auto}.meetup-analytics-attendees-empty{font-size:12px;color:#475569;font-style:italic}.tool-confirm{position:fixed;top:80px;right:24px;display:flex;flex-direction:column;background:#1a1a2ef5;border:1px solid rgba(167,139,250,.45);border-radius:12px;padding:14px 16px;max-width:380px;min-width:300px;z-index:550;box-shadow:0 8px 32px #00000080,0 0 20px #a78bfa14;color:#e2e8f0;transform:translate(120%);opacity:0;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.tool-confirm.visible{transform:translate(0);opacity:1}.tool-confirm-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tool-confirm-icon{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4a148c,#6a1b9a);border:2px solid rgba(167,139,250,.5);display:flex;align-items:center;justify-content:center;font-size:16px;animation:tool-pulse 2s ease-in-out infinite}@keyframes tool-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tool-confirm-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#a78bfa}.tool-confirm-emote{font-size:13px;font-style:italic;color:#c4b5fd;margin-bottom:10px;line-height:1.3}.tool-confirm-fields{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.tool-confirm-field{display:flex;flex-direction:column;gap:2px}.tool-confirm-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#94a3b8}.tool-confirm-field-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 8px;font-size:13px;color:#e2e8f0;font-family:inherit;resize:none;outline:none;transition:border-color .15s}.tool-confirm-field-input:focus{border-color:#a78bfa99}.tool-confirm-field-input:read-only{color:#64748b;cursor:default}.tool-confirm-field-input.textarea{min-height:48px}.tool-confirm-timer{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin-bottom:10px}.tool-confirm-timer-bar{height:100%;background:#a78bfa;border-radius:2px;transition:width 1s linear}.tool-confirm-actions{display:flex;gap:8px}.tool-confirm-btn{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:all .15s}.tool-confirm-btn.submit{background:#a78bfa;color:#0d1117}.tool-confirm-btn.submit:hover{background:#8b5cf6;transform:translateY(-1px)}.tool-confirm-btn.cancel{background:#ffffff14;color:#94a3b8;border:1px solid rgba(255,255,255,.15)}.tool-confirm-btn.cancel:hover{background:#ffffff26;color:#e2e8f0}.video-captions-toggle{position:absolute;bottom:8px;left:8px;z-index:20;display:flex;align-items:center;gap:6px;padding:10px 16px;background:#000000d9;border:2px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.video-captions-toggle:hover{background:#000000f2;border-color:#ffffffb3}.video-captions-toggle.active{background:#000000e6;border-color:gold;color:gold}.video-captions-toggle svg{flex-shrink:0}.video-captions-overlay{position:absolute;bottom:56px;left:0;right:0;z-index:15;padding:8px 16px;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;pointer-events:none;max-height:180px;overflow:hidden}.video-caption-line{background:#000;padding:10px 18px;border-radius:4px;font-size:18px;font-weight:600;line-height:1.4;text-align:left;color:gold;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:1px 1px 2px rgba(0,0,0,1);opacity:1;transition:opacity .4s ease}.video-caption-line.fading{opacity:.6}.video-caption-line.latest{opacity:1;border-left:3px solid #FFD700}.video-caption-speaker{color:#fff;font-weight:800;margin-right:8px;text-transform:uppercase;font-size:.85em;letter-spacing:.5px}.video-caption-text{color:gold}.video-captions-waiting{position:absolute;bottom:56px;left:0;right:0;z-index:15;background:#000;padding:10px 16px;font-size:16px;font-weight:600;color:gold;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none}.captions-listening-indicator{width:10px;height:10px;background:gold;border-radius:50%}@media(max-width:768px){.video-captions-overlay{padding:6px 10px;bottom:52px;max-height:160px}.video-caption-line{font-size:16px;padding:8px 14px}.video-captions-toggle{padding:9px 14px;font-size:14px}.video-captions-waiting{bottom:52px;font-size:14px;padding:8px 12px}}@media(max-width:480px){.video-captions-overlay{max-height:140px;bottom:48px;padding:4px 6px;gap:4px}.video-caption-line{font-size:15px;padding:7px 12px}.video-captions-toggle{padding:8px 12px;font-size:13px;bottom:6px;left:6px}.video-captions-waiting{bottom:48px;font-size:13px;padding:8px 10px}}@media(prefers-reduced-motion:reduce){.video-caption-line{transition:none}}.user-list{position:absolute;top:1rem;right:1rem;background:var(--bg-card);border-radius:.75rem;padding:.75rem;min-width:180px;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0006;z-index:40}.user-list-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid #333;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.user-count{background:var(--primary);color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:9999px}.user-list-items{list-style:none}.user-item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.user-avatar{width:24px;height:24px;background:var(--primary);border-radius:4px}.user-name{font-size:.875rem;color:var(--text)}.mobile-layout{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background:#0d0d1a}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#14141c;border-bottom:1px solid #333;flex-shrink:0;z-index:100;min-height:44px}.mobile-header-left{display:flex;align-items:center;gap:8px}.mobile-title{font-size:16px;font-weight:700;color:#fff;margin:0;letter-spacing:1px}.mobile-status{width:8px;height:8px;border-radius:50%}.mobile-status.connected{background:#22c55e}.mobile-status.disconnected{background:#ef4444}.mobile-header-right{display:flex;align-items:center;gap:8px}.mobile-pip-toggle{background:#3b82f633;color:#3b82f6;border:1px solid #3b82f6;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer}.mobile-pip-toggle.active{background:#3b82f6;color:#fff}.mobile-dnd-btn{background:transparent;color:#888;border:1px solid #444;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600}.mobile-dnd-btn.active{background:#ef444433;color:#ef4444;border-color:#ef4444}.mobile-profile-btn{width:28px;height:28px;border-radius:50%;background:#3b82f6;color:#fff;border:none;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.mobile-content{flex:1;overflow:hidden;position:relative}.mobile-map-view{width:100%;height:100%;position:relative;overflow:hidden}.mobile-canvas-wrapper{width:100%;height:100%;position:relative}.mobile-pip-call{position:absolute;top:8px;right:8px;width:120px;height:90px;border-radius:8px;overflow:hidden;border:2px solid rgba(59,130,246,.5);box-shadow:0 4px 12px #00000080;z-index:200;cursor:pointer}.mobile-pip-tap-hint{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:8px;text-align:center;padding:2px}.mobile-call-fullscreen{width:100%;height:100%;position:relative;background:#000}.mobile-back-to-map{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;border:1px solid #555;padding:6px 12px;border-radius:6px;font-size:12px;z-index:100;cursor:pointer}.mobile-chat-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.mobile-chat-rooms{flex:0 0 auto;max-height:40%;overflow-y:auto;border-bottom:1px solid #333}.mobile-chat-messages{flex:1;overflow:hidden;display:flex;flex-direction:column}.mobile-chat-messages .chat-bottom-panel{height:100%!important;max-height:none!important;flex:1}.mobile-chat-messages .chat-bottom-panel.collapsed{height:100%!important}.mobile-classes-view{height:100%;overflow-y:auto;padding:12px;-webkit-overflow-scrolling:touch}.mobile-classes-header{margin-bottom:16px}.mobile-classes-header h3{font-size:16px;color:#fff;margin:0 0 4px}.mobile-current-location{font-size:12px;color:#888}.mobile-classes-quicknav{margin-bottom:20px}.mobile-section-subtitle{font-size:13px;color:#aaa;margin:0 0 4px;font-weight:600}.mobile-nav-hint{font-size:11px;color:#666;margin:0 0 12px}.mobile-building-list{display:flex;flex-direction:column;gap:6px}.mobile-building-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#1a1a24;border:1px solid #333;border-radius:8px;color:#fff;text-align:left;cursor:pointer;transition:background .15s;width:100%}.mobile-building-btn:hover,.mobile-building-btn:active{background:#222230;border-color:#3b82f6}.mobile-building-color{width:10px;height:32px;border-radius:3px;flex-shrink:0}.mobile-building-info{flex:1;display:flex;flex-direction:column}.mobile-building-name{font-size:14px;font-weight:600}.mobile-building-fullname{font-size:11px;color:#888}.mobile-nav-arrow{color:#666;font-size:18px}.mobile-people-view{height:100%;overflow-y:auto;padding:12px;-webkit-overflow-scrolling:touch}.mobile-people-section{margin-bottom:20px}.mobile-section-title{font-size:14px;color:#fff;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #333}.mobile-people-section .user-list{position:static;width:100%;max-height:none;background:transparent;border:none}.mobile-nearby-list,.mobile-npc-list{list-style:none;padding:0;margin:0}.mobile-nearby-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:#ccc}.mobile-nearby-dot{width:6px;height:6px;border-radius:50%;background:#22c55e}.mobile-nearby-empty{color:#666;font-size:12px;padding:8px 0}.mobile-npc-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.mobile-npc-name{font-size:13px;color:#ccc}.mobile-npc-role{font-size:11px;color:#666}.mobile-menu-view{height:100%;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mobile-menu-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;background:#1a1a24;border:1px solid #333;border-radius:10px;color:#ccc;font-size:12px;cursor:pointer;transition:background .15s}.mobile-menu-item:active{background:#222230}.mobile-menu-icon{width:36px;height:36px;border-radius:50%;background:#3b82f626;color:#3b82f6;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.mobile-menu-icon.active{background:#ef444426;color:#ef4444}.mobile-menu-logout{border-color:#ef44444d}.mobile-menu-logout .mobile-menu-icon{background:#ef444426;color:#ef4444}.mobile-tab-bar{display:flex;background:#14141c;border-top:1px solid #333;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0px);z-index:100}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px 6px;background:transparent;border:none;color:#666;cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent}.mobile-tab.active{color:#3b82f6}.mobile-tab-primary{color:#888}.mobile-tab-primary.active{color:#22c55e}.mobile-tab-icon{font-size:12px;font-weight:700;letter-spacing:.5px}.mobile-tab-label{font-size:10px}.world-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.world-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-card);border-bottom:1px solid #333;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.header-left h1{font-size:1.25rem;margin:0}.status{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem}.status.connected{background:#22c55e33;color:var(--success)}.status.disconnected{background:#ef444433;color:var(--error)}.header-right{display:flex;align-items:center;gap:1rem}.username{color:var(--text-muted)}.profile-btn{background:transparent;color:var(--text-muted);padding:.5rem 1rem;border:1px solid #444;font-size:.875rem}.profile-btn:hover{background:#ffffff0d;color:var(--text);border-color:var(--primary)}.logout-btn{background:transparent;color:var(--text-muted);padding:.5rem 1rem;border:1px solid #444;font-size:.875rem}.logout-btn:hover{background:#ffffff0d;color:var(--text)}.dnd-btn{background:transparent;color:var(--text-muted);padding:.5rem .75rem;border:1px solid #444;font-size:.75rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .2s}.dnd-btn:hover{background:#ffffff0d;color:var(--text);border-color:#666}.dnd-btn.active{background:#ef444433;color:#ef4444;border-color:#ef4444}.dnd-btn.active:hover{background:#ef44444d}.admin-btn{background:#7c3aed;color:#fff;padding:.5rem .75rem;border:none;font-size:.75rem;font-weight:600;border-radius:4px;cursor:pointer;transition:background .2s}.admin-btn:hover{background:#6d28d9}.header-quest-btn{background:transparent;color:var(--text-muted);padding:.5rem .75rem;border:1px solid #444;font-size:.875rem;border-radius:4px;cursor:pointer;transition:all .2s}.header-quest-btn:hover{background:#ffffff0d;color:var(--text);border-color:#e94560}.header-garden-btn{background:transparent;color:#10b981;padding:.5rem .75rem;border:1px solid #065f46;font-size:.75rem;border-radius:4px;cursor:pointer;transition:all .2s}.header-garden-btn:hover{background:#10b9811a;border-color:#10b981}.header-right .zone-toggle-btn{background:transparent;color:var(--text-muted);padding:.5rem .75rem;border:1px solid #444;font-size:.75rem;font-weight:600;border-radius:4px;cursor:pointer;transition:all .2s}.header-right .zone-toggle-btn:hover{background:#ffffff0d;color:var(--text);border-color:#666}.world-main{flex:1;display:flex;flex-direction:row;position:relative;overflow:hidden}.chat-left-sidebar{width:180px;min-width:180px;background:#1a1a24;border-right:1px solid #333;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.chat-left-sidebar.hidden{display:none}.chat-room-list{display:flex;flex-direction:column;height:100%}.chat-room-list-header{padding:12px 14px;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between}.chat-room-list-header h3{font-size:14px;font-weight:600;color:#fff;margin:0}.connection-dot{width:8px;height:8px;border-radius:50%}.connection-dot.connected{background:#22c55e}.connection-dot.disconnected{background:#ef4444}.chat-room-list-content{flex:1;overflow-y:auto;padding:8px 0;scrollbar-width:none;-ms-overflow-style:none}.chat-room-list-content::-webkit-scrollbar{display:none}.no-rooms-message{padding:16px 14px;color:#666;font-size:12px;text-align:center}.room-section{margin-bottom:8px}.room-section-title{padding:4px 14px 6px;font-size:10px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.chat-room-item{width:100%;display:flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:none;color:#aaa;font-size:13px;text-align:left;cursor:pointer;transition:background .15s,color .15s}.chat-room-item:hover{background:#ffffff0d;color:#fff}.chat-room-item.active{background:#3b82f6;color:#fff}.chat-room-item .room-hash{color:#666;font-weight:500}.chat-room-item.active .room-hash{color:#ffffffb3}.chat-room-item .room-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-room-item .unread-badge{background:#ef4444;color:#fff;font-size:10px;font-weight:600;padding:1px 5px;border-radius:10px;min-width:18px;text-align:center}.chat-room-item.active .unread-badge{background:#fff;color:#3b82f6}.online-section{border-bottom:1px solid #333;padding-bottom:8px;margin-bottom:8px}.online-section .room-section-title{display:flex;align-items:center;justify-content:space-between}.online-count{background:#22c55e;color:#fff;font-size:10px;font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.online-users-list{max-height:120px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.online-users-list::-webkit-scrollbar{display:none}.online-user-item{display:flex;align-items:center;gap:8px;padding:4px 14px;font-size:12px;color:#aaa}.online-user-item.self{color:#fff}.online-user-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0}.online-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-content-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.world-content-area{flex:1;display:flex;flex-direction:row;position:relative;overflow:hidden;min-height:0}.chat-bottom-panel{background:#1a1a24;border-top:1px solid #333;display:flex;flex-direction:column;flex-shrink:0;position:relative}.chat-bottom-panel.resizing{transition:none!important}.chat-resize-handle{position:absolute;top:0;left:0;right:0;height:6px;cursor:ns-resize;background:transparent;z-index:10}.chat-resize-handle:hover{background:linear-gradient(to bottom,rgba(59,130,246,.5),transparent)}.chat-resize-handle:before{content:"";position:absolute;top:2px;left:50%;transform:translate(-50%);width:40px;height:3px;background:#444;border-radius:2px;opacity:0;transition:opacity .2s}.chat-resize-handle:hover:before{opacity:1}.chat-bottom-header{padding:8px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;background:#14141c}.chat-bottom-header:hover{background:#1a1a28}.chat-bottom-room-name,.chat-bottom-title{font-size:13px;font-weight:500;color:#fff}.chat-expand-btn{color:#666;font-size:10px}.chat-bottom-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#666;font-size:13px}.chat-bottom-messages{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:4px}.chat-loading,.chat-empty{color:#666;font-size:12px;text-align:center;padding:16px}.chat-message{display:flex;gap:6px;font-size:13px;line-height:1.4}.chat-message-sender{color:#3b82f6;font-weight:500;flex-shrink:0}.chat-message-content{color:#e0e0e0;word-break:break-word}.chat-message-image{display:block;margin-top:4px}.chat-message-image img{display:block;border-radius:4px;border:1px solid #333;transition:opacity .2s}.chat-message-image img:hover{opacity:.9}.chat-bottom-input{display:flex;gap:8px;padding:8px 14px 12px;border-top:1px solid #333;flex-shrink:0}.chat-bottom-input input{flex:1;background:#0d0d12;border:1px solid #333;border-radius:4px;padding:8px 12px;color:#fff;font-size:13px}.chat-bottom-input input:focus{outline:none;border-color:#3b82f6}.chat-bottom-input input::placeholder{color:#666}.chat-bottom-input button{background:#3b82f6;border:none;border-radius:4px;padding:8px 16px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.chat-bottom-input button:hover:not(:disabled){background:#2563eb}.chat-bottom-input button:disabled{background:#333;color:#666;cursor:not-allowed}.world-main.view-campus{flex-direction:row}.world-main.view-campus .world-video-area{background:#0a0a0f;display:flex;flex-direction:column;overflow:hidden;min-height:0}.world-main.view-campus .world-video-area.hidden{display:none!important;flex:0 0 0!important;width:0!important;height:0!important}.world-main.view-campus.no-call .world-canvas-area{flex:1;position:relative;overflow:hidden;width:100%;height:100%}.world-main.view-campus .world-canvas-area{flex:1;position:relative;overflow:hidden;transition:flex .3s ease}.world-main.view-campus.has-call .world-content-area{flex-direction:row}.world-main.view-campus.has-call .world-video-area{flex:1;height:100%;min-height:auto;min-width:300px}.world-main.view-campus.has-call .world-canvas-area{flex:0 0 350px;height:100%;min-height:auto;border-left:1px solid #333}.world-main.view-campus.has-call.participants-3 .world-canvas-area{flex:0 0 300px}.world-main.view-campus.has-call.participants-4 .world-canvas-area{flex:0 0 280px}.world-main.view-campus.has-call.participants-5plus .world-canvas-area{flex:0 0 250px}.world-main.view-meeting .world-content-area{flex-direction:row}.world-main.view-meeting .world-video-area{flex:1;background:#0a0a0f;display:flex;flex-direction:column;overflow:hidden}.world-main.view-meeting .world-canvas-area{position:absolute;bottom:220px;left:1rem;width:180px;height:135px;border-radius:.5rem;overflow:hidden;box-shadow:0 4px 12px #00000080;z-index:100;border:2px solid #333}.world-main.view-class .world-content-area{flex-direction:row}.world-main.view-class .world-video-area{flex:1;background:#000;display:flex;flex-direction:column;overflow:hidden;position:relative}.world-main.view-class .world-canvas-area,.world-main.view-class .user-list{display:none}.world-canvas-area{position:relative;overflow:hidden}.world-video-area.hidden{display:none}.view-mode-switcher{position:relative}.view-mode-btn{background:transparent;color:var(--text-muted);padding:.5rem 1rem;border:1px solid #444;font-size:.875rem;cursor:pointer}.view-mode-btn:hover,.view-mode-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.view-mode-dropdown{display:none;position:absolute;top:100%;right:0;background:var(--bg-card);border:1px solid #333;border-radius:.5rem;overflow:hidden;z-index:1000;min-width:150px;box-shadow:0 4px 12px #0000004d}.view-mode-switcher:hover .view-mode-dropdown{display:block}.view-mode-dropdown button{display:block;width:100%;padding:.75rem 1rem;text-align:left;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:.875rem}.view-mode-dropdown button:hover{background:#ffffff1a}.view-mode-dropdown button.active{background:var(--primary);color:#fff}.meeting-mode-btn{background:transparent;color:var(--text-muted);padding:.5rem 1rem;border:1px solid #444;font-size:.875rem}.meeting-mode-btn:hover,.meeting-mode-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}@media(max-width:768px){.world-header{padding:.5rem;flex-wrap:wrap;gap:.5rem}.header-left h1{font-size:1rem}.header-right{gap:.5rem}.username{display:none}.profile-btn,.logout-btn,.view-mode-btn{padding:.4rem .6rem;font-size:.75rem}.chat-left-sidebar{display:none}.world-main.view-campus,.world-main.view-campus .world-content-area{flex-direction:column}.world-main.view-campus .world-canvas-area{flex:1}.world-main.view-campus.has-call .world-content-area{flex-direction:column}.world-main.view-campus.has-call .world-video-area{flex:0 0 auto;height:45vh;min-height:200px;max-height:55vh}.world-main.view-campus.has-call .world-canvas-area{flex:1;height:auto;min-height:100px}.world-main.view-meeting .world-content-area{flex-direction:column}.world-main.view-meeting .world-video-area{flex:1;height:100%}.world-main.view-meeting .world-canvas-area{display:none}.world-main.view-class .world-content-area{flex-direction:column}.world-main.view-class .world-video-area{flex:1;height:100%}.chat-bottom-panel{max-height:50vh}}@media(max-width:480px){.world-header{padding:.4rem}.header-left h1{font-size:.875rem}.status{font-size:.65rem;padding:.2rem .4rem}.world-main.view-campus.has-call .world-video-area{height:45vh;min-height:180px}}.world-main.presentation-active .world-video-area{flex:1!important;height:100%!important;min-width:0!important}.world-main.presentation-active .world-canvas-area{position:absolute!important;bottom:220px;left:12px;width:180px!important;height:135px!important;flex:none!important;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #0009;z-index:50;border:2px solid rgba(255,255,255,.2);background:#0a0a0f;transition:all .3s ease}.world-main.presentation-active .world-canvas-area:hover{transform:scale(1.05);border-color:var(--primary);z-index:60}.world-main.presentation-active .world-canvas-area .user-list,.world-main.presentation-active .world-canvas-area .buildings-admin,.world-main.presentation-active .world-canvas-area .lecture-broadcast{display:none}@media(max-width:768px){.world-main.presentation-active .world-canvas-area{bottom:170px;left:8px;width:120px!important;height:90px!important}}@media(max-width:480px){.world-main.presentation-active .world-canvas-area{bottom:170px;left:4px;width:100px!important;height:75px!important}}.pop-out-btn{position:absolute;top:8px;right:8px;z-index:200;background:#0009;border:1px solid #555;color:#999;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.pop-out-btn:hover{background:#000c;color:#fff;border-color:var(--primary, #6366f1)}.video-pop-out-btn{right:120px;top:8px}.chat-pop-out-btn{right:40px;top:8px}.side-chat-panel.hidden{display:none}.pop-out-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#666;font-size:.875rem}.pop-out-placeholder button{margin-top:.5rem;background:var(--primary, #6366f1);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.pop-out-placeholder button:hover{opacity:.9}:root{--editor-bg: #0d0d14;--editor-surface: #14141f;--editor-surface-2: #1a1a28;--editor-surface-3: #22223a;--editor-border: #2a2a42;--editor-border-hover: #3d3d5c;--editor-text: #e0e0f0;--editor-text-muted: #8888aa;--editor-text-dim: #555577;--editor-accent: #00ff88;--editor-accent-dim: rgba(0, 255, 136, .15);--editor-accent-blue: #3b82f6;--editor-accent-purple: #a78bfa;--editor-danger: #ef4444;--editor-warning: #f59e0b;--editor-sidebar-w: 280px;--editor-right-w: 240px;--editor-toolbar-h: 52px;--editor-menubar-h: 36px;--editor-radius: 6px;--editor-font: "JetBrains Mono", "Menlo", monospace}.editor-page{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--editor-bg);color:var(--editor-text);font-family:var(--editor-font);font-size:12px;overflow:hidden;-webkit-user-select:none;user-select:none}.editor-menubar{height:var(--editor-menubar-h);display:flex;align-items:center;background:var(--editor-surface);border-bottom:1px solid var(--editor-border);padding:0 12px;gap:8px;z-index:100}.editor-menubar-title{font-weight:700;font-size:13px;color:var(--editor-accent);letter-spacing:.5px;margin-right:12px}.editor-menubar-btn{background:none;border:1px solid transparent;color:var(--editor-text-muted);font-family:var(--editor-font);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .15s}.editor-menubar-btn:hover{color:var(--editor-text);background:var(--editor-surface-2);border-color:var(--editor-border)}.editor-menubar-btn.active,.editor-menubar-btn:active{color:var(--editor-accent);background:var(--editor-accent-dim);border-color:var(--editor-accent)}.editor-menubar-separator{width:1px;height:20px;background:var(--editor-border);margin:0 4px}.editor-menubar-right{margin-left:auto;display:flex;gap:6px;align-items:center}.editor-menubar-badge{font-size:10px;color:var(--editor-text-dim);background:var(--editor-surface-3);border-radius:3px;padding:2px 6px}.editor-menubar-dirty{color:var(--editor-warning)}.editor-body{display:flex;flex:1;overflow:hidden}.editor-sidebar{width:var(--editor-sidebar-w);background:var(--editor-surface);border-right:1px solid var(--editor-border);display:flex;flex-direction:column;overflow:hidden}.editor-sidebar-header{padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--editor-text-muted);border-bottom:1px solid var(--editor-border)}.editor-palette-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--editor-border);padding:2px 4px;gap:2px}.editor-palette-tabs::-webkit-scrollbar{display:none}.editor-palette-tab{flex:0 0 auto;padding:3px 6px;font-size:8px;font-family:var(--editor-font);font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--editor-text-dim);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;white-space:nowrap}.editor-palette-tab:hover{color:var(--editor-text-muted)}.editor-palette-tab.active{color:var(--editor-accent);border-bottom-color:var(--editor-accent)}.editor-palette-grid{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:var(--editor-border) transparent}.editor-palette-canvas-wrap{position:relative;cursor:pointer;border-radius:var(--editor-radius);overflow:hidden;border:1px solid var(--editor-border)}.editor-palette-canvas-wrap canvas{display:block;width:100%;image-rendering:pixelated}.editor-palette-selection{position:absolute;border:2px solid var(--editor-accent);box-shadow:0 0 8px #0f86;pointer-events:none;z-index:10}.editor-canvas-area{flex:1;position:relative;overflow:hidden;background:var(--editor-bg)}.editor-canvas-area canvas{display:block;image-rendering:pixelated;cursor:crosshair}.editor-canvas-area canvas.tool-select{cursor:default}.editor-canvas-area canvas.tool-paint{cursor:crosshair}.editor-canvas-area canvas.tool-erase{cursor:cell}.editor-canvas-area canvas.tool-fill{cursor:crosshair}.editor-canvas-area canvas.panning{cursor:grabbing}.editor-coords{position:absolute;bottom:8px;left:8px;background:#000000b3;color:var(--editor-text-muted);font-size:10px;padding:3px 8px;border-radius:3px;pointer-events:none;z-index:10}.editor-zoom-display{position:absolute;bottom:8px;right:8px;background:#000000b3;color:var(--editor-text-muted);font-size:10px;padding:3px 8px;border-radius:3px;pointer-events:none;z-index:10}.editor-right-panel{width:var(--editor-right-w);background:var(--editor-surface);border-left:1px solid var(--editor-border);display:flex;flex-direction:column;overflow:hidden}.editor-panel-section{border-bottom:1px solid var(--editor-border)}.editor-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--editor-text-muted)}.editor-panel-header-actions{display:flex;gap:4px}.editor-panel-icon-btn{background:none;border:none;color:var(--editor-text-dim);cursor:pointer;padding:2px 4px;border-radius:3px;font-size:14px;line-height:1;transition:all .15s}.editor-panel-icon-btn:hover{color:var(--editor-text);background:var(--editor-surface-2)}.editor-layer-list{padding:4px 0}.editor-layer-item{display:flex;align-items:center;padding:4px 12px;gap:6px;cursor:pointer;transition:background .1s}.editor-layer-item:hover{background:var(--editor-surface-2)}.editor-layer-item.active{background:var(--editor-accent-dim)}.editor-layer-visibility{width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;opacity:.6;transition:opacity .15s}.editor-layer-visibility:hover{opacity:1}.editor-layer-visibility.hidden{opacity:.25}.editor-layer-name{flex:1;font-size:11px;color:var(--editor-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-layer-type{font-size:9px;color:var(--editor-text-dim);text-transform:uppercase;letter-spacing:.5px}.editor-layer-lock{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;opacity:.3;transition:opacity .15s}.editor-layer-lock:hover{opacity:.8}.editor-layer-lock.locked{opacity:.8;color:var(--editor-warning)}.editor-toolbar{height:var(--editor-toolbar-h);display:flex;align-items:center;background:var(--editor-surface);border-top:1px solid var(--editor-border);padding:0 12px;gap:4px;z-index:100}.editor-tool-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:40px;background:none;border:1px solid transparent;border-radius:var(--editor-radius);color:var(--editor-text-muted);cursor:pointer;transition:all .15s;font-family:var(--editor-font);gap:1px}.editor-tool-btn:hover{color:var(--editor-text);background:var(--editor-surface-2);border-color:var(--editor-border)}.editor-tool-btn.active{color:var(--editor-accent);background:var(--editor-accent-dim);border-color:#00ff884d;box-shadow:0 0 12px #00ff881a}.editor-tool-icon{font-size:18px;line-height:1}.editor-tool-shortcut{font-size:8px;font-weight:600;letter-spacing:.5px;opacity:.5}.editor-tool-btn.active .editor-tool-shortcut{opacity:.8}.editor-toolbar-separator{width:1px;height:28px;background:var(--editor-border);margin:0 6px}.editor-tooltip{position:fixed;z-index:9999;pointer-events:none;background:var(--editor-surface-3);border:1px solid var(--editor-border-hover);border-radius:var(--editor-radius);padding:8px 12px;max-width:280px;box-shadow:0 4px 20px #00000080;animation:editorTooltipIn .15s ease-out}.editor-tooltip-title{font-weight:700;font-size:12px;color:var(--editor-text);margin-bottom:4px;display:flex;align-items:center;gap:8px}.editor-tooltip-shortcut{font-size:10px;color:var(--editor-accent);background:#00ff881a;padding:1px 5px;border-radius:3px;font-weight:600}.editor-tooltip-body{font-size:11px;color:var(--editor-text-muted);line-height:1.5}.editor-tooltip-body ul{margin:4px 0 0;padding-left:14px}.editor-tooltip-body li{margin-bottom:2px}@keyframes editorTooltipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.editor-welcome{display:flex;flex-direction:column;align-items:center;min-height:100%;gap:24px;padding:40px 40px 80px;text-align:center;overflow-y:auto}.editor-welcome-icon{font-size:64px;opacity:.6}.editor-welcome h2{font-size:20px;font-weight:700;color:var(--editor-text);margin:0}.editor-welcome p{font-size:13px;color:var(--editor-text-muted);max-width:400px;line-height:1.6;margin:0}.editor-welcome-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.editor-welcome-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:var(--editor-surface-2);border:1px solid var(--editor-border);border-radius:var(--editor-radius);color:var(--editor-text);cursor:pointer;transition:all .2s;font-family:var(--editor-font);min-width:140px}.editor-welcome-btn:hover{border-color:var(--editor-accent);background:var(--editor-accent-dim);transform:translateY(-2px);box-shadow:0 4px 16px #00ff881a}.editor-welcome-btn-icon{font-size:28px}.editor-welcome-btn-label{font-weight:600;font-size:12px}.editor-welcome-btn-desc{font-size:10px;color:var(--editor-text-dim)}.editor-page *::-webkit-scrollbar{width:6px;height:6px}.editor-page *::-webkit-scrollbar-track{background:transparent}.editor-page *::-webkit-scrollbar-thumb{background:var(--editor-border);border-radius:3px}.editor-page *::-webkit-scrollbar-thumb:hover{background:var(--editor-border-hover)}:root{--primary: #4f46e5;--primary-hover: #4338ca;--bg-dark: #1a1a2e;--bg-card: #16213e;--text: #eee;--text-muted: #888;--error: #ef4444;--success: #22c55e}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-dark);color:var(--text);min-height:100vh}#root{width:100%;height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--bg-card);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button{cursor:pointer;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;transition:background-color .2s}button.primary{background:var(--primary);color:#fff}button.primary:hover{background:var(--primary-hover)}button.primary:disabled{opacity:.6;cursor:not-allowed}input{width:100%;padding:.75rem;border:1px solid #333;border-radius:.5rem;background:var(--bg-dark);color:var(--text);font-size:1rem}input:focus{outline:none;border-color:var(--primary)}.error-message{color:var(--error);font-size:.875rem}
