*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1a1a2e;--surface: #16213e;--border: #0f3460;--primary: #e94560;--text: #eee;--muted: #999;--success: #4ade80;--danger: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:var(--primary)}button{background:var(--primary);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled){opacity:.9}button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,textarea,select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:4px;font-size:14px;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px}textarea{resize:vertical;font-family:inherit}label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.auth-form{background:var(--surface);padding:32px;border-radius:8px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.auth-form h1{text-align:center;margin-bottom:8px}.auth-form p{text-align:center;font-size:14px;color:var(--muted)}.error{color:#ff6b6b;font-size:13px;text-align:center}.success-msg{color:var(--success);font-size:14px;text-align:center}.page{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.topbar h1{font-size:18px}.topbar small{color:var(--muted)}.spacer{flex:1}.projects-main{padding:24px;max-width:800px;margin:0 auto;width:100%}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.create-form{display:flex;flex-direction:column;gap:8px;background:var(--surface);padding:16px;border-radius:8px;margin-bottom:16px}.create-form button{width:fit-content}.project-list{list-style:none}.project-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface);border-radius:6px;margin-bottom:8px}.project-link{cursor:pointer}.project-link:hover{color:var(--primary)}.project-link:focus-visible{outline:2px solid var(--primary);border-radius:2px}.delete-btn{background:#333;font-size:12px;padding:4px 10px}.empty{color:var(--muted);padding:16px}.detail-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:240px;min-width:240px;background:var(--surface);border-right:1px solid var(--border);padding:16px;overflow-y:auto;display:flex;flex-direction:column}.sidebar h3{font-size:14px;color:var(--muted)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:4px}.sidebar-actions{display:flex;gap:4px}.file-tree{list-style:none;flex:1}.file-tree li{padding:6px 8px;border-radius:4px;cursor:pointer;font-size:13px;font-family:monospace}.file-tree li:hover{background:var(--border)}.file-tree li:focus-visible{outline:2px solid var(--primary)}.file-tree li.active{background:var(--primary);color:#fff}.detail-main{flex:1;padding:24px;overflow-y:auto}.editor-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.editor-toolbar h3{font-family:monospace;font-size:14px}.code-editor{width:100%;min-height:60vh;background:#0d1117;border:1px solid var(--border);color:var(--text);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5;padding:16px;border-radius:6px;white-space:pre;overflow:auto;-moz-tab-size:2;tab-size:2}.generate-panel{max-width:700px}.generate-panel h3{margin-bottom:12px}.generate-controls{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.generate-controls select{width:auto}.stream-output{margin-top:16px;background:#0d1117;padding:16px;border-radius:6px;max-height:400px;overflow-y:auto}.stream-output pre{font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.history-panel{max-width:700px}.history-panel h3{margin-bottom:16px}.generation-list{list-style:none}.generation-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:12px 16px;margin-bottom:8px}.gen-info{display:flex;align-items:center;gap:8px;margin-bottom:6px}.gen-status{font-size:11px;text-transform:uppercase;padding:2px 6px;border-radius:3px;font-weight:600}.gen-status-completed{background:#166534;color:var(--success)}.gen-status-failed{background:#7f1d1d;color:#fca5a5}.gen-status-running{background:#1e3a5f;color:#93c5fd}.gen-status-pending{background:#333;color:var(--muted)}.gen-date{font-size:12px;color:var(--muted)}.gen-prompt{font-size:13px;margin-bottom:6px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-main{padding:24px;max-width:600px;margin:0 auto;width:100%}.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:16px}.settings-section h2{font-size:16px;margin-bottom:12px}.settings-section p{font-size:13px;color:var(--muted);margin-bottom:12px}.settings-danger{border-color:var(--danger)}.settings-form{display:flex;flex-direction:column;gap:8px}.settings-form button{width:fit-content}.btn-row{display:flex;gap:8px}button.ghost{background:transparent;color:var(--muted);padding:2px 6px;font-size:12px}button.ghost:hover:not(:disabled){color:var(--text)}button.danger{background:var(--danger)}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;font-size:14px;animation:toast-in .2s ease-out;box-shadow:0 4px 12px #0000004d}.toast-success{background:#166534;color:var(--success)}.toast-error{background:#7f1d1d;color:#fca5a5}.toast-info{background:#1e3a5f;color:#93c5fd}.toast-close{background:transparent;color:inherit;padding:0 4px;font-size:18px;line-height:1;margin-left:auto}@keyframes toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;padding:24px;text-align:center}.splash{padding:32px;color:var(--muted);text-align:center}.settings-tabs{display:flex;gap:4px;margin-bottom:20px}.tab{background:transparent;color:var(--muted);border:1px solid var(--border);padding:8px 16px;border-radius:6px}.tab:hover:not(:disabled){color:var(--text);border-color:var(--primary)}.tab-active{background:var(--primary);color:#fff;border-color:var(--primary)}.plan-badge{display:flex;align-items:center;gap:12px}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;text-transform:uppercase}.badge-free{background:#333;color:var(--muted)}.badge-pro{background:#1e3a5f;color:#60a5fa}.plan-renews{font-size:13px;color:var(--muted)}.plan-desc{font-size:14px;color:var(--muted);margin-bottom:16px}.pricing-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.pricing-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center}.pricing-card-featured{border-color:var(--primary);position:relative}.pricing-card h3{font-size:14px;color:var(--muted);margin-bottom:8px}.pricing-card .price{font-size:28px;font-weight:700;margin-bottom:4px}.pricing-card .price span{font-size:14px;color:var(--muted);font-weight:400}.pricing-card .savings{font-size:12px;color:var(--success);margin-bottom:12px}.pricing-card button{width:100%;margin-top:12px}.mobile-menu-btn{display:none}@media (max-width: 768px){.topbar{padding:12px 16px;gap:8px}.mobile-menu-btn{display:inline-block;background:var(--surface);border:1px solid var(--border)}.detail-layout{position:relative}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .2s ease;width:260px;padding-top:72px}.sidebar-open{transform:translate(0);box-shadow:4px 0 16px #00000080}.detail-main{padding:16px}.code-editor{min-height:50vh;font-size:12px}.projects-main,.settings-main{padding:16px}.auth-form{padding:24px}}@media (max-width: 480px){.generate-controls{flex-direction:column}.generate-controls select{width:100%}.topbar h1{font-size:16px}}
