@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-card: #0f3460;--accent: #4A90D9;--accent-hover: #5ba0e9;--success: #53d769;--error: #fc3d39;--warning: #f5a623;--text-primary: #e8e8e8;--text-secondary: #a0a0b0;--border: #2a2a4a;--radius: 8px;--font-code: "JetBrains Mono", "Fira Code", monospace;--font-main: "Inter", system-ui, -apple-system, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-hover)}button{font-family:var(--font-main);cursor:pointer;border:none;border-radius:var(--radius);padding:.6em 1.2em;font-size:.95rem;font-weight:500;transition:all .2s}input,select,textarea{font-family:var(--font-main);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.6em 1em;color:var(--text-primary);font-size:.95rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root{--font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code: "JetBrains Mono", Menlo, Monaco, Consolas, "Courier New", monospace;--bg-primary: #0f172a;--bg-secondary: #111827;--bg-card: #111827;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--border: rgba(148, 163, 184, .4);--accent: #2563eb;--accent-hover: #1d4ed8;--success: #4ade80;--warning: #fbbf24;--error: #f97373;--radius: 10px}html.theme-light{--bg-primary: #f5f7fb;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #212529;--text-secondary: #6c757d;--border: #dee2e6;--accent: #0d6efd;--accent-hover: #0b5ed7;--success: #198754;--warning: #ffc107;--error: #dc3545}body{margin:0;font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary)}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-inner{max-width:1400px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:60px;gap:2rem}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;color:var(--text-primary);text-decoration:none;flex-shrink:0}.logo:hover{color:var(--text-primary)}.logo-icon{font-size:1.5rem}.logo-version{color:var(--accent);font-size:.8rem;font-weight:400}.nav{display:flex;align-items:center;gap:.25rem;flex:1}.nav-link{padding:.5rem 1rem;border-radius:var(--radius);color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text-primary);background:#4a90d91a}.nav-link.active{color:var(--accent);background:#4a90d926}.header-actions{flex-shrink:0}.user-menu{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-secondary);font-size:.9rem}.auth-links{display:flex;gap:.5rem}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;padding:.25rem}.main-content{flex:1;max-width:1400px;margin:0 auto;padding:2rem 1.5rem;width:100%}.footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:1rem 1.5rem;text-align:center;color:var(--text-secondary);font-size:.85rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius);font-weight:500;font-size:.95rem;transition:all .2s;border:none;cursor:pointer;text-decoration:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#4a90d926;color:var(--accent)}.btn-secondary:hover{background:#4a90d940}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-sm{padding:.35rem .8rem;font-size:.85rem}.btn-full{width:100%;justify-content:center}.alert{padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem;font-size:.9rem}.alert-error{background:#fc3d3926;color:var(--error);border:1px solid rgba(252,61,57,.3)}.alert-success{background:#53d76926;color:var(--success);border:1px solid rgba(83,215,105,.3)}.alert-warning{background:#fbbf2426;color:var(--warning);border:1px solid rgba(251,191,36,.3)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;accent-color:var(--accent)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-state .btn{margin-top:1rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.page-subtitle{color:var(--text-secondary);font-size:1rem}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success)}.text-error{color:var(--error)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:60vh}.auth-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:420px}.auth-card h2{font-size:1.5rem;margin-bottom:.25rem}.auth-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.auth-link{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem}.dashboard-sections{display:grid;gap:1.5rem}.dashboard-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.dashboard-section h2{font-size:1.2rem;margin-bottom:1rem}.dashboard-header-with-toggle{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.solutions-list{display:flex;flex-direction:column;gap:.5rem}.solution-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-primary);border-radius:var(--radius)}.solution-info{display:flex;flex-direction:column;gap:.15rem}.solution-task{font-weight:500}.solution-date{font-size:.8rem;color:var(--text-secondary)}.solution-status{font-size:.85rem;font-weight:500}.status-accepted{color:var(--success)}.status-wrong_answer{color:var(--error)}.status-error{color:var(--warning)}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.quick-link-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:all .2s}.quick-link-card:hover{border-color:var(--accent);color:var(--text-primary)}.quick-link-icon{font-size:1.5rem}.task-filters{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.search-input{width:100%;padding:.75rem 1rem;font-size:1rem}.tag-filters{display:flex;flex-wrap:wrap;gap:.5rem}.tag-filter{padding:.35rem .8rem;border-radius:20px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.tag-filter:hover{border-color:var(--accent);color:var(--accent)}.tag-filter.active{background:#4a90d933;border-color:var(--accent);color:var(--accent)}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.task-card{display:block;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all .2s;color:var(--text-primary);text-decoration:none}.task-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;color:var(--text-primary)}.task-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.task-type-icon{font-size:1.3rem}.task-difficulty{font-size:.8rem;font-weight:600}.task-card-title{font-size:1.05rem;font-weight:600;margin-bottom:.75rem;line-height:1.4}.task-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.tag{display:inline-block;padding:.2rem .6rem;background:#4a90d926;color:var(--accent);border-radius:12px;font-size:.75rem;font-weight:500}.task-number{color:var(--text-secondary);font-size:.8rem}.task-detail-page{max-width:100%}.task-detail-layout,.task-work-layout .task-work-main{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.task-list-item-inline{margin-right:.5rem}.task-list-item-inline.mark-positive{color:#16a34a}.task-list-item-inline.mark-negative{color:#dc2626}.task-list-item-inline.mark-neutral{color:inherit}.task-work-layout .task-work-statement,.task-work-layout .task-work-editor{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.task-work-layout .task-work-editor h3{margin-bottom:1rem;font-size:1.1rem}.task-work-editor .editor-header-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.task-work-editor .editor-header-row h3{margin-bottom:0}.task-work-editor .btn-collab-toggle{margin-left:auto}.task-work-editor .editor-connecting{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:200px;color:var(--text-secondary)}.task-work-editor .editor-connecting .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.task-work-editor .collab-invite{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem}.task-work-editor .collab-invite .collab-invite-label{color:var(--text-secondary)}.task-work-editor .collab-invite .session-id-copy{cursor:pointer;padding:.2rem .4rem;background:var(--bg-primary);border-radius:4px}.task-list-nav-items .report-badge.report-positive{color:#16a34a}.task-list-nav-items .report-badge.report-negative{color:#dc2626}.task-list-nav-items .report-badge.report-neutral{color:#6b7280}.task-list-nav-items .similar-tasks-group{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.task-list-nav-items .similar-tasks-title{font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.task-list-nav-items .similar-tasks-list{list-style:none;margin:0;padding-left:.75rem}.task-list-nav-items .similar-task-link{display:inline-block;font-size:.85rem;color:#4b5563}.task-list-nav-items .similar-task-link:hover{color:#111827;text-decoration:underline}.task-list-nav-items .current-similar .similar-task-link{font-weight:600}.task-statement-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.task-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.task-detail-header h1{font-size:1.4rem}.difficulty-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.difficulty-easy{background:#53d76926;color:var(--success)}.difficulty-medium{background:#f5a62326;color:var(--warning)}.difficulty-hard{background:#fc3d3926;color:var(--error)}.task-statement{margin:1rem 0}.statement-text{white-space:pre-wrap;font-size:.95rem;line-height:1.7;color:var(--text-primary);font-family:var(--font-main);background:none;border:none;padding:0}.task-answer-solution{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.task-answer-solution .answer-text,.task-answer-solution .solution-text .statement-text{margin-top:.5rem;padding:.75rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary)}.hints-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.hints-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.hint-item{padding:.75rem 1rem;background:#f5a6231a;border-radius:var(--radius);border-left:3px solid var(--warning);font-size:.9rem}.solutions-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.solutions-history{margin-top:.75rem}.task-editor-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.task-editor-panel h3{margin-bottom:1rem;font-size:1.1rem}.code-editor-wrapper{border-radius:var(--radius);overflow:auto;border:1px solid var(--border);margin-bottom:1rem;resize:both;min-height:280px;max-height:80vh}.code-editor-wrapper .cm-editor{font-family:var(--font-code);height:100%}.theme-toggle .theme-select{font-size:.8rem;padding:.25rem .5rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.test-runner{margin-top:1rem}.test-runner-actions{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.test-status{padding:.5rem 1rem;border-radius:var(--radius);font-weight:500;margin-bottom:1rem}.status-checking{background:#4a90d926;color:var(--accent)}.status-passed{background:#53d76926;color:var(--success)}.status-failed{background:#fc3d3926;color:var(--error)}.status-error{background:#f5a62326;color:var(--warning)}.test-results{margin-bottom:1rem}.test-results h4{margin-bottom:.75rem;font-size:1rem}.results-table{width:100%;border-collapse:collapse;font-size:.85rem}.results-table th{text-align:left;padding:.5rem .75rem;background:var(--bg-primary);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border)}.results-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.results-table code{font-family:var(--font-code);font-size:.8rem;background:var(--bg-primary);padding:.15rem .4rem;border-radius:4px}.row-passed{background:#53d7690d}.row-failed{background:#fc3d390d}.submit-result{padding:1rem;background:var(--bg-primary);border-radius:var(--radius)}.submit-result h4{margin-bottom:.5rem}.collaborative-editor{display:flex;flex-direction:column}.collab-status-bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--bg-primary);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--border);border-bottom:none;font-size:.85rem}.connection-indicator{font-weight:500}.connection-indicator.connected{color:var(--success)}.connection-indicator.disconnected{color:var(--error)}.user-count{color:var(--text-secondary)}.theme-toggle{display:flex;gap:.25rem}.btn-theme{padding:.25rem .5rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:1rem;opacity:.7}.btn-theme:hover,.btn-theme.active{opacity:1;border-color:var(--accent);background:#4a90d91a}.collab-input-section{margin-bottom:1rem}.collab-input-section .input-group{margin-bottom:.75rem}.collab-input-section label{display:block;margin-bottom:.35rem;font-size:.9rem;color:var(--text-secondary)}.stdin-textarea,.file-textarea{width:100%;padding:.5rem;font-family:var(--font-code);font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);resize:vertical}.file-input-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}.shortcut-hint{font-size:.8rem;color:var(--text-secondary);margin-left:.5rem}.collaborative-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.output-block{max-height:260px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-family:var(--font-code);font-size:.9rem;white-space:pre-wrap;line-height:1.5}.output-selection{background:#ffff0059}.session-info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.collab-task-display-wrapper{margin-bottom:.5rem}.collab-task-display{max-height:320px}.session-id code,.session-id-copy{font-family:var(--font-code);background:var(--bg-primary);padding:.2rem .5rem;border-radius:4px;font-size:.85rem;cursor:pointer;-webkit-user-select:all;user-select:all}.session-id-copy:hover{background:#4a90d926}.btn-copy-id{margin-left:.35rem;padding:.2rem .4rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.9rem;opacity:.8}.btn-copy-id:hover{opacity:1;border-color:var(--accent)}.collab-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.collab-action-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.collab-action-card h3{margin-bottom:.5rem;font-size:1.2rem}.collab-action-card p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.join-form{display:flex;gap:.5rem}.join-form input{flex:1}.collab-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.collab-editor-section{min-width:0}.collab-sidebar{display:flex;flex-direction:column;gap:1rem}.collab-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.collab-panel h3{margin-bottom:.75rem;font-size:1rem}.chat-placeholder{padding:2rem 1rem;text-align:center}.error-page{text-align:center;padding:4rem 2rem}.error-page h2{margin-bottom:.5rem;color:var(--error)}.task-editor-page{height:100%;min-height:calc(100vh - 120px)}.editor-layout{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;min-height:400px}.editor-sidebar{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow:auto}.editor-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.editor-sidebar-header h2{margin:0;font-size:1.1rem}.editor-filters{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.editor-filters .form-input,.editor-filters .form-select{width:100%}.editor-filter-check{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.editor-task-list{list-style:none;margin:0;padding:0}.editor-task-item{display:block;width:100%;text-align:left;padding:.6rem .75rem;margin-bottom:.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.editor-task-item:hover{background:#4a90d914;border-color:var(--accent)}.editor-task-item.active{background:#4a90d926;border-color:var(--accent)}.editor-task-item.last-created{border-color:var(--success, #28a745);box-shadow:0 0 0 1px var(--success, #28a745)}.editor-task-item.new{background:transparent;border-style:dashed;color:var(--accent)}.editor-task-title{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-task-meta{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.2rem}.editor-main{overflow:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.editor-placeholder{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.editor-form-wrap h2{margin-top:0;margin-bottom:1rem;font-size:1.25rem}.task-editor-form{max-width:720px}.editor-section{margin-bottom:1.5rem}.editor-section h3{margin-bottom:.75rem;font-size:1rem;color:var(--text-secondary)}.editor-section h4{margin:.75rem 0 .5rem;font-size:.95rem}.editor-field{margin-bottom:1rem}.editor-field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.editor-field-head label{font-size:.9rem;color:var(--text-secondary)}.editor-field-actions{display:flex;gap:.25rem}.btn-icon{background:none;border:none;padding:.25rem;cursor:pointer;font-size:1rem;opacity:.8}.btn-icon:hover{opacity:1}.editor-tag-row,.editor-hint-row,.editor-test-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.editor-tag-row .form-input,.editor-tag-row .form-select{flex:0 0 auto}.editor-hint-row textarea,.editor-test-row textarea{flex:1;min-width:120px}.editor-form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.form-input,.form-select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent)}.form-input.font-mono{font-family:ui-monospace,monospace;font-size:.85rem}.bulk-import-page .editor-section{margin-bottom:1.5rem}.bulk-import-docs details.format-spec{margin-bottom:1rem}.bulk-import-docs summary{cursor:pointer;font-weight:600;color:var(--accent)}.format-spec-pre{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow:auto;font-size:.85rem;white-space:pre-wrap;word-break:break-word;max-height:20rem}.format-spec-pre.ai-prompt{max-height:24rem}.bulk-preview-table-wrap{overflow:auto;max-height:20rem}.bulk-preview-table{width:100%;border-collapse:collapse;font-size:.9rem}.bulk-preview-table th,.bulk-preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.bulk-preview-table th{background:var(--bg-secondary);font-weight:600}@media(max-width:768px){.header-inner{padding:0 1rem}.nav{display:none;position:absolute;top:60px;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-direction:column;padding:.5rem}.nav-open{display:flex}.mobile-menu-btn{display:block}.header-actions{display:none}.main-content{padding:1rem}.task-detail-layout,.task-work-layout .task-work-main,.collab-layout,.stats-grid,.tasks-grid,.collab-actions,.editor-layout{grid-template-columns:1fr}}.teacher-student-work-page{max-width:1600px;margin:0 auto;padding:1rem}.teacher-student-work-page.error-state{padding:2rem;text-align:center}.teacher-student-work-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.teacher-student-work-header .back-link{color:var(--text-secondary);text-decoration:none}.teacher-student-work-header .back-link:hover{color:var(--accent)}.teacher-student-work-header h1{margin:0;font-size:1.25rem}.teacher-student-work-header .session-badge{margin-left:auto}.teacher-student-work-layout{display:grid;grid-template-columns:280px 1fr 220px;gap:1rem;min-height:60vh}.teacher-work-left{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-y:auto}.teacher-work-left h3,.teacher-work-left h4{margin:.75rem 0 .5rem;font-size:.95rem}.teacher-work-left h3:first-child{margin-top:0}.task-list-tabs{list-style:none;padding:0;margin:0}.task-list-tabs button{width:100%;text-align:left;padding:.5rem .75rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.task-list-tabs button:hover,.task-list-tabs button.active{background:var(--accent);color:#fff}.task-list-items{list-style:none;padding:0;margin:0}.task-list-items li button{width:100%;text-align:left;padding:.5rem .75rem;border:none;background:transparent;color:var(--text-primary);cursor:pointer;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.task-list-items li button:hover,.task-list-items li.current button{background:#2563eb33}.task-list-items .task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-items-editable li{display:flex;align-items:center;gap:.35rem;padding:.15rem 0}.task-list-items-editable .task-list-item-btn{flex:1;min-width:0}.task-list-items-editable .task-list-item-remove{flex-shrink:0;padding:.2rem .4rem}.task-list-add-block{margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.task-list-add-inline{margin-top:.5rem}.task-list-add-inline .prep-search-row{margin-bottom:.5rem}.teacher-work-left .list-add-results{max-height:200px;overflow-y:auto}.task-list-items .report-badge{flex-shrink:0;font-size:.8rem;padding:.15rem .4rem;border-radius:4px}.report-positive{color:var(--success)}.report-negative{color:var(--error)}.report-neutral{color:var(--text-secondary)}.recent-attempts-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.recent-attempts-list{list-style:none;padding:0;margin:0}.recent-attempts-list .link-like{background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem 0;font-size:.9rem;text-align:left}.recent-attempts-list .badge-small{font-size:.75rem;margin-left:.25rem}.teacher-work-main{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-y:auto}.teacher-work-main .empty-selection{padding:2rem;text-align:center;color:var(--text-secondary)}.task-statement-block h2{margin:0 0 .5rem;font-size:1.1rem}.task-statement-block .statement-text{white-space:pre-wrap;font-family:var(--font-code);font-size:.9rem;margin:0}.attempt-selector{margin:1rem 0;display:flex;align-items:center;gap:.5rem}.attempt-selector select{padding:.35rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.attempt-code-block{margin:1rem 0}.attempt-code-block h3,.self-comment-block,.teacher-comment-block{margin:.75rem 0 .5rem;font-size:.95rem}.code-snapshot{background:var(--bg-primary);padding:1rem;border-radius:6px;overflow-x:auto;white-space:pre;font-size:.85rem;margin:0}.teacher-comment-block textarea{width:100%;resize:vertical}.teacher-comment-block .save-indicator{font-size:.85rem;color:var(--text-secondary);margin-left:.5rem}.verdict-buttons,.add-to-lists{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.teacher-work-right{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.teacher-work-right .agenda-block{margin-bottom:1.5rem}.teacher-work-right .agenda-block h4{margin:0 0 .5rem;font-size:.95rem}.agenda-list{list-style:none;padding:0;margin:0}.agenda-list li{padding:.25rem 0;font-size:.9rem}.agenda-list-editable li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.agenda-list-editable li span{flex:1;min-width:0}.agenda-list-editable .agenda-remove{flex-shrink:0;padding:.15rem .4rem;font-size:.85rem}@media(max-width:900px){.teacher-student-work-layout{grid-template-columns:1fr}}.lesson-report-block{margin-top:1.5rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.lesson-report-block h4{margin:0 0 .5rem}.lesson-report-items{list-style:none;padding:0;margin:.5rem 0 0}.lesson-report-items li{padding:.35rem 0;border-bottom:1px solid var(--border)}.lesson-report-items li:last-child{border-bottom:none}.lesson-report-items .report-badge{font-size:.9rem}.work-teacher-watching-badge{background:#3b82f633;color:var(--accent);padding:.25rem .5rem;border-radius:6px;font-size:.85rem;margin-left:.5rem}.presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:.5rem}.presence-dot.online{background:var(--success)}.presence-dot.offline{background:var(--text-secondary)}.current-task-hint{font-size:.9rem;margin-left:.5rem}.teacher-work-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:2px solid var(--border);padding-bottom:0}.teacher-work-tabs .tab-btn{padding:.6rem 1.25rem;border:1px solid transparent;border-bottom:none;margin-bottom:-2px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius) var(--radius) 0 0;font-weight:500}.teacher-work-tabs .tab-btn:hover{background:var(--bg-card);color:var(--text-primary)}.teacher-work-tabs .tab-btn.active{background:var(--bg-card);color:var(--accent);border-color:var(--border);border-bottom:2px solid var(--bg-card)}.teacher-prep-tab h3{margin:0 0 .5rem}.prep-search-row{display:flex;gap:.5rem;margin:1rem 0}.prep-search-row .form-input{flex:1}.prep-task-results{list-style:none;padding:0;margin:0}.prep-task-results li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.prep-task-results li span{flex:1}.topic-plan-block .heading-toggle{font-weight:inherit;padding:0;border:none;background:none;color:inherit;cursor:pointer}.topic-plan-list{list-style:none;padding:0;margin:0}.topic-plan-list li{padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.topic-plan-list .topic-name{font-weight:500;margin-right:.5rem}.topic-plan-list .topic-status{font-size:.8rem;margin-right:.5rem}.topic-plan-list .status-studied{color:var(--success)}.topic-plan-list .status-planned{color:var(--accent)}.topic-plan-list .status-frozen{color:var(--text-secondary)}.teacher-list-create-page{max-width:1600px;margin:0 auto;padding:1rem}.teacher-list-create-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.teacher-list-create-header h1{margin:0;font-size:1.5rem}.teacher-list-create-top{margin-bottom:1rem}.teacher-list-create-top .form-row-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem}.teacher-list-create-top .form-actions{display:flex;align-items:center;gap:.5rem}.teacher-list-create-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;min-height:400px}@media(max-width:900px){.teacher-list-create-columns{grid-template-columns:1fr}}.teacher-list-create-left,.teacher-list-create-right{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow:auto}.teacher-list-create-left h3,.teacher-list-create-right h3{margin:0 0 .75rem;font-size:1.1rem}.teacher-list-create-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.teacher-list-create-filter .form-input{min-width:180px}.teacher-list-create-template-select{margin-bottom:.75rem}.teacher-list-create-template-select label{display:block;margin-bottom:.25rem;font-size:.9rem}.teacher-list-create-template-select select{margin-right:.5rem}.teacher-list-create-left-actions,.teacher-list-create-right-actions{margin-bottom:.5rem}.teacher-list-create-task-cards{list-style:none;padding:0;margin:0}.teacher-task-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.teacher-task-card-in-draft{opacity:.75;background:var(--bg-secondary)}.teacher-task-card-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;flex-wrap:wrap}.teacher-task-card-num{font-weight:600;font-family:var(--font-code)}.teacher-task-card-tags{font-size:.85rem;color:var(--text-secondary)}.teacher-task-card-toggle{margin-left:auto;font-size:.8rem}.teacher-task-card-badge{font-size:.8rem;color:var(--text-secondary);margin-left:auto}.teacher-task-card-body{padding:.5rem .75rem;border-top:1px solid var(--border)}.teacher-task-card-statement{font-size:.9rem;white-space:pre-wrap;max-height:200px;overflow-y:auto}.teacher-list-create-draft-list{padding-left:1.5rem;margin:0}.teacher-draft-item{margin-bottom:.5rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.teacher-draft-item-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;flex-wrap:wrap}.teacher-draft-item-num{font-weight:600;min-width:1.5em}.teacher-draft-item-title{flex:1;min-width:0}.teacher-draft-item-tags{font-size:.85rem;color:var(--text-secondary)}.teacher-draft-item-body{padding:.5rem .75rem;border-top:1px solid var(--border)}.teacher-draft-statement{font-size:.9rem;white-space:pre-wrap;max-height:180px;overflow-y:auto;margin-bottom:.5rem}.teacher-tasklists-header-actions{display:flex;gap:.5rem}
