:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-text:#213547;--color-bg:#fff;--color-heading:#2c3e50;--color-text-secondary:#555;--color-text-muted:#888;--color-text-label:#444;--color-panel-bg:#f7f9fb;--color-panel-border:#d0d7de;--color-separator:#e2e6ea;--color-btn-bg:#fff;--color-btn-border:#ced4da;--color-btn-text:#495057;--color-btn-hover-bg:#e9ecef;--color-btn-hover-border:#adb5bd;--color-note-bg:#fff8e1;--color-note-text:#b8860b;--color-error-bg:#fdedec;--color-error-border:#e74c3c;--color-error-text:#c0392b;--color-warning-bg:#fef9e7;--color-warning-border:#f39c12;--color-warning-text:#7d6608;--color-invalid-bg:#fff0f0;--color-category-label:#6c757d;--color-svg-stroke:#222;--color-svg-muted:#999;--color-svg-container-bg:#fafafa;--color-svg-container-border:#ccc;--color-fundamental-domain:#2c3e50;--color-btn-selected-bg:#2c3e50;--color-btn-selected-text:#fff;--color-btn-selected-hover-bg:#34495e;color:var(--color-text);background-color:var(--color-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-text:#c9d1d9;--color-bg:#0d1117;--color-heading:#e6edf3;--color-text-secondary:#8b949e;--color-text-muted:#6e7681;--color-text-label:#b1bac4;--color-panel-bg:#161b22;--color-panel-border:#30363d;--color-separator:#21262d;--color-btn-bg:#21262d;--color-btn-border:#363b42;--color-btn-text:#c9d1d9;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#484f58;--color-note-bg:#2d2a1d;--color-note-text:#e3a50e;--color-error-bg:#3d1f1f;--color-error-border:#e74c3c;--color-error-text:#f97583;--color-warning-bg:#3d3520;--color-warning-border:#f39c12;--color-warning-text:#e3b341;--color-invalid-bg:#3d1f1f;--color-category-label:#8b949e;--color-svg-stroke:#adbac7;--color-svg-muted:#555;--color-svg-container-bg:#0d1117;--color-svg-container-border:#30363d;--color-fundamental-domain:#58a6ff;--color-btn-selected-bg:#388bfd;--color-btn-selected-text:#fff;--color-btn-selected-hover-bg:#58a6ff}}body{min-width:320px;margin:0}#root{max-width:960px;margin:0 auto;padding:0 16px}.app-container{text-align:left;max-width:900px;margin:0 auto;padding:20px}h1{color:var(--color-heading);margin-bottom:4px}.subtitle{color:var(--color-text-secondary);margin-top:0;margin-bottom:16px}.panel{background:var(--color-panel-bg);border:1px solid var(--color-panel-border);border-radius:8px;margin-bottom:16px;padding:14px 16px}.panel-heading{color:var(--color-heading);align-items:center;gap:8px;margin:0 0 10px;font-size:16px;display:flex}.lattice-info{color:var(--color-text-secondary);margin:0 0 10px;font-size:14px}.lattice-mode-row{gap:20px;margin-bottom:12px;display:flex}.lattice-mode-row label{cursor:pointer;align-items:center;gap:4px;font-size:14px;display:flex}.well-rounded-controls{margin-top:8px}.slider-row{align-items:center;gap:10px;display:flex}.slider-label{color:var(--color-text-label);text-align:center;min-width:50px;font-size:13px;font-weight:600}.lattice-slider{cursor:pointer;flex:1;height:6px}.slider-info{color:var(--color-text-secondary);margin-top:6px;font-size:13px}.not-well-rounded-controls{margin-top:8px}.shape-radios{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.shape-radios label{cursor:pointer;align-items:center;gap:4px;font-size:14px;display:flex}.lattice-params{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lattice-params label{align-items:center;gap:4px;font-size:14px;display:flex}.lattice-params input{width:70px;padding:3px 6px}.param-slider{cursor:pointer;width:150px}.gen-slider{cursor:pointer;width:120px}.slider-value{color:var(--color-text-secondary);min-width:40px;font-size:13px;display:inline-block}.lattice-params-column{flex-direction:column;align-items:flex-start}.constraint-hint{color:var(--color-text-muted);font-size:12px;font-style:italic}.constraint-note{color:var(--color-note-text);background:var(--color-note-bg);border-radius:4px;margin-top:4px;padding:4px 8px;font-size:12px;font-style:italic}.display-toggles{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:8px;display:flex}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:14px;display:inline-flex}.display-sub{border-top:1px solid var(--color-separator);flex-wrap:wrap;align-items:center;gap:16px;padding:8px 0 8px 4px;display:flex}.slider-inline{color:var(--color-text-label);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.display-generation{border-top:1px solid var(--color-separator);flex-wrap:wrap;align-items:center;gap:16px;padding-top:8px;display:flex}.display-actions{border-top:1px solid var(--color-separator);align-items:center;gap:10px;margin-top:8px;padding-top:10px;display:flex}.btn-secondary{color:#fff;cursor:pointer;background:#546e7a;border:none;border-radius:4px;padding:6px 14px;font-size:13px}.btn-secondary:hover{background:#455a64}.timing-info{color:var(--color-text-muted);margin-bottom:8px;font-size:13px}.error-box{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error-text);border-radius:4px;margin-bottom:16px;padding:12px}.warning-box{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:4px;margin-bottom:16px;padding:12px}.input-invalid{outline:none;border:2px solid var(--color-error-border)!important;background-color:var(--color-invalid-bg)!important}.btn-copy{color:#fff;cursor:pointer;background:#8e44ad;border:none;border-radius:4px;padding:8px 16px;font-size:14px}.btn-copy:hover{background:#7d3c98}.copy-success{color:#27ae60;font-size:14px;font-weight:700;animation:.2s ease-in fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lattice-type-badge{color:#fff;vertical-align:middle;background:#7f8c8d;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:400}.variant-radios{border-top:1px solid var(--color-separator);flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding-top:10px;font-size:14px;display:flex}.variant-label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.variant-radio-label{cursor:pointer;align-items:center;gap:4px;font-size:13px;display:inline-flex}.group-selector{flex-direction:column;gap:6px;display:flex}.group-category{flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0;display:flex}.group-category-label{color:var(--color-category-label);white-space:nowrap;flex-shrink:0;min-width:0;font-size:12px}.group-category-buttons{flex-wrap:wrap;gap:6px;display:flex}.group-btn{border:1px solid var(--color-btn-border);background:var(--color-btn-bg);color:var(--color-btn-text);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;padding:5px 12px;font-size:13px;font-weight:500;line-height:1.3;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.group-btn:hover{background:var(--color-btn-hover-bg);border-color:var(--color-btn-hover-border)}.group-btn--selected{background:var(--color-btn-selected-bg);color:var(--color-btn-selected-text);border-color:var(--color-btn-selected-bg)}.group-btn--selected:hover{background:var(--color-btn-selected-hover-bg);border-color:var(--color-btn-selected-hover-bg)}.group-description{color:var(--color-text-secondary);padding:4px 0 0;font-size:13px}@media (width<=600px){.app-container,.panel{padding:12px}.group-category{flex-direction:column;gap:3px}.variant-radios{flex-direction:column;align-items:flex-start;gap:6px}.display-toggles{gap:12px}.display-sub,.display-generation{flex-direction:column;align-items:flex-start;gap:8px}.gen-slider{width:100%;max-width:200px}.lattice-mode-row{flex-direction:column;gap:8px}}.gen-editor{background:var(--color-bg);border:1px solid var(--color-panel-border);border-radius:6px;margin-bottom:12px;padding:10px 12px}.gen-editor-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.gen-editor-label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.btn-remove{border:1px solid var(--color-panel-border);color:var(--color-error-text);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:14px;line-height:1}.btn-remove:hover{background:var(--color-error-bg)}.gen-matrix{align-items:center;gap:4px;display:flex}.gen-matrix-bracket{color:var(--color-text-muted);font-size:28px;font-weight:200;line-height:1}.gen-matrix-grid{grid-template-columns:1fr 1fr 1fr;gap:4px;display:grid}.gen-input{text-align:center;border:1px solid var(--color-panel-border);background:var(--color-btn-bg);width:56px;color:var(--color-text);border-radius:4px;padding:4px 6px;font-family:SF Mono,Consolas,Liberation Mono,monospace;font-size:14px}.gen-input:focus{outline-offset:-1px;outline:2px solid #388bfd}.coset-list{flex-wrap:wrap;gap:8px;display:flex}.coset-card{background:var(--color-bg);border:1px solid var(--color-panel-border);border-radius:6px;min-width:150px;padding:8px 10px}.coset-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.coset-index{color:var(--color-text-muted);font-size:12px;font-weight:700}.coset-type{color:var(--color-text-secondary);font-size:12px;font-style:italic}.coset-matrix{color:var(--color-text);flex-direction:column;font-family:SF Mono,Consolas,Liberation Mono,monospace;font-size:13px;display:flex}.coset-row{white-space:nowrap}.math-result-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.math-result-badge{border-radius:12px;padding:4px 12px;font-size:14px;font-weight:600}.math-result-ok{color:#155724;background:#d4edda}.math-result-warn{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}@media (prefers-color-scheme:dark){.math-result-ok{color:#7ee2a8;background:#1a3a2a}}.math-result-order{color:var(--color-heading);font-size:15px;font-weight:700}.supergroup-panel{margin-top:16px}.supergroup-hint{color:var(--color-text-secondary);margin:0 0 8px;font-size:13px}.supergroup-active-note{color:var(--color-text-secondary);margin-top:8px;font-size:13px;font-style:italic}
