.header{background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:1000;padding:.5rem 0}@media (min-width: 641px){.header{padding:1rem 0}}.header__content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header__logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#000;font-weight:700;transition:color .2s ease}.header__logo:hover{color:#000;text-decoration:none}.header__logo-icon{display:flex;align-items:center;color:#000}.header__logo-image{width:24px;height:24px;object-fit:contain}@media (min-width: 641px){.header__logo-image{width:32px;height:32px}}.header__logo-text{font-size:1rem}@media (min-width: 641px){.header__logo-text{font-size:1.25rem}}@media (max-width: 480px){.header__logo-text{display:none}}.header__auth{display:flex;align-items:center;gap:.5rem}@media (min-width: 641px){.header__auth{gap:1rem}}.header__user{color:#666;font-size:.875rem;margin-right:.5rem}@media (max-width: 640px){.header__user{display:none}}.header__logout-btn{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;color:#000;min-height:44px}.header__logout-btn:hover{background-color:#e5e7eb}.header__auth-link{padding:.5rem 1rem;border-radius:6px;text-decoration:none;font-size:.875rem;transition:all .2s ease;min-height:44px;display:flex;align-items:center}.header__auth-link:first-child{color:#000;border:1px solid #e5e5e5}.header__auth-link:first-child:hover{background-color:#f9fafb;text-decoration:none}.header__auth-link--primary{background-color:#000;color:#fff;border:1px solid #000000}.header__auth-link--primary:hover{background-color:#1d4ed8;text-decoration:none;color:#fff}@media (max-width: 640px){.header *{-webkit-tap-highlight-color:rgba(0,0,0,.1)}.header button,.header a{font-size:16px!important}}.footer{background-color:#fff;border-top:1px solid #e5e5e5;padding:1.5rem 0;margin-top:auto}.footer__content{text-align:center;display:flex;flex-direction:column;gap:1rem}.footer__text{margin:0;color:#666;font-size:.875rem}.footer__name{color:#000;font-weight:500}.footer__links{display:flex;justify-content:center;align-items:center;gap:1.5rem;flex-wrap:wrap}.footer__link{display:inline-flex;align-items:center;gap:.25rem;color:#666;text-decoration:none;font-size:.875rem;transition:all .2s ease-in-out}.footer__link:hover{color:#000;text-decoration:none}.footer__link:focus{outline:2px solid #000000;outline-offset:2px;border-radius:.25rem}.footer__link svg{color:#666;transition:color .2s ease-in-out}.footer__link:hover svg{color:#000}.difficulty-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.difficulty-badge--easy{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge--medium{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.difficulty-badge--hard{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.loading-spinner-container{align-items:center;justify-content:center;display:flex;flex-direction:column;gap:1rem;padding:2rem}.loading-spinner{display:inline-block;position:relative}.loading-spinner--small{width:20px;height:20px}.loading-spinner--medium{width:32px;height:32px}.loading-spinner--large{width:48px;height:48px}.loading-spinner__circle{width:100%;height:100%;border:2px solid rgba(0,0,0,.2);border-top:2px solid #000000;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner__text{color:#666;font-size:.875rem;margin:0;text-align:center}.assignment-list{padding:1rem 0}@media (min-width: 641px){.assignment-list{padding:1.5rem 0}}@media (min-width: 1024px){.assignment-list{padding:2rem 0}}.assignment-list__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.assignment-list__error{max-width:500px;margin:2rem auto;padding:1.5rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;text-align:center}.assignment-list__error h2{color:#dc2626;margin-bottom:1rem}.assignment-list__error p{color:#7f1d1d;margin-bottom:1.5rem}.assignment-list__retry-btn{background-color:#dc2626;color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;font-size:14px;min-height:44px}.assignment-list__retry-btn:hover{background-color:#b91c1c}.assignment-list__header{margin-bottom:2rem}@media (min-width: 1024px){.assignment-list__header{margin-bottom:3rem}}.assignment-list__title-section{text-align:center;margin-bottom:1.5rem}@media (min-width: 641px){.assignment-list__title-section{text-align:left}}.assignment-list__title-section h1{font-size:1.875rem;font-weight:700;color:#000;margin-bottom:.5rem}@media (min-width: 641px){.assignment-list__title-section h1{font-size:2.25rem}}@media (min-width: 1024px){.assignment-list__title-section h1{font-size:3rem}}.assignment-list__title-section p{color:#666;font-size:1rem}@media (min-width: 641px){.assignment-list__title-section p{font-size:1.125rem}}.assignment-list__filters{margin-bottom:2rem}.assignment-list__filter-group{display:flex;flex-direction:column;gap:1rem}@media (min-width: 641px){.assignment-list__filter-group{flex-direction:row;align-items:center;gap:1.5rem}}.assignment-list__filter-label{font-size:.875rem;font-weight:500;color:#666}@media (max-width: 640px){.assignment-list__filter-label{display:none}}.assignment-list__difficulty-filters{display:flex;flex-wrap:wrap;gap:.5rem}@media (min-width: 641px){.assignment-list__difficulty-filters{gap:1rem}}.assignment-list__filter-btn{flex:1;min-width:0;background:#fff;border:1px solid #e5e5e5;border-radius:6px;padding:.5rem;cursor:pointer;transition:all .2s ease;min-height:44px}@media (min-width: 641px){.assignment-list__filter-btn{flex:none;min-width:auto;padding:.5rem 1rem}}.assignment-list__filter-btn:hover{border-color:#000;background-color:#0000000d}.assignment-list__filter-btn--active{border-color:#000;background-color:#0000001a;transform:scale(1.02)}.assignment-list__clear-filter{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;min-height:44px}.assignment-list__clear-filter:hover{background:#e5e7eb}.assignment-list__grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-bottom:2rem}@media (min-width: 641px){.assignment-list__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (min-width: 1024px){.assignment-list__grid{grid-template-columns:repeat(3,1fr);gap:2rem}}@media (min-width: 1281px){.assignment-list__grid{grid-template-columns:repeat(4,1fr)}}.assignment-list__empty{text-align:center;padding:2rem;background-color:#f9fafb;border-radius:8px;margin:2rem 0}.assignment-list__empty h3{color:#000;margin-bottom:.5rem}.assignment-list__empty p{color:#666}.assignment-list__loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#fffc;display:flex;justify-content:center;align-items:center;z-index:1000}.assignment-card{display:block;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;text-decoration:none;color:inherit;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.assignment-card:hover{text-decoration:none;color:inherit;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.assignment-card:active{transform:translateY(-1px) scale(.99)}.assignment-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}@media (min-width: 641px){.assignment-card__header{align-items:center}}.assignment-card__title{font-size:1.125rem;font-weight:600;color:#000;line-height:1.4;margin:0}@media (min-width: 641px){.assignment-card__title{font-size:1.25rem}}.assignment-card__description{color:#666;font-size:.875rem;line-height:1.5;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 641px){.assignment-card__description{font-size:1rem;-webkit-line-clamp:2}}.assignment-card__footer{margin-top:auto}.assignment-card__tags{display:flex;flex-wrap:wrap;gap:.5rem}.assignment-card__tag{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#0000001a;color:#000;border-radius:4px;font-size:.75rem;font-weight:500}@media (min-width: 641px){.assignment-card__tag{padding:.25rem .75rem;font-size:.875rem}}.assignment-card__tag--more{background-color:#6666661a;color:#666}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;flex-wrap:wrap}.pagination__btn{background:#fff;border:1px solid #e5e5e5;border-radius:6px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;min-height:44px;min-width:80px}@media (max-width: 640px){.pagination__btn{flex:1;max-width:120px}}.pagination__btn:hover:not(:disabled){border-color:#000;background-color:#0000000d}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pagination__numbers{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}@media (max-width: 640px){.pagination__numbers{order:-1;width:100%;margin-bottom:1rem}}.pagination__number{background:#fff;border:1px solid #e5e5e5;border-radius:6px;padding:.5rem;cursor:pointer;font-size:.875rem;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}@media (max-width: 640px){.pagination__number{min-width:36px;min-height:36px;font-size:.75rem}}.pagination__number:hover{border-color:#000;background-color:#0000000d}.pagination__number--active{background-color:#000;color:#fff;border-color:#000}.pagination__ellipsis{display:flex;align-items:center;padding:0 .5rem;color:#666;font-size:.875rem}@media (max-width: 640px){.assignment-list{-webkit-overflow-scrolling:touch}.assignment-list *{-webkit-tap-highlight-color:rgba(0,0,0,.1)}.assignment-list input,.assignment-list textarea,.assignment-list select,.assignment-list button{font-size:16px!important}}@media (prefers-reduced-motion: reduce){.assignment-card:hover,.assignment-card:active{transform:none}}.question-panel{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;overflow:hidden;height:fit-content}.question-panel__header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e5e5;font-weight:600;color:#000}.question-panel__header h2{margin:0;font-size:1.125rem;color:#000}.question-panel__content{padding:1.5rem}.question-panel__loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;height:100px;border-radius:.375rem}.question-panel__section{margin-bottom:1.5rem}.question-panel__section:last-child{margin-bottom:0}.question-panel__section h3{font-size:1rem;font-weight:600;color:#000;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid #e5e5e5}.question-panel__description{color:#666;line-height:1.75;margin:0}.question-panel__problem{color:#000;line-height:1.75;background-color:#0000000d;padding:1rem;border-radius:.375rem;border-left:4px solid #000000}.question-panel__requirements,.question-panel__constraints{margin:0;padding-left:1.5rem}.question-panel__requirements li,.question-panel__constraints li{color:#666;margin-bottom:.25rem;line-height:1.75}.question-panel__requirements li:last-child,.question-panel__constraints li:last-child{margin-bottom:0}.question-panel__constraints li{color:#f59e0b}.question-panel__expected-output{background-color:#10b9810d;padding:1rem;border-radius:.375rem;border-left:4px solid #10b981}.question-panel__expected-output p{margin:0 0 .5rem;color:#666}.question-panel__expected-columns strong{color:#000;display:block;margin-bottom:.25rem}.question-panel__expected-columns ul{margin:0;padding-left:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding-left:0}.question-panel__expected-columns ul li{margin:0}.question-panel__expected-columns ul li code{background-color:#10b9811a;color:#10b981;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.question-panel__tags{display:flex;flex-wrap:wrap;gap:.5rem}.question-panel__tag{display:inline-block;padding:.25rem .5rem;background-color:#0000001a;color:#000;border:1px solid rgba(0,0,0,.2);border-radius:.25rem;font-size:.75rem;font-weight:500}@media (max-width: 641px){.question-panel__content{padding:1rem}.question-panel__expected-columns ul{flex-direction:column;gap:.25rem}}.sample-data-viewer{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;overflow:hidden;height:fit-content}.sample-data-viewer__header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e5e5;font-weight:600;color:#000;display:flex;justify-content:space-between;align-items:center}.sample-data-viewer__header h2{margin:0;font-size:1.125rem;color:#000}.sample-data-viewer__table-selector{display:flex;align-items:center;gap:.5rem}.sample-data-viewer__table-select{padding:.25rem .5rem;border:1px solid #e5e5e5;border-radius:.25rem;background-color:#fff;color:#000;font-size:.875rem;min-width:120px}.sample-data-viewer__table-select:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #0000001a}.sample-data-viewer__content{padding:1.5rem}.sample-data-viewer__content::-webkit-scrollbar{width:8px;height:8px}.sample-data-viewer__content::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.sample-data-viewer__content::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.sample-data-viewer__content::-webkit-scrollbar-thumb:hover{background:#333}.sample-data-viewer__content{max-height:500px;overflow-y:auto}.sample-data-viewer__empty{text-align:center;padding:2rem;color:#999}.sample-data-viewer__table-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}.sample-data-viewer__table-info h3{margin:0;font-size:1.125rem;color:#000;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace}.sample-data-viewer__row-count{font-size:.875rem;color:#999;background-color:#6666661a;padding:.25rem .5rem;border-radius:.25rem}.sample-data-viewer__schema,.sample-data-viewer__sample-rows{margin-bottom:1.5rem}.sample-data-viewer__schema:last-child,.sample-data-viewer__sample-rows:last-child{margin-bottom:0}.sample-data-viewer__schema h4,.sample-data-viewer__sample-rows h4{font-size:1rem;font-weight:600;color:#000;margin:0 0 .5rem}.sample-data-viewer__schema-table,.sample-data-viewer__data-table{overflow-x:auto;border:1px solid #e5e5e5;border-radius:.375rem}.sample-data-viewer__schema-table table,.sample-data-viewer__data-table table{width:100%;margin:0;border-collapse:collapse}.sample-data-viewer__schema-table table th,.sample-data-viewer__data-table table th{background-color:#fff;color:#000;font-weight:600;font-size:.875rem;padding:.5rem 1rem;border-bottom:1px solid #e5e5e5;text-align:left;white-space:nowrap}.sample-data-viewer__schema-table table th:not(:last-child),.sample-data-viewer__data-table table th:not(:last-child){border-right:1px solid #e5e5e5}.sample-data-viewer__schema-table table td,.sample-data-viewer__data-table table td{padding:.5rem 1rem;border-bottom:1px solid rgba(229,229,229,.5);font-size:.875rem;color:#666;vertical-align:top}.sample-data-viewer__schema-table table td:not(:last-child),.sample-data-viewer__data-table table td:not(:last-child){border-right:1px solid rgba(229,229,229,.5)}.sample-data-viewer__schema-table table td code,.sample-data-viewer__data-table table td code{background-color:#0000001a;color:#000;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.sample-data-viewer__schema-table table tbody tr:last-child td,.sample-data-viewer__data-table table tbody tr:last-child td{border-bottom:none}.sample-data-viewer__schema-table table tbody tr:hover,.sample-data-viewer__data-table table tbody tr:hover{background-color:#00000005}.sample-data-viewer__data-type{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.75rem;background-color:#6666661a;color:#666;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.sample-data-viewer__nullable{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;text-transform:uppercase}.sample-data-viewer__nullable--yes{background-color:#0000001a;color:#f59e0b}.sample-data-viewer__nullable--no{background-color:#0000001a;color:#10b981}.sample-data-viewer__null-value{font-style:italic;color:#999;font-size:.75rem}.sample-data-viewer__sample-note{font-size:.75rem;color:#999;margin:.5rem 0 0;text-align:center;font-style:italic}@media (max-width: 641px){.sample-data-viewer__header{flex-direction:column;align-items:stretch;gap:.5rem}.sample-data-viewer__table-info{flex-direction:column;align-items:flex-start;gap:.25rem}.sample-data-viewer__content{padding:1rem;max-height:400px}.sample-data-viewer__schema-table,.sample-data-viewer__data-table{font-size:.75rem}.sample-data-viewer__schema-table table th,.sample-data-viewer__schema-table table td,.sample-data-viewer__data-table table th,.sample-data-viewer__data-table table td{padding:.25rem .5rem}}.sql-editor{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;overflow:hidden;height:100%;display:flex;flex-direction:column}.sql-editor__header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e5e5;font-weight:600;color:#000;display:flex;justify-content:space-between;align-items:center}.sql-editor__header h2{margin:0;font-size:1.125rem;color:#000}.sql-editor__actions{display:flex;align-items:center;gap:.5rem}.sql-editor__theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.sql-editor__theme-toggle{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.sql-editor__theme-toggle{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.sql-editor__theme-toggle:disabled{opacity:.6;cursor:not-allowed}.sql-editor__theme-toggle:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.sql-editor__theme-toggle:active:not(:disabled){transform:scale(.98)}.sql-editor__theme-toggle{background-color:transparent;color:#000;border:1px solid #e5e5e5}.sql-editor__theme-toggle:hover:not(:disabled){background-color:#fff;border-color:#666}.sql-editor__theme-toggle:active:not(:disabled){background-color:#6666661a;transform:scale(.98)}.sql-editor__theme-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;min-width:36px;height:36px;border-radius:.375rem;color:#000;background-color:transparent;border:1px solid #e5e5e5;cursor:pointer;transition:all .2s ease-in-out}.sql-editor__theme-toggle:hover{background-color:#0000000d;border-color:#000;color:#000;transform:scale(1.05)}.sql-editor__theme-toggle:active{transform:scale(.95)}.sql-editor__execute-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.sql-editor__execute-btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.sql-editor__execute-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.sql-editor__execute-btn:disabled{opacity:.6;cursor:not-allowed}.sql-editor__execute-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.sql-editor__execute-btn:active:not(:disabled){transform:scale(.98)}.sql-editor__execute-btn{background-color:#000;color:#fff}.sql-editor__execute-btn:hover:not(:disabled){background-color:#1a1a1a}.sql-editor__execute-btn:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.sql-editor__execute-btn{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem 1rem}.sql-editor__execute-btn:disabled{opacity:.7;cursor:not-allowed}.sql-editor__execute-btn svg{flex-shrink:0}.sql-editor__spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.sql-editor__content{flex:1;min-height:200px;border:1px solid #e5e5e5;border-top:none;border-bottom:none;overflow:hidden;position:relative}.sql-editor__content .monaco-editor:not(.vs-dark) .margin{background-color:#fff!important}.sql-editor__content .monaco-editor:not(.vs-dark) .monaco-editor-background{background-color:#fff!important}.sql-editor__content .monaco-editor:not(.vs-dark) .current-line{background-color:#0000000d!important;border:none}.sql-editor__content .monaco-editor:not(.vs-dark) .line-numbers{color:#999!important}.sql-editor__content .monaco-editor:not(.vs-dark) .monaco-scrollable-element>.scrollbar>.slider{background-color:#6666664d}.sql-editor__content .monaco-editor:not(.vs-dark) .monaco-scrollable-element>.scrollbar>.slider:hover{background-color:#66666680}.sql-editor__footer{padding:.5rem 1rem;background-color:#fff;border-top:1px solid #e5e5e5;border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.sql-editor__hint{font-size:.75rem;color:#999;font-style:italic}@media (max-width: 641px){.sql-editor__header{flex-direction:column;align-items:stretch;gap:.5rem}.sql-editor__actions{width:100%;justify-content:space-between}.sql-editor__theme-toggle{flex-shrink:0}.sql-editor__execute-btn{flex:1;justify-content:center}.sql-editor__content{min-height:150px}.sql-editor__hint{text-align:center}}.results-panel{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;overflow:hidden;height:100%;display:flex;flex-direction:column}.results-panel__header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e5e5;font-weight:600;color:#000}.results-panel__header h2{margin:0;font-size:1.125rem;color:#000}.results-panel__content{padding:1.5rem;flex:1;display:flex;flex-direction:column}.results-panel__content::-webkit-scrollbar{width:8px;height:8px}.results-panel__content::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.results-panel__content::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.results-panel__content::-webkit-scrollbar-thumb:hover{background:#333}.results-panel__content{overflow-y:auto}.results-panel__loading{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px}.results-panel__empty{align-items:center;justify-content:center;display:flex;flex-direction:column;flex:1;min-height:200px;text-align:center;color:#999}.results-panel__empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.results-panel__empty h3{color:#666;margin-bottom:.5rem}.results-panel__empty p{margin:0;font-size:.875rem}.results-panel__error{background-color:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:.375rem;padding:1.5rem}.results-panel__error-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.results-panel__error-header h3{margin:0;color:#ef4444}.results-panel__error-icon{font-size:1.125rem}.results-panel__error-message{background-color:#ef44441a;padding:1rem;border-radius:.25rem;color:#ef4444;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;line-height:1.75;margin-bottom:1rem}.results-panel__error-details strong{color:#000;display:block;margin-bottom:.25rem}.results-panel__error-details pre{background-color:#ef44441a;color:#ef4444;padding:.5rem;border-radius:.25rem;font-size:.75rem;overflow-x:auto;margin:0}.results-panel__success{flex:1;display:flex;flex-direction:column}.results-panel__success-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e5e5e5}.results-panel__success-info{display:flex;align-items:center;justify-content:center;gap:.5rem}.results-panel__success-info h3{margin:0;color:#10b981}.results-panel__success-icon{font-size:1.125rem}.results-panel__stats{display:flex;align-items:center;gap:1rem}.results-panel__stat{font-size:.875rem;color:#999;background-color:#10b9811a;padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.results-panel__no-data{display:flex;align-items:center;justify-content:center;flex:1;min-height:100px;text-align:center;color:#999;background-color:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:.375rem;padding:1.5rem}.results-panel__no-data p{margin:0;color:#10b981}@media (max-width: 641px){.results-panel__success-header{flex-direction:column;align-items:stretch;gap:.5rem}.results-panel__stats{justify-content:center}.results-panel__content{padding:1rem}}.results-table{flex:1}.results-table__wrapper{overflow:auto;border:1px solid #e5e5e5;border-radius:.375rem;max-height:400px}.results-table__wrapper table{width:100%;margin:0;border-collapse:collapse}.results-table__wrapper table th{background-color:#fff;color:#000;font-weight:600;font-size:.875rem;padding:.5rem 1rem;border-bottom:2px solid #e5e5e5;text-align:left;white-space:nowrap;position:sticky;top:0;z-index:1}.results-table__wrapper table th:not(:last-child){border-right:1px solid #e5e5e5}.results-table__wrapper table td{padding:.5rem 1rem;border-bottom:1px solid rgba(229,229,229,.5);font-size:.875rem;color:#666;vertical-align:top;max-width:200px;word-wrap:break-word}.results-table__wrapper table td:not(:last-child){border-right:1px solid rgba(229,229,229,.5)}.results-table__wrapper table tbody tr:last-child td{border-bottom:none}.results-table__wrapper table tbody tr:hover{background-color:#00000005}.results-table__wrapper table tbody tr:nth-child(2n){background-color:#ffffff80}.results-table__null{font-style:italic;color:#999;font-size:.75rem;background-color:#9999991a;padding:.25rem .5rem;border-radius:.25rem}@media (max-width: 641px){.results-table__wrapper{max-height:300px;font-size:.75rem}.results-table__wrapper table th,.results-table__wrapper table td{padding:.25rem .5rem;max-width:150px}}.hint-panel{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;overflow:hidden}.hint-panel__header{padding:1rem 1.5rem;background-color:#fff;border-bottom:1px solid #e5e5e5;font-weight:600;color:#000;text-align:center}.hint-panel__header h2{margin:0 0 .25rem;font-size:1.25rem;color:#000}.hint-panel__header p{margin:0;color:#666;font-size:.875rem}.hint-panel__content{padding:1.5rem}.hint-panel__controls{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:2rem;padding:1rem;background-color:#fff;border-radius:.375rem;border:1px solid #e5e5e5}.hint-panel__level-selector{display:flex;align-items:center;gap:.5rem}.hint-panel__level-selector label{font-weight:500;color:#000;font-size:.875rem;white-space:nowrap}.hint-panel__level-select{padding:.5rem 1rem;border:1px solid #e5e5e5;border-radius:.25rem;background-color:#fff;color:#000;font-size:.875rem;min-width:200px}.hint-panel__level-select:focus{outline:none;border-color:#000;box-shadow:0 0 0 2px #0000001a}.hint-panel__get-hint-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.hint-panel__get-hint-btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.hint-panel__get-hint-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.hint-panel__get-hint-btn:disabled{opacity:.6;cursor:not-allowed}.hint-panel__get-hint-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.hint-panel__get-hint-btn:active:not(:disabled){transform:scale(.98)}.hint-panel__get-hint-btn{background-color:#000;color:#fff}.hint-panel__get-hint-btn:hover:not(:disabled){background-color:#1a1a1a}.hint-panel__get-hint-btn:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.hint-panel__get-hint-btn{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.hint-panel__get-hint-btn:disabled{opacity:.7;cursor:not-allowed}.hint-panel__result{min-height:200px}.hint-panel__loading{display:flex;align-items:center;justify-content:center;min-height:200px}.hint-panel__error{background-color:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:.375rem;padding:1.5rem}.hint-panel__error-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.hint-panel__error-header h3{margin:0;color:#ef4444}.hint-panel__error-icon{font-size:1.125rem}.hint-panel__error p{color:#666;margin-bottom:1rem}.hint-panel__fallback{background-color:#f59e0b1a;padding:1rem;border-radius:.25rem;border-left:4px solid #f59e0b}.hint-panel__fallback strong{color:#f59e0b;display:block;margin-bottom:.25rem}.hint-panel__fallback p{margin:0;color:#000}.hint-panel__hint{background-color:#0000000d;border:1px solid rgba(0,0,0,.2);border-radius:.375rem;overflow:hidden}.hint-panel__hint-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#0000001a;border-bottom:1px solid rgba(0,0,0,.2)}.hint-panel__hint-info{display:flex;align-items:center;justify-content:center;gap:.5rem}.hint-panel__hint-info h3{margin:0;color:#000}.hint-panel__hint-icon{font-size:1.125rem}.hint-panel__hint-source{font-size:.75rem;color:#999;background-color:#9999991a;padding:.25rem .5rem;border-radius:.25rem}.hint-panel__hint-content{padding:1.5rem;color:#000;line-height:1.75;font-size:1rem}.hint-panel__hint-footer{padding:.5rem 1.5rem;background-color:#0000000d;border-top:1px solid rgba(0,0,0,.1)}.hint-panel__hint-timestamp{font-size:.75rem;color:#999;font-style:italic}.hint-panel__empty{align-items:center;justify-content:center;display:flex;flex-direction:column;text-align:center;min-height:200px;color:#999}.hint-panel__empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.hint-panel__empty h3{color:#666;margin-bottom:.5rem}.hint-panel__empty p{margin-bottom:1.5rem;font-size:.875rem}.hint-panel__level-descriptions{display:flex;flex-direction:column;gap:.5rem;text-align:left;max-width:400px}.hint-panel__level-desc{font-size:.875rem;padding:.5rem;background-color:#0000000d;border-radius:.25rem;border-left:3px solid #000000}.hint-panel__level-desc strong{color:#000}@media (max-width: 641px){.hint-panel__controls{flex-direction:column;align-items:stretch;gap:1rem}.hint-panel__level-selector{flex-direction:column;align-items:stretch;gap:.25rem}.hint-panel__level-selector label{text-align:center}.hint-panel__level-select{min-width:auto}.hint-panel__get-hint-btn{width:100%;justify-content:center}.hint-panel__hint-header{flex-direction:column;align-items:stretch;gap:.5rem}.hint-panel__level-descriptions{max-width:none}}.attempts-summary{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;padding:1rem;gap:1rem;flex-wrap:wrap}.attempts-summary__info{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.attempts-summary__label{font-size:.875rem;color:#666;font-weight:500}.attempts-summary__number{font-size:1rem;font-weight:600;color:#000}.attempts-summary__status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.attempts-summary__status--correct{background-color:#10b9811a;color:#10b981}.attempts-summary__status--incorrect{background-color:#ef44441a;color:#ef4444}.attempts-summary__link{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem 1rem;background-color:transparent;color:#000;border:1px solid #e5e5e5;border-radius:.375rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out}.attempts-summary__link:hover{background-color:#0000000d;border-color:#000;text-decoration:none}.attempts-summary__link:focus{outline:2px solid #000000;outline-offset:2px}@media (max-width: 641px){.attempts-summary{flex-direction:column;align-items:flex-start}.attempts-summary__info{width:100%}.attempts-summary__link{width:100%;justify-content:center}}.assignment-attempt{min-height:calc(100vh - 200px)}.assignment-attempt__header{margin-bottom:2rem}.assignment-attempt__breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:#666}.assignment-attempt__breadcrumb a{color:#000;text-decoration:none}.assignment-attempt__breadcrumb a:hover{text-decoration:underline}.assignment-attempt__breadcrumb-separator{color:#999}.assignment-attempt__title-section{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.assignment-attempt__title-row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.assignment-attempt__title-row h1{margin:0;color:#000}.assignment-attempt__actions{display:flex;align-items:center;gap:1rem}.assignment-attempt__hint-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.assignment-attempt__hint-toggle{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.assignment-attempt__hint-toggle{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.assignment-attempt__hint-toggle:disabled{opacity:.6;cursor:not-allowed}.assignment-attempt__hint-toggle:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.assignment-attempt__hint-toggle:active:not(:disabled){transform:scale(.98)}.assignment-attempt__hint-toggle{background-color:transparent;color:#000;border:1px solid #e5e5e5}.assignment-attempt__hint-toggle:hover:not(:disabled){background-color:#fff;border-color:#666}.assignment-attempt__hint-toggle:active:not(:disabled){background-color:#6666661a;transform:scale(.98)}.assignment-attempt__hint-toggle{font-size:.875rem}.assignment-attempt__content{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media (min-width: 1024px){.assignment-attempt__content{grid-template-columns:1fr 1fr}}.assignment-attempt__left-column{display:flex;flex-direction:column;gap:1.5rem}.assignment-attempt__right-column{display:flex;flex-direction:column;gap:1.5rem;min-height:600px}.assignment-attempt__editor-section,.assignment-attempt__results-section{flex:1;min-height:300px}.assignment-attempt__hints{margin-top:2rem;padding-top:2rem;border-top:1px solid #e5e5e5}.assignment-attempt__error{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;text-align:center;padding:4rem;margin:3rem 0}.assignment-attempt__error h2{color:#ef4444;margin-bottom:1rem}.assignment-attempt__error p{color:#666;margin-bottom:1.5rem}.assignment-attempt__back-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.assignment-attempt__back-btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.assignment-attempt__back-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.assignment-attempt__back-btn:disabled{opacity:.6;cursor:not-allowed}.assignment-attempt__back-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.assignment-attempt__back-btn:active:not(:disabled){transform:scale(.98)}.assignment-attempt__back-btn{background-color:#000;color:#fff}.assignment-attempt__back-btn:hover:not(:disabled){background-color:#1a1a1a}.assignment-attempt__back-btn:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.assignment-attempt__back-btn{text-decoration:none}@media (max-width: 1024px){.assignment-attempt__title-section{flex-direction:column;align-items:stretch}.assignment-attempt__title-row{justify-content:space-between}.assignment-attempt__actions{justify-content:center}.assignment-attempt__content{grid-template-columns:1fr}.assignment-attempt__right-column{min-height:auto}.assignment-attempt__editor-section,.assignment-attempt__results-section{min-height:250px}}@media (max-width: 641px){.assignment-attempt__title-row{flex-direction:column;align-items:flex-start;gap:.5rem}.assignment-attempt__breadcrumb{flex-wrap:wrap}}.attempts-history{min-height:calc(100vh - 200px);padding:2rem 0}.attempts-history__header{margin-bottom:3rem}.attempts-history__back-link{display:inline-flex;align-items:center;gap:.25rem;color:#000;text-decoration:none;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;transition:all .2s ease-in-out}.attempts-history__back-link:hover{text-decoration:underline;color:#1a1a1a}.attempts-history__title-section{margin-bottom:2rem}.attempts-history__title-row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.attempts-history__title-row h1{margin:0;color:#000}.attempts-history__subtitle{color:#666;font-size:1.125rem;margin:0}.attempts-history__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:2rem}.attempts-history__stat-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;text-align:center}.attempts-history__stat-label{display:block;font-size:.875rem;color:#666;margin-bottom:.25rem}.attempts-history__stat-value{display:block;font-size:1.5rem;font-weight:700;color:#000}.attempts-history__stat-value--success{color:#10b981}.attempts-history__content{margin-bottom:2rem}.attempts-history__empty{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;text-align:center;padding:4rem}.attempts-history__empty-icon{color:#999;margin-bottom:1.5rem}.attempts-history__empty h3{color:#000;margin-bottom:1rem}.attempts-history__empty p{color:#666;margin-bottom:2rem}.attempts-history__start-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.attempts-history__start-btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.attempts-history__start-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.attempts-history__start-btn:disabled{opacity:.6;cursor:not-allowed}.attempts-history__start-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.attempts-history__start-btn:active:not(:disabled){transform:scale(.98)}.attempts-history__start-btn{background-color:#000;color:#fff}.attempts-history__start-btn:hover:not(:disabled){background-color:#1a1a1a}.attempts-history__start-btn:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.attempts-history__start-btn{text-decoration:none}.attempts-history__list{display:flex;flex-direction:column;gap:1.5rem}.attempts-history__attempt{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;border-left:4px solid transparent;transition:all .2s ease-in-out}.attempts-history__attempt:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.attempts-history__attempt--success{border-left-color:#10b981}.attempts-history__attempt--error{border-left-color:#ef4444}.attempts-history__attempt-header{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.attempts-history__attempt-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.attempts-history__attempt-number{font-weight:700;color:#000;font-size:1.125rem}.attempts-history__attempt-date{font-size:.875rem;color:#999}.attempts-history__attempt-status{flex-shrink:0}.attempts-history__status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:600}.attempts-history__status-badge--success{background-color:#10b9811a;color:#10b981}.attempts-history__status-badge--error{background-color:#ef44441a;color:#ef4444}.attempts-history__attempt-meta{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}.attempts-history__meta-item{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:#666}.attempts-history__meta-item svg{color:#999}.attempts-history__attempt-query{margin-top:1rem;padding:1rem;background-color:#00000005;border-radius:.375rem;border:1px solid #e5e5e5}.attempts-history__query-header{margin-bottom:.5rem}.attempts-history__query-label{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em}.attempts-history__attempt-query pre{margin:0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:.875rem;color:#000;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;line-height:1.75}.attempts-history__attempt-error{margin-top:1rem;padding:1rem;background-color:#ef44440d;border-radius:.375rem;font-size:.875rem;color:#ef4444;line-height:1.75}.attempts-history__attempt-error strong{font-weight:600}.attempts-history__error{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;text-align:center;padding:4rem;margin:3rem 0}.attempts-history__error h2{color:#ef4444;margin-bottom:1rem}.attempts-history__error p{color:#666;margin-bottom:1.5rem}.attempts-history__back-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.attempts-history__back-btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.attempts-history__back-btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.attempts-history__back-btn:disabled{opacity:.6;cursor:not-allowed}.attempts-history__back-btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.attempts-history__back-btn:active:not(:disabled){transform:scale(.98)}.attempts-history__back-btn{background-color:#000;color:#fff}.attempts-history__back-btn:hover:not(:disabled){background-color:#1a1a1a}.attempts-history__back-btn:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.attempts-history__back-btn{text-decoration:none}@media (max-width: 641px){.attempts-history__stats{grid-template-columns:1fr}.attempts-history__attempt-header{flex-direction:column;align-items:flex-start}}.auth-page__container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:450px}.auth-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem;background:#f5f5f5}.auth-page__container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:500px}@media (max-width: 641px){.auth-page__container{padding:2rem 1.5rem}}.auth-page__header{text-align:center;margin-bottom:2rem}.auth-page__header h1{font-size:2rem;font-weight:700;color:#000;margin-bottom:.5rem}.auth-page__header p{color:#666;font-size:.95rem}.auth-page__form{display:flex;flex-direction:column;gap:1.5rem}.auth-page__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 641px){.auth-page__row{grid-template-columns:1fr}}.auth-page__field{display:flex;flex-direction:column;gap:.5rem}.auth-page__label{font-weight:600;color:#000;font-size:.9rem}.auth-page__input{padding:.75rem 1rem;border:2px solid #e5e5e5;border-radius:8px;font-size:1rem;transition:all .2s}.auth-page__input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.auth-page__input::placeholder{color:#999}.auth-page__hint{font-size:.75rem;color:#999;margin-top:-.25rem}.auth-page__submit{padding:.875rem;background:#000;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-page__submit:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.auth-page__submit:active:not(:disabled){transform:translateY(0)}.auth-page__submit:disabled{opacity:.6;cursor:not-allowed}.auth-page__footer{margin-top:2rem;text-align:center;color:#666;font-size:.9rem}.auth-page__footer p{margin:0}.auth-page__link{color:#000;text-decoration:none;font-weight:600}.auth-page__link:hover{text-decoration:underline}.not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center}.not-found__content{max-width:500px;padding:3rem}.not-found__icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7}.not-found h1{color:#000;margin-bottom:1rem;font-size:1.5rem}@media (min-width: 641px){.not-found h1{font-size:1.875rem}}.not-found p{color:#666;font-size:1.125rem;margin-bottom:3rem;line-height:1.75}.not-found__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.not-found__btn{text-decoration:none;padding:1rem 1.5rem;border-radius:.375rem;font-weight:500;transition:all .2s ease-in-out}.not-found__btn--primary{background-color:#000;color:#fff}.not-found__btn--primary:hover{background-color:#1a1a1a;text-decoration:none}.not-found__btn--secondary{background-color:transparent;color:#000;border:1px solid #e5e5e5}.not-found__btn--secondary:hover{background-color:#fff;border-color:#666;text-decoration:none}.not-found__btn:focus{outline:2px solid #000000;outline-offset:2px}@media (max-width: 641px){.not-found__content{padding:2rem}.not-found__actions{flex-direction:column;align-items:center}.not-found__btn{width:100%;max-width:200px;text-align:center}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1.125rem;line-height:1.5;color:#000;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}@media (min-width: 641px){body{font-size:1rem}}#root{min-height:100%;display:flex;flex-direction:column}.app__main{flex:1}a{color:#000;text-decoration:none;transition:color .2s ease-in-out;min-height:44px;display:inline-flex;align-items:center;touch-action:manipulation}a:hover{color:#1a1a1a;text-decoration:underline}a:focus{outline:2px solid #000000;outline-offset:2px;border-radius:.25rem}a:active{transform:scale(.98)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:#000;margin-bottom:1rem}h1{font-size:1.875rem}@media (min-width: 641px){h1{font-size:2.25rem}}h2{font-size:1.5rem}@media (min-width: 641px){h2{font-size:1.875rem}}h3{font-size:1.25rem}@media (min-width: 641px){h3{font-size:1.5rem}}h4{font-size:1.125rem}@media (min-width: 641px){h4{font-size:1.25rem}}h5{font-size:1rem}@media (min-width: 641px){h5{font-size:1.125rem}}h6{font-size:.875rem}@media (min-width: 641px){h6{font-size:1rem}}p{margin-bottom:1rem}ul,ol{margin-bottom:1rem;padding-left:2rem}li{margin-bottom:.25rem}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;padding:0;touch-action:manipulation;min-height:44px}button:focus{outline:2px solid #000000;outline-offset:2px}input,textarea,select{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){input,textarea,select{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){input,textarea,select{min-height:44px;padding:.5rem 1rem;font-size:1rem}}input:focus,textarea:focus,select:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}input::placeholder,textarea::placeholder,select::placeholder{color:#999}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.container,.assignment-workspace__header-content,.header__container{width:100%;max-width:1400px;margin:0 auto;padding:0 1rem}@media (min-width: 641px){.container,.assignment-workspace__header-content,.header__container{padding:0 1.5rem}}@media (min-width: 1024px){.container,.assignment-workspace__header-content,.header__container{padding:0 2rem}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#e5e5e5;border-radius:.25rem}::-webkit-scrollbar-thumb:hover{background:#999}.layout{min-height:100vh;display:flex;flex-direction:column}.layout__header{flex-shrink:0}.layout__main{flex:1;display:flex;flex-direction:column}@media (min-width: 1024px){.layout__main{flex-direction:row}}.layout__sidebar{flex-shrink:0}@media (min-width: 1024px){.layout__sidebar{width:240px}}@media (min-width: 1281px){.layout__sidebar{width:280px}}.layout__content{flex:1;padding:1.5rem}@media (max-width: 640px){.layout__content{padding:1rem}}@media (min-width: 1024px){.layout__content{padding:2rem}}.layout__footer{flex-shrink:0;margin-top:auto}.grid{display:grid;gap:1rem}@media (min-width: 641px){.grid{gap:1.5rem}}@media (min-width: 1024px){.grid{gap:2rem}}.grid--1-col,.grid--2-col{grid-template-columns:1fr}@media (min-width: 641px){.grid--2-col{grid-template-columns:repeat(2,1fr)}}.grid--3-col{grid-template-columns:1fr}@media (min-width: 641px){.grid--3-col{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid--3-col{grid-template-columns:repeat(3,1fr)}}.grid--4-col{grid-template-columns:1fr}@media (min-width: 641px){.grid--4-col{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid--4-col{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1281px){.grid--4-col{grid-template-columns:repeat(4,1fr)}}.grid--auto-fit{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width: 640px){.grid--auto-fit{grid-template-columns:1fr}}.grid--auto-fill{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width: 640px){.grid--auto-fill{grid-template-columns:1fr}}.flex{display:flex}.flex--column{flex-direction:column}.flex--row{flex-direction:row}.flex--wrap{flex-wrap:wrap}.flex--nowrap{flex-wrap:nowrap}.flex--center{align-items:center;justify-content:center}.flex--between{justify-content:space-between}.flex--around{justify-content:space-around}.flex--evenly{justify-content:space-evenly}.flex--start{justify-content:flex-start}.flex--end{justify-content:flex-end}.flex--items-center{align-items:center}.flex--items-start{align-items:flex-start}.flex--items-end{align-items:flex-end}.flex--items-stretch{align-items:stretch}.flex--mobile-column{flex-direction:column}@media (min-width: 641px){.flex--mobile-column{flex-direction:row}}.flex--mobile-wrap{flex-wrap:wrap}@media (min-width: 641px){.flex--mobile-wrap{flex-wrap:nowrap}}.section{padding:2rem 0}@media (max-width: 640px){.section{padding:1.5rem 0}}@media (min-width: 1024px){.section{padding:4rem 0}}.section--small{padding:1.5rem 0}@media (max-width: 640px){.section--small{padding:1rem 0}}@media (min-width: 1024px){.section--small{padding:2rem 0}}.section--large{padding:4rem 0}@media (max-width: 640px){.section--large{padding:2rem 0}}@media (min-width: 1024px){.section--large{padding:6rem 0}}.content--narrow{max-width:600px;margin:0 auto}.content--medium{max-width:800px;margin:0 auto}.content--wide{max-width:1200px;margin:0 auto}.spacing--none{margin:0!important}.spacing--xs{margin:.25rem}.spacing--sm{margin:.5rem}.spacing--md{margin:1rem}.spacing--lg{margin:1.5rem}.spacing--xl{margin:2rem}.spacing--mt-xs{margin-top:.25rem}.spacing--mt-sm{margin-top:.5rem}.spacing--mt-md{margin-top:1rem}.spacing--mt-lg{margin-top:1.5rem}.spacing--mt-xl{margin-top:2rem}.spacing--mb-xs{margin-bottom:.25rem}.spacing--mb-sm{margin-bottom:.5rem}.spacing--mb-md{margin-bottom:1rem}.spacing--mb-lg{margin-bottom:1.5rem}.spacing--mb-xl{margin-bottom:2rem}.spacing--ml-xs{margin-left:.25rem}.spacing--ml-sm{margin-left:.5rem}.spacing--ml-md{margin-left:1rem}.spacing--ml-lg{margin-left:1.5rem}.spacing--ml-xl{margin-left:2rem}.spacing--mr-xs{margin-right:.25rem}.spacing--mr-sm{margin-right:.5rem}.spacing--mr-md{margin-right:1rem}.spacing--mr-lg{margin-right:1.5rem}.spacing--mr-xl{margin-right:2rem}.spacing--pt-xs{padding-top:.25rem}.spacing--pt-sm{padding-top:.5rem}.spacing--pt-md{padding-top:1rem}.spacing--pt-lg{padding-top:1.5rem}.spacing--pt-xl{padding-top:2rem}.spacing--pb-xs{padding-bottom:.25rem}.spacing--pb-sm{padding-bottom:.5rem}.spacing--pb-md{padding-bottom:1rem}.spacing--pb-lg{padding-bottom:1.5rem}.spacing--pb-xl{padding-bottom:2rem}.spacing--pl-xs{padding-left:.25rem}.spacing--pl-sm{padding-left:.5rem}.spacing--pl-md{padding-left:1rem}.spacing--pl-lg{padding-left:1.5rem}.spacing--pl-xl{padding-left:2rem}.spacing--pr-xs{padding-right:.25rem}.spacing--pr-sm{padding-right:.5rem}.spacing--pr-md{padding-right:1rem}.spacing--pr-lg{padding-right:1.5rem}.spacing--pr-xl{padding-right:2rem}.show--mobile-only{display:block}@media (min-width: 641px){.show--mobile-only{display:none!important}}.show--tablet-up{display:none}@media (min-width: 641px){.show--tablet-up{display:block}}.show--desktop-up{display:none}@media (min-width: 1024px){.show--desktop-up{display:block}}.show--large-up{display:none}@media (min-width: 1281px){.show--large-up{display:block}}@media (max-width: 640px){.hide--mobile-only{display:none!important}}@media (min-width: 641px){.hide--tablet-up{display:none!important}}@media (min-width: 1024px){.hide--desktop-up{display:none!important}}@media (min-width: 1281px){.hide--large-up{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.btn{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.btn{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.btn:active:not(:disabled){transform:scale(.98)}.btn--primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.btn--primary{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.btn--primary{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--primary:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.btn--primary:active:not(:disabled){transform:scale(.98)}.btn--primary{background-color:#000;color:#fff}.btn--primary:hover:not(:disabled){background-color:#1a1a1a}.btn--primary:active:not(:disabled){background-color:#1a1a1a;transform:scale(.98)}.btn--secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.btn--secondary{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.btn--secondary{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.btn--secondary:disabled{opacity:.6;cursor:not-allowed}.btn--secondary:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.btn--secondary:active:not(:disabled){transform:scale(.98)}.btn--secondary{background-color:transparent;color:#000;border:1px solid #e5e5e5}.btn--secondary:hover:not(:disabled){background-color:#fff;border-color:#666}.btn--secondary:active:not(:disabled){background-color:#6666661a;transform:scale(.98)}.btn--danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.btn--danger{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.btn--danger{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.btn--danger:disabled{opacity:.6;cursor:not-allowed}.btn--danger:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.btn--danger:active:not(:disabled){transform:scale(.98)}.btn--danger{background-color:#ef4444;color:#fff}.btn--danger:hover:not(:disabled){background-color:#eb1515}.btn--danger:active:not(:disabled){background-color:#d41212;transform:scale(.98)}.btn--success{background-color:#10b981;color:#fff}.btn--success:hover:not(:disabled){background-color:#0c8a60}.btn--success:active:not(:disabled){background-color:#0a7350;transform:scale(.98)}.btn--small{min-height:36px;padding:.25rem .5rem;font-size:.875rem}@media (max-width: 640px){.btn--small{min-height:40px;padding:.5rem 1rem}}.btn--large{min-height:56px;padding:1.5rem 2rem;font-size:1.125rem}@media (max-width: 640px){.btn--large{min-height:60px;padding:2rem 3rem;font-size:1.25rem}}.btn--loading{position:relative;color:transparent}.btn--loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-loading 1s linear infinite}.btn__icon{margin-right:.5rem}.btn__icon--right{margin-right:0;margin-left:.5rem}.btn__icon--only{margin:0}.btn--full-width{width:100%}@media (min-width: 641px){.btn--full-width{width:auto}}.btn-group{display:flex;gap:.5rem;flex-direction:column}@media (min-width: 641px){.btn-group{flex-direction:row}}.btn-group--horizontal{flex-direction:row;flex-wrap:wrap}.btn-group--vertical{flex-direction:column}@keyframes btn-loading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form__group{margin-bottom:1.5rem}@media (max-width: 640px){.form__group{margin-bottom:2rem}}.form__label{display:block;margin-bottom:.5rem;font-weight:500;color:#000;font-size:1rem}@media (max-width: 640px){.form__label{font-size:1.125rem;margin-bottom:1rem}}.form__label--required:after{content:" *";color:#ef4444}.form__input{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.form__input{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.form__input{min-height:44px;padding:.5rem 1rem;font-size:1rem}}.form__input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.form__input::placeholder{color:#999}.form__input:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.form__input{width:100%}.form__input--error{border-color:#ef4444}.form__input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form__input--success{border-color:#10b981}.form__input--success:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form__textarea{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.form__textarea{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.form__textarea{min-height:44px;padding:.5rem 1rem;font-size:1rem}}.form__textarea:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.form__textarea::placeholder{color:#999}.form__textarea:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.form__textarea{width:100%;min-height:120px;resize:vertical}@media (max-width: 640px){.form__textarea{min-height:140px}}.form__select{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.form__select{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.form__select{min-height:44px;padding:.5rem 1rem;font-size:1rem}}.form__select:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.form__select::placeholder{color:#999}.form__select:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.form__select{width:100%;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:16px 12px;padding-right:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form__error{display:block;margin-top:.25rem;color:#ef4444;font-size:.875rem}@media (max-width: 640px){.form__error{font-size:1rem;margin-top:.5rem}}.form__help{display:block;margin-top:.25rem;color:#999;font-size:.875rem}@media (max-width: 640px){.form__help{font-size:1rem;margin-top:.5rem}}.form__actions{display:flex;gap:1rem;margin-top:2rem;flex-direction:column}@media (min-width: 641px){.form__actions{flex-direction:row;justify-content:flex-end}}@media (min-width: 641px){.form__actions--center{justify-content:center}}@media (min-width: 641px){.form__actions--start{justify-content:flex-start}}.checkbox,.radio{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;min-height:44px}@media (max-width: 640px){.checkbox,.radio{gap:1rem;min-height:48px}}.checkbox__input,.radio__input{margin:0;width:20px;height:20px;flex-shrink:0;cursor:pointer}@media (max-width: 640px){.checkbox__input,.radio__input{width:24px;height:24px}}.checkbox__label,.radio__label{flex:1;cursor:pointer;font-size:1rem;line-height:1.5}@media (max-width: 640px){.checkbox__label,.radio__label{font-size:1.125rem}}.checkbox--disabled,.radio--disabled{opacity:.6;cursor:not-allowed}.checkbox--disabled .checkbox__input,.checkbox--disabled .radio__input,.checkbox--disabled .checkbox__label,.checkbox--disabled .radio__label,.radio--disabled .checkbox__input,.radio--disabled .radio__input,.radio--disabled .checkbox__label,.radio--disabled .radio__label{cursor:not-allowed}.input-group{display:flex;width:100%}.input-group__input{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.input-group__input{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.input-group__input{min-height:44px;padding:.5rem 1rem;font-size:1rem}}.input-group__input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.input-group__input::placeholder{color:#999}.input-group__input:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.input-group__input{flex:1;border-radius:.375rem 0 0 .375rem;border-right:none}.input-group__input:focus{z-index:1;position:relative}.input-group__button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1rem;border:none;border-radius:.375rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;touch-action:manipulation}@media (max-width: 640px){.input-group__button{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.input-group__button{min-height:44px;padding:.5rem 1rem;font-size:.875rem}}.input-group__button:disabled{opacity:.6;cursor:not-allowed}.input-group__button:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.input-group__button:active:not(:disabled){transform:scale(.98)}.input-group__button{border-radius:0 .375rem .375rem 0;border-left:none;background-color:#000;color:#fff}.input-group__button:hover:not(:disabled){background-color:#1a1a1a}.input-group__addon{display:flex;align-items:center;padding:.5rem 1rem;background-color:#e5e5e51a;border:1px solid #e5e5e5;border-left:none;border-radius:0 .375rem .375rem 0;color:#999;font-size:.875rem}@media (max-width: 640px){.input-group__addon{padding:1rem 1.5rem;font-size:1rem}}.search{position:relative}.search__input{font-family:inherit;font-size:1rem;line-height:inherit;color:#000;background-color:#fff;border:1px solid #e5e5e5;border-radius:.375rem;min-height:44px;padding:1rem;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.search__input{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}@media (min-width: 641px){.search__input{min-height:44px;padding:.5rem 1rem;font-size:1rem}}.search__input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.search__input::placeholder{color:#999}.search__input:disabled{opacity:.6;cursor:not-allowed;background-color:#e5e5e51a}.search__input{width:100%;padding-left:2rem}@media (max-width: 640px){.search__input{padding-left:48px}}.search__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}@media (max-width: 640px){.search__icon{left:1.5rem}}.search__clear{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#999;cursor:pointer;padding:.25rem;border-radius:.25rem}.search__clear:hover{color:#000;background-color:#e5e5e51a}@media (max-width: 640px){.search__clear{right:1.5rem;padding:.5rem}}.card,.progress-card,.assignment-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1rem;margin-bottom:1rem}@media (min-width: 641px){.card,.progress-card,.assignment-card{padding:1.5rem;margin-bottom:1.5rem}}@media (min-width: 1024px){.card,.progress-card,.assignment-card{padding:2rem}}.card__header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e5e5}@media (max-width: 640px){.card__header{margin-bottom:2rem;padding-bottom:1.5rem}}.card__title{margin:0;font-size:1.25rem;font-weight:600;color:#000}@media (max-width: 640px){.card__title{font-size:1.5rem}}.card__subtitle{margin:.25rem 0 0;font-size:.875rem;color:#666}@media (max-width: 640px){.card__subtitle{font-size:1rem;margin-top:.5rem}}.card__body{margin-bottom:1.5rem}.card__body:last-child{margin-bottom:0}.card__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e5e5}@media (max-width: 640px){.card__footer{margin-top:2rem;padding-top:1.5rem}}.card__actions{display:flex;gap:.5rem;flex-direction:column}@media (min-width: 641px){.card__actions{flex-direction:row;justify-content:flex-end}}@media (min-width: 641px){.card__actions--center{justify-content:center}}@media (min-width: 641px){.card__actions--start{justify-content:flex-start}}@media (min-width: 641px){.card__actions--space-between{justify-content:space-between}}.card--interactive,.assignment-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;padding:1.5rem;transition:all .2s ease-in-out;cursor:pointer}.card--interactive:hover,.assignment-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.card--interactive,.assignment-card{cursor:pointer}.card--interactive:active,.assignment-card:active{transform:translateY(-1px) scale(.99)}.card--highlighted{border-color:#000;box-shadow:0 0 0 1px #0000001a}.card--success{border-color:#10b981;background-color:#10b98105}.card--warning{border-color:#f59e0b;background-color:#f59e0b05}.card--error{border-color:#ef4444;background-color:#ef444405}.card--compact{padding:1rem}@media (min-width: 641px){.card--compact{padding:1.5rem}}.card--compact .card__header,.card--compact .card__footer{margin-bottom:1rem;margin-top:1rem;padding-bottom:.5rem;padding-top:.5rem}@media (min-width: 641px){.card--compact .card__header,.card--compact .card__footer{margin-bottom:1.5rem;margin-top:1.5rem;padding-bottom:1rem;padding-top:1rem}}.card-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 641px){.card-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (min-width: 1024px){.card-grid{gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}}@media (min-width: 641px){.card-grid--2-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width: 641px){.card-grid--3-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-grid--3-cols{grid-template-columns:repeat(3,1fr)}}@media (min-width: 641px){.card-grid--4-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.card-grid--4-cols{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1281px){.card-grid--4-cols{grid-template-columns:repeat(4,1fr)}}.assignment-card__difficulty{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.assignment-card__difficulty--easy{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.assignment-card__difficulty--medium{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.assignment-card__difficulty--hard{display:inline-flex;align-items:center;padding:.25rem .5rem;background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.assignment-card__progress{margin-top:1rem}@media (max-width: 640px){.assignment-card__progress{margin-top:1.5rem}}.assignment-card__stats{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.875rem;color:#666}@media (max-width: 640px){.assignment-card__stats{flex-direction:column;align-items:flex-start;gap:.25rem;font-size:1rem;margin-top:1rem}}.progress-card__header{display:flex;justify-content:space-between;align-items:center}@media (max-width: 640px){.progress-card__header{flex-direction:column;align-items:flex-start;gap:.5rem}}.progress-card__percentage{font-size:1.5rem;font-weight:700;color:#000}@media (max-width: 640px){.progress-card__percentage{font-size:1.875rem}}.progress-card__bar{width:100%;height:8px;background-color:#e5e5e54d;border-radius:.25rem;overflow:hidden;margin:1rem 0}@media (max-width: 640px){.progress-card__bar{height:12px;margin:1.5rem 0}}.progress-card__fill{height:100%;background-color:#000;border-radius:.25rem;transition:width .3s ease-in-out}.nav__list{display:flex;list-style:none;margin:0;padding:0;gap:.5rem;flex-direction:column}@media (min-width: 641px){.nav__list{flex-direction:row;gap:1rem}}.nav__item{margin:0}.nav__link,.nav__link--active{display:flex;align-items:center;min-height:44px;padding:.5rem 1rem;color:#000;text-decoration:none;border-radius:.375rem;transition:all .2s ease-in-out;touch-action:manipulation}@media (max-width: 640px){.nav__link,.nav__link--active{min-height:48px;padding:1rem 1.5rem;font-size:1.125rem}}.nav__link:hover,.nav__link--active:hover{background-color:#0000001a;color:#000;text-decoration:none}.nav__link:active,.nav__link--active:active{transform:scale(.98)}.nav__link--active{background-color:#0000001a;color:#000;font-weight:500}.nav__toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:none;border:none;cursor:pointer;border-radius:.375rem;transition:background-color .2s ease-in-out}@media (min-width: 641px){.nav__toggle{display:none}}.nav__toggle:hover{background-color:#e5e5e51a}.nav__toggle:active{transform:scale(.95)}.nav__menu{display:none}.nav__menu--open{display:block}@media (min-width: 641px){.nav__menu{display:block!important}}.header{background-color:#fff;border-bottom:1px solid #e5e5e5;padding:1rem 0}@media (min-width: 641px){.header{padding:1.5rem 0}}.header__container{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header__logo{display:flex;align-items:center;text-decoration:none;color:#000;font-weight:700;font-size:1.25rem}@media (max-width: 640px){.header__logo{font-size:1.5rem}}.header__logo:hover{text-decoration:none;color:#000}.header__nav{flex:1}@media (max-width: 640px){.header__nav{position:absolute;top:100%;left:0;right:0;background-color:#fff;border-bottom:1px solid #e5e5e5;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000}.header__nav:not(.nav__menu--open){display:none}}.header__actions{display:flex;align-items:center;gap:.5rem}@media (max-width: 640px){.header__actions{gap:1rem}}.sidebar{background-color:#fff;border-right:1px solid #e5e5e5;height:100%;overflow-y:auto}.sidebar::-webkit-scrollbar{width:8px;height:8px}.sidebar::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.sidebar::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.sidebar::-webkit-scrollbar-thumb:hover{background:#333}.sidebar{position:fixed;top:0;left:-280px;width:280px;z-index:1050;transition:left .3s ease-in-out}.sidebar--open{left:0}@media (min-width: 1024px){.sidebar{position:static;left:auto;width:240px}}@media (min-width: 1281px){.sidebar{width:280px}}.sidebar__header{padding:1.5rem;border-bottom:1px solid #e5e5e5}@media (max-width: 640px){.sidebar__header{padding:2rem}}.sidebar__title{margin:0;font-size:1.125rem;font-weight:600}@media (max-width: 640px){.sidebar__title{font-size:1.25rem}}.sidebar__nav{padding:1.5rem}@media (max-width: 640px){.sidebar__nav{padding:2rem}}.sidebar__section{margin-bottom:2rem}.sidebar__section:last-child{margin-bottom:0}.sidebar__section-title{margin:0 0 1rem;font-size:.875rem;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 640px){.sidebar__section-title{font-size:1rem;margin-bottom:1.5rem}}.sidebar__close{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;background:none;border:none;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;justify-content:center}@media (min-width: 1024px){.sidebar__close{display:none}}.sidebar__close:hover{background-color:#e5e5e51a}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1040;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s ease-in-out}.sidebar-overlay--visible{opacity:1;visibility:visible}@media (min-width: 1024px){.sidebar-overlay{display:none}}.breadcrumb{display:flex;align-items:center;list-style:none;margin:0;padding:0;font-size:.875rem}@media (max-width: 640px){.breadcrumb{font-size:1rem;flex-wrap:wrap;gap:.25rem}}.breadcrumb__item{display:flex;align-items:center;margin:0}.breadcrumb__item:not(:last-child):after{content:"/";margin:0 .5rem;color:#999}@media (max-width: 640px){.breadcrumb__item:not(:last-child):after{margin:0 1rem}}.breadcrumb__link{color:#666;text-decoration:none;padding:.25rem .5rem;border-radius:.25rem;transition:all .2s ease-in-out}@media (max-width: 640px){.breadcrumb__link{padding:.5rem 1rem;min-height:44px;display:flex;align-items:center}}.breadcrumb__link:hover{color:#000;background-color:#0000001a;text-decoration:none}.breadcrumb__link--current{color:#000;font-weight:500;cursor:default}.breadcrumb__link--current:hover{color:#000;background-color:transparent}.tabs{border-bottom:1px solid #e5e5e5}.tabs__list{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto}.tabs__list::-webkit-scrollbar{width:8px;height:8px}.tabs__list::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.tabs__list::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.tabs__list::-webkit-scrollbar-thumb:hover{background:#333}@media (min-width: 641px){.tabs__list{overflow-x:visible}}.tabs__item{margin:0;flex-shrink:0}.tabs__link{display:flex;align-items:center;padding:1rem 1.5rem;color:#666;text-decoration:none;border-bottom:2px solid transparent;transition:all .2s ease-in-out;white-space:nowrap;min-height:44px}@media (max-width: 640px){.tabs__link{padding:1.5rem 2rem;font-size:1.125rem}}.tabs__link:hover{color:#000;text-decoration:none}.tabs__link--active{color:#000;border-bottom-color:#000;font-weight:500}.assignment-workspace{display:flex;flex-direction:column;height:100vh;background-color:#fff}@media (min-width: 1024px){.assignment-workspace{flex-direction:row}}.assignment-workspace__header{flex-shrink:0;background-color:#fff;border-bottom:1px solid #e5e5e5;padding:1rem}@media (min-width: 641px){.assignment-workspace__header{padding:1.5rem}}.assignment-workspace__header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-direction:column;align-items:flex-start}@media (min-width: 641px){.assignment-workspace__header-content{flex-direction:row;align-items:center}}.assignment-workspace__header-title{margin:0;font-size:1.25rem;font-weight:600;color:#000}@media (max-width: 640px){.assignment-workspace__header-title{font-size:1.5rem;margin-bottom:.5rem}}.assignment-workspace__header-actions{display:flex;gap:.5rem;width:100%}@media (min-width: 641px){.assignment-workspace__header-actions{width:auto}}@media (max-width: 640px){.assignment-workspace__header-actions .btn{flex:1}}.assignment-workspace__content{flex:1;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 1024px){.assignment-workspace__content{flex-direction:row}}.assignment-workspace__sidebar{background-color:#fff;border-right:1px solid #e5e5e5;width:100%;max-height:40vh;overflow-y:auto}.assignment-workspace__sidebar::-webkit-scrollbar{width:8px;height:8px}.assignment-workspace__sidebar::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.assignment-workspace__sidebar::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.assignment-workspace__sidebar::-webkit-scrollbar-thumb:hover{background:#333}@media (min-width: 1024px){.assignment-workspace__sidebar{width:320px;max-height:none;height:100%}}@media (min-width: 1281px){.assignment-workspace__sidebar{width:380px}}.assignment-workspace__sidebar-header{padding:1.5rem;border-bottom:1px solid #e5e5e5;background-color:#ffffff80}@media (max-width: 640px){.assignment-workspace__sidebar-header{padding:1rem}}.assignment-workspace__sidebar-title{margin:0;font-size:1.125rem;font-weight:500;color:#000}@media (max-width: 640px){.assignment-workspace__sidebar-title{font-size:1.25rem}}.assignment-workspace__sidebar-content{padding:1.5rem}@media (max-width: 640px){.assignment-workspace__sidebar-content{padding:1rem}}@media (max-width: 640px){.assignment-workspace__sidebar--collapsed{max-height:60px;overflow:hidden}}.assignment-workspace__sidebar-toggle{display:flex;align-items:center;justify-content:center;width:100%;height:48px;background:none;border:none;border-top:1px solid #e5e5e5;cursor:pointer;color:#666;transition:all .2s ease-in-out}@media (min-width: 1024px){.assignment-workspace__sidebar-toggle{display:none}}.assignment-workspace__sidebar-toggle:hover{background-color:#e5e5e51a;color:#000}.assignment-workspace__sidebar-toggle:active{transform:scale(.98)}.assignment-workspace__main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:60vh}@media (min-width: 1024px){.assignment-workspace__main{min-height:auto}}.assignment-workspace__editor{flex:1;display:flex;flex-direction:column;background-color:#fff}.assignment-workspace__editor-header{flex-shrink:0;padding:1rem 1.5rem;background-color:#ffffff80;border-bottom:1px solid #e5e5e5}@media (max-width: 640px){.assignment-workspace__editor-header{padding:.5rem 1rem}}.assignment-workspace__editor-title{margin:0;font-size:1rem;font-weight:500;color:#666}@media (max-width: 640px){.assignment-workspace__editor-title{font-size:1.125rem}}.assignment-workspace__editor-content{flex:1;position:relative;overflow:hidden}.assignment-workspace__editor-content .monaco-editor{font-size:16px!important}@media (min-width: 641px){.assignment-workspace__editor-content .monaco-editor{font-size:14px!important}}.assignment-workspace__editor-actions{flex-shrink:0;padding:1rem 1.5rem;background-color:#ffffff80;border-top:1px solid #e5e5e5;display:flex;gap:.5rem}@media (max-width: 640px){.assignment-workspace__editor-actions{padding:1rem;flex-direction:column}}@media (min-width: 641px){.assignment-workspace__editor-actions{justify-content:flex-end}}.assignment-workspace__results{background-color:#fff;border-top:1px solid #e5e5e5;max-height:40vh;overflow-y:auto}.assignment-workspace__results::-webkit-scrollbar{width:8px;height:8px}.assignment-workspace__results::-webkit-scrollbar-track{background:#fff;border-radius:.25rem}.assignment-workspace__results::-webkit-scrollbar-thumb{background:#666;border-radius:.25rem}.assignment-workspace__results::-webkit-scrollbar-thumb:hover{background:#333}@media (min-width: 1024px){.assignment-workspace__results{max-height:300px}}.assignment-workspace__results-header{padding:1rem 1.5rem;background-color:#ffffff80;border-bottom:1px solid #e5e5e5;display:flex;align-items:center;justify-content:space-between}@media (max-width: 640px){.assignment-workspace__results-header{padding:.5rem 1rem}}.assignment-workspace__results-title{margin:0;font-size:1rem;font-weight:500;color:#666}@media (max-width: 640px){.assignment-workspace__results-title{font-size:1.125rem}}.assignment-workspace__results-toggle{background:none;border:none;color:#666;cursor:pointer;padding:.25rem;border-radius:.25rem}.assignment-workspace__results-toggle:hover{background-color:#e5e5e51a;color:#000}@media (min-width: 1024px){.assignment-workspace__results-toggle{display:none}}.assignment-workspace__results-content{padding:1.5rem}@media (max-width: 640px){.assignment-workspace__results-content{padding:1rem}}@media (max-width: 640px){.assignment-workspace__results--collapsed{max-height:60px;overflow:hidden}}.assignment-workspace__results--empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:#999;font-style:italic}@media (max-width: 640px){.assignment-workspace__results--empty{min-height:80px;font-size:1.125rem}}.assignment-workspace__table{width:100%;border-collapse:collapse;font-size:.875rem}@media (max-width: 640px){.assignment-workspace__table{font-size:1rem;display:block;overflow-x:auto;white-space:nowrap}}.assignment-workspace__table th,.assignment-workspace__table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid #e5e5e5}@media (max-width: 640px){.assignment-workspace__table th,.assignment-workspace__table td{padding:1rem 1.5rem;min-width:120px}}.assignment-workspace__table th{background-color:#ffffff80;font-weight:500;color:#666;position:sticky;top:0;z-index:1}.assignment-workspace__table tr:hover{background-color:#00000005}.assignment-workspace__status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}@media (max-width: 640px){.assignment-workspace__status{padding:.5rem 1rem;font-size:.875rem}}.assignment-workspace__status--success{background-color:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2)}.assignment-workspace__status--error{background-color:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.assignment-workspace__status--warning{background-color:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.assignment-workspace__status--info{background-color:#0000001a;color:#000;border:1px solid rgba(0,0,0,.2)}.assignment-workspace__loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#999}@media (max-width: 640px){.assignment-workspace__loading{padding:1.5rem;font-size:1.125rem}}.assignment-workspace__loading-spinner{width:24px;height:24px;border:2px solid #e5e5e5;border-top-color:#000;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@media (max-width: 640px){.assignment-workspace__loading-spinner{width:32px;height:32px;margin-right:1rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.assignment-workspace input,.assignment-workspace textarea,.assignment-workspace select{font-size:16px!important}.assignment-workspace{-webkit-overflow-scrolling:touch}.assignment-workspace *{-webkit-tap-highlight-color:rgba(0,0,0,.1)}}.text--center{text-align:center}.text--left{text-align:left}.text--right{text-align:right}.text--justify{text-align:justify}.text--xs{font-size:.875rem}@media (max-width: 640px){.text--xs{font-size:1rem}}.text--sm{font-size:1rem}@media (max-width: 640px){.text--sm{font-size:1.125rem}}.text--base{font-size:1.125rem}@media (min-width: 641px){.text--base{font-size:1rem}}.text--lg{font-size:1.25rem}@media (min-width: 641px){.text--lg{font-size:1.125rem}}.text--xl{font-size:1.5rem}@media (min-width: 641px){.text--xl{font-size:1.25rem}}.text--normal{font-weight:400}.text--medium{font-weight:500}.text--semibold{font-weight:600}.text--bold{font-weight:700}.text--primary{color:#000}.text--secondary{color:#666}.text--muted{color:#999}.text--success{color:#10b981}.text--warning{color:#f59e0b}.text--error{color:#ef4444}.text--info{color:#000}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text--clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bg--primary{background-color:#000;color:#fff}.bg--secondary{background-color:#666;color:#fff}.bg--success{background-color:#10b981;color:#fff}.bg--warning{background-color:#f59e0b;color:#fff}.bg--error{background-color:#ef4444;color:#fff}.bg--surface,.bg--background{background-color:#fff}.bg--primary-light{background-color:#0000001a;color:#000}.bg--success-light{background-color:#10b9811a;color:#10b981}.bg--warning-light{background-color:#f59e0b1a;color:#f59e0b}.bg--error-light{background-color:#ef44441a;color:#ef4444}.border{border:1px solid #e5e5e5}.border--none{border:none}.border--top{border-top:1px solid #e5e5e5}.border--bottom{border-bottom:1px solid #e5e5e5}.border--left{border-left:1px solid #e5e5e5}.border--right{border-right:1px solid #e5e5e5}.border--primary{border-color:#000}.border--success{border-color:#10b981}.border--warning{border-color:#f59e0b}.border--error{border-color:#ef4444}.rounded{border-radius:.375rem}.rounded--none{border-radius:0}.rounded--sm{border-radius:.25rem}.rounded--lg{border-radius:.5rem}.rounded--xl{border-radius:.75rem}.rounded--full{border-radius:50%}.shadow{box-shadow:0 1px 2px #0000000d}.shadow--none{box-shadow:none}.shadow--sm{box-shadow:0 1px 2px #0000000d}.shadow--md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow--lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow--xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.w--full{width:100%}.w--auto{width:auto}.w--fit{width:fit-content}.w--mobile-full{width:100%}@media (min-width: 641px){.w--mobile-full{width:auto}}@media (min-width: 641px){.w--tablet-full{width:100%}}.h--full{height:100%}.h--screen{height:100vh}.h--auto{height:auto}.h--fit{height:fit-content}.position--relative{position:relative}.position--absolute{position:absolute}.position--fixed{position:fixed}.position--sticky{position:sticky}.z--dropdown{z-index:1000}.z--sticky{z-index:1020}.z--fixed{z-index:1030}.z--modal-backdrop{z-index:1040}.z--modal{z-index:1050}.z--popover{z-index:1060}.z--tooltip{z-index:1070}.overflow--hidden{overflow:hidden}.overflow--auto{overflow:auto}.overflow--scroll{overflow:scroll}.overflow--x-hidden{overflow-x:hidden}.overflow--y-hidden{overflow-y:hidden}.overflow--x-auto{overflow-x:auto}.overflow--y-auto{overflow-y:auto}.interactive{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.interactive:active{transform:scale(.98)}.interactive--hover{transition:all .2s ease-in-out}.interactive--hover:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}.loading--pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus--visible:focus-visible{outline:2px solid #000000;outline-offset:2px}.focus--ring:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.gap--xs{gap:.25rem}.gap--sm{gap:.5rem}.gap--md{gap:1rem}.gap--lg{gap:1.5rem}.gap--xl{gap:2rem}.gap--mobile-lg{gap:1.5rem}@media (min-width: 641px){.gap--mobile-lg{gap:1rem}}.gap--tablet-lg{gap:.5rem}@media (min-width: 641px){.gap--tablet-lg{gap:1.5rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app__main{flex:1;padding:1rem 0}@media (min-width: 641px){.app__main{padding:1.5rem 0}}@media (min-width: 1024px){.app__main{padding:2rem 0}}@media (max-width: 640px){.app{font-size:1.125rem}}
