.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:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.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))}.card-character .card-subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.card-icon{display:flex;align-items:center;justify-content:center;margin-right:12px}.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: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{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))}input:disabled{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}input:disabled::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;height:100dvh;width:100%;background-color:hsl(var(--background));background:linear-gradient(135deg,#40136c,#2f0b41);flex:1}.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-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}@media (max-width: 480px){.auth-container{padding:1.5rem;min-width:280px}.auth-title{font-size:1.25rem}.auth-subtitle{font-size:.75rem}}#journal-btn{display:none}@media (max-width: 1200px){#journal-btn{display:flex}}#menu-btn{display:none;width:2.5rem;height:2.5rem;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}@media (max-width: 1200px){.dialog{padding-right:12px;padding-left:12px}}.dialog-header{display:flex;align-items:center;justify-content:space-between;height:6rem;background-color:hsl(var(--background));border-bottom:1px solid hsl(var(--border)/.6);padding:0 2px;gap:12px}.dialog-header .header-title{display:flex;align-items:center;flex:1}.dialog-header .character-info{display:flex;flex-direction:column;gap:4px}.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}.dialog-actions{display:flex;gap:8px}.dialog-content{flex:1;overflow:hidden;border-radius:8px;background:linear-gradient(135deg,#40136c,#2f0b41)}.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}.chat-messages .message:last-child{margin-bottom:0}.chat-messages .message.assistant{background:none;border:none}.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}audio.character-voice{display:none}.sidebar{display:flex;flex-direction:column;width:350px;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:1001;width:100vw;max-width:400px;height:100dvh;transform:translate(-100%);box-shadow:0 0 15px #0003}.sidebar.open{transform:translate(0)}}@media (max-width: 480px){.sidebar{width:100vw;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}.sidebar-header:after{content:"";position:absolute;bottom:-25px;left:0;right:0;height:25px;background:linear-gradient(to bottom,hsl(var(--card)),transparent);pointer-events:none;z-index:10}.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:4px 16px 16px;overflow-y:auto;flex-grow:1;position:relative}.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:40px;height:40px;border-radius:var(--radius);border:1px solid hsl(var(--border))}.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{margin-top:auto;padding:16px;position:relative}.sidebar-footer:before{content:"";position:absolute;top:-30px;left:0;right:0;height:30px;background:linear-gradient(to top,hsl(var(--card)),transparent);pointer-events:none;z-index:10}.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{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{background-color:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}.logout-button:active{transform:scale(.95)}.logout-icon{display:flex;align-items:center;justify-content:center;color:hsl(var(--destructive))}.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}.journal{display:flex;flex-direction:column;width:350px;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:1001;width:100vw;max-width:400px;height:100dvh;padding-left:16px;transform:translate(100%);box-shadow:0 0 15px #0003}.journal.open{transform:translate(0)}}@media (max-width: 480px){.journal{width:100vw;max-width:none;padding-left:16px;padding-right:16px}}.journal-inner{border:1px solid hsl(var(--border));border-radius:var(--radius);height:100%;display:flex;flex-direction:column}.clue-image{width:40px;height:40px;border-radius:8px;overflow:hidden;flex-shrink:0}.clue-image img{width:100%;height:100%;object-fit:cover}: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% 80%;--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}::-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}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}.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}
