*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--page-bg: #f5f5f5;--surface-bg: #fff;--surface-shadow: 0 2px 16px rgb(0 0 0 / 8%);--text-primary: #222;--text-secondary: #555;--text-muted: #666;--text-strong: #444;--border-subtle: #e8e8e8;--border-strong: #ccc;--button-bg: #fafafa;--button-bg-hover: #eee;--button-active-bg: #333;--button-active-text: #fff;--row-bg: #fff;--row-bg-selected: #fafafa;--row-border-selected: #d8d8d8;--field-bg: #fff;--field-error-bg: #fff7f7;--field-error-border: #c0392b;--axis: #999;--graph-text: #444;--kano-basic: #4caf50;--kano-performance: #5b9bd5;--kano-delighter: #e74c3c;--dot-label-bg: #fff;--dot-label-opacity: .96;--dot-stroke: #fff}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--page-bg: #0f1115;--surface-bg: #171a21;--surface-shadow: 0 2px 22px rgb(0 0 0 / 35%);--text-primary: #f2f4f8;--text-secondary: #c5cad3;--text-muted: #aeb5c1;--text-strong: #d9dee8;--border-subtle: #2a2f3a;--border-strong: #444b5a;--button-bg: #202530;--button-bg-hover: #2a3140;--button-active-bg: #e7ebf3;--button-active-text: #11141a;--row-bg: #171a21;--row-bg-selected: #202530;--row-border-selected: #3a4352;--field-bg: #10141b;--field-error-bg: #2a1719;--field-error-border: #ff8f86;--axis: #6f7786;--graph-text: #d3d8e2;--kano-basic: #72c96b;--kano-performance: #7db5f0;--kano-delighter: #ff7567;--dot-label-bg: #11141a;--dot-stroke: #171a21}}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--page-bg);color:var(--text-primary);min-height:100vh;padding:24px}button,input,select{font:inherit}button{font-size:15px;padding:7px 14px;border:1px solid var(--border-strong);border-radius:6px;background:var(--button-bg);cursor:pointer;color:var(--text-primary)}button:hover:not(:disabled){background:var(--button-bg-hover)}button:disabled{opacity:.45;cursor:default}button.active{background:var(--button-active-bg);color:var(--button-active-text);border-color:var(--button-active-bg)}.app-shell{max-width:1120px;margin:0 auto;background:var(--surface-bg);border-radius:10px;box-shadow:var(--surface-shadow);padding:30px 34px 28px}.intro{display:grid;gap:8px;margin-bottom:22px}.intro h1{font-size:clamp(28px,4vw,44px);line-height:1}.intro p{max-width:760px;color:var(--text-secondary);font-size:17px;line-height:1.45}svg{width:100%;height:auto;display:block;overflow:visible;touch-action:none;user-select:none}svg.dragging-active{cursor:grabbing}.dot-handle{cursor:grab}.dot-handle.dragging{cursor:grabbing}.controls{margin-top:20px;border-top:1px solid var(--border-subtle);padding-top:18px}.controls-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.controls-header h2{font-size:18px}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.request-list{display:grid;gap:10px;position:relative}.request-row{display:grid;grid-template-columns:auto minmax(92px,.65fr) minmax(220px,2fr) minmax(130px,.8fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--row-bg);transition:background .15s,border-color .15s;will-change:transform}.request-row.checked{background:var(--row-bg-selected);border-color:var(--row-border-selected)}.request-row input[type=checkbox]{width:22px;height:22px;cursor:pointer}.request-row input[type=text],.request-row select,.share-url{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:8px 10px;background:var(--field-bg);color:var(--text-primary)}.request-row select.missing{border-color:var(--field-error-border);background:var(--field-error-bg)}.remove-request{padding-inline:10px}.add-row{margin-top:12px}.share-panel{display:grid;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border-subtle)}.share-panel label{font-size:14px;font-weight:700;color:var(--text-strong)}.share-controls{display:grid;grid-template-columns:1fr auto;gap:10px}.hint{color:var(--text-muted);font-size:14px;line-height:1.4}@media(max-width:760px){body{padding:12px}.app-shell{padding:22px 18px}.controls-header,.share-controls{grid-template-columns:1fr;display:grid;align-items:start}.request-row{grid-template-columns:auto 1fr auto}.request-row .short-label-field,.request-row .request-text-field,.request-row select{grid-column:2 / -1}}
