:root{font-family:Segoe UI,system-ui,sans-serif;color:#e8eef7;background:#0b1220;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,#1a2b4a,#0b1220 55%)}a{color:#9ec1ff;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #3a4d6f;background:#152238;color:#e8eef7;border-radius:10px;padding:.55rem .9rem}button.primary{background:#2f6fed;border-color:#2f6fed}button.danger{background:#8b1e2d;border-color:#b83346}input,textarea,select{width:100%;border-radius:10px;border:1px solid #3a4d6f;background:#0f1a2d;color:#e8eef7;padding:.6rem .75rem}.app-header{display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #243552;background:#080e1ad9;position:sticky;top:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;flex-wrap:wrap}.app-header .brand{font-weight:700;margin-right:.75rem;letter-spacing:.04em}.app-header a,.app-header button.linkish{background:transparent;border:none;color:#c7d7f5;padding:.4rem .55rem}.app-header a.active{color:#fff;border-bottom:2px solid #2f6fed}.page{padding:1.25rem;max-width:1200px;margin:0 auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.card{border:1px solid #2b3d5c;border-radius:16px;padding:1.1rem;background:#121c31}.card h2{margin-top:0}.layout-split{display:grid;grid-template-columns:280px 1fr 360px;gap:.75rem;min-height:70vh}@media(max-width:1000px){.layout-split{grid-template-columns:1fr}}.panel{border:1px solid #2b3d5c;border-radius:14px;background:#101a2c;overflow:hidden;display:flex;flex-direction:column;min-height:320px}.panel h3{margin:0;padding:.7rem .85rem;border-bottom:1px solid #243552;font-size:.95rem}.panel .body{padding:.75rem;overflow:auto;flex:1}.msg{padding:.55rem .7rem;border-radius:10px;margin-bottom:.5rem;white-space:pre-wrap}.msg.user{background:#1c3358}.msg.assistant{background:#162033;border:1px solid #2a3c5a}.chip{display:inline-block;font-size:.8rem;padding:.2rem .5rem;border-radius:999px;background:#243552;margin-bottom:.5rem}.login-wrap{max-width:420px;margin:4rem auto}.row{display:flex;gap:.5rem;align-items:center}.muted{color:#9aadc8;font-size:.9rem}.error{color:#ff8e9a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal{background:#121c31;border:1px solid #35507a;border-radius:16px;max-width:520px;width:100%;padding:1rem}.modal option-card,.option-card{border:1px solid #2b3d5c;border-radius:12px;padding:.75rem;margin:.5rem 0;cursor:pointer}.option-card:hover,.option-card.selected{border-color:#2f6fed}.diff{font-size:11px;background:#0a1220;padding:.5rem;border-radius:8px;overflow:auto;max-height:200px}.voice-panel{margin-bottom:1rem}.voice-orb{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;margin:0 auto .75rem;background:radial-gradient(circle at 30% 30%,#5b8cff,#1a2a4a 70%);border:2px solid #3d5f99;transition:transform .2s ease,box-shadow .2s ease}.voice-orb[data-active=true]{transform:scale(1.06);box-shadow:0 0 0 6px #2f6fed40;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #2f6fed33}50%{box-shadow:0 0 0 12px #2f6fed14}}.coding-page{max-width:1600px}.coding-layout{display:grid;grid-template-columns:1fr 380px;gap:.75rem;min-height:75vh}@media(max-width:1100px){.coding-layout{grid-template-columns:1fr}}.ide-frame{width:100%;min-height:75vh;border:1px solid #2b3d5c;border-radius:14px;background:#0a1220}.ide-wrap,.coding-agent .panel{min-height:75vh}a.button{display:inline-flex;align-items:center;padding:.45rem .8rem;border-radius:10px;border:1px solid #2b3d5c;background:#152238;color:inherit;text-decoration:none;font:inherit;cursor:pointer}a.button.primary{background:#2f6fed;border-color:#2f6fed;color:#fff}.coding-hints button{font-size:.85rem}.file-tree{list-style:none;margin:.5rem 0;padding:0;max-height:40vh;overflow:auto}.file-tree li{margin:0}.file-tree button{width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:.35rem .45rem;color:inherit;cursor:pointer}.file-tree button:hover{background:#152238}.file-tree button.file-active{background:#1c3358}.file-tree button:disabled{opacity:.55;cursor:default}
