.mystwright-app{height:100dvh;overflow:hidden;background-color:hsl(var(--background));color:hsl(var(--foreground));display:flex;flex-direction:row}.game-container{display:flex;flex-direction:row;width:100%;height:100%;position:relative}.mobile-overlay{display:none}@media (max-width: 1200px){.mobile-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:11;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.wordmark{display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;color:hsl(var(--foreground));margin:0}.wordmark svg{margin-right:8px;color:hsl(var(--primary))}.wordmark img{width:32px;height:32px;margin-right:8px}.ff{flex:1}.card{background:hsl(var(--card));color:hsl(var(--card-foreground));border-radius:var(--radius);padding:12px;border:1px solid hsl(var(--border));display:flex;align-items:center}.card.clickable{cursor:pointer;transition:all .2s ease}.card.clickable .card-title,.card.clickable .card-subtitle{-webkit-user-select:none;user-select:none}.card.clickable:hover{background:hsl(var(--accent));box-shadow:0 2px 8px #0000001a}.card.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary))}.card.active:hover{background:hsl(var(--primary));box-shadow:0 2px 8px #0000001a}.card.active .card-title,.card.active .card-subtitle{color:hsl(var(--primary-foreground))}.card.no-border{border:none}.card-title{font-weight:500;font-size:.8rem;color:hsl(var(--foreground))}.card-subtitle{font-size:.75rem;color:hsl(var(--muted-foreground));overflow:hidden;text-overflow:ellipsis;width:100%}.card-subtitle.truncate{white-space:nowrap}.card-icon{display:flex;align-items:center;justify-content:center;margin-right:12px}.card-icon.square-icon{width:40px;height:40px;border-radius:var(--radius)}.card-icon.square-icon img{width:100%;height:100%;object-fit:cover;border-radius:0}.card-content{display:flex;flex-direction:column;min-width:0}.nothing{display:flex;align-items:center;justify-content:center;padding:16px;font-size:.75rem;color:hsl(var(--muted-foreground)/.7);border:1px dashed hsl(var(--muted));border-radius:var(--radius)}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;border-radius:var(--radius);padding:.6rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#ffffffe6;font-weight:500;transition:all .2s ease}button.has-icon-left,button.has-icon-right{display:flex;align-items:center;justify-content:center}button.has-icon-left svg{margin-right:8px}button.has-icon-right svg{margin-left:8px}button:disabled{opacity:.5;cursor:not-allowed}button:hover{background:#ffffff40}button:active{transform:translateY(1px);background:#fff3}.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;padding:8px 16px;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background-color:hsl(var(--primary)/.9)}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}input:disabled,textarea:disabled,select:disabled,button:disabled{opacity:.5;cursor:not-allowed}input:disabled::placeholder,textarea:disabled::placeholder,select:disabled::placeholder,button:disabled::placeholder{color:hsl(var(--muted-foreground))}@media (max-width: 720px){input,textarea,select,button{font-size:1rem}}input{background-color:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.5rem;width:100%;height:2.5rem}input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring))}input::placeholder{color:hsl(var(--muted-foreground))}.intro{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsl(var(--primary)/.5);border-radius:var(--radius);background-color:hsl(var(--card));min-width:300px;max-width:450px;width:100%;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.intro-icon{background:linear-gradient(135deg,#9952e0,#8e22c3);color:#ffffffe6;border-radius:100%;padding:1rem;width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 15px hsl(var(--primary)/.4);border:2px solid rgba(255,255,255,.1);margin-bottom:.5rem}.intro-icon img{width:100%;height:100%;object-fit:cover}.intro-icon:before,.intro-icon:after{position:absolute;color:#fffc;font-size:1rem}.intro-icon:before{top:25%;left:25%;font-size:.8rem}.intro-icon:after{bottom:25%;right:25%;font-size:.8rem}.intro-dots{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.dot{width:.5rem;height:.5rem;background-color:color-mix(in srgb,hsl(var(--muted)) 80%,white);border-radius:100%;margin:0 .25rem;transition:all .3s ease}.dot.active{background-color:hsl(var(--primary));box-shadow:0 0 5px hsl(var(--primary)/.5)}.intro-content{position:relative;width:100%;overflow:hidden;margin-bottom:1.5rem;min-height:100px;transition:height .2s ease}.intro-content.animating .slide-content{position:absolute;top:0;left:0;width:100%}.intro-title{font-size:1.5rem;font-weight:700;margin-top:1rem}.intro-subtitle{font-size:1rem;color:hsl(var(--muted-foreground));margin-top:.5rem;margin-bottom:.5rem;padding:0 .5rem;overflow-wrap:break-word;word-wrap:break-word}.slide-content{position:relative;width:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:0 .5rem}.slide-content.slide-enter{animation:slideInFromRight .4s forwards;will-change:transform,opacity;position:relative;z-index:1}.slide-content.slide-exit{animation:slideOutToLeft .4s forwards;will-change:transform,opacity;position:absolute;z-index:2}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}.intro-cta{display:flex;align-items:center;justify-content:center;width:100%}.intro-cta button{width:100%}.intro-cta button:hover{box-shadow:0 0 10px #fff3}.page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;width:100%;background-color:hsl(var(--background));background:linear-gradient(135deg,#40136c,#2f0b41);flex:1;overflow-y:auto}@media (max-height: 800px){.page{justify-content:flex-start}}.auth-container .auth-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:8px}.auth-container .back-button{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:hsl(var(--muted-foreground));cursor:pointer;font-size:14px;padding:8px 12px;border-radius:var(--radius);transition:all .2s ease}.auth-container .back-button:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground))}.auth-container .back-button:disabled{cursor:not-allowed;opacity:.5}.auth-container{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsl(var(--primary)/.5);border-radius:var(--radius);background-color:hsl(var(--card));min-width:300px;max-width:400px;width:100%;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.auth-container:has(.subscription-content){max-width:550px}.auth-icon{background:linear-gradient(135deg,#9952e0,#8e22c3);color:#ffffffe6;border-radius:100%;padding:1rem;width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 15px hsl(var(--primary)/.4);border:2px solid rgba(255,255,255,.1);margin-bottom:1rem}.auth-icon img{width:100%;height:100%;object-fit:cover}.auth-content{width:100%;display:flex;flex-direction:column;align-items:center}.auth-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:hsl(var(--foreground))}.auth-subtitle{font-size:.775rem;color:hsl(var(--muted-foreground));margin-bottom:1.5rem;text-align:center}.auth-form{width:100%;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;align-items:flex-start;text-align:left;width:100%}.form-group label{font-size:.775rem;font-weight:500;margin-bottom:.5rem;color:hsl(var(--foreground))}.form-group input{width:100%;padding:.75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.775rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-error{background-color:hsl(var(--destructive)/.1);border:1px solid hsl(var(--destructive)/.3);color:hsl(var(--destructive-foreground));padding:.75rem;border-radius:var(--radius);font-size:.775rem;text-align:center;margin:.5rem 0}.auth-button{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#9952e0,#8e22c3);color:#fff;border:none;border-radius:var(--radius);font-size:.775rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#a667e4,#9d26d9);box-shadow:0 2px 8px hsl(var(--primary)/.3)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button:active:not(:disabled){background:linear-gradient(135deg,#8c3cdd,#7e1fad);box-shadow:0 1px 4px hsl(var(--primary)/.2)}.auth-link{margin-top:1.5rem;font-size:.775rem;color:hsl(var(--muted-foreground));text-align:center}.auth-link a{color:hsl(var(--primary));text-decoration:none;font-weight:500;transition:color .2s ease}.auth-link a:hover{color:hsl(var(--primary)/.8);text-decoration:underline}.subscription-content{width:100%;display:flex;flex-direction:column;align-items:center;max-width:400px}.subscription-plans{width:100%;margin-bottom:2rem}.subscription-plan{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:2rem;text-align:center;position:relative;overflow:hidden;transition:all .2s ease}.subscription-plan.early-bird{border:2px solid hsl(var(--primary));background:linear-gradient(135deg,hsl(var(--card)),hsl(var(--primary)/.05))}.subscription-plan:hover{border-color:hsl(var(--primary));box-shadow:0 4px 16px hsl(var(--primary)/.1)}.plan-badge{position:absolute;top:2.5rem;right:-2.5rem;background:linear-gradient(135deg,#9952e0,#8e22c3);color:#fff;padding:.5rem 2.5rem;font-size:.75rem;font-weight:700;transform:rotate(45deg);box-shadow:0 2px 8px hsl(var(--primary)/.3);z-index:10}.plan-name{font-size:1.3rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1rem}.plan-price{margin-bottom:.5rem;display:flex;align-items:baseline;justify-content:center;gap:.25rem}.plan-price .price-amount{font-size:2.5rem;font-weight:700;color:hsl(var(--primary))}.plan-price .price-period{font-size:1rem;color:hsl(var(--muted-foreground))}.plan-original-price{color:hsl(var(--muted-foreground));font-size:.775rem;text-decoration:line-through;margin-bottom:2rem}.plan-features{text-align:left;margin-bottom:2rem}.plan-features .feature{padding:.5rem 0;color:hsl(var(--foreground));font-size:.775rem;display:flex;align-items:center;gap:.75rem}.plan-features .feature .feature-icon{color:hsl(var(--primary));flex-shrink:0}.plan-button{width:100%;background:linear-gradient(135deg,#9952e0,#8e22c3);color:#fff;border:none;border-radius:var(--radius);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.plan-button:hover:not(:disabled){background:linear-gradient(135deg,#a667e4,#9d26d9);box-shadow:0 4px 12px hsl(var(--primary)/.4);transform:translateY(-1px)}.plan-button:disabled{opacity:.6;cursor:not-allowed}.plan-button:active:not(:disabled){background:linear-gradient(135deg,#8c3cdd,#7e1fad);transform:translateY(0)}@media (max-width: 720px){.auth-container{padding:1.5rem;min-width:280px;max-width:90vw}.auth-title{font-size:1.25rem}.auth-subtitle{font-size:.75rem}.subscription-plan{padding:1.5rem}.plan-price .price-amount{font-size:2rem}.plan-badge{font-size:.625rem;padding:.25rem 2rem}}#journal-btn{display:none}@media (max-width: 1200px){#journal-btn{display:flex}}#menu-btn{display:none;width:2.2rem;height:2.2rem;padding:0;justify-content:center;align-items:center;flex:0 0 auto}@media (max-width: 1200px){#menu-btn{display:flex}}.dialog{flex:1;display:flex;flex-direction:column;height:100%;width:100%;background-color:hsl(var(--background));padding-right:16px;padding-top:16px}@media (max-width: 1200px){.dialog{padding-right:12px;padding-left:12px;padding-top:0}}.dialog-header{display:none;align-items:center;justify-content:space-between;height:4rem;background-color:hsl(var(--background));border-bottom:1px solid hsl(var(--border)/.6);padding:0 2px;gap:16px}@media (max-width: 1200px){.dialog-header{display:flex}}.dialog-header .header-title{display:flex;align-items:center;flex:1;min-width:0}.dialog-header .character-info{display:flex;flex-direction:column;flex:1;min-width:0}.dialog-header h2{font-size:1.5rem;font-weight:600;color:hsl(var(--foreground));margin:0}.dialog-header .character-title{font-size:.8rem;color:hsl(var(--muted-foreground));margin:0;overflow:hidden;text-overflow:ellipsis;width:100%}.dialog-actions{display:flex;gap:8px}.dialog-content{flex:1;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#40136c,#2f0b41);position:relative}.dialog-footer{display:flex;flex-direction:column;justify-content:center;height:6rem;background-color:hsl(var(--background));padding:0 2px}.dialog-footer .chat{width:100%}.dialog-footer .chat input{width:100%;margin-right:10px}.dialog-footer .tip{display:flex;align-items:center;justify-content:flex-start;width:100%;color:hsl(var(--muted-foreground)/.8);margin-top:8px;font-size:.75rem;font-style:italic}.dialog-footer .tip p{margin:0}.chat-messages{padding:16px;display:flex;flex-direction:column;overflow-y:auto;height:100%}.chat-messages .message{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;padding:12px;background-color:hsl(var(--background)/.5);border:1px solid hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--foreground));max-width:65%;margin-bottom:16px}@media (max-width: 1200px){.chat-messages .message{max-width:100%}}.chat-messages .message:last-child{margin-bottom:0}.chat-messages .message.assistant{background:none;border:none;max-width:90%}@media (max-width: 1200px){.chat-messages .message.assistant{max-width:100%}}.chat-messages .message.assistant+.message.assistant{margin-top:-8px}.chat-messages .message.user{align-self:flex-end}.chat-messages .message.user+.message.user{margin-top:-8px}.chat-messages .message .message-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:500;font-size:.8rem;flex-shrink:0;overflow:hidden;border:1px solid hsl(var(--primary))}.chat-messages .message .message-avatar img{width:100%;height:100%;object-fit:cover}.scroll-to-bottom-btn{position:absolute;bottom:16px;right:16px;width:2rem;height:2rem;border-radius:50%;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;box-shadow:0 2px 8px hsl(var(--primary)/.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;z-index:10;padding:0}.scroll-to-bottom-btn:hover{background-color:hsl(var(--primary)/.9);box-shadow:0 4px 12px hsl(var(--primary)/.4);transform:translateY(-1px)}.scroll-to-bottom-btn:active{transform:translateY(0);box-shadow:0 2px 6px hsl(var(--primary)/.3)}@media (max-width: 1200px){.scroll-to-bottom-btn{bottom:12px;right:12px;width:2.5rem;height:2.5rem}}audio.character-voice{display:none}.thinking-indicator{display:flex;align-items:flex-start;justify-content:flex-start;gap:16px;padding:12px;background:none;border:none;max-width:90%;margin-bottom:16px}@media (max-width: 1200px){.thinking-indicator{max-width:100%}}.thinking-indicator .message-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:500;font-size:.8rem;flex-shrink:0;overflow:hidden;border:1px solid hsl(var(--primary))}.thinking-indicator .message-avatar img{width:100%;height:100%;object-fit:cover}.thinking-indicator .thinking-text{background:linear-gradient(90deg,hsl(var(--muted-foreground)) 25%,hsl(var(--foreground)),hsl(var(--muted-foreground)) 75%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 5s linear infinite;font-style:italic;opacity:.8;padding:8px 0}@keyframes shimmer{0%{background-position:-300% 0}to{background-position:300% 0}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:20;padding:16px;animation:fadeIn .2s ease-out}.modal-content{color:hsl(var(--card-foreground));padding:12px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 0 15px #0003;width:100%;max-height:90vh;overflow:auto;animation:slideIn .2s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px}.modal-title{font-size:1.3rem;font-weight:600;color:hsl(var(--foreground));margin:0}.modal-close{cursor:pointer;background:none;border:none;font:inherit;color:inherit;border-radius:var(--radius);transition:all .2s ease;color:hsl(var(--muted-foreground));padding:8px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.modal-close:active{transform:scale(.95)}.modal-body{padding:16px}.create-world-form .form-group{margin-bottom:16px}.create-world-form .form-label{display:block;font-size:.775rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:8px}.create-world-form .form-label .optional{color:hsl(var(--muted-foreground));font-weight:400}.create-world-form .form-textarea{background-color:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.5rem;width:100%;min-height:80px;padding:12px;line-height:1.5;resize:none;transition:border-color .2s ease}.create-world-form .form-textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring))}.create-world-form .form-textarea::placeholder{color:hsl(var(--muted-foreground))}.create-world-form .form-textarea:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.create-world-form .form-help{margin-bottom:12px;font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.create-world-form .character-count{margin-top:4px;font-size:.75rem;color:hsl(var(--muted-foreground));text-align:right}.create-world-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.create-world-form .spin{animation:spin 1s linear infinite}.import-world-form .form-group{margin-bottom:16px}.import-world-form .form-label{display:block;font-size:.775rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:8px}.import-world-form .form-help{margin-bottom:12px;font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.import-world-form .file-drop-zone{border:2px dashed hsl(var(--border));border-radius:var(--radius);padding:32px;text-align:center;transition:all .2s ease;background:hsl(var(--background));cursor:pointer;width:100%}.import-world-form .file-drop-zone:hover{border-color:hsl(var(--primary));background:hsl(var(--accent)/.5)}.import-world-form .file-drop-zone.drag-over{border-color:hsl(var(--primary));background:hsl(var(--primary)/.1);border-style:solid}.import-world-form .file-drop-zone.has-file{border-color:hsl(var(--primary));background:hsl(var(--primary)/.05)}.import-world-form .file-input-hidden{display:none}.import-world-form .drop-zone-content{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:hsl(var(--muted-foreground))}.import-world-form .drop-zone-content .upload-icon{color:hsl(var(--muted-foreground));opacity:.6}.import-world-form .drop-zone-content .drop-zone-text .primary-text{font-size:.8rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:4px}.import-world-form .drop-zone-content .drop-zone-text .secondary-text{font-size:.775rem;color:hsl(var(--muted-foreground))}.import-world-form .drop-zone-content .drop-zone-text .browse-link{cursor:pointer;font:inherit;color:inherit;border-radius:var(--radius);transition:all .2s ease;color:hsl(var(--primary));text-decoration:underline;padding:0;font-size:.775rem;font-weight:500;background:none;border:none}.import-world-form .drop-zone-content .drop-zone-text .browse-link:hover:not(:disabled){color:hsl(var(--primary)/.8)}.import-world-form .drop-zone-content .drop-zone-text .browse-link:disabled{opacity:.5;cursor:not-allowed}.import-world-form .selected-file{display:flex;align-items:center;gap:12px;padding:16px;background:hsl(var(--muted));border-radius:var(--radius);border:1px solid hsl(var(--border))}.import-world-form .selected-file .file-icon{color:hsl(var(--primary));flex-shrink:0}.import-world-form .selected-file .file-info{flex:1;min-width:0}.import-world-form .selected-file .file-info .file-name{font-size:.775rem;font-weight:500;color:hsl(var(--foreground));word-break:break-word;margin-bottom:4px}.import-world-form .selected-file .file-info .file-size{font-size:.75rem;color:hsl(var(--muted-foreground))}.import-world-form .selected-file .clear-file-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border:1px solid hsl(var(--destructive)/.2);border-radius:var(--radius);flex-shrink:0;transition:all .2s ease}.import-world-form .selected-file .clear-file-button:hover:not(:disabled){background:hsl(var(--destructive)/.2);border-color:hsl(var(--destructive)/.4);color:hsl(var(--destructive))}.import-world-form .selected-file .clear-file-button:active{transform:scale(.95)}.import-world-form .selected-file .clear-file-button:disabled{opacity:.5;cursor:not-allowed}.import-world-form .form-error{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:.75rem;color:hsl(var(--destructive));background:hsl(var(--destructive)/.1);border:1px solid hsl(var(--destructive)/.3);border-radius:var(--radius);padding:8px 12px}.import-world-form .form-error svg{flex-shrink:0}.import-world-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.import-world-form .spin{animation:spin 1s linear infinite}.share-modal-content .share-section{margin-bottom:24px}.share-modal-content .share-section:last-child{margin-bottom:0}.share-modal-content .section-title{font-size:.8rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:12px}.share-modal-content .visibility-options{display:flex;flex-direction:column;gap:8px}.share-modal-content .visibility-option{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid hsl(var(--border));border-radius:var(--radius);cursor:pointer;transition:all .2s ease;background:hsl(var(--background))}.share-modal-content .visibility-option:hover{background:hsl(var(--accent)/.5);border-color:hsl(var(--accent-foreground))}.share-modal-content .visibility-option.active{background:hsl(var(--accent));border-color:hsl(var(--primary))}.share-modal-content .visibility-option.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.share-modal-content .visibility-option .option-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius);background:hsl(var(--muted));color:hsl(var(--muted-foreground));flex-shrink:0}.share-modal-content .visibility-option .option-content{flex:1;margin-left:12px}.share-modal-content .visibility-option .option-title{font-size:.775rem;font-weight:500;color:hsl(var(--foreground));margin-bottom:4px}.share-modal-content .visibility-option .option-description{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4}.share-modal-content .visibility-option .option-check{display:flex;align-items:center;justify-content:center;color:hsl(var(--primary));flex-shrink:0}.share-modal-content .visibility-option.active .option-icon{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.share-modal-content .share-link-container{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.share-modal-content .share-url{display:flex;align-items:center;justify-content:flex-start;flex:1;padding:12px;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);gap:8px}.share-modal-content .share-url .url-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.share-modal-content .share-url .url-text{font-size:.775rem;color:hsl(var(--foreground));font-family:monospace;word-break:break-all;line-height:1.4}.share-modal-content .copy-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:var(--radius);font-size:.775rem;font-weight:500;white-space:nowrap;transition:all .2s ease}.share-modal-content .copy-button:hover{background:hsl(var(--primary)/.9)}.share-modal-content .copy-button.copied{background:hsl(var(--success));color:hsl(var(--success-foreground))}.share-modal-content .download-container{display:flex;flex-direction:column;gap:12px}.share-modal-content .download-description{font-size:.775rem;color:hsl(var(--muted-foreground));line-height:1.4}.share-modal-content .download-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.775rem;font-weight:500;transition:all .2s ease;align-self:flex-start}.share-modal-content .download-button:hover:not(:disabled){background:hsl(var(--secondary)/.8);border-color:hsl(var(--primary))}.share-modal-content .download-button:disabled{opacity:.6;cursor:not-allowed}.share-modal-content .download-button.downloading{opacity:.8}.share-modal-content .download-button.downloading svg{animation:spin 1s linear infinite}.share-modal-content .share-hint{font-size:.75rem;color:hsl(var(--muted-foreground));line-height:1.4;margin:0}.share-modal-content .modal-actions{display:flex;justify-content:flex-end;gap:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 640px){.modal-backdrop{padding:.5rem}.modal-content{max-height:95vh}.modal-header,.modal-body{padding:1rem}.create-world-form .form-actions{flex-direction:column;gap:.5rem}.create-world-form .form-actions .btn-primary,.create-world-form .form-actions .btn-secondary{width:100%;justify-content:center}}.sidebar{display:flex;flex-direction:column;width:380px;background-color:hsl(var(--card));color:hsl(var(--card-foreground));padding:16px;height:100%;flex-shrink:0;transition:transform .3s ease}.sidebar .wordmark{justify-content:flex-start}@media (max-width: 1200px){.sidebar{position:fixed;top:0;left:0;z-index:11;width:100dvw;max-width:450px;height:100dvh;transform:translate(-100%);box-shadow:0 0 15px #0003}.sidebar.open{transform:translate(0)}}@media (max-width: 720px){.sidebar{width:100dvw;max-width:none;padding-left:16px;padding-right:16px}}.sidebar-inner{border:1px solid hsl(var(--border));border-radius:var(--radius);height:100%;display:flex;flex-direction:column}.sidebar-header{padding:16px;font-size:1.5rem;font-weight:700;height:60px;display:flex;align-items:center;justify-content:space-between;position:relative}.mobile-close-button{display:none;align-items:center;justify-content:center;width:36px;height:36px;background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s ease;padding:0}.mobile-close-button:hover{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive));transform:scale(1.05)}.mobile-close-button:active{transform:scale(.95)}@media (max-width: 1200px){.mobile-close-button{display:flex}}.sidebar-content{height:calc(100% - 60px);display:flex;flex-direction:column;padding:8px 16px 16px;overflow-y:auto;flex-grow:1;position:relative;-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 25px,black calc(100% - 25px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,black 25px,black calc(100% - 25px),transparent 100%);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.sidebar-collapsable{margin-top:16px}.sidebar-items{display:flex;flex-direction:column;gap:8px;animation:slideDown .2s ease-out}.sidebar-items.closing{animation:slideUp .2s ease-out}.card-character{margin-bottom:8px}.card-character .card .card-icon{width:48px;height:48px;border-radius:var(--radius);border:1px solid hsl(var(--border))}.card-character .card .card-icon .character-avatar{width:100%;height:100%;object-fit:cover}.card-character .card.active .card-icon{border:1px solid hsl(var(--primary))}.card-character:last-child{margin-bottom:0}.sidebar-title{display:flex;align-items:center;color:hsl(var(--foreground));font-size:.75rem;font-weight:500;margin-bottom:16px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sidebar-title:hover{opacity:.8}.sidebar-title-icon{display:flex;align-items:center;justify-content:center;margin-right:8px;color:hsl(var(--primary));-webkit-user-select:none;user-select:none}.sidebar-title-icon:last-child{margin-right:0}.sidebar-title-text{-webkit-user-select:none;user-select:none}.sidebar-chevron{color:hsl(var(--foreground));transition:transform .2s ease;-webkit-user-select:none;user-select:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.crime-detail{padding:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.detail-title{font-weight:500;font-size:.8rem;color:hsl(var(--foreground))}.detail-value{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:4px}.sidebar-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px;position:relative}.sidebar-footer .card{flex:1}.sidebar-footer .footer-buttons{display:flex;align-items:center;gap:8px}.user-info{display:flex;align-items:center;justify-content:space-between;width:100%}.user-name{font-size:.8rem;font-weight:500;color:hsl(var(--foreground));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.logout-button,.settings-button{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:hsl(var(--destructive));padding:8px;border-radius:var(--radius);transition:all .2s ease;flex-shrink:0}.logout-button:hover,.settings-button:hover{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.logout-button:active,.settings-button:active{transform:scale(.95)}.settings-button{color:hsl(var(--foreground))}.settings-button:hover{background-color:hsl(var(--muted));color:hsl(var(--primary))}.card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:500;font-size:.8rem;overflow:hidden;flex-shrink:0}.card-icon img{width:100%;height:100%;object-fit:cover}.card.active .card-icon{background-color:hsl(var(--primary-foreground));color:hsl(var(--primary))}.card.disabled{opacity:.6;cursor:not-allowed}.card.disabled.clickable{cursor:not-allowed}.card.disabled:hover{opacity:.6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.settings-dropdown{position:relative;display:inline-block}.settings-dropdown .settings-trigger{background:none;border:none;color:hsl(var(--foreground));cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.settings-dropdown .settings-trigger:hover{background-color:hsl(var(--muted));color:hsl(var(--primary))}.settings-dropdown .settings-trigger:active{transform:scale(.95)}.settings-dropdown .settings-menu{position:absolute;bottom:100%;right:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:320px;padding:8px;z-index:1000;animation:fadeIn .15s ease-out;margin-bottom:8px}.settings-dropdown .settings-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:6px;transition:background-color .2s ease}.settings-dropdown .settings-item.clickable{cursor:pointer}.settings-dropdown .settings-item:hover{background:hsl(var(--muted)/.5)}.settings-dropdown .setting-info{display:flex;align-items:center;gap:12px;flex:1}.settings-dropdown .setting-icon{color:hsl(var(--muted-foreground));display:flex;align-items:center}.settings-dropdown .setting-text{flex:1}.settings-dropdown .setting-label{font-size:14px;font-weight:500;color:hsl(var(--card-foreground));margin-bottom:2px}.settings-dropdown .setting-description{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.3}.settings-dropdown .toggle-switch{position:relative;width:36px;height:20px;background:hsl(var(--muted));border:none;border-radius:10px;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.settings-dropdown .toggle-switch.enabled{background:hsl(var(--primary))}.settings-dropdown .toggle-switch:hover:not(.disabled){opacity:.8}.settings-dropdown .toggle-switch .toggle-slider{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.settings-dropdown .toggle-switch.enabled .toggle-slider{transform:translate(16px)}.settings-dropdown .dialogue-model-select{background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:4px;color:hsl(var(--foreground));font-size:13px;padding:6px 8px;min-width:120px;cursor:pointer;transition:all .2s ease}.settings-dropdown .dialogue-model-select:hover{border-color:hsl(var(--primary))}.settings-dropdown .dialogue-model-select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2)}.settings-dropdown .dialogue-model-select option{background:hsl(var(--background));color:hsl(var(--foreground));padding:4px}@media (prefers-color-scheme: dark){.settings-dropdown .settings-menu{box-shadow:0 4px 12px #0000004d}.settings-dropdown .toggle-switch .toggle-slider{box-shadow:0 1px 3px #0006}}.journal{display:flex;flex-direction:column;width:380px;background-color:hsl(var(--card));color:hsl(var(--card-foreground));padding:16px 16px 16px 0;height:100%;flex-shrink:0;transition:transform .3s ease}@media (max-width: 1200px){.journal{position:fixed;top:0;right:0;z-index:11;width:100dvw;max-width:450px;height:100dvh;padding-left:16px;transform:translate(100%);box-shadow:0 0 15px #0003}.journal.open{transform:translate(0)}}@media (max-width: 720px){.journal{width:100dvw;max-width:none;padding-left:16px;padding-right:16px}}.journal-tabs{padding:0 16px}.journal-inner{border:1px solid hsl(var(--border));border-radius:var(--radius);height:100%;display:flex;flex-direction:column}.tabs-header{display:flex;gap:8px;background-color:hsl(var(--background))}.tabs-header{display:flex;justify-content:center;flex-wrap:wrap}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:none;border:none;color:hsl(var(--muted-foreground));font-size:.775rem;cursor:pointer;transition:all .2s ease;border-radius:var(--radius)}.tab-button.active{color:hsl(var(--primary));background-color:hsl(var(--muted)/.5)}.tab-button:hover{background-color:hsl(var(--muted))}.tab-button:hover:not(.active){color:hsl(var(--foreground))}.tab-button .tab-icon{display:flex;align-items:center}.tab-button .tab-label{font-weight:500}.suspect-profile{margin-top:16px}.suspect-profile .character-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:32px;padding:12px;background-color:hsl(var(--muted));border-radius:var(--radius)}.suspect-profile .character-avatar{width:100%;aspect-ratio:1;border-radius:var(--radius);overflow:hidden;border:2px solid hsl(var(--border))}.suspect-profile .character-avatar img{width:100%;height:100%;object-fit:cover}.suspect-profile .character-name{margin:0;font-size:1rem;font-weight:600;color:hsl(var(--foreground));text-align:center}.suspect-profile .character-role{display:flex;align-items:center;gap:4px;color:hsl(var(--muted-foreground));font-size:.775rem;text-transform:capitalize}.suspect-profile .character-details{display:flex;flex-direction:column;gap:24px}.suspect-profile .detail-section .detail-header{display:flex;align-items:center;gap:4px;margin-bottom:8px;font-size:.775rem;color:hsl(var(--foreground));font-weight:500;text-transform:uppercase;letter-spacing:.05em}.suspect-profile .detail-section .detail-content{margin:0;color:hsl(var(--muted-foreground));line-height:1.5;font-size:.775rem}.suspect-profile .nothing{color:hsl(var(--muted-foreground));font-style:italic;text-align:center;padding:24px}.watson-chat{display:flex;flex-direction:column;height:100%;min-height:0;margin-top:16px}.worlds-container{width:100vw;height:100dvh;background-color:hsl(var(--background));color:hsl(var(--foreground));overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.worlds-header{display:flex;flex-direction:column;gap:16px}.worlds-header .header-top{display:flex;align-items:center;justify-content:center}.worlds-header .header-top .wordmark{display:flex;align-items:center;gap:8px}.worlds-header .header-top .wordmark .logo{height:32px;width:auto}.worlds-header .header-top .wordmark .logo-text{font-size:1.3rem;font-weight:700;color:hsl(var(--foreground))}.worlds-header .header-content{display:flex;flex-direction:row;flex:1;gap:16px}.worlds-header .header-content .logo{display:none}.worlds-header .header-text-group{display:flex;align-items:center;gap:16px;flex:1}.worlds-header .header-text{display:flex;flex-direction:column;gap:4px;flex:1}.worlds-header .worlds-title{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:700;color:hsl(var(--foreground));margin:0}.worlds-header .worlds-title .worlds-icon{color:hsl(var(--primary))}.worlds-header .worlds-subtitle{font-size:.775rem;color:hsl(var(--muted-foreground));margin:0}.worlds-header .header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.search-section{display:flex;align-items:stretch;gap:12px;width:100%}.search-section .search-bar{position:relative;flex:1;min-width:0}.search-section .search-bar .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));z-index:2}.search-section .search-bar .search-input{background-color:hsl(var(--input));color:hsl(var(--foreground));border-radius:var(--radius);padding:.5rem;padding-left:40px;padding-right:12px;background-color:hsl(var(--muted)/.3);border:1px solid hsl(var(--border));height:44px;width:100%;box-sizing:border-box}.search-section .search-bar .search-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring))}.search-section .search-bar .search-input::placeholder{color:hsl(var(--muted-foreground))}.search-section .search-bar .search-input:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.search-section .search-bar .search-input:focus{background-color:hsl(var(--background));border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.2)}.search-section .filters-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;border-radius:var(--radius);transition:all .2s ease;display:flex;align-items:center;gap:8px;padding:8px 16px;background:hsl(var(--muted)/.3);border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.775rem;height:44px;white-space:nowrap;flex-shrink:0}.search-section .filters-button:hover,.search-section .filters-button.active{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--primary))}.subscription-prompt{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:16px;box-shadow:0 1px 4px #0000001a}.subscription-prompt .subscription-prompt-content{display:flex;align-items:center;gap:16px}.subscription-prompt .subscription-prompt-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:hsl(var(--primary)/.1);border-radius:50%;color:hsl(var(--primary));flex-shrink:0}.subscription-prompt .subscription-prompt-text{flex:1;display:flex;flex-direction:column;gap:4px}.subscription-prompt .subscription-prompt-text h3{margin:0;font-size:1rem;font-weight:600;color:hsl(var(--foreground))}.subscription-prompt .subscription-prompt-text p{margin:0;font-size:.775rem;color:hsl(var(--muted-foreground));line-height:1.5}.subscription-prompt .subscription-prompt-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.subscription-prompt .subscription-upgrade-btn{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px 16px;border-radius:var(--radius);font-weight:500;display:flex;align-items:center;gap:4px;white-space:nowrap}.subscription-prompt .subscription-upgrade-btn:hover{background:hsl(var(--primary)/.9)}.subscription-prompt .subscription-dismiss-btn{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;width:36px;height:36px;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;padding:0}.subscription-prompt .subscription-dismiss-btn:hover{color:hsl(var(--foreground));border-color:hsl(var(--border));background:hsl(var(--muted)/.3)}.worlds-content{flex:1;display:flex;flex-direction:column;gap:16px}.worlds-content .section-header{display:flex;align-items:center;gap:8px}.worlds-content .section-header h2{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0}.worlds-content .section-header svg{color:hsl(var(--primary))}.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px;color:hsl(var(--muted-foreground));font-size:.775rem}.loading-state .spinner{width:20px;height:20px;border:2px solid hsl(var(--muted));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}@media (max-width: 1440px){.worlds-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}}@media (max-width: 720px){.worlds-grid{grid-template-columns:1fr;gap:16px}}.world-card{color:hsl(var(--card-foreground));border-radius:var(--radius);padding:0;overflow:hidden;background:hsl(var(--card));border:1px solid hsl(var(--border));transition:all .2s ease;display:flex;flex-direction:column;max-width:500px;width:100%;height:100%;margin:auto}.world-card:hover{border-color:hsl(var(--primary)/.5);box-shadow:0 0 15px #0003;transform:translateY(-2px)}.world-card .world-image{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.world-card .world-image.placeholder{display:flex;align-items:center;justify-content:center;background:hsl(var(--muted)/.3);color:hsl(var(--muted-foreground));font-size:1.5rem;font-weight:700;height:265px}.world-card .world-image .world-image-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;text-shadow:0 0 5px rgba(0,0,0,.8);z-index:2;text-align:center}.world-card .world-image .image-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,hsl(var(--primary)/.2),hsl(var(--primary)/.5));opacity:.5;pointer-events:none;z-index:1}.world-card .world-image img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,hsl(var(--muted)),hsl(var(--muted)/.5))}.world-card .world-content{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.world-card .world-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.world-card .world-title{font-size:1rem;font-weight:600;color:hsl(var(--foreground));margin:0;display:flex;align-items:center;gap:4px}.world-card .world-title .new-icon{margin-left:4px;color:hsl(var(--primary));width:14px;height:14px}.world-card .world-description{font-size:.775rem;color:hsl(var(--muted-foreground));line-height:1.5;margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;flex:1}.world-card .world-tags{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.world-card .world-tags .tag{padding:2px 8px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.world-card .world-meta .meta-item{display:flex;align-items:center;gap:4px;font-size:.75rem;color:hsl(var(--muted-foreground)/.8)}.world-card .world-meta .meta-item svg{width:12px;height:12px;opacity:.7}.world-card .world-stats{display:flex;align-items:center;gap:16px}.world-card .world-stats .stat{display:flex;align-items:center;gap:4px;font-size:.75rem;color:hsl(var(--muted-foreground))}.world-card .world-stats .stat svg{width:12px;height:12px;opacity:.7}.world-card .world-creator{display:flex;align-items:center;gap:8px}.world-card .world-creator .creator-avatar{width:24px;height:24px;border-radius:50%;background:hsl(var(--muted))}.world-card .world-creator .creator-name{font-size:.75rem;color:hsl(var(--muted-foreground));display:flex;align-items:center;gap:4px}.world-card .world-creator .creator-name .verified-icon{width:12px;height:12px;color:hsl(var(--primary))}.world-card .world-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px}.world-card .world-actions .play-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px 16px;border-radius:var(--radius);font-weight:500;display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.world-card .world-actions .play-button:hover{background:hsl(var(--primary)/.9)}.world-card .world-actions .action-button{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;width:36px;height:36px;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;padding:0}.world-card .world-actions .action-button:hover{color:hsl(var(--primary));border-color:hsl(var(--primary))}.world-card .world-actions .action-button:active{background:hsl(var(--accent))}.world-card .world-actions .action-button.favorite-button:hover{color:#fc0;border-color:#fc0}.world-card .world-actions .action-button.favorite-button.favorited{background:#ecc113;color:hsl(var(--primary-foreground));border-color:#ecc113}.world-card .world-actions .action-button.favorite-button.favorited:hover{background:#bd9a0f;border-color:#bd9a0f}.btn-primary{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;background:hsl(var(--primary));color:hsl(var(--primary-foreground));padding:8px 16px;border-radius:var(--radius);font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.btn-primary:hover{background:hsl(var(--primary)/.9)}.btn-primary svg{width:16px;height:16px;flex-shrink:0}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{cursor:pointer;background:none;border:none;font:inherit;color:inherit;transition:all .2s ease;background:hsl(var(--muted)/.3);color:hsl(var(--muted-foreground));padding:8px 16px;border:1px solid hsl(var(--border));border-radius:var(--radius);font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.btn-secondary:hover{background:hsl(var(--accent));color:hsl(var(--foreground));border-color:hsl(var(--primary))}.btn-secondary svg{width:16px;height:16px;flex-shrink:0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 720px){.worlds-container{padding:16px;gap:16px}.worlds-header .header-top{display:none}.worlds-header .header-content{flex-direction:column;gap:12px}.worlds-header .header-content .header-text-group .logo{display:block;height:32px;width:auto}.worlds-header .header-actions{width:100%;justify-content:center}.worlds-header .header-actions button{flex:1}.search-section{flex-direction:column;gap:8px}.search-section .search-bar{max-width:none}.search-section .filters-button{width:100%;justify-content:center}.worlds-tabs .tabs-header{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.worlds-tabs .tabs-header::-webkit-scrollbar{display:none}.worlds-tabs .tab-button{flex:1;min-width:120px}.subscription-prompt{padding:12px}.subscription-prompt .subscription-prompt-content{flex-direction:column;gap:12px;text-align:center}.subscription-prompt .subscription-prompt-text{order:1}.subscription-prompt .subscription-prompt-icon{order:0;margin:0 auto}.subscription-prompt .subscription-prompt-actions{order:2;width:100%;justify-content:center}.subscription-prompt .subscription-upgrade-btn{flex:1}}.user-dropdown{position:relative;display:inline-block}.user-dropdown .user-trigger{background:none;border:none;color:hsl(var(--foreground));cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.user-dropdown .user-trigger:hover{background-color:hsl(var(--muted));color:hsl(var(--primary))}.user-dropdown .user-trigger:active{transform:scale(.95)}.user-dropdown .user-menu{position:absolute;top:100%;right:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:260px;padding:8px;z-index:1000;animation:fadeIn .15s ease-out;margin-top:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-dropdown .user-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:6px;transition:background-color .2s ease}.user-dropdown .user-item.clickable{cursor:pointer}.user-dropdown .user-item:hover{background:hsl(var(--muted)/.5)}.user-dropdown .user-info{display:flex;align-items:center;gap:12px;flex:1}.user-dropdown .user-icon{color:hsl(var(--muted-foreground));display:flex;align-items:center}.user-dropdown .user-text{flex:1}.user-dropdown .user-label{font-size:14px;font-weight:500;color:hsl(var(--card-foreground));margin-bottom:2px}.user-dropdown .user-description{font-size:12px;color:hsl(var(--muted-foreground));line-height:1.3}@media (prefers-color-scheme: dark){.user-dropdown .user-menu{box-shadow:0 4px 12px #0000004d}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.3;font-weight:400;--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 270 76.2% 50%;--primary-foreground: 0 0% 100%;--secondary: 280 30% 20%;--secondary-foreground: 0 0% 100%;--muted: 270 15% 95%;--muted-foreground: 270 20% 40%;--accent: 270 70% 95%;--accent-foreground: 270 50% 20%;--destructive: 0 84.2% 50.2%;--destructive-foreground: 210 40% 98%;--border: 270 30% 90%;--input: 270 30% 90%;--ring: 270 76.2% 50%;--radius: .3rem}.dark{--background: 280 30% 10%;--foreground: 0 0% 98%;--card: 280 30% 10%;--card-foreground: 0 0% 98%;--popover: 280 30% 10%;--popover-foreground: 0 0% 98%;--primary: 270 70% 60%;--primary-foreground: 0 0% 100%;--secondary: 270 20% 30%;--secondary-foreground: 0 0% 100%;--muted: 270 25% 20%;--muted-foreground: 270 20% 70%;--accent: 270 30% 25%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 0 0% 98%;--border: 270 30% 25%;--input: 270 30% 25%;--ring: 270 70% 50%;--bg-gradient-stops: #2d1b4a, #3f2b57;--success: 120 60% 40%;--success-foreground: 120 60% 98%;--warning: 42 100% 50%;--warning-foreground: 42 100% 20%;--error: 0 84.2% 50.2%;--error-foreground: 0 0% 98%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#2d1b4a4d}::-webkit-scrollbar-thumb{background:#673ab780}::-webkit-scrollbar-thumb:hover{background:#7e57c299}*{box-sizing:border-box}html{background-color:hsl(var(--background));-webkit-font-smoothing:antialiased;overscroll-behavior:none}body{margin:0;padding:0;font-size:.9rem;overscroll-behavior:none}#root{height:100dvh;overflow:hidden;background-color:hsl(var(--background));color:hsl(var(--foreground));font-size:.9rem;overscroll-behavior:none}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.flex-align-center{align-items:center}.flex-justify-center{justify-content:center}
