:root{--bg-color: #0f172a;--card-bg: #1e293b;--accent-primary: #3b82f6;--accent-secondary: #8b5cf6;--text-main: #f1f5f9;--text-muted: #94a3b8;--border-color: #334155;--glass-bg: rgba(30, 41, 59, .7);--success: #10b981;--warning: #f59e0b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-main);line-height:1.6;overflow-x:hidden}.app-container{display:flex;height:100vh;width:100vw}.sidebar{width:320px;background:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:2rem;transition:transform .3s ease}.logo{font-size:1.5rem;font-weight:800;background:linear-gradient(to right,var(--accent-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2rem;display:flex;align-items:center;gap:.5rem}.chat-main{flex:1;display:flex;flex-direction:column;position:relative;background:radial-gradient(circle at top right,rgba(59,130,246,.05),transparent),radial-gradient(circle at bottom left,rgba(139,92,246,.05),transparent)}.chat-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:space-between;align-items:center;z-index:10}.messages-container{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.message{max-width:80%;padding:1rem 1.5rem;border-radius:1rem;animation:slideUp .3s ease-out}.message.user{align-self:flex-end;background:var(--accent-primary);color:#fff;border-bottom-right-radius:.2rem}.message.assistant{align-self:flex-start;background:var(--card-bg);border:1px solid var(--border-color);border-bottom-left-radius:.2rem}.input-area{padding:2rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-color)}.input-wrapper{max-width:800px;margin:0 auto;position:relative}input[type=text]{width:100%;padding:1rem 3.5rem 1rem 1.5rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-main);outline:none;transition:border-color .2s}input[type=text]:focus{border-color:var(--accent-primary)}.send-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--accent-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.selection-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-color);z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:1000px;margin-top:2rem}.card{background:var(--card-bg);padding:2rem;border-radius:1rem;border:1px solid var(--border-color);text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{transform:translateY(-5px);border-color:var(--accent-primary);box-shadow:0 10px 25px -5px #3b82f633}.status-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:1rem;text-transform:uppercase;font-weight:700}.status-pass{background:#10b98133;color:var(--success)}.hint-level{background:#f59e0b33;color:var(--warning)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.prose h1,.prose h2,.prose h3{margin-bottom:1rem}.prose p{margin-bottom:.75rem}.prose code{background:#000;padding:.2rem .4rem;border-radius:.25rem}
