@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.4;font-weight:450;color:#1e293b;background-color:#f7f9fc;--app-border-color: #e2e8f0;--app-surface-bg: #ffffff;--app-main-bg: #f8fafc;--font-size-base: 14px;--font-size-sm: 12px;--font-size-xs: 11px;--font-size-h1: 24px;--font-size-h2: 18px;--font-size-h3: 15px;--font-family-display: "Inter", sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:var(--font-size-base)}@media(max-width:600px){:root{--font-size-h1: 22px;--font-size-h2: 17px;--font-size-h3: 14.5px}}@media(max-width:480px){:root{--font-size-base: 13.5px;--font-size-sm: 11.5px;--font-size-h1: 19px;--font-size-h2: 15px;--font-size-h3: 13.5px}}*{margin:0;padding:0;box-sizing:border-box}html{overscroll-behavior:none;height:100%}body{margin:0;width:100%;min-height:100%;-webkit-user-select:auto;user-select:auto;touch-action:auto;-webkit-touch-callout:default;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.app-native-mode{height:100%;position:fixed;overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,button,select{user-select:text;-webkit-user-select:text;font-family:inherit}#root{width:100%;margin:0 auto;text-align:center;min-height:100vh}body.app-native-mode #root{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}h1{font-size:var(--font-size-h1);font-weight:700;color:#0f172a}.app-hero-title{font-size:2.25rem;font-weight:700;color:#0f172a;margin:0;line-height:1.2}@media(max-width:600px){.app-hero-title{font-size:1.85rem}}@media(max-width:480px){.app-hero-title{font-size:1.6rem}}h2{font-size:var(--font-size-h2);font-weight:600;color:#1e293b}h3{font-size:var(--font-size-h3);font-weight:600;color:#334155}.initializer-page{width:100%;max-width:800px;margin:0 auto;padding:0 15px 15px;box-sizing:border-box}.exercise-page{width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center}.app-card-panel{background-color:#fff;padding:24px;border-radius:12px;border:1px solid var(--app-border-color);width:100%;max-width:100%;position:relative;overflow:hidden;text-align:left;box-shadow:0 1px 3px #0000000d}.app-card-panel-center{text-align:center;display:flex;flex-direction:column;align-items:center}.question-header{margin-bottom:20px;display:flex;justify-content:space-between;color:#888;font-family:inherit;width:100%}.app-button{padding:4px 14px;font-size:var(--font-size-base);border-radius:6px;cursor:pointer;font-weight:550;border:none;font-family:inherit;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;justify-content:center;align-items:center;box-shadow:0 1px 2px #0000000d;height:32px}.app-button-lg{padding:8px 24px;font-size:var(--font-size-h2);border-radius:8px;height:44px}.app-icon-button{width:36px;height:36px;min-width:unset;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.app-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(.95);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.app-button:active:not(:disabled){transform:translateY(0)}.app-button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.app-button-primary{background-color:#3498db;color:#fff}.app-button-primary:hover:not(:disabled){box-shadow:0 8px 15px #3498db40}.app-button-secondary{background-color:#ecf0f1;color:#7f8c8d}.app-button-secondary:hover:not(:disabled){background-color:#e2e8e9;color:#5f6c6d}.app-button-success{color:#fff}.app-button-danger{background-color:#ff4757;color:#fff;box-shadow:0 4px 6px #ff475733}.app-button-danger:hover:not(:disabled){background-color:#ff3e4e;box-shadow:0 6px 10px #ff47574d}.app-button-danger-icon{background-color:transparent;color:#ff4757;border:1px solid rgba(255,71,87,.3);padding:8px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.app-button-danger-icon:hover:not(:disabled){background-color:#ff47570d;border-color:#ff4757;transform:translateY(-1px)}.app-button-danger-icon img{filter:none;opacity:.8;transition:opacity .2s}.app-button-danger-icon:hover img{opacity:1}.app-form-group{margin-bottom:20px}.app-label{display:block;margin-bottom:8px;font-weight:600;color:#333}.app-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;box-sizing:border-box;font-family:inherit;transition:border-color .2s,box-shadow .2s}.app-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.app-input:disabled{background-color:#f5f5f5;color:#888;cursor:not-allowed}.app-error-text{color:#f44;font-size:13px;margin-top:6px;display:block}.app-warning-text{color:#e67e22;font-size:14px;margin-bottom:15px;font-weight:500}.app-danger-text,.danger-text{color:#ff4757;font-size:14px;margin-bottom:15px;font-weight:500}.app-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.app-modal-form{padding:20px}.exercises-swimlane{display:flex;flex-direction:column}.app-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.75rem;text-align:left}.swimlane-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.swimlane-header-row .app-section-title{margin-bottom:0}.button-plus{font-size:var(--font-size-base);margin-right:6px;line-height:1}.app-edit-title{font-size:var(--font-size-h1);font-weight:700;color:#0f172a;border:none;background:transparent;padding:4px 0;width:100%;outline:none;border-bottom:2px solid transparent;transition:all .2s ease;margin:0;cursor:text}.app-edit-title:focus{border-bottom-color:var(--theme-color, #3498db);background:#3498db05}.app-edit-title-h1,.app-inline-input{margin:0;font-size:1.5rem;font-weight:700;color:#0f172a;line-height:normal;padding:4px 10px;border:1px solid transparent;border-radius:6px;transition:all .2s ease;display:flex!important;align-items:center;max-width:100%;height:40px;font-family:inherit;background:transparent;box-sizing:border-box}.app-inline-input{background:#fff;border-color:var(--theme-color, #3498db);box-shadow:0 1px 2px #0000000d;outline:none;flex:1!important;min-width:50px!important;width:0!important}.app-inline-actions{display:flex;gap:8px;align-items:center;height:40px;flex-shrink:0!important}.inline-action-btn{height:36px!important;width:36px!important;display:flex!important;align-items:center;justify-content:center;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;padding:0;flex-shrink:0!important}.inline-action-btn img{width:16px;height:16px}.app-edit-title-h1.editable{cursor:text}.app-edit-title-h1.editable:hover{background-color:#f8fbff;border-color:#d6e4f3}.app-edit-title-h1.editable:after{content:"";display:inline-block;width:20px;height:20px;margin-left:12px;background-image:url(/images/icons/edit.svg);background-size:contain;background-repeat:no-repeat;opacity:0;transition:opacity .2s;vertical-align:middle}.app-edit-title-h1.editable:hover:after{opacity:.5}.app-inline-editor{display:flex;align-items:center;gap:12px;flex:1;min-width:0;height:40px}@media(max-width:600px){.app-edit-title-h1,.app-inline-input,.app-inline-actions,.inline-action-btn,.app-inline-editor{height:36px!important}.inline-action-btn{width:36px!important}.app-inline-editor{gap:8px!important}.app-edit-title-h1{padding:4px 8px!important;font-size:1.25rem!important}}.app-edit-title-h1.placeholder{color:#bdc3c7;font-style:italic;font-weight:400}.app-edit-title-h1.needs-attention{animation:title-pulse-attention 2s infinite;border-radius:6px}@keyframes title-pulse-attention{0%{box-shadow:0 0 #3498db66;background-color:transparent}50%{box-shadow:0 0 0 8px #3498db00;background-color:#3498db0d}to{box-shadow:0 0 #3498db00;background-color:transparent}}.app-edit-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;width:100%}.app-edit-header-info{flex:1;min-width:0}.assignment-title-row{display:flex;align-items:center;flex-wrap:nowrap!important;gap:12px;height:40px;min-width:0;width:100%}.exercise-initializer-icon-wrapper{width:40px!important;height:40px!important;border-radius:8px!important;display:flex!important;align-items:center;justify-content:center;flex-shrink:0!important;margin:0!important}.exercise-initializer-icon-wrapper img{width:22px!important;height:22px!important;object-fit:contain}.assignment-header-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.save-status-indicator-overlay{display:inline-flex;padding:6px 16px;border-radius:20px;font-size:.75rem;font-weight:600;align-items:center;gap:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 20px #00000014,0 0 0 1px #00000005;z-index:10001;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:center center}.save-status-indicator-overlay.status-saving{color:#64748b;background:#f8fafc99;border-color:#cbd5e166}.save-status-indicator-overlay.status-saved{color:#16a34a;background:#f0fdf499;border-color:#bbf7d066}.save-status-indicator-overlay.status-error{color:#dc2626;background:#fef2f299;border-color:#fee2e266}.save-status-indicator-overlay.status-unsaved{color:#d97706;background:#fffbeb99;border-color:#fef3c766}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-dot.pulse{animation:pulse-dot 1.5s infinite ease-in-out}@keyframes pulse-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media(max-width:900px){.app-edit-header{flex-wrap:wrap!important;align-items:flex-start;gap:8px 12px}.app-edit-header-info{flex:1 1 100%!important;min-width:0}.assignment-header-actions{flex:0 0 100%!important;width:100%;margin-left:0!important;justify-content:flex-end;gap:10px}}@media(max-width:600px){.app-edit-header{gap:12px}.assignment-title-row{height:44px!important;gap:8px!important}.exercise-initializer-icon-wrapper{width:36px!important;height:36px!important;border-radius:6px!important}}.inline-action-btn:hover{background:#f8fbff;border-color:#d6e4f3;transform:translateY(-1px)}.inline-action-btn img{width:20px;height:20px;opacity:.7}.inline-action-btn.accept:hover{background:#f0fdf4;border-color:#22c55e}.inline-action-btn.cancel:hover{background:#fff5f5;border-color:#ff7675}.app-status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.app-status-badge.active{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.app-status-badge.future{background-color:#fefce8;color:#ca8a04;border:1px solid #fef08a}.app-status-badge.draft{background-color:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.app-status-badge.ended{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.app-toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.app-toggle-switch input{opacity:0;width:0;height:0}.app-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.app-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s;border-radius:50%;box-shadow:0 2px 4px #0003}input:checked+.app-toggle-slider{background-color:#27ae60}input:focus+.app-toggle-slider{box-shadow:0 0 1px #27ae60}input:checked+.app-toggle-slider:before{-webkit-transform:translateX(24px);-ms-transform:translateX(24px);transform:translate(24px)}.app-toggle-slider.round{border-radius:26px}@media(max-width:1024px){.assignment-grid{grid-template-columns:1fr}}@media(max-width:480px){.app-button{padding:8px 20px;font-size:.95rem}.question-header{margin-bottom:15px}h1{font-size:2.2em}}.font-family-sans-serif{font-family:Inter,system-ui,Arial,Helvetica,sans-serif!important}.font-family-serif{font-family:Georgia,Times New Roman,serif!important}.font-family-monospace{font-family:Courier New,Consolas,monospace!important}.font-size-small{font-size:1rem!important}.font-size-medium{font-size:1.25rem!important}.font-size-large{font-size:1.5rem!important}@keyframes fadeInOnly{0%{opacity:0}to{opacity:1}}.app-fade-in{animation:fadeInOnly .4s ease-out forwards}.header-icon{width:24px;height:24px;cursor:pointer;transition:all .2s ease;opacity:.6;padding:8px;border-radius:50%;box-sizing:content-box;display:flex;align-items:center;justify-content:center}.header-icon:hover{transform:scale(1.1);opacity:1;background-color:#0000000d}@media(max-width:600px){.app-card-panel{padding:20px 16px}}@media(max-width:480px){.app-card-panel{padding:16px}}@media(max-width:380px){.app-card-panel{padding:12px}}
