:root{--bg:#101418;--bg-card:#171d23;--bg-inset:#0c1013;--border:#263039;--text:#d5dde3;--text-muted:#7d8a94;--accent:#4fd6c4;--accent-dim:#4fd6c424;--error:#ff7a6e;--ok:#6fdb8b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.55}.shell{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.masthead{text-align:center;margin-bottom:2rem}.masthead h1{letter-spacing:.02em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.6rem}.masthead .accent{color:var(--accent);font-style:italic}.tagline{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:.35rem 0 0;font-size:.95rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1.1rem;padding:1.25rem 1.4rem}.intent-form label{margin-bottom:.5rem;font-weight:600;display:block}textarea,select{background:var(--bg-inset);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:8px;padding:.65rem .8rem}textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.form-row{flex-wrap:wrap;gap:.6rem;margin-top:.8rem;display:flex}.form-row select{flex:1;width:auto;min-width:10rem}button{background:var(--accent);color:#062621;font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.65rem 1.4rem;font-weight:700}button:disabled{opacity:.55;cursor:wait}.working{color:var(--accent);margin:.9rem 0 0}.pulse{background:var(--accent);border-radius:50%;width:.65rem;height:.65rem;margin-right:.5rem;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.result-head{align-items:baseline;gap:.8rem;margin:1.8rem 0 1rem;display:flex}.result-head h2{margin:0;font-family:Georgia,serif}.card-head{justify-content:space-between;align-items:baseline;gap:.8rem;display:flex}.card-head h3{color:var(--accent);letter-spacing:.04em;margin:0 0 .3rem;font-size:1.05rem}.chip{border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.chip-completed{color:var(--ok);border-color:var(--ok);background:#6fdb8b14}.chip-failed,.chip-cancelled{color:var(--error);border-color:var(--error)}.chip-running{color:var(--accent);border-color:var(--accent);background:var(--accent-dim);animation:1.2s ease-in-out infinite pulse}.chip-version{color:var(--accent);border-color:var(--accent)}.reflect-row{flex-wrap:wrap;gap:.5rem;margin-top:.9rem;display:flex}.reflect-row input{background:var(--bg-inset);min-width:12rem;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.88rem}.reflect-row button{padding:.4rem .9rem;font-size:.88rem}.reflect-row .accept{color:var(--ok,#7fd18c);background:0 0;border:1px solid}.cancel{color:var(--error);border:1px solid var(--error);background:0 0;margin-left:auto;padding:.35rem .9rem;font-weight:600}.lyrics{background:var(--bg-inset);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;max-height:22rem;padding:1rem;font-family:Georgia,serif;font-size:.95rem;overflow-y:auto}.player{width:100%;margin-top:.3rem}.download{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:.6rem 1.2rem;font-weight:600;text-decoration:none;display:inline-block}.journey{border:1px dashed var(--border);border-radius:10px;margin-top:1.4rem;padding:.9rem 1.2rem}.journey summary{cursor:pointer;color:var(--text-muted);font-weight:600}.journey ol{margin:.8rem 0 .2rem;padding-left:1.4rem}.journey li{margin:.2rem 0}.journey code{color:var(--accent);background:var(--accent-dim);border-radius:4px;padding:.05rem .4rem;font-size:.85rem}.chat-title{margin:0 0 .2rem;font-family:Georgia,serif}.chat-log{flex-direction:column;gap:.5rem;margin:1rem 0 .4rem;display:flex}.bubble{white-space:pre-wrap;border-radius:12px;max-width:85%;margin:0;padding:.55rem .9rem}.bubble-human{background:var(--accent-dim);border:1px solid var(--accent);align-self:flex-end}.bubble-assistant{background:var(--bg-inset);border:1px solid var(--border);align-self:flex-start}.chat-row{gap:.6rem;margin-top:.9rem;display:flex}.chat-row input{background:var(--bg-inset);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;padding:.65rem .8rem}.chat-row input:focus{outline:2px solid var(--accent);outline-offset:-1px}.proposal{border:1px solid var(--accent);background:var(--accent-dim);border-radius:10px;margin-top:1rem;padding:.9rem 1.1rem}.proposal-idea{margin:0 0 .5rem;font-family:Georgia,serif;font-size:1.05rem}.attr{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;margin:0 .4rem .3rem 0;padding:.1rem .55rem;font-size:.78rem;display:inline-block}.project-bar{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.6rem 0 .4rem;display:flex}.project-bar button{border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.project-bar .accept{color:var(--accent);background:0 0;border:1px solid}.project-create{gap:.4rem;margin-left:auto;display:flex}.project-create input{background:var(--bg-inset);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;width:10rem;padding:.25rem .6rem;font-size:.8rem}.project-select{width:auto;padding:.1rem .4rem;font-size:.78rem;display:inline-block}.help,.settings-sheet{margin:.8rem 0}.settings-sheet summary{cursor:pointer}.settings-sheet input,.settings-sheet select{background:var(--bg-inset);width:100%;max-width:34rem;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;margin:.2rem 0 .6rem;padding:.45rem .7rem;font-size:.88rem;display:block}.help summary{cursor:pointer}.help-body{background:var(--bg-card,#ffffff08);border:1px solid var(--border);border-radius:12px;margin-top:.6rem;padding:.9rem 1.2rem;line-height:1.55}.help-body h4{color:var(--accent);margin:.9rem 0 .25rem;font-size:.85rem}.help-body h4:first-child{margin-top:0}.help-body p{color:var(--text-muted);margin:0}.assumptions{margin:.4rem 0 .7rem;padding-left:1.2rem}.direct{margin-bottom:1.1rem}.direct summary{cursor:pointer;padding:.3rem .2rem}.direct .card{margin-top:.6rem}.muted{color:var(--text-muted)}.small{font-size:.82rem}.error-text{color:var(--error);margin:.6rem 0 0}.foot{text-align:center;margin-top:3rem}.progress{background:#ffffff14;border-radius:3px;height:6px;margin:.4rem 0 .6rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2dd4bf,#5eead4);border-radius:3px;height:100%;transition:width .4s}
