:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-peach:#f6d6ab;--brand-pink:#c12d92;--brand-red:#e0555f;--gradient-primary:linear-gradient(90deg, var(--brand-pink) 0%, var(--brand-red) 100%);--gradient-panel:radial-gradient(circle at top left, #fdeba3 0%, transparent 60%), radial-gradient(circle at top right, #ec6fc0 0%, transparent 70%), #fff;--ink:#241f3d;--ink-muted:#5b5573;--radius-lg:20px;--radius-xl:26px;--shadow-card:0 12px 32px -14px #c12d924d, 0 2px 8px #241f3d0f;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}:is(html:has(.exercise-flow-layout),body:has(.exercise-flow-layout)){height:100%;overflow:hidden}body{color:var(--ink);background-color:#fff;background-image:radial-gradient(circle at 100% 0,#facc158c 0%,#facc1500 60%),radial-gradient(circle at 100% 100%,#c12d9266 0%,#c12d9200 60%),radial-gradient(#5b557329 1px,#0000 1.6px);background-size:auto,auto,24px 24px;background-attachment:fixed;margin:0;padding:0}.app{box-sizing:border-box;width:100%;max-width:1520px;margin:0 auto;padding:2.5rem .75rem 6rem}h1{color:var(--ink);letter-spacing:-.01em;margin:0 0 .35rem;font-size:2rem;font-weight:700}.exercise-flow-header{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.exercise-flow-header h1{margin:0 0 .35rem}.instructions{color:var(--ink-muted);min-height:3rem;margin:0}.toolbar{align-items:center;min-height:2.35rem;margin-bottom:.75rem;display:flex}.toolbar button{font:inherit;color:var(--ink);cursor:pointer;background:#fff;border:1.5px solid #c12d9240;border-radius:999px;padding:.45rem 1rem}.toolbar button:hover:not(:disabled){border-color:var(--brand-pink);background:#fef4fa}.toolbar button:disabled{opacity:.6;cursor:default}.bubble-chart-layout{align-items:stretch;gap:1.25rem;display:flex}.bubble-chart-layout svg{border-radius:var(--radius-xl);max-width:100%;height:auto;box-shadow:var(--shadow-card);background:#fff}.move-range-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;flex-direction:column;flex:0 0 220px;gap:.75rem;padding:1.25rem;display:flex}.z-legend-title{fill:#1f2933;font-size:15px;font-weight:600}.z-legend-circle{fill:#3b82f626;stroke:#2563eb;stroke-width:1.5px}.z-legend-tick-line{stroke:#9aa5b1;stroke-dasharray:2 2}.z-legend-value{fill:#52606d;font-size:14px}.axis line{stroke:#9aa5b1}.axis text{fill:#52606d;font-size:14px}.axis-title{fill:#1f2933;font-size:15px;font-weight:600}.bubble{fill:#3b82f673;stroke:#2563eb;stroke-width:1.5px;cursor:grab;touch-action:none}.bubble:active{cursor:grabbing}.bubble-label{fill:#1e3a8a;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px}.guide-line{stroke:#2563eb;stroke-width:1px;stroke-dasharray:4 3;pointer-events:none}.value-tag rect{fill:#1e3a8a;pointer-events:none}.value-tag text{fill:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600}.bubble-handle{fill:#fff;stroke:#2563eb;stroke-width:1.5px;cursor:nwse-resize;touch-action:none}.range-overlay{pointer-events:none}.range-overlay-band{fill:#ea580c26}.range-overlay-line{stroke:#ea580c;stroke-width:1.5px;stroke-dasharray:5 3}.range-overlay-current{pointer-events:none}.range-overlay-current-line{stroke-width:1.5px;stroke-dasharray:5 3}.range-overlay-arrow-line{stroke-width:2px}.range-overlay-arrow-head{fill:none;stroke-width:2px;stroke-linejoin:round}.range-overlay-arrow-label{font-size:.95rem;font-weight:700}.range-overlay-current-correct .range-overlay-current-band{fill:#16a34a26}.range-overlay-current-correct .range-overlay-current-line,.range-overlay-current-correct .range-overlay-arrow-line,.range-overlay-current-correct .range-overlay-arrow-head{stroke:#16a34a}.range-overlay-current-correct .range-overlay-arrow-label{fill:#16a34a}.range-overlay-current-incorrect .range-overlay-current-band{fill:#dc262626}.range-overlay-current-incorrect .range-overlay-current-line,.range-overlay-current-incorrect .range-overlay-arrow-line,.range-overlay-current-incorrect .range-overlay-arrow-head{stroke:#dc2626}.range-overlay-current-incorrect .range-overlay-arrow-label{fill:#dc2626}.status{text-align:center;color:var(--ink-muted);padding:2rem}.status-error{color:#b91c1c}.timeline-footer{z-index:10;background:0 0;padding:1.35rem 1rem .85rem;position:fixed;bottom:2rem;left:0;right:0}@media (width>=721px){.timeline-footer{left:calc(max(0px,50vw - 760px) + 24.75rem);right:calc(max(0px,50vw - 760px) + .75rem)}}.timeline-footer:before{content:"";background:var(--gradient-primary);border-radius:3px;height:3px;position:absolute;top:0;left:1.5rem;right:1.5rem}.exercise-nav{gap:.75rem;max-width:960px;margin:0 auto;padding:0;list-style:none;display:flex}.exercise-nav-item{flex:1}.exercise-nav-button{width:100%;font:inherit;color:var(--ink-muted);cursor:pointer;background:#fff;border:1.5px solid #c12d924d;border-radius:999px;padding:.6rem 1rem;font-size:.9rem;font-weight:600}.exercise-nav-button:hover:not(:disabled){border-color:var(--brand-pink);color:var(--brand-pink)}.exercise-nav-button-active{background:var(--gradient-primary);color:#fff;border-color:#0000;box-shadow:0 6px 16px -6px #c12d928c}.exercise-nav-button-active:hover:not(:disabled){color:#fff}.exercise-nav-button-done:not(.exercise-nav-button-active){border-color:var(--brand-pink);color:var(--brand-pink)}.exercise-nav-check{margin-right:.35rem}.exercise-nav-button-locked{opacity:.5;cursor:not-allowed}.exercise-nav-button-locked:hover{color:var(--ink-muted);border-color:#c12d924d}.exercise-placeholder{border:1px dashed #cbd2d9;border-radius:8px}.settings-link,.back-link{color:var(--brand-pink);align-items:center;gap:.35rem;margin-top:1rem;font-size:.9rem;text-decoration:none;display:inline-flex}.settings-link:hover,.back-link:hover{text-decoration:underline}.exercise-settings-table{border-collapse:collapse;width:100%;margin:1rem 0}.exercise-settings-table th{text-align:left;color:#52606d;padding:.5rem .75rem;font-size:.8rem}.exercise-settings-row td{border-bottom:1px solid #e4e7eb;padding:.5rem .75rem}.exercise-settings-row input[type=text],.exercise-settings-row input[type=number],.exercise-settings-row select{font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.3rem .5rem}.exercise-settings-row button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;margin-right:.4rem;padding:.3rem .7rem}.exercise-settings-row button:hover:not(:disabled){background:#f0f4f8}.exercise-settings-row button:disabled{opacity:.6;cursor:default}.exercise-create-form{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.exercise-create-form input{font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.3rem .5rem}.exercise-create-form button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:.4rem .9rem}.exercise-create-form button:hover:not(:disabled){background:#f0f4f8}.axes-checkboxes{gap:.5rem;font-size:.85rem;display:inline-flex}.axes-checkboxes label{align-items:center;gap:.2rem;display:inline-flex}.target-ranges-inputs{flex-wrap:wrap;gap:.6rem;display:inline-flex}.target-range-input-group{align-items:center;gap:.35rem;display:inline-flex}.target-range-axis-label{color:#52606d;font-size:.8rem;font-weight:600}.target-ranges-inputs input,.target-ranges-inputs select{width:5.5rem;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.target-ranges-inputs select{width:auto}.row-error{color:#b91c1c;margin:.25rem 0 0;font-size:.8rem}.chart-cell-actions{flex-wrap:wrap;gap:.35rem;margin-top:.4rem;display:flex}.chart-cell-actions button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:.25rem .5rem;font-size:.75rem}.chart-cell-actions button:hover:not(:disabled){background:#f0f4f8}.chart-cell-actions button:disabled{opacity:.6;cursor:default}.chart-editor{background:#f8fafc;border:1px solid #e4e7eb;border-radius:8px;padding:1rem}.chart-editor .bubble-chart-layout{align-items:flex-start}.chart-limits{border:1px solid #e4e7eb;border-radius:6px;flex-wrap:wrap;align-items:center;gap:1rem;margin:0 0 1rem;padding:.5rem .75rem;display:flex}.chart-limits legend{color:#52606d;padding:0 .3rem;font-size:.75rem}.chart-limits-row{align-items:center;gap:.5rem;display:flex}.chart-limits-label{min-width:4rem;font-size:.85rem;font-weight:600}.chart-limits-row label{color:#52606d;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.chart-limits-row input[type=number]{width:5rem;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.chart-editor-points{flex:0 0 240px}.chart-editor-points h3{margin:0 0 .5rem;font-size:.9rem}.chart-editor-points-table{border-collapse:collapse;width:100%}.chart-editor-points-table th{text-align:left;color:#52606d;padding:.3rem .4rem;font-size:.75rem}.chart-editor-points-table td{border-bottom:1px solid #e4e7eb;padding:.3rem .4rem}.chart-editor-points-table input[type=text]{width:100%;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.chart-editor-points-table button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:.25rem .5rem;font-size:.75rem}.chart-editor-points-table button:hover{background:#f0f4f8}.chart-editor-empty{color:#52606d;font-size:.85rem}.bubble-fixed{fill:#6b728073;stroke:#4b5563;cursor:default}.bubble-range-min{fill:#7c3aed59;stroke:#7c3aed;stroke-width:3px}.bubble-range-max{fill:#d9770659;stroke:#d97706;stroke-width:3px}.bubble-range-both{fill:#0891b259;stroke:#0891b2;stroke-width:3px}.bubble-label-strong{font-weight:700}.identify-bubble{fill:#3b82f673;stroke:#2563eb;stroke-width:1.5px;cursor:default}.identify-bubble-armed{cursor:pointer}.identify-bubble-max{stroke:#d97706;stroke-width:3px}.identify-bubble-min{stroke:#7c3aed;stroke-width:3px}.identify-bubble-mixed{stroke:#0891b2;stroke-width:3px}.identify-bubble.answer-correct{fill:#16a34a59;stroke:#16a34a;stroke-width:3px}.identify-bubble.answer-incorrect{fill:#dc262659;stroke:#dc2626;stroke-width:3px}.answer-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:#fff;flex-direction:column;flex:0 0 220px;gap:.75rem;padding:1.25rem;display:flex}.answer-panel h2{margin:0 0 .75rem;font-size:.95rem}.answer-axis-block{border-bottom:1px solid #f1e3ee;padding:0 0 .75rem}.answer-axis-block:last-child{border-bottom:none;padding-bottom:0}.answer-axis-block-done h2{color:#16a34a;margin-bottom:0}.answer-axis-block-locked h2{color:#9aa5b1;margin-bottom:0}.answer-axis-check{color:#16a34a;margin-left:.4rem}.answer-row{border:1.5px solid #ece6f5;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .7rem;display:flex}.answer-row-clickable{cursor:pointer}.answer-row-armed{border-color:var(--brand-pink);box-shadow:inset 0 0 0 1px var(--brand-pink)}.answer-row-label{color:#52606d;font-size:.8rem;font-weight:600}.answer-row-value{text-align:right;font-size:.85rem}.answer-range-row{cursor:default}.answer-input{width:5rem;font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.25rem .4rem;font-size:.85rem}.answer-input.answer-correct{background:#16a34a1a;border-color:#16a34a}.answer-input.answer-incorrect{background:#dc26261a;border-color:#dc2626}.answer-row.answer-correct{background:#16a34a1a;border-color:#16a34a}.answer-row.answer-incorrect{background:#dc26261a;border-color:#dc2626}.answer-submit{font:inherit;background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:.25rem;padding:.6rem .9rem;font-weight:600;box-shadow:0 6px 16px -6px #c12d928c}.answer-submit:hover:not(:disabled){filter:brightness(1.06)}.answer-submit:disabled{opacity:.5;box-shadow:none;cursor:default}.answer-feedback{margin:.6rem 0;font-size:.85rem;font-weight:600}.answer-feedback-correct{color:#16a34a}.answer-feedback-incorrect{color:#dc2626}.exercise-meta{min-height:1.6rem;margin-bottom:.75rem}.exercise-objective{margin:0;font-size:1.05rem}.exercise-auto-note{color:#7c3aed;margin:.35rem 0 0;font-size:.85rem}.exercise-flow-footer{box-shadow:var(--shadow-card);z-index:20;background:#ffffffd9;border-radius:999px;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex;position:fixed;top:1rem;right:1rem}.exercise-flow-footer .settings-link{margin-top:0}.delete-progress-button{font:inherit;color:#dc2626;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;font-size:.9rem;-webkit-text-decoration:underline #dc2626;text-decoration:underline #dc2626;display:inline-flex}.icon-gear,.icon-trash,.icon-check{flex-shrink:0;width:15px;height:15px}.icon-gear{fill:currentColor}.icon-trash,.icon-check{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.auto-validate-button{color:var(--brand-pink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.auto-validate-button:hover:not(:disabled){color:#16a34a}.auto-validate-button:disabled{color:#cbd2d9;cursor:default}.delete-progress-button:hover:not(:disabled){color:#b91c1c}.delete-progress-button:disabled{opacity:.6;cursor:default}.name-gate{justify-content:center;align-items:center;min-height:60vh;display:flex}.name-gate-form{text-align:center;flex-direction:column;gap:.75rem;width:100%;max-width:320px;display:flex}.name-gate-form input[type=text]{font:inherit;text-align:center;border:1.5px solid #ece6f5;border-radius:999px;padding:.6rem .9rem}.name-gate-form button{font:inherit;background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.6rem .9rem;font-weight:600;box-shadow:0 6px 16px -6px #c12d928c}.name-gate-form button:hover:not(:disabled){filter:brightness(1.06)}.name-gate-form button:disabled{opacity:.6;box-shadow:none;cursor:default}.exercise-flow-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.dialogue-panel-column{align-self:stretch;position:sticky;top:1rem}.exercise-flow-main{min-width:0}.dialogue-panel{border-radius:var(--radius-xl);background:var(--gradient-panel);box-shadow:var(--shadow-card);border:none;flex-direction:column;gap:.75rem;height:calc(100vh - 8rem);padding:1.5rem 1.25rem 1.25rem;display:flex;position:relative;overflow:hidden}.dialogue-sparkle{z-index:1;width:30px;height:30px;fill:var(--ink-muted);position:relative}.dialogue-panel-empty{color:var(--ink-muted);justify-content:space-between}.dialogue-history{z-index:1;flex-direction:column;flex:1;justify-content:flex-end;gap:.6rem;min-height:0;display:flex;position:relative;overflow-y:auto}.dialogue-text{color:var(--ink);background:#ffffff8c;border-radius:12px;margin:0;padding:.6rem .85rem;box-shadow:0 2px 8px #241f3d14}.dialogue-history .dialogue-text:last-child{background:#fff;font-weight:600}.dialogue-placeholder{z-index:1;color:var(--ink-muted);margin:0;font-style:italic;position:relative}.dialogue-actions{z-index:1;gap:.5rem;display:flex;position:relative}.dialogue-back{font:inherit;color:var(--ink);cursor:pointer;background:#ffffff26;border:1.5px solid #ffffffb3;border-radius:999px;flex:1;padding:.5rem .9rem;font-weight:600}.dialogue-back:hover{background:#ffffff4d}.dialogue-next{font:inherit;background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:2;padding:.5rem .9rem;font-weight:600;box-shadow:0 6px 16px -6px #c12d928c}.dialogue-next:hover{filter:brightness(1.06)}@media (width<=720px){.exercise-flow-layout{grid-template-columns:1fr}.dialogue-panel-column{width:100%;position:static}.dialogue-panel{height:auto}}@keyframes teach-blink{0%,to{opacity:1}50%{opacity:.25}}.axis-highlighted{animation:1s ease-in-out infinite teach-blink}.axis-highlighted line{stroke:#f59e0b}.axis-highlighted text,.axis-highlighted .axis-title{fill:#b45309;font-weight:700}.bubble.bubble-highlighted,.identify-bubble.identify-bubble-highlighted{stroke:#f59e0b;stroke-width:3px;animation:1s ease-in-out infinite teach-blink}.z-legend-highlighted{animation:1s ease-in-out infinite teach-blink}.z-legend-highlighted .z-legend-circle{stroke:#f59e0b}.z-legend-highlighted .z-legend-title{fill:#b45309}svg.chart-highlighted{outline-offset:2px;outline:3px solid #f59e0b;animation:1s ease-in-out infinite teach-blink}@keyframes auto-target-pulse{0%,to{box-shadow:0 0 #c12d9280}50%{box-shadow:0 0 0 6px #c12d9200}}.auto-target{animation:.9s ease-in-out infinite auto-target-pulse}@keyframes auto-bubble-pulse{0%,to{stroke-width:2px;stroke-opacity:1}50%{stroke-width:7px;stroke-opacity:.55}}.identify-bubble.identify-bubble-auto-target{stroke:var(--brand-pink);animation:.9s ease-in-out infinite auto-bubble-pulse}.dialogue-step-editor{background:#fafbfc;border:1px solid #e4e7eb;border-radius:8px;margin:.5rem 0 1rem;padding:.75rem 1rem}.dialogue-step-editor h3{margin:0 0 .5rem;font-size:1rem}.dialogue-step-table{border-collapse:collapse;width:100%}.dialogue-step-table th{text-align:left;color:#52606d;padding:.4rem .6rem;font-size:.8rem}.dialogue-step-row td{vertical-align:top;border-bottom:1px solid #e4e7eb;padding:.4rem .6rem}.dialogue-step-row input[type=text],.dialogue-step-row input[type=number],.dialogue-step-row select{font:inherit;border:1px solid #cbd2d9;border-radius:4px;margin-bottom:.25rem;padding:.3rem .5rem}.dialogue-step-row button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;margin-right:.4rem;padding:.3rem .7rem}.dialogue-step-row button:hover:not(:disabled){background:#f0f4f8}.dialogue-step-row-dragging{opacity:.4}.dialogue-step-order-cell{color:#52606d;align-items:center;gap:.4rem;display:flex}.dialogue-step-drag-handle{color:#9aa5b1;cursor:grab;display:inline-flex}.dialogue-step-row-dragging .dialogue-step-drag-handle{cursor:grabbing}.icon-grip{fill:currentColor;width:12px;height:18px}.dialogue-step-create-form{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.dialogue-step-create-form input,.dialogue-step-create-form select{font:inherit;border:1px solid #cbd2d9;border-radius:4px;padding:.3rem .5rem}.dialogue-step-create-form button{font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:6px;padding:.4rem .9rem}.dialogue-step-create-form button:hover:not(:disabled){background:#f0f4f8}
