.requirement-page{max-width:1480px;margin:0 auto;padding:24px 20px 32px;display:grid;gap:18px;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111}.requirement-header{display:grid;gap:6px}.requirement-eyebrow{font-size:13px;letter-spacing:.08em;color:#666}.requirement-title{margin:0;font-size:28px;line-height:1.1}.requirement-description{margin:0;color:#555;font-size:14px;line-height:1.6;max-width:860px}.requirement-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:stretch;min-height:calc(100vh - 140px)}.requirement-layout-collapsed{grid-template-columns:76px minmax(0,1fr)}.requirement-sidebar,.start-panel,.result-panel{display:grid;gap:12px;padding:14px;border-radius:18px;border:1px solid #ececec;background:#fff}.requirement-sidebar{background:#f8f8f7;grid-template-rows:auto auto 1fr auto;position:sticky;top:16px;height:calc(100vh - 48px);overflow:hidden}.requirement-sidebar-collapsed{padding:10px;justify-items:center}.sidebar-topbar{display:flex;align-items:center;gap:10px}.sidebar-brand{font-size:14px;font-weight:600}.sidebar-icon-button{width:38px;height:38px;border-radius:12px;border:1px solid #ddd;background:#fff;cursor:pointer}.sidebar-collapsed-hint{font-size:12px;color:#666}.sidebar-scroll{min-height:0;overflow:auto;padding-right:2px}.sidebar-footer{border-top:1px solid #e7e7e7;padding-top:10px}.sidebar-footer-button{width:100%;border-radius:12px;border:1px solid #ddd;background:#fff;color:#111;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.requirement-main{display:grid;gap:12px;align-content:start}.requirement-panel-heading{display:grid;gap:4px}.requirement-panel-heading h2,.start-panel h2,.result-header h2{margin:0;font-size:20px}.requirement-panel-heading p,.start-panel p,.result-header p{margin:0;color:#666;font-size:13px;line-height:1.5}.start-panel{gap:10px;padding:16px}.start-panel h2{font-size:20px}.start-textarea{padding:12px;font-size:15px;border-radius:14px;border:1px solid #d8d8d8;resize:vertical;min-height:116px}.history-list{display:grid;gap:10px}.history-list-collapsed{justify-items:center}.sidebar-history-dot{width:40px;height:40px;border-radius:12px;border:1px solid #ddd;background:#fff;font-size:14px;cursor:pointer}.history-card{display:grid;gap:6px;border:1px solid #ececec;padding:12px;border-radius:16px;background:#fff}.history-card strong{font-size:15px;line-height:1.5}.history-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#666}.panel-empty-state{color:#666;font-size:13px;line-height:1.6;padding:4px 0}.primary-button,.secondary-button,.ghost-button{border-radius:12px;padding:10px 14px;font-size:14px;cursor:pointer;transition:all .12s ease}.primary-button{width:fit-content;border:1px solid #111;background:#111;color:#fff}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.6}.secondary-button{border:1px solid #d8d8d8;background:#fff;color:#111}.ghost-button{width:fit-content;justify-self:start;border:1px solid #d8d8d8;background:#fafafa;color:#111}.history-action-button{margin-top:2px}.error-banner{padding:10px 12px;border-radius:14px;background:#fff4f4;border:1px solid #ffd8d8;color:#aa2b2b}.result-panel{gap:10px;padding:16px;background:#111;color:#fff}.result-header{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.result-header p{color:#ffffffc2}.result-copy-button{background:#ffffff14;border-color:#ffffff2e;color:#fff}.result-content{white-space:pre-wrap;margin:0;font-family:inherit;line-height:1.5;overflow-x:auto}@media(max-width:900px){.requirement-layout{grid-template-columns:1fr;min-height:auto}.requirement-sidebar,.requirement-sidebar-collapsed{position:static;height:auto;grid-template-rows:auto auto auto auto}.requirement-layout-collapsed{grid-template-columns:1fr}.requirement-title{font-size:24px}}@media(max-width:640px){.requirement-page{padding:16px 12px 24px;gap:14px}.requirement-title{font-size:22px}.requirement-description{font-size:14px}.requirement-sidebar,.start-panel,.result-panel{padding:12px;border-radius:16px}.primary-button,.secondary-button,.ghost-button{width:100%;justify-self:stretch}.result-header{align-items:stretch}}
