:root{--color-bg-primary: #f5f5f5;--color-bg-secondary: #ffffff;--color-bg-tertiary: #fafafa;--color-bg-code: #f5f5f5;--color-bg-table-header: #f0f0f0;--color-bg-method-content: #f9f9f9;--color-text-primary: #333333;--color-text-secondary: #555555;--color-text-muted: #666666;--color-text-placeholder: #999999;--color-text-heading: #213547;--color-accent-primary: #667eea;--color-accent-secondary: #764ba2;--color-accent-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-accent-hover: #535bf2;--color-accent-link: #646cff;--color-border: #e0e0e0;--color-border-light: #ddd;--color-success: #2e7d32;--color-success-bg: #e8f5e9;--color-success-border: #4caf50;--color-error: #c62828;--color-error-bg: #ffebee;--color-error-border: #f44336;--color-warning: #ffc107;--color-warning-hover: #e0a800;--color-warning-text: #333;--color-btn-secondary: #6c757d;--color-btn-secondary-hover: #5a6268;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .1);--shadow-xl: 0 4px 20px rgba(0, 0, 0, .2);--shadow-accent: 0 4px 8px rgba(102, 126, 234, .4);--shadow-focus: 0 0 0 3px rgba(102, 126, 234, .2);--color-overlay: rgba(0, 0, 0, .5);--color-header-badge: rgba(255, 255, 255, .2);--color-header-badge-warning: rgba(255, 200, 0, .3);color-scheme:light dark;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text-heading);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){:root{--color-bg-primary: #121212;--color-bg-secondary: #1e1e1e;--color-bg-tertiary: #252525;--color-bg-code: #2a2a2a;--color-bg-table-header: #2a2a2a;--color-bg-method-content: #1a1a1a;--color-text-primary: #e0e0e0;--color-text-secondary: #b0b0b0;--color-text-muted: #909090;--color-text-placeholder: #707070;--color-text-heading: #e0e0e0;--color-accent-primary: #7c8ff8;--color-accent-secondary: #9b6fc5;--color-accent-gradient: linear-gradient(135deg, #7c8ff8 0%, #9b6fc5 100%);--color-accent-hover: #6b7ef7;--color-accent-link: #8b9bff;--color-border: #3a3a3a;--color-border-light: #4a4a4a;--color-success: #66bb6a;--color-success-bg: #1b3d1e;--color-success-border: #4caf50;--color-error: #ef5350;--color-error-bg: #3d1b1b;--color-error-border: #f44336;--color-warning: #ffca28;--color-warning-hover: #ffc107;--color-warning-text: #1e1e1e;--color-btn-secondary: #5a6268;--color-btn-secondary-hover: #6c757d;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .3);--shadow-xl: 0 4px 20px rgba(0, 0, 0, .4);--shadow-accent: 0 4px 8px rgba(124, 143, 248, .3);--shadow-focus: 0 0 0 3px rgba(124, 143, 248, .3);--color-overlay: rgba(0, 0, 0, .7);--color-header-badge: rgba(255, 255, 255, .15);--color-header-badge-warning: rgba(255, 200, 0, .25)}}a{font-weight:500;color:var(--color-accent-link);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-bg-tertiary);color:var(--color-text-heading);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent-link)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:dark){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}}*{box-sizing:border-box}#root{width:100%;min-height:100vh;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--color-bg-primary)}.app-header{background:var(--color-accent-gradient);color:#fff;padding:1.5rem 2rem;box-shadow:var(--shadow-md);display:flex;justify-content:space-between;align-items:center}.app-header h1{margin:0;font-size:1.8rem}.key-status{padding:.5rem 1rem;border-radius:20px;background:var(--color-header-badge);font-size:.9rem}.key-status.warning{background:var(--color-header-badge-warning)}.app-content{display:flex;flex:1;gap:2rem;padding:2rem;max-width:1600px;margin:0 auto;width:100%}.sidebar{width:320px;flex-shrink:0}.task-generator,.actions,.taskset-info{background:var(--color-bg-secondary);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.task-generator h2,.actions h3,.taskset-info h3{margin-top:0;color:var(--color-text-primary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-text-secondary)}.form-group input[type=number],.form-group select{width:100%;padding:.5rem;border:1px solid var(--color-border-light);border-radius:4px;font-size:1rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-group input[type=number]:focus,.form-group select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-focus)}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400;color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{cursor:pointer}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;margin-bottom:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent-gradient);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-accent)}.btn-secondary{background:var(--color-btn-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn-warning{background:var(--color-warning);color:var(--color-warning-text)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover)}.main-content{flex:1;min-width:0}.empty-state{background:var(--color-bg-secondary);border-radius:8px;padding:3rem;text-align:center;box-shadow:var(--shadow-sm)}.empty-state h2{color:var(--color-accent-primary);margin-bottom:1rem}.empty-state p{color:var(--color-text-muted);font-size:1.1rem;margin:.5rem 0}.tasks-container{background:var(--color-bg-secondary);border-radius:8px;padding:2rem;box-shadow:var(--shadow-sm)}.tasks-container h2{margin-top:0;color:var(--color-text-primary);border-bottom:2px solid var(--color-accent-primary);padding-bottom:1rem}.tasks-grid{display:grid;gap:1.5rem;margin-top:2rem}.task-card{border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;background:var(--color-bg-tertiary);transition:all .2s}.task-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.task-number{font-weight:700;color:var(--color-accent-primary);font-size:1.1rem}.task-difficulty{padding:.25rem .75rem;border-radius:12px;background:var(--color-border);font-size:.85rem;text-transform:capitalize;color:var(--color-text-primary)}.task-content{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;font-size:1.2rem;flex-wrap:wrap;color:var(--color-text-primary)}.task-expression{display:flex;align-items:center;gap:1rem}.operator{font-weight:700;color:var(--color-accent-primary);font-size:1.5rem}.equals{font-weight:700;font-size:1.5rem;color:var(--color-text-primary)}.result .placeholder{display:inline-block;width:50px;height:50px;background:var(--color-border);border-radius:4px;line-height:50px;text-align:center;font-size:1.5rem;color:var(--color-text-placeholder)}.fraction{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .25rem}.fraction-numerator,.fraction-denominator{display:block;padding:0 .5rem;color:var(--color-text-primary)}.fraction-line{display:block;width:100%;height:2px;background:var(--color-text-primary);margin:2px 0}.fraction-inline{font-family:Courier New,monospace}.fraction-whole{font-weight:600}.task-solution{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.solution-steps h3{color:var(--color-accent-primary);margin-bottom:1rem}.steps-list{list-style:none;counter-reset:step-counter;padding:0}.step-item{counter-increment:step-counter;margin-bottom:1rem;padding:1rem;background:var(--color-bg-secondary);border-radius:4px;border-left:3px solid var(--color-accent-primary)}.step-item:before{content:"Schritt " counter(step-counter) ": ";font-weight:700;color:var(--color-accent-primary)}.step-description{margin-bottom:.5rem;color:var(--color-text-muted)}.step-expression{font-size:1.1rem;font-weight:600;margin-top:.5rem;color:var(--color-text-primary)}.step-expression code{background:var(--color-bg-code);padding:.25rem .5rem;border-radius:3px;font-family:Courier New,monospace;color:var(--color-text-primary)}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:1rem;border-radius:4px;border-left:4px solid var(--color-error)}.taskset-info code{background:var(--color-bg-code);padding:.25rem .5rem;border-radius:3px;font-size:.85rem;word-break:break-all;color:var(--color-text-primary)}.user-input{display:flex;align-items:center;gap:.5rem}.fraction-input{width:150px;padding:.5rem;border:2px solid var(--color-accent-primary);border-radius:4px;font-size:1.2rem;text-align:center;font-weight:600;background:var(--color-bg-secondary);color:var(--color-text-primary)}.fraction-input:focus{outline:none;border-color:var(--color-accent-secondary);box-shadow:var(--shadow-focus)}.fraction-input:disabled{background:var(--color-bg-code);border-color:var(--color-border-light);cursor:not-allowed}.fraction-input::placeholder{font-size:.9rem;font-weight:400;color:var(--color-text-placeholder)}.user-input .fraction-line{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.feedback{padding:1rem;border-radius:4px;margin:1rem 0;font-weight:600;font-size:1.1rem;text-align:center}.feedback.correct{background:var(--color-success-bg);color:var(--color-success);border:2px solid var(--color-success-border)}.feedback.incorrect{background:var(--color-error-bg);color:var(--color-error);border:2px solid var(--color-error-border)}.task-actions{display:flex;gap:.5rem;flex-wrap:wrap}.task-actions .btn{width:auto;margin-bottom:0}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-bg-secondary);padding:2rem;border-radius:8px;box-shadow:var(--shadow-xl);min-width:350px;max-width:90%}.modal-title{margin-top:0;margin-bottom:1.5rem;color:var(--color-accent-primary);border-bottom:2px solid var(--color-accent-primary);padding-bottom:.5rem}.modal-input{width:100%;padding:.75rem;border:1px solid var(--color-border-light);border-radius:4px;font-size:1rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:var(--shadow-focus)}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.modal-actions .btn{width:auto;flex:1;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}.equation-expression{font-family:Times New Roman,Georgia,serif;font-size:1.3rem;display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary)}.equation-left,.equation-right{font-weight:500}.equation-result{margin-left:1rem}.equation-x-label{font-family:Times New Roman,Georgia,serif;font-size:1.3rem;font-weight:500;margin-right:.5rem;color:var(--color-text-primary)}.equation-input{width:80px}.equation-solution-value{font-family:Times New Roman,Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--color-success)}.equation-solution-steps{margin-top:1rem}.equation-solution-steps h3{color:var(--color-accent-primary);margin-bottom:1rem;font-size:1.1rem}.equation-solution-steps table{width:100%;border-collapse:collapse;margin-top:.5rem;font-family:Times New Roman,Georgia,serif}.equation-solution-steps th,.equation-solution-steps td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.equation-solution-steps th{background:var(--color-bg-code);font-weight:600;color:var(--color-text-secondary)}.equation-solution-steps td{font-size:1.1rem;color:var(--color-text-primary)}.equation-solution-steps .transformation{font-family:monospace;color:var(--color-accent-primary);text-align:right;font-weight:600}.equation-system{display:flex;flex-direction:column;gap:.5rem;font-family:Times New Roman,Georgia,serif;font-size:1.3rem}.equation-row{display:flex;align-items:center;gap:.75rem}.eq-label{font-weight:700;color:var(--color-accent-primary);min-width:2rem}.eq-content{font-weight:500;color:var(--color-text-primary)}.system-input{display:flex;flex-direction:column;gap:.75rem;margin-left:1.5rem}.system-input-row{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary)}.system-solution-value{display:flex;flex-direction:column;gap:.5rem;font-family:Times New Roman,Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--color-success)}.equation-system-solution h3{color:var(--color-accent-primary);margin-bottom:1rem;font-size:1.1rem}.method-tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.method-tab{padding:.5rem 1rem;border:2px solid var(--color-accent-primary);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-accent-primary);font-weight:600;cursor:pointer;transition:all .2s}.method-tab:hover{background:var(--color-bg-tertiary)}.method-tab.active{background:var(--color-accent-gradient);color:#fff;border-color:transparent}.method-content{background:var(--color-bg-method-content);border-radius:8px;padding:1rem}.system-steps-table{width:100%;border-collapse:collapse;font-family:Times New Roman,Georgia,serif}.system-steps-table th,.system-steps-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border)}.system-steps-table th{background:var(--color-bg-table-header);font-weight:600;color:var(--color-text-secondary)}.system-steps-table td{color:var(--color-text-primary)}.system-steps-table td:first-child{width:60px;text-align:center;font-weight:600;color:var(--color-accent-primary)}.system-steps-table .step-result{font-family:Courier New,monospace;font-weight:600;color:var(--color-text-primary)}.system-final-solution{margin-top:1rem;padding:1rem;background:var(--color-success-bg);border-radius:4px;font-size:1.1rem;color:var(--color-success)}@media(max-width:1024px){.app-content{flex-direction:column}.sidebar{width:100%}}@media(max-width:600px){.method-tabs{flex-direction:column}.method-tab{width:100%;text-align:center}}
