.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none}.chat-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;border-radius:15px;padding:10px 15px;margin-bottom:10px;max-width:200px;word-wrap:break-word;box-shadow:0 2px 10px #0003;animation:bubbleAppear .3s ease-out;z-index:100}.chat-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);border-width:10px 10px 0;border-style:solid;border-color:white transparent transparent}.chat-bubble-username{font-weight:700;color:#9147ff;font-size:12px;margin-bottom:4px}.chat-bubble-message{color:#333;font-size:14px;line-height:1.3}@keyframes bubbleAppear{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.8)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.critter{position:absolute;bottom:0;display:flex;flex-direction:column;align-items:center;transition:transform .3s ease}.critter-sprite{width:clamp(80px,10vw,150px);height:auto;image-rendering:auto;animation:breathing 3s ease-in-out infinite;transition:transform .1s ease-out}.critter-sprite.walking{animation:breathing 3s ease-in-out infinite,walking .3s ease-in-out infinite}@keyframes walking{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes breathing{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.02) translateY(-2px)}}.critter.mouth-open .critter-sprite{animation:breathing 3s ease-in-out infinite,mouthMovement .3s ease-in-out infinite}@keyframes mouthMovement{0%,to{transform:scaleY(1.02) translateY(-2px)}50%{transform:scaleY(1) translateY(0)}}.critter.being-petted{animation:petBounce .5s ease-in-out}@keyframes petBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-10px) rotate(5deg)}}.critter.being-fed .critter-sprite{animation:feedBounce .3s ease-in-out infinite}@keyframes feedBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.critter-name{color:#fff;font-size:clamp(10px,1.2vw,14px);font-weight:700;text-shadow:1px 1px 2px black,-1px -1px 2px black,1px -1px 2px black,-1px 1px 2px black;margin-top:5px;text-align:center;max-width:clamp(80px,10vw,150px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.critter.spawning{animation:spawnIn .5s ease-out}@keyframes spawnIn{0%{opacity:0;transform:translateY(50px) scale(.5)}to{opacity:1;transform:translateY(0) scale(1)}}.critter.despawning{animation:spawnOut .5s ease-in forwards}@keyframes spawnOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(50px) scale(.5)}}.heart{position:absolute;font-size:20px;animation:floatHeart 1s ease-out forwards;pointer-events:none}@keyframes floatHeart{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-50px) scale(1.5)}}.food-particle{position:absolute;font-size:16px;animation:floatFood .8s ease-out forwards;pointer-events:none}@keyframes floatFood{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(-30px) rotate(180deg)}}.critter-container{position:absolute;bottom:0;left:0;width:100%;height:25vh;min-height:200px;max-height:400px}.status-display{position:fixed;bottom:10px;left:10px;background:#000000b3;color:#fff;padding:8px 12px;border-radius:5px;font-size:12px;z-index:1000;pointer-events:none}.auth-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;pointer-events:auto}.auth-prompt-content{background:#0e0e10f2;border:2px solid #9147ff;border-radius:12px;padding:30px 40px;text-align:center;color:#fff;box-shadow:0 10px 40px #00000080}.auth-prompt h2{margin:0 0 10px;font-size:24px;color:#efeff1}.auth-prompt p{margin:0 0 20px;color:#adadb8;font-size:14px}.auth-button{display:inline-flex;align-items:center;gap:10px;background:#9147ff;color:#fff;border:none;padding:12px 24px;font-size:16px;font-weight:600;border-radius:6px;cursor:pointer;transition:background .2s}.auth-button:hover{background:#772ce8}.auth-button svg{flex-shrink:0}.auth-link{display:block;margin-top:15px;color:#9147ff;font-size:12px;text-decoration:none}.auth-link:hover{text-decoration:underline}.settings-toggle-btn{position:fixed;top:20px;right:20px;width:50px;height:50px;border-radius:50%;background:#1e1e1ee6;border:2px solid #9147ff;color:#fff;font-size:24px;cursor:pointer;z-index:9999;transition:all .2s ease;display:flex;align-items:center;justify-content:center;pointer-events:auto}.settings-toggle-btn:hover{background:#9147ff;transform:scale(1.1)}.settings-overlay{position:fixed;top:0;left:0;pointer-events:auto;right:0;bottom:0;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-panel{background:#1f1f23;border-radius:12px;width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;border:1px solid #3d3d3d}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #3d3d3d}.settings-header h2{margin:0;color:#fff;font-size:20px;font-weight:600}.close-btn{background:none;border:none;color:#adadb8;font-size:28px;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-btn:hover{color:#fff}.settings-tabs{display:flex;padding:0 24px;gap:8px;border-bottom:1px solid #3d3d3d;overflow-x:auto}.tab{background:none;border:none;color:#adadb8;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.tab:hover{color:#fff}.tab.active{color:#9147ff;border-bottom-color:#9147ff}.settings-content{flex:1;overflow-y:auto;padding:24px}.settings-section h3{color:#fff;font-size:16px;font-weight:600;margin:0 0 16px}.settings-section h3:not(:first-child){margin-top:24px}.setting-item{margin-bottom:20px}.setting-item label{display:flex;justify-content:space-between;align-items:center;color:#efeff1;font-size:14px;margin-bottom:8px}.setting-value{color:#9147ff;font-weight:600;font-family:monospace}.setting-item input[type=range]{width:100%;height:6px;border-radius:3px;background:#3d3d3d;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.setting-item input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#9147ff;cursor:pointer;transition:transform .1s}.setting-item input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.setting-item input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#9147ff;cursor:pointer;border:none}.setting-hint{display:block;color:#adadb8;font-size:12px;margin-top:4px}.setting-item.checkbox label{justify-content:flex-start;gap:12px;cursor:pointer}.setting-item.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#9147ff;cursor:pointer}.setting-item select{width:100%;padding:10px 12px;background:#0e0e10;border:1px solid #3d3d3d;border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.setting-item select:focus{outline:none;border-color:#9147ff}.setting-row{display:flex;gap:16px}.setting-item.half{flex:1}.admin-actions{display:flex;flex-direction:column;gap:20px}.admin-action{background:#0e0e10;padding:16px;border-radius:8px;border:1px solid #3d3d3d}.admin-action h4{color:#fff;margin:0 0 12px;font-size:14px;font-weight:600}.admin-form{display:flex;gap:8px}.admin-form input[type=text]{flex:1;padding:8px 12px;background:#1f1f23;border:1px solid #3d3d3d;border-radius:4px;color:#fff;font-size:14px}.admin-form input[type=text]:focus{outline:none;border-color:#9147ff}.admin-form select{padding:8px 12px;background:#1f1f23;border:1px solid #3d3d3d;border-radius:4px;color:#fff;font-size:14px}.admin-form button{padding:8px 16px;background:#9147ff;border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.admin-form button:hover{background:#772ce8}.danger-btn{width:100%;padding:10px 16px;background:#eb0400;border:none;border-radius:4px;color:#fff;font-weight:600;cursor:pointer;transition:background .2s}.danger-btn:hover{background:#bf0000}.critter-list{margin-top:12px;max-height:200px;overflow-y:auto;background:#0e0e10;border-radius:8px;border:1px solid #3d3d3d}.critter-list-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #3d3d3d}.critter-list-item:last-child{border-bottom:none}.critter-info{display:flex;align-items:center;gap:8px;color:#fff}.critter-type{color:#adadb8;font-size:12px}.remove-btn{padding:4px 12px;background:transparent;border:1px solid #eb0400;border-radius:4px;color:#eb0400;font-size:12px;cursor:pointer;transition:all .2s}.remove-btn:hover{background:#eb0400;color:#fff}.empty-list{color:#adadb8;text-align:center;padding:20px;font-size:14px}.settings-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid #3d3d3d;background:#18181b;border-radius:0 0 12px 12px}.reset-btn{padding:10px 16px;background:transparent;border:1px solid #3d3d3d;border-radius:4px;color:#adadb8;font-size:14px;cursor:pointer;transition:all .2s}.reset-btn:hover{border-color:#9147ff;color:#fff}.save-area{display:flex;align-items:center;gap:12px}.save-success{color:#0f0;font-size:14px}.save-error{color:#eb0400;font-size:14px}.save-btn{padding:10px 24px;background:#9147ff;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){background:#772ce8}.save-btn:disabled{background:#3d3d3d;color:#adadb8;cursor:not-allowed}.settings-content::-webkit-scrollbar,.critter-list::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-track,.critter-list::-webkit-scrollbar-track{background:#0e0e10}.settings-content::-webkit-scrollbar-thumb,.critter-list::-webkit-scrollbar-thumb{background:#3d3d3d;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover,.critter-list::-webkit-scrollbar-thumb:hover{background:#9147ff}@media (max-width: 600px){.settings-panel{width:95%;max-height:90vh}.settings-tabs{padding:0 16px}.tab{padding:10px 12px;font-size:13px}.settings-content{padding:16px}.setting-row{flex-direction:column;gap:0}.settings-footer{flex-direction:column;gap:12px}.reset-btn,.save-btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{background:transparent;overflow:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{width:100vw;height:100vh}
