@import url("https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;700&display=swap");:root{--background:#0f172a;--foreground:#f8fafc;--primary:#38bdf8;--secondary:#94a3b8;--accent:#f472b6;--card-bg:rgba(30,41,59,.7);--card-border:rgba(148,163,184,.1);--glass:hsla(0,0%,100%,.05);--font-main:"Kaisei Decol",serif}body,html{padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background);color:var(--foreground);overflow-x:hidden;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);font-weight:700;margin-top:0}a{color:inherit;text-decoration:none}*{box-sizing:border-box}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.home-container{min-height:100vh;display:flex;flex-direction:column}.hero{height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at center,#1e293b 0,#0f172a 100%);padding:2rem;position:relative}.hero-content h1{font-size:3.5rem;line-height:1.2;margin-bottom:1.5rem;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--font-main);font-weight:700}.hero-content p{font-size:1.25rem;color:#94a3b8;margin-bottom:3rem;font-family:var(--font-main)}.store-buttons{gap:1.5rem;margin-bottom:3rem}.store-buttons a{transition:transform .2s;display:inline-block}.store-buttons a:hover{transform:translateY(-2px)}.play-teaser{margin-top:2rem}.teaser-link{color:var(--primary);text-decoration:none;font-weight:700;font-size:1.1rem;padding:.8rem 1.5rem;border:1px solid var(--primary);border-radius:30px;transition:all .3s;background:rgba(56,189,248,.1)}.teaser-link:hover{background:var(--primary);color:#fff;box-shadow:0 0 20px rgba(56,189,248,.4)}.about{padding:6rem 2rem;max-width:800px;margin:0 auto;text-align:center}.about h2{font-size:2rem;margin-bottom:2rem;color:#fff}.about h2,.about p{font-family:var(--font-main)}.about p{color:#94a3b8;line-height:1.8;margin-bottom:1.5rem;font-size:1.1rem}footer{padding:3rem 2rem;text-align:center;border-top:1px solid var(--card-border);margin-top:auto}footer a{color:var(--secondary);text-decoration:none;margin-bottom:1rem;display:inline-block;transition:color .2s}footer a:hover{color:var(--primary)}footer p{color:#64748b;font-size:.9rem}@media (max-width:768px){.hero-content h1{font-size:2.5rem}.store-buttons{flex-direction:column;align-items:center}}.game-container{max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column;background:#0f172a;position:relative}.game-container,.game-container .empty-state,.game-container button,.game-container h1,.game-container h2,.game-container input,.game-container p,.game-container span{font-family:var(--font-main)}.game-header{padding:1rem;display:flex;align-items:center;gap:1rem;background:rgba(15,23,42,.9);border-bottom:1px solid var(--card-border)}.game-header h1{font-size:1.2rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.back-link{color:var(--secondary);font-size:.9rem;text-decoration:none}.problem-card{padding:1.5rem;background:var(--card-bg);border-bottom:1px solid var(--card-border);font-size:1rem;line-height:1.6}.chat-area{flex:1 1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;transition:filter .3s}.chat-area.blurred{filter:blur(4px)}.empty-state{text-align:center;color:var(--secondary);margin-top:2rem}.chat-message{display:flex;flex-direction:column;max-width:85%}.chat-message.user{align-self:flex-end;align-items:flex-end}.chat-message.model{align-self:flex-start;align-items:flex-start}.bubble{padding:.8rem 1rem;border-radius:12px;background:var(--glass);border:1px solid var(--card-border);position:relative}.user.question .bubble{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.3)}.user.answer .bubble{background:rgba(244,114,182,.1);border-color:rgba(244,114,182,.3)}.badge{font-size:.7rem;font-weight:700;display:block;margin-bottom:.3rem;color:var(--secondary);text-transform:uppercase}.input-area{padding:1rem;background:var(--background);border-top:1px solid var(--card-border)}.mode-toggle{display:flex;gap:.5rem;margin-bottom:.5rem}.mode-toggle button{background:transparent;border:1px solid var(--card-border);color:var(--secondary);padding:.4rem 1rem;border-radius:20px;cursor:pointer;transition:all .2s}.mode-toggle button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.mode-toggle button.active:last-child{background:var(--accent);border-color:var(--accent)}.input-group{display:flex;gap:.5rem}input{flex:1 1;background:var(--glass);border:1px solid var(--card-border);color:#fff;padding:.8rem 1rem;border-radius:8px;font-size:1rem}input:focus{outline:none;border-color:var(--primary)}button[type=submit]{background:var(--foreground);color:var(--background);border:none;padding:0 1.5rem;border-radius:8px;font-weight:700;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.turn-counter{text-align:right;font-size:.8rem;color:var(--secondary);margin-top:.5rem}.game-over-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay-content{background:#1e293b;padding:2rem;border-radius:16px;text-align:center;border:1px solid var(--card-border);max-width:90%}.overlay-content h2{color:var(--primary);font-size:1.5rem;margin-bottom:1rem}.store-buttons{display:flex;gap:1rem;justify-content:center;margin:2rem 0;flex-wrap:wrap}.home-btn{display:inline-block;color:var(--secondary);text-decoration:underline;margin-top:1rem}