.generator-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:20px;align-items:start}.generator-grid label{margin-bottom:16px}.choice-row{display:flex;gap:10px;margin-bottom:18px}.choice{flex:1;margin:0!important}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;text-align:center;padding:11px;border:1px solid #d0d5dd;border-radius:9px;cursor:pointer}.choice input:checked+span{border-color:var(--blue);background:#eff6ff;color:var(--blue);font-weight:700}.upload-note{padding:12px;background:#f8fafc;border-radius:8px;color:var(--muted);font-size:13px}.security-card ul{padding-left:20px;color:var(--muted)}.security-card li{margin:8px 0}.security-card pre{white-space:pre-wrap;background:#f8fafc;padding:13px;border-radius:8px;overflow:auto}.generation-progress{margin-top:20px}.progress-track{height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin-top:10px}.progress-track i{display:block;height:100%;width:0;background:var(--blue);transition:width .2s}.code-stage{position:fixed;left:-10000px;top:0;visibility:hidden}.tag.generation-completed{background:#ecfdf3;color:#027a48}.tag.generation-partial{background:#fffaeb;color:#b54708}.tag.generation-failed{background:#fef2f2;color:#b42318}.tag.generation-processing{background:#eff8ff;color:#175cd3}.alert.warning{background:#fffaeb;color:#b54708}@media(max-width:760px){.generator-grid{grid-template-columns:1fr}.security-card{order:2}.top nav{overflow-x:auto}}
