:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1f2937;background:#f8fafc;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f8fafc}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin-top:0}.app{height:100vh;overflow:hidden}.screen{height:100vh;min-height:0;width:100%;padding:8px 12px 10px;background:#f8fafc}.centered{display:flex;align-items:center;justify-content:center}.workspace{width:100%;min-height:0;overflow:hidden;background:#fff;border:1px solid #eef2f7;border-radius:20px;box-shadow:0 16px 42px #0f172a17;padding:12px}.unified-screen{display:flex;flex-direction:column;overflow:hidden}.standalone-title{width:100%;margin:0 0 8px 4px;color:#0f172a;font-size:clamp(28px,2.3vw,36px);line-height:1;letter-spacing:-.04em}.app-topbar{width:100%;min-height:36px;margin-bottom:8px;padding-left:4px;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 14px}.app-topbar .standalone-title{width:auto;margin:0;flex:0 0 auto}.topbar-project-actions{position:relative;min-width:0;display:flex;flex:1 1 auto;align-items:center;gap:7px}.topbar-project-actions button{min-width:0;min-height:34px;padding:7px 10px;border-radius:9px;font-size:11px;line-height:1;white-space:nowrap}.topbar-project-actions button svg{flex:0 0 auto}.topbar-project-actions .about-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;font-weight:750}.topbar-project-actions .about-button:hover{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.topbar-project-message{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:max-content;max-width:min(420px,90vw);margin:0;box-shadow:0 8px 24px #0f172a1f}.interface-toggles{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;margin-left:auto}.lasme-projects-link{min-height:34px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}.lasme-projects-link:hover{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.ui-toggle{height:34px;padding:2px;display:inline-flex;align-items:center;gap:2px;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:999px}.ui-toggle button{min-width:40px;height:28px;padding:6px 10px;display:grid;place-items:center;color:inherit;background:transparent;border:1px solid transparent;border-radius:999px;font-family:Arial,sans-serif;font-size:14px;font-weight:400;line-height:1}.ui-toggle button:hover{background:#60a5fa12}.ui-toggle button.active{background:#60a5fa20;border-color:#60a5fa60}.points-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,25%) minmax(480px,1fr) minmax(300px,25%);gap:12px}.app-brand{grid-column:1 / -1;border-bottom:1px solid #e5e7eb;padding:0 2px 18px}.app-brand span{display:block;margin-bottom:4px;color:#2563eb;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-brand h1{margin:0;color:#0f172a;font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.035em}.chart-column,.list-column,.profile-column,.kinematic-card{min-width:0}.chart-column{position:relative;z-index:4;min-width:0}.list-column,.segment-input-panel{min-height:0;display:flex;flex-direction:column}.visual-column{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:10px}.section-heading{margin-bottom:9px}.section-heading h1,.section-heading h2,.result-header h1{margin-bottom:5px;font-size:22px;color:#1f2937}.section-heading p,.result-header p{color:#6b7280;font-size:14px;margin-bottom:0}.heading-actions{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.points-heading{display:flex;flex-direction:column;gap:12px;align-items:stretch}.curve-restriction-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.curve-restriction-control{width:fit-content;display:flex;align-items:center;gap:8px;color:#4b5563;font-size:12px;font-weight:650;cursor:pointer}.curve-restriction-control input{width:16px;height:16px;margin:0;padding:0;accent-color:#2563eb;cursor:pointer}.curve-restriction-info{position:relative;display:inline-flex;align-items:center;color:#64748b;cursor:help}.curve-restriction-info:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:50%}.curve-restriction-tooltip{position:absolute;z-index:40;top:calc(100% + 7px);left:50%;width:max-content;max-width:230px;padding:7px 9px;visibility:hidden;opacity:0;color:#fff;background:#334155;border-radius:7px;box-shadow:0 6px 18px #0f172a33;transform:translate(-50%);font-size:10px;font-weight:600;line-height:1.35;pointer-events:none;transition:opacity .12s ease}.curve-restriction-info:hover .curve-restriction-tooltip,.curve-restriction-info:focus .curve-restriction-tooltip,.curve-restriction-info:focus-visible .curve-restriction-tooltip{visibility:visible;opacity:1}.setup-controls{width:100%;display:flex;align-items:flex-end;gap:10px;flex:0 0 auto}.segment-count-control{width:122px;flex:0 0 122px;display:flex;flex-direction:column;gap:6px;color:#4b5563;font-size:12px;font-weight:700}.segment-count-control input{text-align:center}.solution-mode-control{min-width:158px;flex:1;display:flex;flex-direction:column;gap:6px;color:#4b5563;font-size:12px;font-weight:700}.icon-button{width:42px;height:42px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;background:#f3f4f6;color:#4b5563;flex:0 0 auto}.icon-button:hover{background:#e5e7eb}.chart-shell{background:#f9fafb;border:1px solid #eef2f7;border-radius:18px;padding:16px;min-height:0}.large-chart{flex:1;min-height:480px}.displacement-chart{height:clamp(180px,22vh,230px);padding:7px 12px}.inline-note{color:#b45309;font-size:12px;margin:8px 0 0}.point-table{border:1px solid #e5e7eb;border-radius:13px;overflow:hidden;background:#f9fafb;min-height:0;display:flex;flex-direction:column}.point-table-header{padding:12px;background:#f3f4f6;border-bottom:1px solid #e5e7eb;font-size:13px;font-weight:700;text-align:center}.point-table-body{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:5px 7px;scrollbar-gutter:stable}.point-row{padding:6px 2px;border-bottom:1px solid #e2e8f0}.point-row:last-child{border-bottom:0}.segment-tables{flex:1;min-height:0;display:grid;grid-template-rows:minmax(150px,1.15fr) minmax(118px,.85fr);gap:8px}.segment-table-title{padding:7px 10px 5px;color:#64748b;background:#fff;font-size:10px;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.segment-primary-grid{min-width:0;display:grid;grid-template-columns:30px minmax(52px,.72fr) minmax(58px,.82fr) minmax(110px,1.75fr);gap:6px;align-items:center}.segment-secondary-grid{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:6px;align-items:center}.segment-primary-table .point-table-header,.segment-secondary-table .point-table-header{padding:9px}.segment-secondary-table .point-table-header{color:#475569}.segment-secondary-table .point-row{padding-top:3px;padding-bottom:3px}.curve-readonly-cell{min-width:0;height:35px;padding:8px 9px;overflow:hidden;color:#6b7280;background:#f3f4f6;border:1px solid #d1d5db;border-radius:9px;font-size:12px;line-height:17px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.segment-number{color:#64748b;font-size:13px;font-weight:800;text-align:center}.reset-curves-row{display:flex;justify-content:flex-end;padding:8px 3px 3px}.reset-curves-button{width:100%}input,select{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:8px 10px;color:#1f2937;background:#fff;outline:none}input:focus,select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}input.readonly,input:read-only{background:#f3f4f6;color:#6b7280}.point-row input{text-align:center;font-size:14px}.point-row select{min-width:0;font-size:13px}.curve-select-cell{min-width:0;display:flex;flex-direction:column;gap:3px}.curve-select-cell select.no-solution{border-color:#fecaca;background:#fff1f2;color:#991b1b}.selection-note{margin:10px 2px 0;color:#64748b;font-size:11px;line-height:1.4}.cycle-total{margin:10px 2px 0;font-size:12px;font-weight:700}.cycle-total.valid{color:#15803d}.cycle-total.invalid{color:#b91c1c}.remove-button{height:34px;border-radius:8px;background:#fef2f2;color:#dc2626;display:flex;align-items:center;justify-content:center}.action-row,.export-actions,.center-actions,.modal-actions{display:flex;gap:12px;margin-top:16px}.grow{flex:1}.correction-launch{width:100%;margin-top:10px;border:1px solid #dbe3ee}.correction-launch.has-discontinuities{color:#854d0e;background:#fffbeb;border-color:#f5cf75;box-shadow:0 0 0 2px #f59e0b12}.correction-launch.has-discontinuities:hover{background:#fef3c7;border-color:#f2bd4d}.exact-solution-summary{margin-top:10px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px}.exact-solution-summary>div{min-width:0;display:grid;gap:3px}.exact-solution-summary strong{color:#1e3a8a;font-size:12px}.exact-solution-summary small{overflow:hidden;color:#475569;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.exact-solution-summary button{min-height:36px;padding:7px 10px;flex:0 0 auto;font-size:11px}.primary,.secondary,.danger,.success{min-height:43px;padding:10px 18px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:background .15s,transform .15s}.primary{background:#2563eb;color:#fff}.primary:hover{background:#1d4ed8}.secondary{background:#f3f4f6;color:#374151}.secondary:hover{background:#e5e7eb}.danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.success{background:#16a34a;color:#fff}.success:hover{background:#15803d}.primary-icon{border-radius:11px;background:#2563eb;color:#fff}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0f172a75;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:20px}.modal{width:min(390px,100%);background:#fff;padding:24px;border-radius:20px;box-shadow:0 24px 80px #0f172a47}.modal h2{display:flex;align-items:center;gap:9px;font-size:19px}.modal label,.parameter-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.modal label{margin-top:14px}.modal .settings-checkbox{padding:11px 12px;flex-direction:row;align-items:flex-start;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:11px;cursor:pointer}.settings-checkbox input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto;accent-color:#2563eb}.settings-checkbox span{min-width:0;display:grid;gap:3px}.settings-checkbox strong{color:#334155;font-size:12px}.settings-checkbox small{color:#64748b;font-size:10px;font-weight:500;line-height:1.4}.modal-actions{justify-content:flex-end}.about-backdrop{z-index:58}.about-modal{width:min(820px,96vw);max-height:min(820px,92vh);overflow-y:auto;color:#1f2937;background:#fff;border:1px solid #dbe3ee;border-radius:22px;box-shadow:0 28px 90px #0f172a4d}.about-modal>header{padding:22px 24px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e5e7eb}.about-modal h2{margin:4px 0 7px;display:flex;align-items:center;gap:9px;color:#0f172a;font-size:22px}.about-eyebrow{color:#2563eb;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.about-lead{max-width:680px;margin:0;color:#64748b;font-size:13px;line-height:1.55}.about-close{width:38px;height:38px;flex:0 0 auto;display:grid;place-items:center;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.about-close:hover{color:#0f172a;background:#f1f5f9}.about-copy-grid{padding:20px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.about-copy-grid article{min-width:0;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.about-copy-grid article.about-highlight{background:#eff6ff;border-color:#93c5fd}.about-copy-grid h3{margin:0 0 8px;display:flex;align-items:center;gap:7px;color:#1e293b;font-size:14px}.about-copy-grid p{margin:0;color:#475569;font-size:12px;line-height:1.65}.about-links{padding:14px 24px 20px;display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid #e5e7eb}.about-links a{color:#2563eb;font-size:11px;font-weight:750;text-decoration:none}.about-links a:hover{text-decoration:underline}.seo-content{padding:54px 24px 64px;color:#334155;background:#f8fafc;border-top:1px solid #e2e8f0}.seo-content-inner{width:min(1120px,100%);margin:0 auto}.seo-eyebrow{margin:0 0 8px;color:#2563eb;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.seo-content h2{max-width:820px;margin:0;color:#0f172a;font-size:clamp(25px,3vw,38px);line-height:1.12;letter-spacing:-.025em}.seo-intro{max-width:860px;margin:14px 0 0;color:#64748b;font-size:15px;line-height:1.7}.seo-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.seo-card{padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px #0f172a0b}.seo-card h3{margin:0 0 10px;color:#1e293b;font-size:16px}.seo-card p,.seo-card li{color:#64748b;font-size:13px;line-height:1.65}.seo-card p{margin:0}.seo-card ul{margin:0;padding-left:18px}.seo-links{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px 18px}.seo-links a{color:#2563eb;font-size:12px;font-weight:750;text-decoration:none}.seo-links a:hover{text-decoration:underline}.exact-solutions-backdrop{z-index:55}.exact-solutions-modal{width:min(820px,96vw);max-height:min(780px,92vh);min-height:0;display:flex;flex-direction:column;overflow:hidden;color:#1f2937;background:#fff;border:1px solid #dbe3ee;border-radius:20px;box-shadow:0 24px 80px #0f172a47}.exact-solutions-modal>header{flex:0 0 auto;padding:20px 22px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e5e7eb}.exact-solutions-modal h2{margin:0 0 7px;display:flex;align-items:center;gap:9px;color:#1e293b;font-size:20px}.exact-solutions-modal header p{max-width:680px;margin:0;color:#64748b;font-size:12px;line-height:1.55}.solution-limit-note{margin:12px 22px 0;padding:9px 11px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;font-size:11px}.exact-solution-list{flex:1;min-height:0;padding:14px 22px;display:grid;align-content:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow-y:auto}.exact-solution-card{min-width:0;padding:11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.exact-solution-card:hover{border-color:#93c5fd;background:#eff6ff}.exact-solution-card.selected{background:#dbeafe;border-color:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f6}.exact-solution-number{color:#475569;font-size:10px;font-weight:800;white-space:nowrap}.exact-curve-sequence{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden}.exact-curve-chip{min-width:35px;padding:5px 7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#1e3a8a;background:#fff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:800}.exact-curve-chip small{color:#94a3b8;font-size:8px}.selected-solution-label{padding:4px 7px;color:#166534;background:#dcfce7;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.exact-solutions-modal>footer{flex:0 0 auto;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb}.exact-solution-pagination{display:flex;align-items:center;gap:10px;color:#64748b;font-size:11px;font-weight:700}.exact-solution-pagination button{width:36px;min-height:34px;padding:6px}.correction-backdrop{position:fixed;inset:0;z-index:60;display:flex;justify-content:flex-end;align-items:stretch;padding:12px;background:#0f172a29}.correction-modal{width:min(760px,94vw);min-height:0;display:flex;flex-direction:column;overflow:hidden;color:#1f2937;background:#fff;border:1px solid #dbe3ee;border-radius:20px;box-shadow:-14px 16px 52px #0f172a38;animation:reveal-correction-panel .2s ease-out}.correction-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #e5e7eb}.correction-header h2{display:flex;align-items:center;gap:9px;margin-bottom:0;color:#0f172a;font-size:19px}.correction-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;color:#64748b;background:#f1f5f9;border-radius:50%}.correction-close:hover{color:#1e3a8a;background:#dbeafe}.correction-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 22px}.correction-section+.correction-section,.correction-advanced+.correction-section{margin-top:20px}.correction-section h3,.correction-advanced summary{margin:0 0 10px;color:#334155;font-size:13px;font-weight:800}.correction-success{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:11px;font-size:12px;font-weight:700}.diagnostic-list,.solution-choice-list{display:grid;gap:8px}.diagnostic-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-left-width:4px;border-radius:11px}.diagnostic-item.adjustable{border-left-color:#f59e0b}.diagnostic-item.structural,.diagnostic-item.closure{border-left-color:#ef4444}.diagnostic-item>div{min-width:0;display:flex;flex-direction:column;gap:3px}.diagnostic-item>div:last-child{align-items:flex-end}.diagnostic-item strong{color:#334155;font-size:12px}.diagnostic-item span,.diagnostic-item small{color:#64748b;font-size:11px;font-variant-numeric:tabular-nums}.diagnostic-badge{width:fit-content;padding:3px 7px;border-radius:999px;font-size:10px!important;font-weight:800}.diagnostic-badge.adjustable{color:#92400e;background:#fef3c7}.diagnostic-badge.structural,.diagnostic-badge.closure{color:#991b1b;background:#fee2e2}.correction-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.correction-mode{min-width:0;display:flex;align-items:flex-start;gap:9px;padding:11px;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer}.correction-mode:hover{border-color:#93c5fd}.correction-mode.selected{color:#1e3a8a;background:#eff6ff;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa}.correction-mode input,.solution-choice input,.lock-row input{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto;accent-color:#2563eb}.variation-limit-control{margin-bottom:12px;padding:10px 11px;display:flex;align-items:flex-start;gap:9px;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer}.variation-limit-control.selected{color:#1e3a8a;background:#eff6ff;border-color:#93c5fd}.variation-limit-control input{width:17px;height:17px;margin:1px 0 0;flex:0 0 auto;accent-color:#2563eb}.variation-limit-control span{min-width:0;display:grid;gap:3px}.variation-limit-control strong{font-size:12px}.variation-limit-control small{color:#64748b;font-size:10px;font-weight:500;line-height:1.45}.correction-mode span{min-width:0;display:flex;flex-direction:column;gap:4px}.correction-mode strong{color:inherit;font-size:12px}.correction-mode small{color:#64748b;font-size:11px;font-weight:500;line-height:1.35}.correction-advanced{margin-top:16px;padding:0 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.correction-advanced summary{display:flex;align-items:center;gap:8px;margin:0;padding:12px 0;cursor:pointer;list-style:none}.correction-advanced summary::-webkit-details-marker{display:none}.advanced-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 0 12px}.advanced-fields label{display:flex;flex-direction:column;gap:6px;color:#475569;font-size:11px;font-weight:750}.advanced-fields input{padding:7px 9px}.advanced-fields label.disabled{opacity:.55}.advanced-fields input:disabled{color:#64748b;background:#e2e8f0;cursor:not-allowed}.lock-heading{display:block;padding:0 0 8px;color:#475569;font-size:11px}.lock-list{padding-bottom:12px;display:grid;gap:6px}.lock-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;gap:10px;padding:8px 9px;background:#fff;border:1px solid #e2e8f0;border-radius:9px;font-size:11px}.lock-row>span{min-width:0;overflow:hidden;color:#334155;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.lock-row label{display:inline-flex;align-items:center;gap:5px;color:#64748b;cursor:pointer}.correction-empty{padding:16px;color:#991b1b;background:#fff1f2;border:1px solid #fecdd3;border-radius:12px}.correction-empty strong{font-size:12px}.correction-empty p{margin:6px 0 0;font-size:11px;line-height:1.5}.solution-choice{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer}.solution-choice:hover{border-color:#93c5fd}.solution-choice.selected{background:#eff6ff;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #60a5fa}.solution-choice-content{min-width:0;display:grid;gap:4px}.solution-choice-content strong{color:#334155;font-size:11px}.solution-choice-content small{color:#64748b;font-size:10px;line-height:1.45;font-variant-numeric:tabular-nums}.solution-badge{width:fit-content;padding:3px 7px;color:#1e40af;background:#dbeafe;border-radius:999px;font-size:10px;font-weight:800}.solution-badge.recommended{color:#166534;background:#dcfce7}.solution-badge.acceleration{color:#6b21a8;background:#f3e8ff}.solution-badge.jerk{color:#9a3412;background:#ffedd5}.solution-badge.compact{color:#0f766e;background:#ccfbf1}.selected-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px}.selected-metrics span{min-width:0;display:flex;flex-direction:column;gap:3px;padding:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px}.selected-metrics small{color:#64748b;font-size:9px;line-height:1.25}.selected-metrics strong{overflow:hidden;color:#334155;font-size:10px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.correction-comparison-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:11px}.correction-comparison{width:100%;border-collapse:collapse;color:#475569;background:#fff;font-size:11px}.correction-comparison th,.correction-comparison td{padding:8px 10px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top}.correction-comparison tr:last-child th,.correction-comparison tr:last-child td{border-bottom:0}.correction-comparison thead th{color:#1e3a8a;background:#eff6ff;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.correction-comparison tbody th{width:72px;color:#334155}.correction-comparison small{color:#64748b;font-variant-numeric:tabular-nums}.correction-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:10px;padding:13px 20px;background:#fff;border-top:1px solid #e5e7eb}@keyframes reveal-correction-panel{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}.curves-workspace{display:flex;flex-direction:column;max-height:90vh}.curve-flow{flex:1;display:flex;align-items:stretch;overflow-x:auto;gap:16px;padding:24px;background:#f9fafb;border:1px solid #eef2f7;border-radius:18px}.curve-flow-pair{display:flex;gap:16px;flex:0 0 auto}.point-node,.curve-card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px #0f172a0d;padding:14px}.point-node{width:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.point-node>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#2563eb;color:#fff;font-weight:800;margin-bottom:8px}.point-node strong{font-size:12px}.point-node small{color:#6b7280;margin-top:4px}.curve-card{width:170px;display:flex;flex-direction:column;gap:7px;overflow-y:auto}.curve-card>strong{padding-bottom:8px;border-bottom:1px solid #eef2f7;font-size:12px;text-align:center}.curve-option{display:flex;align-items:center;gap:8px;padding:8px 9px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;font-size:12px;font-weight:650;cursor:pointer}.curve-option.selected{border-color:#bfdbfe;background:#eff6ff}.curve-option input{width:auto;accent-color:#2563eb}.empty-segment{color:#b91c1c;font-size:12px;text-align:center;margin:auto}.center-actions{justify-content:center}.status-card{width:min(440px,100%);background:#fff;border:1px solid #eef2f7;border-radius:24px;padding:38px;text-align:center;box-shadow:0 18px 50px #0f172a1a}.status-card h1{font-size:22px;margin:20px 0 8px}.status-card p{color:#6b7280;line-height:1.6;font-size:14px}.spinner{width:78px;height:78px;margin:0 auto;border:6px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.warning-icon{width:84px;height:84px;margin:0 auto;display:grid;place-items:center;border-radius:50%;background:#fef2f2;color:#ef4444}.empty-card .primary{margin-top:8px}.result-screen{padding:22px}.result-header{max-width:1600px;margin:0 auto 16px;background:#fff;border:1px solid #eef2f7;border-radius:17px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 5px 18px #0f172a0d}.result-header h1{font-size:20px}.solution-pagination{display:flex;align-items:center;gap:10px;padding:6px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px}.solution-pagination button{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;border:1px solid #e5e7eb;background:#fff}.solution-pagination strong{min-width:180px;text-align:center;font-size:13px}.result-grid{max-width:1600px;height:calc(100vh - 132px);margin:0 auto;display:grid;grid-template-columns:minmax(320px,4fr) minmax(500px,8fr);gap:18px}.kinematic-card,.parameter-card,.profile-card{background:#fff;border:1px solid #eef2f7;border-radius:22px;box-shadow:0 7px 24px #0f172a0f}.kinematic-card{padding:14px;display:grid;grid-template-rows:auto repeat(4,1fr);min-height:0}.kinematic-card h2{font-size:13px;border-bottom:1px solid #eef2f7;padding-bottom:9px;margin-bottom:5px}.motion-chart{min-height:0;position:relative}.profile-column{display:flex;flex-direction:column;gap:12px;min-height:0}.parameter-card{padding:13px;display:flex;justify-content:space-between;align-items:center;gap:16px}.parameter-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.parameter-fields label{width:135px}.parameter-fields input,.parameter-fields select{padding:7px 9px;font-size:13px}.profile-card{flex:1;padding:18px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-card canvas{max-height:100%;max-width:100%}.profile-error{color:#b91c1c;text-align:center}.warning{margin:-3px 0 0;padding:8px 12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;font-size:12px}.export-actions{margin-top:0}.export-actions button{flex:1}.cam-controls-panel{padding:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px}.cam-controls-panel h2{margin-bottom:9px;color:#1f2937;font-size:16px}.cam-control-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cam-control-fields label{min-width:0;display:flex;flex-direction:column;gap:6px;color:#4b5563;font-size:12px;font-weight:700}.cam-control-fields input,.cam-control-fields select{padding:7px 9px;font-size:13px}.cam-control-fields input.radius-input-warning{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b1f}.radius-recommendation{position:absolute;right:0;bottom:0;left:0;min-width:0;display:flex;align-items:center;gap:4px;color:#b45309;font-size:10px;font-weight:700;line-height:1.25}.radius-recommendation>span:nth-child(2){min-width:0}.radius-info{position:relative;margin-left:auto;color:#92400e;cursor:help;font-size:12px;line-height:1}.radius-info-tooltip{position:absolute;z-index:40;right:0;bottom:calc(100% + 7px);width:max-content;max-width:210px;padding:7px 9px;visibility:hidden;opacity:0;color:#fff;background:#334155;border-radius:7px;box-shadow:0 6px 18px #0f172a33;font-size:10px;font-weight:600;line-height:1.35;pointer-events:none;transition:opacity .12s ease}.radius-info:hover .radius-info-tooltip,.radius-info:focus .radius-info-tooltip,.radius-info:focus-visible .radius-info-tooltip{visibility:visible;opacity:1}.cam-control-fields .eccentricity-field{grid-column:1 / -1}.parameter-fields .eccentricity-field{width:280px}.field-hint{color:#6b7280;font-size:10px;font-weight:500;line-height:1.25}.project-button{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:750}.project-button:hover{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.example-menu-container{position:relative;flex:0 0 auto}.example-menu-trigger{color:#5b21b6;background:#f5f3ff;border:1px solid #ddd6fe;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800}.example-menu-trigger:hover,.example-menu-trigger[aria-expanded=true]{color:#4c1d95;background:#ede9fe;border-color:#c4b5fd}.example-menu{position:absolute;z-index:35;top:calc(100% + 7px);right:0;width:180px;padding:5px;display:grid;gap:3px;color:#334155;background:#fff;border:1px solid #dbe3ee;border-radius:11px;box-shadow:0 14px 36px #0f172a2e}.example-menu button{width:100%;min-height:35px;padding:8px 10px;display:flex;align-items:center;justify-content:flex-start;color:inherit;background:transparent;border-radius:8px;font-size:12px;font-weight:750;text-align:left}.example-menu button:hover,.example-menu button:focus-visible{color:#5b21b6;background:#f5f3ff;outline:none}.project-file-input{display:none}.project-message{margin:8px 0 0;padding:7px 9px;border-radius:8px;font-size:11px;font-weight:700}.project-message.success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.project-message.error{color:#991b1b;background:#fff1f2;border:1px solid #fecdd3}.cam-controls-panel .warning{margin-top:9px}.cam-workspace-lower{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(210px,.68fr) minmax(300px,1.32fr);align-items:stretch;gap:10px;overflow:hidden}.cam-workspace-lower .cam-controls-panel{min-height:0;padding:10px;display:flex;flex-direction:column;overflow:hidden}.cam-workspace-lower .cam-controls-panel h2{margin-bottom:6px}.cam-workspace-lower .cam-control-fields{min-height:0;grid-template-columns:1fr;gap:4px}.cam-workspace-lower .cam-control-fields.roller-fields{flex:1;grid-auto-rows:minmax(0,1fr)}.cam-workspace-lower .cam-control-fields label{position:relative;gap:4px;padding-bottom:14px;font-size:12px}.cam-workspace-lower .cam-control-fields input,.cam-workspace-lower .cam-control-fields select{padding:7px 9px;font-size:13px}.cam-workspace-lower .cam-control-fields .eccentricity-field{grid-column:auto}.cam-workspace-lower .cam-drawing-card{width:100%;height:100%;align-self:stretch;justify-self:stretch}.cam-drawing-card{position:relative;z-index:1;width:min(100%,calc(100vh - 382px),540px);min-height:0;overflow:hidden;align-self:start;justify-self:center;display:flex;flex-direction:column;padding:10px;background:#fff;border:1px solid #eef2f7;border-radius:18px;box-shadow:0 7px 24px #0f172a0f}.cam-chart-stage{position:relative;width:100%;min-height:0;flex:1;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;overflow:hidden}.cam-chart-stage.pannable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cam-chart-stage.is-panning{cursor:grabbing}.cam-chart-stage canvas{max-width:100%;max-height:100%}.cam-rotation-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:7px 5px 2px;border-top:1px solid #eef2f7}.cam-navigation-buttons{display:flex;align-items:center;gap:7px}.cam-play-button,.cam-zoomfit-button{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.cam-play-button{color:#fff;background:#2563eb}.cam-play-button:hover{background:#1d4ed8}.cam-zoomfit-button{background:#fff;border:1px solid #cbd5e1}.cam-zoomfit-button:hover{background:#f8fafc;border-color:#94a3b8}.cam-zoomfit-button img{width:25px;height:25px;display:block;object-fit:contain}.cam-angle-control{min-width:0;display:flex;flex-direction:column;gap:2px;color:#64748b;font-size:11px}.cam-angle-control span{display:flex;justify-content:space-between;gap:8px}.cam-angle-control strong{color:#1e3a8a;font-variant-numeric:tabular-nums}.cam-angle-control input[type=range]{height:20px;padding:0;border:0;box-shadow:none;accent-color:#2563eb;cursor:grab}.cam-angle-control input[type=range]:active{cursor:grabbing}.cam-angle-control input[type=range]:disabled{cursor:not-allowed}.calculation-table-panel{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px}.calculation-table-panel>header{flex:0 0 auto;padding:12px;background:#fff;border-bottom:1px solid #e5e7eb}.calculation-table-panel h2{margin-bottom:9px;color:#1f2937;font-size:16px}.calculation-table-panel label{display:flex;flex-direction:column;gap:5px;color:#4b5563;font-size:12px;font-weight:700}.calculation-table-panel select{padding:7px 9px;font-size:13px}.calculation-table-scroll{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable}.calculation-table{width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;color:#334155;background:#fff;font-size:11px;font-variant-numeric:tabular-nums;user-select:none;-webkit-user-select:none}.calculation-table th,.calculation-table td{min-width:92px;padding:7px 8px;white-space:nowrap;text-align:center;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7}.calculation-table th:last-child,.calculation-table td:last-child{border-right:0}.calculation-table th{position:sticky;z-index:1;top:0;color:#1e3a8a;background:#eff6ff;font-size:10px;font-weight:800}.contour-table th,.contour-table td,.curvature-table th,.curvature-table td{width:33.333%}.pressure-table th,.pressure-table td{width:50%}.svaj-table th,.svaj-table td{width:20%}.contour-table,.pressure-table{min-width:260px}.svaj-table{min-width:570px}.calculation-table-empty{margin:0;padding:20px 14px;color:#94a3b8;font-size:12px;line-height:1.5;text-align:center}.results-tabs{flex:0 0 auto;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#eef2f7;border-bottom:1px solid #e2e8f0}.results-tabs button{min-height:36px;padding:8px 10px;color:#64748b;background:transparent;border-radius:9px;font-size:12px;font-weight:800}.results-tabs button:hover{color:#1e3a8a;background:#ffffffa6}.results-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 1px 4px #0f172a1a}.results-panel-controls{padding:10px 12px!important}.analysis-charts-scroll{flex:1;min-height:0;overflow:hidden;padding:10px;background:#fff}.svaj-chart-stack,.geometry-chart-stack{height:100%;min-height:0;display:grid;grid-template-rows:repeat(4,minmax(0,170px));align-content:start;gap:10px}.analysis-charts-scroll .motion-chart,.result-line-chart{min-height:0;padding:8px 5px 4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.result-line-chart{height:100%}.empty-preview-note{position:absolute;left:18px;bottom:10px;margin:0;color:#94a3b8;font-size:11px}.floating-error{position:absolute;inset:auto 18px 18px;padding:10px 12px;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px}.error-toast{position:fixed;z-index:80;right:20px;bottom:20px;max-width:460px;padding:13px 16px;color:#991b1b;background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;box-shadow:0 10px 30px #0f172a24;font-size:14px}:root[data-theme=dark]{color:#e5e7eb;background:#0b1220;color-scheme:dark}:root[data-theme=dark] body,:root[data-theme=dark] .screen{color:#e5e7eb;background:#0b1220}:root[data-theme=dark] .workspace,:root[data-theme=dark] .modal,:root[data-theme=dark] .point-node,:root[data-theme=dark] .curve-card,:root[data-theme=dark] .status-card,:root[data-theme=dark] .result-header,:root[data-theme=dark] .kinematic-card,:root[data-theme=dark] .parameter-card,:root[data-theme=dark] .profile-card,:root[data-theme=dark] .cam-drawing-card,:root[data-theme=dark] .calculation-table-panel>header{color:#e5e7eb;background:#0f172a;border-color:#334155}:root[data-theme=dark] .standalone-title,:root[data-theme=dark] .app-brand h1,:root[data-theme=dark] .section-heading h1,:root[data-theme=dark] .section-heading h2,:root[data-theme=dark] .result-header h1,:root[data-theme=dark] .cam-controls-panel h2,:root[data-theme=dark] .calculation-table-panel h2,:root[data-theme=dark] .modal h2{color:#f8fafc}:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .result-header p,:root[data-theme=dark] .status-card p,:root[data-theme=dark] .point-node small,:root[data-theme=dark] .selection-note,:root[data-theme=dark] .cam-angle-control,:root[data-theme=dark] .calculation-table-empty,:root[data-theme=dark] .empty-preview-note{color:#94a3b8}:root[data-theme=dark] .segment-count-control,:root[data-theme=dark] .solution-mode-control,:root[data-theme=dark] .curve-restriction-control,:root[data-theme=dark] .modal label,:root[data-theme=dark] .parameter-fields label,:root[data-theme=dark] .cam-control-fields label,:root[data-theme=dark] .field-hint,:root[data-theme=dark] .calculation-table-panel label{color:#cbd5e1}:root[data-theme=dark] .curve-restriction-info{color:#94a3b8}:root[data-theme=dark] .modal .settings-checkbox{background:#111c30;border-color:#334155}:root[data-theme=dark] .settings-checkbox strong{color:#e2e8f0}:root[data-theme=dark] .settings-checkbox small{color:#94a3b8}:root[data-theme=dark] .ui-toggle{color:#e5e7eb;background:#0f172a;border-color:#334155}:root[data-theme=dark] .lasme-projects-link{color:#bfdbfe;background:#172554;border-color:#1d4ed8}:root[data-theme=dark] .lasme-projects-link:hover{color:#dbeafe;background:#1e3a8a;border-color:#3b82f6}:root[data-theme=dark] .icon-button,:root[data-theme=dark] .motion-drawer-close,:root[data-theme=dark] .secondary{color:#cbd5e1;background:#1e293b}:root[data-theme=dark] .icon-button:hover,:root[data-theme=dark] .motion-drawer-close:hover,:root[data-theme=dark] .secondary:hover{color:#f8fafc;background:#334155}:root[data-theme=dark] .correction-launch.has-discontinuities{color:#fde68a;background:#352407;border-color:#854d0e;box-shadow:0 0 0 2px #f59e0b0f}:root[data-theme=dark] .correction-launch.has-discontinuities:hover{color:#fef3c7;background:#422e08;border-color:#a16207}:root[data-theme=dark] .chart-shell,:root[data-theme=dark] .point-table,:root[data-theme=dark] .curve-flow,:root[data-theme=dark] .curve-option,:root[data-theme=dark] .solution-pagination,:root[data-theme=dark] .cam-controls-panel,:root[data-theme=dark] .calculation-table-panel{color:#e5e7eb;background:#111827;border-color:#334155}:root[data-theme=dark] .results-tabs{background:#111827;border-color:#334155}:root[data-theme=dark] .results-tabs button{color:#94a3b8}:root[data-theme=dark] .results-tabs button:hover{color:#dbeafe;background:#1e293b}:root[data-theme=dark] .results-tabs button.active{color:#bfdbfe;background:#172554}:root[data-theme=dark] .analysis-charts-scroll{background:#0f172a}:root[data-theme=dark] .analysis-charts-scroll .motion-chart,:root[data-theme=dark] .result-line-chart{background:#111827;border-color:#334155}:root[data-theme=dark] .curve-readonly-cell{color:#94a3b8;background:#1e293b;border-color:#334155}:root[data-theme=dark] .segment-table-title{color:#94a3b8;background:#0f172a}:root[data-theme=dark] .point-table-header,:root[data-theme=dark] input.readonly,:root[data-theme=dark] input:read-only{color:#94a3b8;background:#1e293b;border-color:#334155}:root[data-theme=dark] .segment-number{color:#94a3b8}:root[data-theme=dark] .point-table-header,:root[data-theme=dark] .point-row,:root[data-theme=dark] .app-brand,:root[data-theme=dark] .motion-drawer-chart,:root[data-theme=dark] .cam-rotation-controls,:root[data-theme=dark] .calculation-table-panel>header,:root[data-theme=dark] .calculation-table th,:root[data-theme=dark] .calculation-table td{border-color:#1e293b}:root[data-theme=dark] input,:root[data-theme=dark] select{color:#e5e7eb;background:#111827;border-color:#475569}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa26}:root[data-theme=dark] .cam-control-fields input.radius-input-warning{border-color:#fbbf24;box-shadow:0 0 0 1px #fbbf242e}:root[data-theme=dark] .radius-recommendation,:root[data-theme=dark] .radius-info{color:#fbbf24}:root[data-theme=dark] .curve-option.selected{background:#2563eb2e;border-color:#3b82f6}:root[data-theme=dark] .curve-select-cell select.no-solution,:root[data-theme=dark] .floating-error,:root[data-theme=dark] .error-toast{color:#fecaca;background:#3f1720;border-color:#7f1d1d}:root[data-theme=dark] .danger{color:#fca5a5;background:#3f1720;border-color:#7f1d1d}:root[data-theme=dark] .warning{color:#fde68a;background:#422006;border-color:#854d0e}:root[data-theme=dark] .cycle-total.valid{color:#4ade80}:root[data-theme=dark] .cycle-total.invalid,:root[data-theme=dark] .profile-error{color:#fca5a5}:root[data-theme=dark] .calculation-table{color:#cbd5e1;background:#0f172a}:root[data-theme=dark] .calculation-table th{color:#bfdbfe;background:#172554}:root[data-theme=dark] .exact-solution-summary{background:#172554;border-color:#1d4ed8}:root[data-theme=dark] .exact-solution-summary strong{color:#bfdbfe}:root[data-theme=dark] .exact-solution-summary small{color:#cbd5e1}:root[data-theme=dark] .exact-solutions-modal{color:#e5e7eb;background:#0f172a;border-color:#334155}:root[data-theme=dark] .exact-solutions-modal>header,:root[data-theme=dark] .exact-solutions-modal>footer{border-color:#334155}:root[data-theme=dark] .exact-solutions-modal h2{color:#f8fafc}:root[data-theme=dark] .exact-solutions-modal header p,:root[data-theme=dark] .exact-solution-pagination{color:#94a3b8}:root[data-theme=dark] .exact-solution-card{color:#cbd5e1;background:#111827;border-color:#334155}:root[data-theme=dark] .exact-solution-card:hover,:root[data-theme=dark] .exact-solution-card.selected{background:#2563eb2e;border-color:#3b82f6}:root[data-theme=dark] .exact-solution-number{color:#cbd5e1}:root[data-theme=dark] .exact-curve-chip{color:#bfdbfe;background:#0f172a;border-color:#1d4ed8}:root[data-theme=dark] .cam-angle-control strong{color:#93c5fd}:root[data-theme=dark] .solution-pagination button{color:#e5e7eb;background:#111827;border-color:#334155}:root[data-theme=dark] .project-button{color:#bfdbfe;background:#172554;border-color:#1d4ed8}:root[data-theme=dark] .project-button:hover{color:#dbeafe;background:#1e3a8a;border-color:#3b82f6}:root[data-theme=dark] .topbar-project-actions .about-button{color:#bfdbfe;background:#172554;border-color:#1d4ed8}:root[data-theme=dark] .topbar-project-actions .about-button:hover{color:#dbeafe;background:#1e3a8a;border-color:#3b82f6}:root[data-theme=dark] .example-menu-trigger{color:#ddd6fe;background:#2e1065;border-color:#6d28d9}:root[data-theme=dark] .example-menu-trigger:hover,:root[data-theme=dark] .example-menu-trigger[aria-expanded=true]{color:#f5f3ff;background:#4c1d95;border-color:#8b5cf6}:root[data-theme=dark] .example-menu{color:#e2e8f0;background:#0f172a;border-color:#334155}:root[data-theme=dark] .example-menu button:hover,:root[data-theme=dark] .example-menu button:focus-visible{color:#ddd6fe;background:#2e1065}:root[data-theme=dark] .project-message.success{color:#86efac;background:#052e16;border-color:#166534}:root[data-theme=dark] .project-message.error{color:#fecaca;background:#3f1720;border-color:#7f1d1d}:root[data-theme=dark] .correction-modal,:root[data-theme=dark] .correction-actions{color:#e5e7eb;background:#0f172a;border-color:#334155}:root[data-theme=dark] .about-modal{color:#e5e7eb;background:#0f172a;border-color:#334155}:root[data-theme=dark] .about-modal>header,:root[data-theme=dark] .about-links{border-color:#334155}:root[data-theme=dark] .about-modal h2,:root[data-theme=dark] .about-copy-grid h3{color:#f8fafc}:root[data-theme=dark] .about-lead,:root[data-theme=dark] .about-copy-grid p{color:#cbd5e1}:root[data-theme=dark] .about-close,:root[data-theme=dark] .about-copy-grid article{color:#e5e7eb;background:#111827;border-color:#334155}:root[data-theme=dark] .about-copy-grid article.about-highlight{background:#172554;border-color:#1d4ed8}:root[data-theme=dark] .about-close:hover{color:#f8fafc;background:#1e293b}:root[data-theme=dark] .correction-header,:root[data-theme=dark] .correction-section,:root[data-theme=dark] .correction-comparison th,:root[data-theme=dark] .correction-comparison td{border-color:#334155}:root[data-theme=dark] .correction-header h2,:root[data-theme=dark] .correction-section h3,:root[data-theme=dark] .correction-advanced summary,:root[data-theme=dark] .diagnostic-item strong,:root[data-theme=dark] .solution-choice-content strong,:root[data-theme=dark] .lock-row>span{color:#f8fafc}:root[data-theme=dark] .correction-close,:root[data-theme=dark] .correction-mode,:root[data-theme=dark] .correction-advanced,:root[data-theme=dark] .diagnostic-item{color:#cbd5e1;background:#111827;border-color:#334155}:root[data-theme=dark] .correction-close:hover{color:#f8fafc;background:#334155}:root[data-theme=dark] .correction-success{color:#86efac;background:#052e16;border-color:#166534}:root[data-theme=dark] .correction-mode.selected,:root[data-theme=dark] .solution-choice.selected{color:#bfdbfe;background:#2563eb2e;border-color:#3b82f6}:root[data-theme=dark] .variation-limit-control{color:#cbd5e1;background:#111827;border-color:#334155}:root[data-theme=dark] .variation-limit-control.selected{color:#bfdbfe;background:#2563eb2e;border-color:#3b82f6}:root[data-theme=dark] .variation-limit-control small{color:#94a3b8}:root[data-theme=dark] .advanced-fields input:disabled{color:#94a3b8;background:#1e293b}:root[data-theme=dark] .correction-mode small,:root[data-theme=dark] .diagnostic-item span,:root[data-theme=dark] .diagnostic-item small,:root[data-theme=dark] .advanced-fields label,:root[data-theme=dark] .lock-heading,:root[data-theme=dark] .lock-row label,:root[data-theme=dark] .solution-choice-content small,:root[data-theme=dark] .correction-comparison small{color:#94a3b8}:root[data-theme=dark] .lock-row,:root[data-theme=dark] .solution-choice,:root[data-theme=dark] .correction-comparison,:root[data-theme=dark] .selected-metrics span{color:#cbd5e1;background:#0f172a;border-color:#334155}:root[data-theme=dark] .selected-metrics small{color:#94a3b8}:root[data-theme=dark] .selected-metrics strong{color:#e2e8f0}:root[data-theme=dark] .correction-comparison thead th{color:#bfdbfe;background:#172554}:root[data-theme=dark] .correction-comparison tbody th{color:#e2e8f0}@media(max-width:1160px){.app{height:auto;min-height:100vh;overflow:visible}.screen{height:auto;min-height:100vh;padding:16px;overflow:visible}.workspace,.visual-column{overflow:visible}.points-workspace{grid-template-columns:1fr}.visual-column{grid-template-rows:auto auto}.displacement-chart{height:300px}.cam-drawing-card{width:min(100%,680px)}.calculation-table-panel{min-height:520px}.result-screen{overflow-y:auto}.result-header{align-items:stretch;flex-direction:column}.result-grid{height:auto;grid-template-columns:1fr}.kinematic-card{height:900px}.profile-card{min-height:540px}}@media(max-width:560px){.workspace{padding:16px;border-radius:18px}.large-chart{min-height:340px}.standalone-title{margin-left:0}.app-topbar{padding-left:0}.cam-control-fields{grid-template-columns:1fr}.cam-workspace-lower{grid-template-columns:1fr;overflow:visible}.cam-workspace-lower .cam-controls-panel{overflow:visible}.cam-workspace-lower .cam-drawing-card{width:min(100%,680px);height:auto;min-height:520px}.cam-rotation-controls{grid-template-columns:1fr}.points-heading,.setup-controls{align-items:stretch;flex-direction:column}.segment-count-control{width:100%;flex-basis:auto}.solution-mode-control{width:100%}.segment-primary-grid{grid-template-columns:28px minmax(48px,.72fr) minmax(52px,.82fr) minmax(86px,1.5fr)}.segment-secondary-grid{grid-template-columns:repeat(4,minmax(48px,1fr))}.solution-pagination strong{min-width:120px}.parameter-fields label{width:calc(50% - 6px)}.export-actions{flex-direction:column}.app-topbar{align-items:stretch;flex-direction:column}.topbar-project-actions{width:100%;flex-wrap:wrap}.topbar-project-actions button,.example-menu-container{flex:1 1 calc(50% - 4px)}.example-menu-container>button{width:100%}.example-menu button{flex:none}.interface-toggles{align-self:flex-end;gap:6px;margin-left:0}.lasme-projects-link{flex:1 1 100%;white-space:normal}.correction-backdrop{padding:0}.correction-modal{width:100%;max-width:none;border-radius:0}.correction-modes,.advanced-fields{grid-template-columns:1fr}.selected-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.correction-mode:last-child{grid-column:auto}.lock-row{grid-template-columns:1fr}.lock-row label{width:fit-content}.exact-solution-list{grid-template-columns:1fr;padding-right:14px;padding-left:14px}.exact-solutions-modal>header,.exact-solutions-modal>footer{padding-right:14px;padding-left:14px}.exact-solutions-modal>footer{align-items:stretch;flex-direction:column}.exact-solution-pagination{justify-content:center}.about-copy-grid,.seo-grid{grid-template-columns:1fr}.about-modal>header{padding:18px 17px 14px}.about-copy-grid{padding:15px 17px}.about-links{padding:13px 17px 17px}.seo-content{padding:40px 18px 48px}}
